home *** CD-ROM | disk | FTP | other *** search
Wrap
#include <inline/stub.h> #ifndef BASE_EXT_DECL #define BASE_EXT_DECL #endif #ifndef BASE_PAR_DECL #define BASE_PAR_DECL #define BASE_PAR_DECL0 void #endif #ifndef BASE_NAME #define BASE_NAME (*(void **)4) #endif __inline static ULONG Supervisor(BASE_PAR_DECL long unsigned int (*userFunction)()) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int (*a4)() __asm("a4"); /* kludge ahead.. */ a6 = BASE_NAME; a4 = userFunction; __asm volatile (" exg a4,a5 jsr a6@(-0x1e) exg a4,a5" : "=g" (res) : "g" (a6), "g" (a4) : "d0", "d1", "a0", "a1", "a4"); return res; } #ifdef PRIVATE #endif __inline static void InitCode(BASE_PAR_DECL long unsigned int startClass, long unsigned int version) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = startClass; d1 = version; __asm volatile (" jsr a6@(-0x48)" : /* no output */ : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); } __inline static void InitStruct(BASE_PAR_DECL APTR initTable, APTR memory, long unsigned int size) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); register APTR a2 __asm("a2"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a1 = initTable; a2 = memory; d0 = size; __asm volatile (" jsr a6@(-0x4e)" : /* no output */ : "g" (a6), "g" (a1), "g" (a2), "g" (d0) : "d0", "d1", "a0", "a1", "a2"); } __inline static struct Library* MakeLibrary(BASE_PAR_DECL APTR funcInit, APTR structInit, long unsigned int (*libInit)(), long unsigned int dataSize, long unsigned int segList) { BASE_EXT_DECL register struct Library* res __asm("d0"); register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); register APTR a1 __asm("a1"); register long unsigned int (*a2)() __asm("a2"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; a0 = funcInit; a1 = structInit; a2 = libInit; d0 = dataSize; d1 = segList; __asm volatile (" jsr a6@(-0x54)" : "=g" (res) : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1", "a2"); return res; } __inline static void MakeFunctions(BASE_PAR_DECL APTR target, APTR functionArray, long unsigned int funcDispBase) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); register APTR a1 __asm("a1"); register long unsigned int a2 __asm("a2"); a6 = BASE_NAME; a0 = target; a1 = functionArray; a2 = funcDispBase; __asm volatile (" jsr a6@(-0x5a)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (a2) : "d0", "d1", "a0", "a1", "a2"); } __inline static struct Resident* FindResident(BASE_PAR_DECL UBYTE* name) { BASE_EXT_DECL register struct Resident* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = name; __asm volatile (" jsr a6@(-0x60)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void InitResident(BASE_PAR_DECL struct Resident* resident, long unsigned int segList) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Resident* a1 __asm("a1"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; a1 = resident; d1 = segList; __asm volatile (" jsr a6@(-0x66)" : /* no output */ : "g" (a6), "g" (a1), "g" (d1) : "d0", "d1", "a0", "a1"); } __inline static void Alert(BASE_PAR_DECL long unsigned int alertNum) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long unsigned int d7 __asm("d7"); a6 = BASE_NAME; d7 = alertNum; __asm volatile (" jsr a6@(-0x6c)" : /* no output */ : "g" (a6), "g" (d7) : "d0", "d1", "a0", "a1", "d7"); } __inline static void Debug(BASE_PAR_DECL long unsigned int flags) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; d0 = flags; __asm volatile (" jsr a6@(-0x72)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void Disable(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x78)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static void Enable(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x7e)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static void Forbid(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x84)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static void Permit(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x8a)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static ULONG SetSR(BASE_PAR_DECL long unsigned int newSR, long unsigned int mask) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = newSR; d1 = mask; __asm volatile (" jsr a6@(-0x90)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static APTR SuperState(BASE_PAR_DECL0) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x96)" : "=g" (res) : "g" (a6) : "d0", "d1", "a0", "a1"); return res; } __inline static void UserState(BASE_PAR_DECL APTR sysStack) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); a6 = BASE_NAME; d0 = sysStack; __asm volatile (" jsr a6@(-0x9c)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static struct Interrupt* SetIntVector(BASE_PAR_DECL long int intNumber, struct Interrupt* interrupt) { BASE_EXT_DECL register struct Interrupt* res __asm("d0"); register void *a6 __asm ("a6"); register long int d0 __asm("d0"); register struct Interrupt* a1 __asm("a1"); a6 = BASE_NAME; d0 = intNumber; a1 = interrupt; __asm volatile (" jsr a6@(-0xa2)" : "=g" (res) : "g" (a6), "g" (d0), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void AddIntServer(BASE_PAR_DECL long int intNumber, struct Interrupt* interrupt) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long int d0 __asm("d0"); register struct Interrupt* a1 __asm("a1"); a6 = BASE_NAME; d0 = intNumber; a1 = interrupt; __asm volatile (" jsr a6@(-0xa8)" : /* no output */ : "g" (a6), "g" (d0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemIntServer(BASE_PAR_DECL long int intNumber, struct Interrupt* interrupt) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long int d0 __asm("d0"); register struct Interrupt* a1 __asm("a1"); a6 = BASE_NAME; d0 = intNumber; a1 = interrupt; __asm volatile (" jsr a6@(-0xae)" : /* no output */ : "g" (a6), "g" (d0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void Cause(BASE_PAR_DECL struct Interrupt* interrupt) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Interrupt* a1 __asm("a1"); a6 = BASE_NAME; a1 = interrupt; __asm volatile (" jsr a6@(-0xb4)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static APTR Allocate(BASE_PAR_DECL struct MemHeader* freeList, long unsigned int byteSize) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register struct MemHeader* a0 __asm("a0"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a0 = freeList; d0 = byteSize; __asm volatile (" jsr a6@(-0xba)" : "=g" (res) : "g" (a6), "g" (a0), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void Deallocate(BASE_PAR_DECL struct MemHeader* freeList, APTR memoryBlock, long unsigned int byteSize) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MemHeader* a0 __asm("a0"); register APTR a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a0 = freeList; a1 = memoryBlock; d0 = byteSize; __asm volatile (" jsr a6@(-0xc0)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static APTR AllocMem(BASE_PAR_DECL long unsigned int byteSize, long unsigned int requirements) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = byteSize; d1 = requirements; __asm volatile (" jsr a6@(-0xc6)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static APTR AllocAbs(BASE_PAR_DECL long unsigned int byteSize, APTR location) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register APTR a1 __asm("a1"); a6 = BASE_NAME; d0 = byteSize; a1 = location; __asm volatile (" jsr a6@(-0xcc)" : "=g" (res) : "g" (a6), "g" (d0), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreeMem(BASE_PAR_DECL APTR memoryBlock, long unsigned int byteSize) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a1 = memoryBlock; d0 = byteSize; __asm volatile (" jsr a6@(-0xd2)" : /* no output */ : "g" (a6), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static ULONG AvailMem(BASE_PAR_DECL long unsigned int requirements) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d1 = requirements; __asm volatile (" jsr a6@(-0xd8)" : "=g" (res) : "g" (a6), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static struct MemList* AllocEntry(BASE_PAR_DECL struct MemList* entry) { BASE_EXT_DECL register struct MemList* res __asm("d0"); register void *a6 __asm ("a6"); register struct MemList* a0 __asm("a0"); a6 = BASE_NAME; a0 = entry; __asm volatile (" jsr a6@(-0xde)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreeEntry(BASE_PAR_DECL struct MemList* entry) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MemList* a0 __asm("a0"); a6 = BASE_NAME; a0 = entry; __asm volatile (" jsr a6@(-0xe4)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void Insert(BASE_PAR_DECL struct List* list, struct Node* node, struct Node* pred) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); register struct Node* a1 __asm("a1"); register struct Node* a2 __asm("a2"); a6 = BASE_NAME; a0 = list; a1 = node; a2 = pred; __asm volatile (" jsr a6@(-0xea)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (a2) : "d0", "d1", "a0", "a1", "a2"); } __inline static void AddHead(BASE_PAR_DECL struct List* list, struct Node* node) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); register struct Node* a1 __asm("a1"); a6 = BASE_NAME; a0 = list; a1 = node; __asm volatile (" jsr a6@(-0xf0)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void AddTail(BASE_PAR_DECL struct List* list, struct Node* node) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); register struct Node* a1 __asm("a1"); a6 = BASE_NAME; a0 = list; a1 = node; __asm volatile (" jsr a6@(-0xf6)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void Remove(BASE_PAR_DECL struct Node* node) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Node* a1 __asm("a1"); a6 = BASE_NAME; a1 = node; __asm volatile (" jsr a6@(-0xfc)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Node* RemHead(BASE_PAR_DECL struct List* list) { BASE_EXT_DECL register struct Node* res __asm("d0"); register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); a6 = BASE_NAME; a0 = list; __asm volatile (" jsr a6@(-0x102)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static struct Node* RemTail(BASE_PAR_DECL struct List* list) { BASE_EXT_DECL register struct Node* res __asm("d0"); register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); a6 = BASE_NAME; a0 = list; __asm volatile (" jsr a6@(-0x108)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static void Enqueue(BASE_PAR_DECL struct List* list, struct Node* node) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); register struct Node* a1 __asm("a1"); a6 = BASE_NAME; a0 = list; a1 = node; __asm volatile (" jsr a6@(-0x10e)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Node* FindName(BASE_PAR_DECL struct List* list, UBYTE* name) { BASE_EXT_DECL register struct Node* res __asm("d0"); register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a0 = list; a1 = name; __asm volatile (" jsr a6@(-0x114)" : "=g" (res) : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static APTR AddTask(BASE_PAR_DECL struct Task* task, APTR initPC, APTR finalPC) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register struct Task* a1 __asm("a1"); register APTR a2 __asm("a2"); register APTR a3 __asm("a3"); a6 = BASE_NAME; a1 = task; a2 = initPC; a3 = finalPC; __asm volatile (" jsr a6@(-0x11a)" : "=g" (res) : "g" (a6), "g" (a1), "g" (a2), "g" (a3) : "d0", "d1", "a0", "a1", "a2", "a3"); return res; } __inline static void RemTask(BASE_PAR_DECL struct Task* task) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Task* a1 __asm("a1"); a6 = BASE_NAME; a1 = task; __asm volatile (" jsr a6@(-0x120)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Task* FindTask(BASE_PAR_DECL UBYTE* name) { BASE_EXT_DECL register struct Task* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = name; __asm volatile (" jsr a6@(-0x126)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static BYTE SetTaskPri(BASE_PAR_DECL struct Task* task, long int priority) { BASE_EXT_DECL register BYTE res __asm("d0"); register void *a6 __asm ("a6"); register struct Task* a1 __asm("a1"); register long int d0 __asm("d0"); a6 = BASE_NAME; a1 = task; d0 = priority; __asm volatile (" jsr a6@(-0x12c)" : "=g" (res) : "g" (a6), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG SetSignal(BASE_PAR_DECL long unsigned int newSignals, long unsigned int signalSet) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = newSignals; d1 = signalSet; __asm volatile (" jsr a6@(-0x132)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG SetExcept(BASE_PAR_DECL long unsigned int newSignals, long unsigned int signalSet) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = newSignals; d1 = signalSet; __asm volatile (" jsr a6@(-0x138)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG Wait(BASE_PAR_DECL long unsigned int signalSet) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; d0 = signalSet; __asm volatile (" jsr a6@(-0x13e)" : "=g" (res) : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void Signal(BASE_PAR_DECL struct Task* task, long unsigned int signalSet) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Task* a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a1 = task; d0 = signalSet; __asm volatile (" jsr a6@(-0x144)" : /* no output */ : "g" (a6), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static BYTE AllocSignal(BASE_PAR_DECL long int signalNum) { BASE_EXT_DECL register BYTE res __asm("d0"); register void *a6 __asm ("a6"); register long int d0 __asm("d0"); a6 = BASE_NAME; d0 = signalNum; __asm volatile (" jsr a6@(-0x14a)" : "=g" (res) : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreeSignal(BASE_PAR_DECL long int signalNum) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long int d0 __asm("d0"); a6 = BASE_NAME; d0 = signalNum; __asm volatile (" jsr a6@(-0x150)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static LONG AllocTrap(BASE_PAR_DECL long int trapNum) { BASE_EXT_DECL register LONG res __asm("d0"); register void *a6 __asm ("a6"); register long int d0 __asm("d0"); a6 = BASE_NAME; d0 = trapNum; __asm volatile (" jsr a6@(-0x156)" : "=g" (res) : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreeTrap(BASE_PAR_DECL long int trapNum) { BASE_EXT_DECL register void *a6 __asm ("a6"); register long int d0 __asm("d0"); a6 = BASE_NAME; d0 = trapNum; __asm volatile (" jsr a6@(-0x15c)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void AddPort(BASE_PAR_DECL struct MsgPort* port) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MsgPort* a1 __asm("a1"); a6 = BASE_NAME; a1 = port; __asm volatile (" jsr a6@(-0x162)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemPort(BASE_PAR_DECL struct MsgPort* port) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MsgPort* a1 __asm("a1"); a6 = BASE_NAME; a1 = port; __asm volatile (" jsr a6@(-0x168)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void PutMsg(BASE_PAR_DECL struct MsgPort* port, struct Message* message) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MsgPort* a0 __asm("a0"); register struct Message* a1 __asm("a1"); a6 = BASE_NAME; a0 = port; a1 = message; __asm volatile (" jsr a6@(-0x16e)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Message* GetMsg(BASE_PAR_DECL struct MsgPort* port) { BASE_EXT_DECL register struct Message* res __asm("d0"); register void *a6 __asm ("a6"); register struct MsgPort* a0 __asm("a0"); a6 = BASE_NAME; a0 = port; __asm volatile (" jsr a6@(-0x174)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static void ReplyMsg(BASE_PAR_DECL struct Message* message) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Message* a1 __asm("a1"); a6 = BASE_NAME; a1 = message; __asm volatile (" jsr a6@(-0x17a)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Message* WaitPort(BASE_PAR_DECL struct MsgPort* port) { BASE_EXT_DECL register struct Message* res __asm("d0"); register void *a6 __asm ("a6"); register struct MsgPort* a0 __asm("a0"); a6 = BASE_NAME; a0 = port; __asm volatile (" jsr a6@(-0x180)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static struct MsgPort* FindPort(BASE_PAR_DECL UBYTE* name) { BASE_EXT_DECL register struct MsgPort* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = name; __asm volatile (" jsr a6@(-0x186)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void AddLibrary(BASE_PAR_DECL struct Library* library) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Library* a1 __asm("a1"); a6 = BASE_NAME; a1 = library; __asm volatile (" jsr a6@(-0x18c)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemLibrary(BASE_PAR_DECL struct Library* library) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Library* a1 __asm("a1"); a6 = BASE_NAME; a1 = library; __asm volatile (" jsr a6@(-0x192)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static struct Library* OldOpenLibrary(BASE_PAR_DECL UBYTE* libName) { BASE_EXT_DECL register struct Library* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = libName; __asm volatile (" jsr a6@(-0x198)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void CloseLibrary(BASE_PAR_DECL struct Library* library) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Library* a1 __asm("a1"); a6 = BASE_NAME; a1 = library; __asm volatile (" jsr a6@(-0x19e)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static APTR SetFunction(BASE_PAR_DECL struct Library* library, long int funcOffset, long unsigned int (*newFunction)()) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register struct Library* a1 __asm("a1"); register long int a0 __asm("a0"); register long unsigned int (*d0)() __asm("d0"); a6 = BASE_NAME; a1 = library; a0 = funcOffset; d0 = newFunction; __asm volatile (" jsr a6@(-0x1a4)" : "=g" (res) : "g" (a6), "g" (a1), "g" (a0), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void SumLibrary(BASE_PAR_DECL struct Library* library) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Library* a1 __asm("a1"); a6 = BASE_NAME; a1 = library; __asm volatile (" jsr a6@(-0x1aa)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void AddDevice(BASE_PAR_DECL struct Device* device) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Device* a1 __asm("a1"); a6 = BASE_NAME; a1 = device; __asm volatile (" jsr a6@(-0x1b0)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemDevice(BASE_PAR_DECL struct Device* device) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Device* a1 __asm("a1"); a6 = BASE_NAME; a1 = device; __asm volatile (" jsr a6@(-0x1b6)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static BYTE OpenDevice(BASE_PAR_DECL UBYTE* devName, long unsigned int unit, struct IORequest* ioRequest, long unsigned int flags) { BASE_EXT_DECL register BYTE res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a0 __asm("a0"); register long unsigned int d0 __asm("d0"); register struct IORequest* a1 __asm("a1"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; a0 = devName; d0 = unit; a1 = ioRequest; d1 = flags; __asm volatile (" jsr a6@(-0x1bc)" : "=g" (res) : "g" (a6), "g" (a0), "g" (d0), "g" (a1), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static void CloseDevice(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1c2)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static BYTE DoIO(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register BYTE res __asm("d0"); register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1c8)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void SendIO(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1ce)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static BOOL CheckIO(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register BOOL res __asm("d0"); register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1d4)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static BYTE WaitIO(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register BYTE res __asm("d0"); register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1da)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void AbortIO(BASE_PAR_DECL struct IORequest* ioRequest) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct IORequest* a1 __asm("a1"); a6 = BASE_NAME; a1 = ioRequest; __asm volatile (" jsr a6@(-0x1e0)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void AddResource(BASE_PAR_DECL APTR resource) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); a6 = BASE_NAME; a1 = resource; __asm volatile (" jsr a6@(-0x1e6)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemResource(BASE_PAR_DECL APTR resource) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); a6 = BASE_NAME; a1 = resource; __asm volatile (" jsr a6@(-0x1ec)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static APTR OpenResource(BASE_PAR_DECL UBYTE* resName) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = resName; __asm volatile (" jsr a6@(-0x1f2)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } #ifdef PRIVATE #endif __inline static void RawDoFmt(BASE_PAR_DECL UBYTE* formatString, APTR dataStream, void (*putChProc)(), APTR putChData) { BASE_EXT_DECL register void *a6 __asm ("a6"); register UBYTE* a0 __asm("a0"); register APTR a1 __asm("a1"); register void (*a2)() __asm("a2"); register APTR a3 __asm("a3"); a6 = BASE_NAME; a0 = formatString; a1 = dataStream; a2 = putChProc; a3 = putChData; __asm volatile (" jsr a6@(-0x20a)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (a2), "g" (a3) : "d0", "d1", "a0", "a1", "a2", "a3"); } __inline static ULONG GetCC(BASE_PAR_DECL0) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x210)" : "=g" (res) : "g" (a6) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG TypeOfMem(BASE_PAR_DECL APTR address) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); a6 = BASE_NAME; a1 = address; __asm volatile (" jsr a6@(-0x216)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG Procure(BASE_PAR_DECL struct Semaphore* semaport, struct Message* bidMsg) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register struct Semaphore* a0 __asm("a0"); register struct Message* a1 __asm("a1"); a6 = BASE_NAME; a0 = semaport; a1 = bidMsg; __asm volatile (" jsr a6@(-0x21c)" : "=g" (res) : "g" (a6), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void Vacate(BASE_PAR_DECL struct Semaphore* semaport) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct Semaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = semaport; __asm volatile (" jsr a6@(-0x222)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static struct Library* OpenLibrary(BASE_PAR_DECL UBYTE* libName, long unsigned int version) { BASE_EXT_DECL register struct Library* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a1 = libName; d0 = version; __asm volatile (" jsr a6@(-0x228)" : "=g" (res) : "g" (a6), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void InitSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x22e)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ObtainSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x234)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ReleaseSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x23a)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static ULONG AttemptSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register struct SignalSemaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x240)" : "=g" (res) : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static void ObtainSemaphoreList(BASE_PAR_DECL struct List* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x246)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ReleaseSemaphoreList(BASE_PAR_DECL struct List* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct List* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x24c)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static struct SignalSemaphore* FindSemaphore(BASE_PAR_DECL UBYTE* sigSem) { BASE_EXT_DECL register struct SignalSemaphore* res __asm("d0"); register void *a6 __asm ("a6"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; a1 = sigSem; __asm volatile (" jsr a6@(-0x252)" : "=g" (res) : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); return res; } __inline static void AddSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a1 __asm("a1"); a6 = BASE_NAME; a1 = sigSem; __asm volatile (" jsr a6@(-0x258)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static void RemSemaphore(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a1 __asm("a1"); a6 = BASE_NAME; a1 = sigSem; __asm volatile (" jsr a6@(-0x25e)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static ULONG SumKickData(BASE_PAR_DECL0) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x264)" : "=g" (res) : "g" (a6) : "d0", "d1", "a0", "a1"); return res; } __inline static ULONG AddMemList(BASE_PAR_DECL long unsigned int size, long unsigned int attributes, long unsigned int pri, APTR base, UBYTE* name) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); register long unsigned int d2 __asm("d2"); register APTR a0 __asm("a0"); register UBYTE* a1 __asm("a1"); a6 = BASE_NAME; d0 = size; d1 = attributes; d2 = pri; a0 = base; a1 = name; __asm volatile (" jsr a6@(-0x26a)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1), "g" (d2), "g" (a0), "g" (a1) : "d0", "d1", "a0", "a1", "d2"); return res; } __inline static void CopyMem(BASE_PAR_DECL APTR source, APTR dest, long unsigned int size) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); register APTR a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a0 = source; a1 = dest; d0 = size; __asm volatile (" jsr a6@(-0x270)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void CopyMemQuick(BASE_PAR_DECL APTR source, APTR dest, long unsigned int size) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); register APTR a1 __asm("a1"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a0 = source; a1 = dest; d0 = size; __asm volatile (" jsr a6@(-0x276)" : /* no output */ : "g" (a6), "g" (a0), "g" (a1), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void CacheClearU(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x27c)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static void CacheClearE(BASE_PAR_DECL APTR address, long unsigned int length, long unsigned int caches) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; a0 = address; d0 = length; d1 = caches; __asm volatile (" jsr a6@(-0x282)" : /* no output */ : "g" (a6), "g" (a0), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); } __inline static ULONG CacheControl(BASE_PAR_DECL long unsigned int cacheBits, long unsigned int cacheMask) { BASE_EXT_DECL register ULONG res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = cacheBits; d1 = cacheMask; __asm volatile (" jsr a6@(-0x288)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static APTR CreateIORequest(BASE_PAR_DECL struct MsgPort* port, long unsigned int size) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register struct MsgPort* a0 __asm("a0"); register long unsigned int d0 __asm("d0"); a6 = BASE_NAME; a0 = port; d0 = size; __asm volatile (" jsr a6@(-0x28e)" : "=g" (res) : "g" (a6), "g" (a0), "g" (d0) : "d0", "d1", "a0", "a1"); return res; } __inline static void DeleteIORequest(BASE_PAR_DECL APTR iorequest) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); a6 = BASE_NAME; a0 = iorequest; __asm volatile (" jsr a6@(-0x294)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static struct MsgPort* CreateMsgPort(BASE_PAR_DECL0) { BASE_EXT_DECL register struct MsgPort* res __asm("d0"); register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x29a)" : "=g" (res) : "g" (a6) : "d0", "d1", "a0", "a1"); return res; } __inline static void DeleteMsgPort(BASE_PAR_DECL struct MsgPort* port) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct MsgPort* a0 __asm("a0"); a6 = BASE_NAME; a0 = port; __asm volatile (" jsr a6@(-0x2a0)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ObtainSemaphoreShared(BASE_PAR_DECL struct SignalSemaphore* sigSem) { BASE_EXT_DECL register void *a6 __asm ("a6"); register struct SignalSemaphore* a0 __asm("a0"); a6 = BASE_NAME; a0 = sigSem; __asm volatile (" jsr a6@(-0x2a6)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static APTR AllocVec(BASE_PAR_DECL long unsigned int byteSize, long unsigned int requirements) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); a6 = BASE_NAME; d0 = byteSize; d1 = requirements; __asm volatile (" jsr a6@(-0x2ac)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreeVec(BASE_PAR_DECL APTR memoryBlock) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); a6 = BASE_NAME; a1 = memoryBlock; __asm volatile (" jsr a6@(-0x2b2)" : /* no output */ : "g" (a6), "g" (a1) : "d0", "d1", "a0", "a1"); } __inline static APTR CreatePrivatePool(BASE_PAR_DECL long unsigned int requirements, long unsigned int puddleSize, long unsigned int puddleThresh) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register long unsigned int d1 __asm("d1"); register long unsigned int d2 __asm("d2"); a6 = BASE_NAME; d0 = requirements; d1 = puddleSize; d2 = puddleThresh; __asm volatile (" jsr a6@(-0x2b8)" : "=g" (res) : "g" (a6), "g" (d0), "g" (d1), "g" (d2) : "d0", "d1", "a0", "a1", "d2"); return res; } __inline static void DeletePrivatePool(BASE_PAR_DECL APTR poolHeader) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a0 __asm("a0"); a6 = BASE_NAME; a0 = poolHeader; __asm volatile (" jsr a6@(-0x2be)" : /* no output */ : "g" (a6), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static APTR AllocPooled(BASE_PAR_DECL long unsigned int memSize, APTR poolHeader) { BASE_EXT_DECL register APTR res __asm("d0"); register void *a6 __asm ("a6"); register long unsigned int d0 __asm("d0"); register APTR a0 __asm("a0"); a6 = BASE_NAME; d0 = memSize; a0 = poolHeader; __asm volatile (" jsr a6@(-0x2c4)" : "=g" (res) : "g" (a6), "g" (d0), "g" (a0) : "d0", "d1", "a0", "a1"); return res; } __inline static void FreePooled(BASE_PAR_DECL APTR memory, APTR poolHeader) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR a1 __asm("a1"); register APTR a0 __asm("a0"); a6 = BASE_NAME; a1 = memory; a0 = poolHeader; __asm volatile (" jsr a6@(-0x2ca)" : /* no output */ : "g" (a6), "g" (a1), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ColdReboot(BASE_PAR_DECL0) { BASE_EXT_DECL register void *a6 __asm ("a6"); a6 = BASE_NAME; __asm volatile (" jsr a6@(-0x2d6)" : /* no output */ : "g" (a6) : "d0", "d1", "a0", "a1"); } __inline static void StackSwap(BASE_PAR_DECL APTR newSize, APTR newSP, APTR newStack) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); register APTR d1 __asm("d1"); register APTR a0 __asm("a0"); a6 = BASE_NAME; d0 = newSize; d1 = newSP; a0 = newStack; __asm volatile (" jsr a6@(-0x2dc)" : /* no output */ : "g" (a6), "g" (d0), "g" (d1), "g" (a0) : "d0", "d1", "a0", "a1"); } __inline static void ChildFree(BASE_PAR_DECL APTR tid) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); a6 = BASE_NAME; d0 = tid; __asm volatile (" jsr a6@(-0x2e2)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void ChildOrphan(BASE_PAR_DECL APTR tid) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); a6 = BASE_NAME; d0 = tid; __asm volatile (" jsr a6@(-0x2e8)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void ChildStatus(BASE_PAR_DECL APTR tid) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); a6 = BASE_NAME; d0 = tid; __asm volatile (" jsr a6@(-0x2ee)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } __inline static void ChildWait(BASE_PAR_DECL APTR tid) { BASE_EXT_DECL register void *a6 __asm ("a6"); register APTR d0 __asm("d0"); a6 = BASE_NAME; d0 = tid; __asm volatile (" jsr a6@(-0x2f4)" : /* no output */ : "g" (a6), "g" (d0) : "d0", "d1", "a0", "a1"); } #ifdef PRIVATE #endif __inline static struct List *NewList(struct List *list) { list->lh_Tail = NULL; list->lh_TailPred = (struct Node *)list; list->lh_Head = (struct Node *)&list->lh_Tail; } #undef BASE_EXT_DECL #undef BASE_PAR_DECL #undef BASE_PAR_DECL0 #undef BASE_NAME