4 libbasetype struct IntExecBase
5 libbasetypeextern struct ExecBase
6 options noresident,noautoinit
10 #include <exec/types.h>
11 #include <exec/tasks.h>
12 #include <exec/memory.h>
13 #include <exec/ports.h>
14 #include <exec/devices.h>
16 #include <exec/semaphores.h>
17 #include <exec/interrupts.h>
27 STRPTR NewRawDoFmt(CONST_STRPTR FormatString, VOID_FUNC PutChProc, APTR PutChData, ...);
36 #include "exec_intern.h"
41 struct ExecBase *open(ULONG version) (D0)
46 IPTR Supervisor(void *userFunction) (A5)
47 .skip 1 # AmigaOS(tm) private ExitIntr() hook
48 .skip 1 # AmigaOS(tm) private Schedule() hook
50 .skip 1 # AmigaOS(tm) private Switch() hook
51 BOOL Dispatch(struct Task *task) (A0)
53 void InitCode(ULONG startClass, ULONG version) (D0, D1)
54 void InitStruct(CONST_APTR initTable, APTR memory, ULONG size) (A1, A2, D0)
55 struct Library *MakeLibrary(CONST_APTR funcInit, CONST_APTR structInit, ULONG_FUNC libInit, ULONG dataSize, BPTR segList) (A0, A1, A2, D0, D1)
56 ULONG MakeFunctions(APTR target, CONST_APTR functionArray, CONST_APTR funcDispBase) (A0, A1, A2)
57 struct Resident *FindResident(const UBYTE *name) (A1)
58 APTR InitResident(struct Resident *resident, BPTR segList) (A1, D1)
59 void Alert(ULONG alertNum) (D7)
60 void Debug(unsigned long flags) (D0)
65 ULONG SetSR(ULONG newSR, ULONG mask) (D0, D1)
67 void UserState(APTR sysStack) (D0)
68 struct Interrupt *SetIntVector(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
69 void AddIntServer(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
70 void RemIntServer(ULONG intNumber, struct Interrupt *interrupt) (D0, A1)
71 void Cause(struct Interrupt *softint) (A1)
72 APTR Allocate(struct MemHeader *freeList, ULONG byteSize) (A0, D0)
73 void Deallocate(struct MemHeader *freeList, APTR memoryBlock, ULONG byteSize) (A0, A1, D0)
74 APTR AllocMem(ULONG byteSize, ULONG requirements) (D0, D1)
75 APTR AllocAbs(ULONG byteSize, APTR location) (D0, A1)
76 void FreeMem(APTR memoryBlock, ULONG byteSize) (A1, D0)
77 ULONG AvailMem(ULONG attributes) (D1)
78 struct MemList *AllocEntry(struct MemList *entry) (A0)
79 void FreeEntry(struct MemList *entry) (A0)
80 void Insert(struct List *list, struct Node *node, struct Node *pred) (A0, A1, A2)
81 void AddHead(struct List *list, struct Node *node) (A0, A1)
82 void AddTail(struct List *list, struct Node *node) (A0, A1)
83 void Remove(struct Node *node) (A1)
84 struct Node *RemHead(struct List *list) (A0)
85 struct Node *RemTail(struct List *list) (A0)
86 void Enqueue(struct List *list, struct Node *node) (A0, A1)
87 struct Node *FindName(struct List *list, CONST_STRPTR name) (A0, A1)
88 APTR AddTask(struct Task *task, APTR initialPC, APTR finalPC) (A1, A2, A3)
89 void RemTask(struct Task *task) (A1)
90 struct Task *FindTask(STRPTR name) (A1)
91 BYTE SetTaskPri(struct Task *task, LONG priority) (A1, D0)
92 ULONG SetSignal(ULONG newSignals, ULONG signalSet) (D0, D1)
93 ULONG SetExcept(ULONG newSignals, ULONG signalSet) (D0, D1)
94 ULONG Wait(ULONG signalSet) (D0)
95 void Signal(struct Task *task, ULONG signalSet) (A1, D0)
96 BYTE AllocSignal(LONG signalNum) (D0)
97 void FreeSignal(LONG signalNum) (D0)
98 LONG AllocTrap(long trapNum) (D0)
99 void FreeTrap(long trapNum) (D0)
100 void AddPort(struct MsgPort *port) (A1)
101 void RemPort(struct MsgPort *port) (A1)
102 void PutMsg(struct MsgPort *port, struct Message *message) (A0, A1)
103 struct Message *GetMsg(struct MsgPort *port) (A0)
104 void ReplyMsg(struct Message *message) (A1)
105 struct Message *WaitPort(struct MsgPort *port) (A0)
106 struct MsgPort *FindPort(CONST_STRPTR name) (A1)
107 void AddLibrary(struct Library *library) (A1)
108 void RemLibrary(struct Library *library) (A1)
109 struct Library *OldOpenLibrary(UBYTE *libName) (A1)
110 void CloseLibrary(struct Library *library) (A1)
111 APTR SetFunction(struct Library *library, LONG funcOffset, APTR newFunction) (A1, A0, D0)
112 void SumLibrary(struct Library *library) (A1)
113 void AddDevice(struct Device *device) (A1)
114 void RemDevice(struct Device *device) (A1)
115 LONG OpenDevice(CONST_STRPTR devName, IPTR unitNumber, struct IORequest *iORequest, ULONG flags) (A0, D0, A1, D1)
116 void CloseDevice(struct IORequest *iORequest) (A1)
117 LONG DoIO(struct IORequest *iORequest) (A1)
118 void SendIO(struct IORequest *iORequest) (A1)
119 struct IORequest *CheckIO(struct IORequest *iORequest) (A1)
120 LONG WaitIO(struct IORequest *iORequest) (A1)
121 LONG AbortIO(struct IORequest *iORequest) (A1)
122 void AddResource(APTR resource) (A1)
123 void RemResource(APTR resource) (A1)
124 APTR OpenResource(CONST_STRPTR resName) (A1)
126 LONG RawMayGetChar() ()
127 void RawPutChar(UBYTE chr) (D0)
128 APTR RawDoFmt(CONST_STRPTR FormatString, APTR DataStream, VOID_FUNC PutChProc, APTR PutChData) (A0, A1, A2, A3)
130 ULONG TypeOfMem(APTR address) (A1)
131 ULONG Procure(struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg) (A0, A1)
132 void Vacate(struct SignalSemaphore *sigSem, struct SemaphoreMessage *bidMsg) (A0, A1)
133 struct Library *OpenLibrary(CONST_STRPTR libName, ULONG version) (A1, D0)
135 void InitSemaphore(struct SignalSemaphore *sigSem) (A0)
136 void ObtainSemaphore(struct SignalSemaphore *sigSem) (A0)
137 void ReleaseSemaphore(struct SignalSemaphore *sigSem) (A0)
138 ULONG AttemptSemaphore(struct SignalSemaphore *sigSem) (A0)
139 void ObtainSemaphoreList(struct List *sigSem) (A0)
140 void ReleaseSemaphoreList(struct List *sigSem) (A0)
141 struct SignalSemaphore *FindSemaphore(STRPTR name) (A1)
142 void AddSemaphore(struct SignalSemaphore *sigSem) (A1)
143 void RemSemaphore(struct SignalSemaphore *sigSem) (A1)
144 ULONG SumKickData() ()
145 void AddMemList(ULONG size, ULONG attributes, LONG pri, APTR base, STRPTR name) (D0, D1, D2, A0, A1)
146 void CopyMem(CONST_APTR source, APTR dest, ULONG size) (A0, A1, D0)
147 void CopyMemQuick(CONST_APTR source, APTR dest, ULONG size) (A0, A1, D0)
149 void CacheClearU() ()
150 void CacheClearE(APTR address, IPTR length, ULONG caches) (A0, D0, D1)
151 ULONG CacheControl(ULONG cacheBits, ULONG cacheMask) (D0, D1)
152 APTR CreateIORequest(struct MsgPort *ioReplyPort, ULONG size) (A0, D0)
153 void DeleteIORequest(APTR iorequest) (A0)
154 struct MsgPort *CreateMsgPort() ()
155 void DeleteMsgPort(struct MsgPort *port) (A0)
156 void ObtainSemaphoreShared(struct SignalSemaphore *sigSem) (A0)
157 APTR AllocVec(ULONG byteSize, ULONG requirements) (D0, D1)
158 void FreeVec(APTR memoryBlock) (A1)
159 APTR CreatePool(ULONG requirements, ULONG puddleSize, ULONG threshSize) (D0, D1, D2)
160 void DeletePool(APTR poolHeader) (A0)
161 APTR AllocPooled(APTR poolHeader, ULONG memSize) (A0, D0)
162 void FreePooled(APTR poolHeader, APTR memory, ULONG memSize) (A0, A1, D0)
163 ULONG AttemptSemaphoreShared(struct SignalSemaphore *sigSem) (A0)
165 void StackSwap(struct StackSwapStruct *sss) (A0)
166 void ChildFree(ULONG tid) (D0)
167 ULONG ChildOrphan(ULONG tid) (D0)
168 ULONG ChildStatus(ULONG tid) (D0)
169 IPTR ChildWait(ULONG tid) (D0)
170 APTR CachePreDMA(APTR address, ULONG *length, ULONG flags) (A0, A1, D0)
172 void CachePostDMA(APTR address, ULONG *length, ULONG flags) (A0, A1, D0)
175 void AddMemHandler(struct Interrupt *memHandler) (A1)
176 void RemMemHandler(struct Interrupt *memHandler) (A1)
177 ULONG ObtainQuickVector(APTR interruptCode) (A0)
178 .skip 1 # MorphOS: NewSetFunction()
179 .skip 1 # MorphOS: NewCreateLibrary()
180 IPTR NewStackSwap(struct StackSwapStruct *newStack, APTR function, struct StackSwapArgs *args) (A0, A1, A2)
181 APTR TaggedOpenLibrary(LONG tag) (D0)
184 STRPTR VNewRawDoFmt(CONST_STRPTR FormatString, VOID_FUNC PutChProc, APTR PutChData, va_list VaListStream) (A0, A2, A3, A1)
186 void NewMinList(struct MinList *ml) (A0)
187 int AllocTaskStorageSlot() ()
188 void FreeTaskStorageSlot(int slot) (D0)
189 .skip 1 # MorphOS: CacheFlushDataInstArea(APTR Address, ULONG Size) (A0, D0)
191 struct AVLNode *AVL_AddNode(struct AVLNode **root, struct AVLNode *node, AVLNODECOMP func) (A0, A1, A2)
192 struct AVLNode *AVL_RemNodeByAddress(struct AVLNode **root, struct AVLNode *node) (A0, A1)
193 struct AVLNode *AVL_RemNodeByKey(struct AVLNode **root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
194 struct AVLNode *AVL_FindNode(const struct AVLNode *root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
195 struct AVLNode *AVL_FindPrevNodeByAddress(const struct AVLNode *node) (A0)
196 struct AVLNode *AVL_FindPrevNodeByKey(const struct AVLNode *root, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
197 struct AVLNode *AVL_FindNextNodeByAddress(const struct AVLNode *node) (A0)
198 struct AVLNode *AVL_FindNextNodeByKey(const struct AVLNode *node, AVLKey key, AVLKEYCOMP func) (A0, A1, A2)
199 struct AVLNode *AVL_FindFirstNode(const struct AVLNode *root) (A0)
200 struct AVLNode *AVL_FindLastNode(const struct AVLNode *root) (A0)
202 .skip 1 # MorphOS: ULONG NewSetSystemAttrsA(APTR yData, ULONG Size, ULONG Type, struct TagItem *Tags ) (A0, D0, D1, A1)
203 struct Task *NewCreateTaskA(struct TagItem *tags) (A0)
204 .skip 1 # MorphOS: NewRawDoFmt()
205 .skip 1 # MorphOS: APTR AllocateAligned(struct MemHeader *memHeader, ULONG byteSize, ULONG alignSize, ULONG alignOffset) (base,sysv)
206 .skip 1 # MorphOS: APTR AllocMemAligned(ULONG byteSize, ULONG attributes, ULONG alignSize, ULONG alignOffset) (base,sysv)
207 .skip 1 # MorphOS: APTR AllocVecAligned(ULONG byteSize, ULONG attributes, ULONG alignSize, ULONG alignOffset) (base,sysv)
208 .skip 1 # MorphOS: AddExecNotify(struct Hook *hook) (base,sysv)
209 .skip 1 # MorphOS: RemExecNotify(struct Hook *hook) (base,sysv)
210 .skip 1 # MorphOS: struct Node *FindExecNode(ULONG type, CONST_STRPTR name) (D0, A0)
211 .skip 1 # MorphOS: APTR AddExecNodeA(APTR innode, struct TagItem *Tags) (A0, A1)
212 .skip 1 # MorphOS: APTR AllocVecDMA(ULONG byteSize, ULONG requirements) (D0, D1)
213 .skip 1 # MorphOS: VOID FreeVecDMA(APTR memoryBlock) (A1)
214 .skip 1 # MorphOS: APTR AllocPooledAligned(APTR poolHeader, ULONG byteSize, ULONG alignSize, ULONG alignOffset) (base,sysv)
215 .skip 1 # MorphOS: LONG AddResident(struct Resident *resident) (base,sysv)
216 struct Task *FindTaskByPID(ULONG processID) (D0)
217 BOOL AddResetCallback(struct Interrupt *resetCallback) (A0)
218 void RemResetCallback(struct Interrupt *resetCallback) (A0)
219 APTR AllocVecPooled(APTR pool, ULONG size) (D0, D1)
220 void FreeVecPooled(APTR pool, APTR memory) (D0, D1)
221 .skip 1 # MorphOS: void DumpTaskState(struct Task *task) (A0)
222 .skip 1 # MorphOS: void AddExecNotifyType(struct Hook *hook, LONG Type) (base,sysv)
223 ULONG ShutdownA(ULONG action) (D0)
225 struct MemList *NewAllocEntry(struct MemList *entry, ULONG *return_flags) (A0, A1)
226 .skip 1 # MorphOS: ULONG AvailPool(APTR poolHeader, ULONG flags) (base,sysv)
227 APTR NewAddTask(struct Task *task, APTR initialPC, APTR finalPC, struct TagItem *tagList) (A1, A2, A3, A4)
228 # MorphOS functions follow:
229 # void PutMsgHead(struct MsgPort *port, struct Message *message) (base,sysv)
230 # ULONG NewGetTaskPIDAttrsA(ULONG pid, APTR data, ULONG dataSize, ULONG type, struct TagItem *tags) (D0, A0, D1, D2, A1)
231 # ULONG NewGetTaskPIDAttrsA(ULONG pid, APTR data, ULONG dataSize, ULONG type, struct TagItem *tags) (D0, A0, D1, D2, A1)