home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
gnu
/
os-include
/
inline
/
exec.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-09-22
|
45KB
|
1,487 lines
#ifndef _INLINE_EXEC_H
#define _INLINE_EXEC_H
#include <sys/cdefs.h>
#include <inline/stubs.h>
__BEGIN_DECLS
#ifndef BASE_EXT_DECL
#define BASE_EXT_DECL
#define BASE_EXT_DECL0 extern struct ExecBase * SysBase;
#endif
#ifndef BASE_PAR_DECL
#define BASE_PAR_DECL
#define BASE_PAR_DECL0 void
#endif
#ifndef BASE_NAME
#define BASE_NAME SysBase
#endif
BASE_EXT_DECL0
extern __inline void
AbortIO (BASE_PAR_DECL struct IORequest *ioRequest)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct IORequest *a1 __asm("a1") = ioRequest;
__asm __volatile ("jsr a6@(-0x1e0)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddDevice (BASE_PAR_DECL struct Device *device)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct Device *a1 __asm("a1") = device;
__asm __volatile ("jsr a6@(-0x1b0)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddHead (BASE_PAR_DECL struct List *list,struct Node *node)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct List *a0 __asm("a0") = list;
register struct Node *a1 __asm("a1") = node;
__asm __volatile ("jsr a6@(-0xf0)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddIntServer (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register long d0 __asm("d0") = intNumber;
register struct Interrupt *a1 __asm("a1") = interrupt;
__asm __volatile ("jsr a6@(-0xa8)"
: /* no output */
: "r" (a6), "r" (d0), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddLibrary (BASE_PAR_DECL struct Library *library)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct Library *a1 __asm("a1") = library;
__asm __volatile ("jsr a6@(-0x18c)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddMemHandler (BASE_PAR_DECL struct Interrupt *memhand)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct Interrupt *a1 __asm("a1") = memhand;
__asm __volatile ("jsr a6@(-0x306)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddMemList (BASE_PAR_DECL unsigned long size,unsigned long attributes,long pri,APTR base,UBYTE *name)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register unsigned long d0 __asm("d0") = size;
register unsigned long d1 __asm("d1") = attributes;
register long d2 __asm("d2") = pri;
register APTR a0 __asm("a0") = base;
register UBYTE *a1 __asm("a1") = name;
__asm __volatile ("jsr a6@(-0x26a)"
: /* no output */
: "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (a0), "r" (a1)
: "a0","a1","d0","d1","d2", "memory");
}
extern __inline void
AddPort (BASE_PAR_DECL struct MsgPort *port)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct MsgPort *a1 __asm("a1") = port;
__asm __volatile ("jsr a6@(-0x162)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddResource (BASE_PAR_DECL APTR resource)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register APTR a1 __asm("a1") = resource;
__asm __volatile ("jsr a6@(-0x1e6)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct SignalSemaphore *a1 __asm("a1") = sigSem;
__asm __volatile ("jsr a6@(-0x258)"
: /* no output */
: "r" (a6), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline void
AddTail (BASE_PAR_DECL struct List *list,struct Node *node)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct List *a0 __asm("a0") = list;
register struct Node *a1 __asm("a1") = node;
__asm __volatile ("jsr a6@(-0xf6)"
: /* no output */
: "r" (a6), "r" (a0), "r" (a1)
: "a0","a1","d0","d1", "memory");
}
extern __inline APTR
AddTask (BASE_PAR_DECL struct Task *task,APTR initPC,APTR finalPC)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct Task *a1 __asm("a1") = task;
register APTR a2 __asm("a2") = initPC;
register APTR a3 __asm("a3") = finalPC;
__asm __volatile ("jsr a6@(-0x11a)"
: "=r" (_res)
: "r" (a6), "r" (a1), "r" (a2), "r" (a3)
: "a0","a1","a2","a3","d0","d1", "memory");
return _res;
}
extern __inline void
Alert (BASE_PAR_DECL unsigned long alertNum)
{
BASE_EXT_DECL
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register unsigned long d7 __asm("d7") = alertNum;
__asm __volatile ("jsr a6@(-0x6c)"
: /* no output */
: "r" (a6), "r" (d7)
: "a0","a1","d0","d1","d7", "memory");
}
extern __inline APTR
AllocAbs (BASE_PAR_DECL unsigned long byteSize,APTR location)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register unsigned long d0 __asm("d0") = byteSize;
register APTR a1 __asm("a1") = location;
__asm __volatile ("jsr a6@(-0xcc)"
: "=r" (_res)
: "r" (a6), "r" (d0), "r" (a1)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline struct MemList *
AllocEntry (BASE_PAR_DECL struct MemList *entry)
{
BASE_EXT_DECL
register struct MemList * _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register struct MemList *a0 __asm("a0") = entry;
__asm __volatile ("jsr a6@(-0xde)"
: "=r" (_res)
: "r" (a6), "r" (a0)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline APTR
AllocMem (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register unsigned long d0 __asm("d0") = byteSize;
register unsigned long d1 __asm("d1") = requirements;
__asm __volatile ("jsr a6@(-0xc6)"
: "=r" (_res)
: "r" (a6), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline APTR
AllocPooled (BASE_PAR_DECL APTR poolHeader,unsigned long memSize)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register APTR a0 __asm("a0") = poolHeader;
register unsigned long d0 __asm("d0") = memSize;
__asm __volatile ("jsr a6@(-0x2c4)"
: "=r" (_res)
: "r" (a6), "r" (a0), "r" (d0)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline BYTE
AllocSignal (BASE_PAR_DECL long signalNum)
{
BASE_EXT_DECL
register BYTE _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register long d0 __asm("d0") = signalNum;
__asm __volatile ("jsr a6@(-0x14a)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline LONG
AllocTrap (BASE_PAR_DECL long trapNum)
{
BASE_EXT_DECL
register LONG _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register long d0 __asm("d0") = trapNum;
__asm __volatile ("jsr a6@(-0x156)"
: "=r" (_res)
: "r" (a6), "r" (d0)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline APTR
AllocVec (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
register unsigned long d0 __asm("d0") = byteSize;
register unsigned long d1 __asm("d1") = requirements;
__asm __volatile ("jsr a6@(-0x2ac)"
: "=r" (_res)
: "r" (a6), "r" (d0), "r" (d1)
: "a0","a1","d0","d1", "memory");
return _res;
}
extern __inline APTR
Allocate (BASE_PAR_DECL struct MemHeader *freeList,unsigned long byteSize)
{
BASE_EXT_DECL
register APTR _res __asm("d0");
register struct ExecBase *a6 __asm("a6") = BASE_NAME;
re