osint.h
3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#ifndef _OSINT_H_
#define _OSINT_H_
/**************************************************************************
* *
* Copyright (C) 1994, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
**************************************************************************/
#include <stdarg.h>
#include <os.h>
#include <os_internal.h>
#include <ultraerror.h>
#include <ultralog.h>
#include <sptask.h>
/***************************************
*
* Type definitions
*
*/
typedef struct {
OSMesgQueue *messageQueue;
OSMesg message;
} __OSEventState;
typedef struct {
OSThread * next;
OSPri priority;
} __OSThreadTail;
/***************************************
*
* Macro definitions
*
*/
/***************************************
*
* Extern function prototypes
*
*/
/* export from assert.c */
extern void __assert(const char *, const char *, int);
/* exports from cache.s */
extern void __osConfigureCache(void);
/* exports from error.c */
extern OSErrorHandler __osErrorHandler;
/* exports from exceptasm.s */
extern int __osExceptionPreamble[];
extern void __osPanic(void);
extern void (*__osHwIntTable[])(void);
/* exports from exception.c */
extern void __osInitializeException(void);
/* exports from probetlb.s */
extern u32 __osProbeTLB(void *);
/* exports from saveparameters.s */
extern void __osSaveParameters(void);
/* exports from seteventmesg.c */
extern __OSEventState __osEventStateTab[];
/* exports from thread.c */
extern __OSThreadTail __osThreadTail;
extern OSThread * __osRunningThread;
extern OSThread * __osRunQueue;
extern OSThread * __osActiveQueue;
extern void __osEnqueueThread(OSThread **, OSThread *);
extern void __osDequeueThread(OSThread **, OSThread *);
extern OSThread * __osPopThread(OSThread **);
/* exports from threadasm.s */
extern void __osCleanupThread(void);
extern void __osDispatchThread(void);
extern void __osEnqueueAndYield(OSThread **);
/* exports from timer.c */
extern OSTime __osCurrentTime;
extern u32 __osBaseCounter;
extern u32 __osViIntrCount;
extern u32 __osTimerCounter;
extern OSTimer *__osTimerList;
extern void __osTimerInterrupt(void);
extern void __osTimerServicesInit(void);
extern void __osSetTimerIntr(OSTime );
extern OSTime __osInsertTimer(OSTimer * );
/* exports from profile.c */
extern OSProf *__osProfileList;
extern OSProf *__osProfileListEnd;
extern u32 __osProfileOverflowBin;
extern OSTimer __osProfTimer;
extern OSMesgQueue __osProfTimerQ;
/* exports from interrupt.s */
extern u32 __osDisableInt(void);
extern void __osRestoreInt(u32);
/* exports from setfpccsr.s */
extern u32 __osSetFpcCsr(u32);
extern u32 __osGetFpcCsr(void);
/* exports from io/ai.c */
extern int __osAiDeviceBusy(void);
/* exports from io/devmgr.c */
extern void __osDevMgrMain(void *);
/* exports from io/dp.c */
extern int __osDpDeviceBusy(void);
/* exports from io/sp.c */
extern int __osSpDeviceBusy(void);
/* exports from io/pi.c */
extern int __osPiDeviceBusy(void);
#ifndef __sgi__
/* exports from libultra/nintendo/pi/pirawdma.c */
extern s32 __osPiRawStartDma(s32, u32, void *, u32);
#endif
/* exports from io/si.c */
extern int __osSiDeviceBusy(void);
/* exports from io/vi.c */
extern void __osViInit(void);
/* exports from log/log.c */
extern void __osLogWrite(OSLog *, s16, s16, va_list);
#endif /* _OSINT_H_ */