home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 9 / FreshFishVol9-CD2.bin / bbs / cbm / os-include-bin.lha / GNU / os-include / inline / exec.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-22  |  43.5 KB  |  1,487 lines

  1. #ifndef _INLINE_EXEC_H
  2. #define _INLINE_EXEC_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL
  11. #define BASE_EXT_DECL0 extern struct ExecBase * SysBase;
  12. #endif
  13. #ifndef BASE_PAR_DECL
  14. #define BASE_PAR_DECL
  15. #define BASE_PAR_DECL0 void
  16. #endif
  17. #ifndef BASE_NAME
  18. #define BASE_NAME SysBase
  19. #endif
  20.  
  21. BASE_EXT_DECL0
  22.  
  23. extern __inline void 
  24. AbortIO (BASE_PAR_DECL struct IORequest *ioRequest)
  25. {
  26.   BASE_EXT_DECL
  27.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  28.   register struct IORequest *a1 __asm("a1") = ioRequest;
  29.   __asm __volatile ("jsr a6@(-0x1e0)"
  30.   : /* no output */
  31.   : "r" (a6), "r" (a1)
  32.   : "a0","a1","d0","d1", "memory");
  33. }
  34. extern __inline void 
  35. AddDevice (BASE_PAR_DECL struct Device *device)
  36. {
  37.   BASE_EXT_DECL
  38.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  39.   register struct Device *a1 __asm("a1") = device;
  40.   __asm __volatile ("jsr a6@(-0x1b0)"
  41.   : /* no output */
  42.   : "r" (a6), "r" (a1)
  43.   : "a0","a1","d0","d1", "memory");
  44. }
  45. extern __inline void 
  46. AddHead (BASE_PAR_DECL struct List *list,struct Node *node)
  47. {
  48.   BASE_EXT_DECL
  49.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  50.   register struct List *a0 __asm("a0") = list;
  51.   register struct Node *a1 __asm("a1") = node;
  52.   __asm __volatile ("jsr a6@(-0xf0)"
  53.   : /* no output */
  54.   : "r" (a6), "r" (a0), "r" (a1)
  55.   : "a0","a1","d0","d1", "memory");
  56. }
  57. extern __inline void 
  58. AddIntServer (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  59. {
  60.   BASE_EXT_DECL
  61.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  62.   register long d0 __asm("d0") = intNumber;
  63.   register struct Interrupt *a1 __asm("a1") = interrupt;
  64.   __asm __volatile ("jsr a6@(-0xa8)"
  65.   : /* no output */
  66.   : "r" (a6), "r" (d0), "r" (a1)
  67.   : "a0","a1","d0","d1", "memory");
  68. }
  69. extern __inline void 
  70. AddLibrary (BASE_PAR_DECL struct Library *library)
  71. {
  72.   BASE_EXT_DECL
  73.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  74.   register struct Library *a1 __asm("a1") = library;
  75.   __asm __volatile ("jsr a6@(-0x18c)"
  76.   : /* no output */
  77.   : "r" (a6), "r" (a1)
  78.   : "a0","a1","d0","d1", "memory");
  79. }
  80. extern __inline void 
  81. AddMemHandler (BASE_PAR_DECL struct Interrupt *memhand)
  82. {
  83.   BASE_EXT_DECL
  84.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  85.   register struct Interrupt *a1 __asm("a1") = memhand;
  86.   __asm __volatile ("jsr a6@(-0x306)"
  87.   : /* no output */
  88.   : "r" (a6), "r" (a1)
  89.   : "a0","a1","d0","d1", "memory");
  90. }
  91. extern __inline void 
  92. AddMemList (BASE_PAR_DECL unsigned long size,unsigned long attributes,long pri,APTR base,UBYTE *name)
  93. {
  94.   BASE_EXT_DECL
  95.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  96.   register unsigned long d0 __asm("d0") = size;
  97.   register unsigned long d1 __asm("d1") = attributes;
  98.   register long d2 __asm("d2") = pri;
  99.   register APTR a0 __asm("a0") = base;
  100.   register UBYTE *a1 __asm("a1") = name;
  101.   __asm __volatile ("jsr a6@(-0x26a)"
  102.   : /* no output */
  103.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (a0), "r" (a1)
  104.   : "a0","a1","d0","d1","d2", "memory");
  105. }
  106. extern __inline void 
  107. AddPort (BASE_PAR_DECL struct MsgPort *port)
  108. {
  109.   BASE_EXT_DECL
  110.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  111.   register struct MsgPort *a1 __asm("a1") = port;
  112.   __asm __volatile ("jsr a6@(-0x162)"
  113.   : /* no output */
  114.   : "r" (a6), "r" (a1)
  115.   : "a0","a1","d0","d1", "memory");
  116. }
  117. extern __inline void 
  118. AddResource (BASE_PAR_DECL APTR resource)
  119. {
  120.   BASE_EXT_DECL
  121.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  122.   register APTR a1 __asm("a1") = resource;
  123.   __asm __volatile ("jsr a6@(-0x1e6)"
  124.   : /* no output */
  125.   : "r" (a6), "r" (a1)
  126.   : "a0","a1","d0","d1", "memory");
  127. }
  128. extern __inline void 
  129. AddSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  130. {
  131.   BASE_EXT_DECL
  132.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  133.   register struct SignalSemaphore *a1 __asm("a1") = sigSem;
  134.   __asm __volatile ("jsr a6@(-0x258)"
  135.   : /* no output */
  136.   : "r" (a6), "r" (a1)
  137.   : "a0","a1","d0","d1", "memory");
  138. }
  139. extern __inline void 
  140. AddTail (BASE_PAR_DECL struct List *list,struct Node *node)
  141. {
  142.   BASE_EXT_DECL
  143.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  144.   register struct List *a0 __asm("a0") = list;
  145.   register struct Node *a1 __asm("a1") = node;
  146.   __asm __volatile ("jsr a6@(-0xf6)"
  147.   : /* no output */
  148.   : "r" (a6), "r" (a0), "r" (a1)
  149.   : "a0","a1","d0","d1", "memory");
  150. }
  151. extern __inline APTR 
  152. AddTask (BASE_PAR_DECL struct Task *task,APTR initPC,APTR finalPC)
  153. {
  154.   BASE_EXT_DECL
  155.   register APTR  _res  __asm("d0");
  156.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  157.   register struct Task *a1 __asm("a1") = task;
  158.   register APTR a2 __asm("a2") = initPC;
  159.   register APTR a3 __asm("a3") = finalPC;
  160.   __asm __volatile ("jsr a6@(-0x11a)"
  161.   : "=r" (_res)
  162.   : "r" (a6), "r" (a1), "r" (a2), "r" (a3)
  163.   : "a0","a1","a2","a3","d0","d1", "memory");
  164.   return _res;
  165. }
  166. extern __inline void 
  167. Alert (BASE_PAR_DECL unsigned long alertNum)
  168. {
  169.   BASE_EXT_DECL
  170.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  171.   register unsigned long d7 __asm("d7") = alertNum;
  172.   __asm __volatile ("jsr a6@(-0x6c)"
  173.   : /* no output */
  174.   : "r" (a6), "r" (d7)
  175.   : "a0","a1","d0","d1","d7", "memory");
  176. }
  177. extern __inline APTR 
  178. AllocAbs (BASE_PAR_DECL unsigned long byteSize,APTR location)
  179. {
  180.   BASE_EXT_DECL
  181.   register APTR  _res  __asm("d0");
  182.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  183.   register unsigned long d0 __asm("d0") = byteSize;
  184.   register APTR a1 __asm("a1") = location;
  185.   __asm __volatile ("jsr a6@(-0xcc)"
  186.   : "=r" (_res)
  187.   : "r" (a6), "r" (d0), "r" (a1)
  188.   : "a0","a1","d0","d1", "memory");
  189.   return _res;
  190. }
  191. extern __inline struct MemList *
  192. AllocEntry (BASE_PAR_DECL struct MemList *entry)
  193. {
  194.   BASE_EXT_DECL
  195.   register struct MemList * _res  __asm("d0");
  196.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  197.   register struct MemList *a0 __asm("a0") = entry;
  198.   __asm __volatile ("jsr a6@(-0xde)"
  199.   : "=r" (_res)
  200.   : "r" (a6), "r" (a0)
  201.   : "a0","a1","d0","d1", "memory");
  202.   return _res;
  203. }
  204. extern __inline APTR 
  205. AllocMem (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
  206. {
  207.   BASE_EXT_DECL
  208.   register APTR  _res  __asm("d0");
  209.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  210.   register unsigned long d0 __asm("d0") = byteSize;
  211.   register unsigned long d1 __asm("d1") = requirements;
  212.   __asm __volatile ("jsr a6@(-0xc6)"
  213.   : "=r" (_res)
  214.   : "r" (a6), "r" (d0), "r" (d1)
  215.   : "a0","a1","d0","d1", "memory");
  216.   return _res;
  217. }
  218. extern __inline APTR 
  219. AllocPooled (BASE_PAR_DECL APTR poolHeader,unsigned long memSize)
  220. {
  221.   BASE_EXT_DECL
  222.   register APTR  _res  __asm("d0");
  223.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  224.   register APTR a0 __asm("a0") = poolHeader;
  225.   register unsigned long d0 __asm("d0") = memSize;
  226.   __asm __volatile ("jsr a6@(-0x2c4)"
  227.   : "=r" (_res)
  228.   : "r" (a6), "r" (a0), "r" (d0)
  229.   : "a0","a1","d0","d1", "memory");
  230.   return _res;
  231. }
  232. extern __inline BYTE 
  233. AllocSignal (BASE_PAR_DECL long signalNum)
  234. {
  235.   BASE_EXT_DECL
  236.   register BYTE  _res  __asm("d0");
  237.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  238.   register long d0 __asm("d0") = signalNum;
  239.   __asm __volatile ("jsr a6@(-0x14a)"
  240.   : "=r" (_res)
  241.   : "r" (a6), "r" (d0)
  242.   : "a0","a1","d0","d1", "memory");
  243.   return _res;
  244. }
  245. extern __inline LONG 
  246. AllocTrap (BASE_PAR_DECL long trapNum)
  247. {
  248.   BASE_EXT_DECL
  249.   register LONG  _res  __asm("d0");
  250.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  251.   register long d0 __asm("d0") = trapNum;
  252.   __asm __volatile ("jsr a6@(-0x156)"
  253.   : "=r" (_res)
  254.   : "r" (a6), "r" (d0)
  255.   : "a0","a1","d0","d1", "memory");
  256.   return _res;
  257. }
  258. extern __inline APTR 
  259. AllocVec (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
  260. {
  261.   BASE_EXT_DECL
  262.   register APTR  _res  __asm("d0");
  263.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  264.   register unsigned long d0 __asm("d0") = byteSize;
  265.   register unsigned long d1 __asm("d1") = requirements;
  266.   __asm __volatile ("jsr a6@(-0x2ac)"
  267.   : "=r" (_res)
  268.   : "r" (a6), "r" (d0), "r" (d1)
  269.   : "a0","a1","d0","d1", "memory");
  270.   return _res;
  271. }
  272. extern __inline APTR 
  273. Allocate (BASE_PAR_DECL struct MemHeader *freeList,unsigned long byteSize)
  274. {
  275.   BASE_EXT_DECL
  276.   register APTR  _res  __asm("d0");
  277.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  278.   register struct MemHeader *a0 __asm("a0") = freeList;
  279.   register unsigned long d0 __asm("d0") = byteSize;
  280.   __asm __volatile ("jsr a6@(-0xba)"
  281.   : "=r" (_res)
  282.   : "r" (a6), "r" (a0), "r" (d0)
  283.   : "a0","a1","d0","d1", "memory");
  284.   return _res;
  285. }
  286. extern __inline ULONG 
  287. AttemptSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  288. {
  289.   BASE_EXT_DECL
  290.   register ULONG  _res  __asm("d0");
  291.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  292.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  293.   __asm __volatile ("jsr a6@(-0x240)"
  294.   : "=r" (_res)
  295.   : "r" (a6), "r" (a0)
  296.   : "a0","a1","d0","d1", "memory");
  297.   return _res;
  298. }
  299. extern __inline ULONG 
  300. AttemptSemaphoreShared (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  301. {
  302.   BASE_EXT_DECL
  303.   register ULONG  _res  __asm("d0");
  304.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  305.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  306.   __asm __volatile ("jsr a6@(-0x2d0)"
  307.   : "=r" (_res)
  308.   : "r" (a6), "r" (a0)
  309.   : "a0","a1","d0","d1", "memory");
  310.   return _res;
  311. }
  312. extern __inline ULONG 
  313. AvailMem (BASE_PAR_DECL unsigned long requirements)
  314. {
  315.   BASE_EXT_DECL
  316.   register ULONG  _res  __asm("d0");
  317.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  318.   register unsigned long d1 __asm("d1") = requirements;
  319.   __asm __volatile ("jsr a6@(-0xd8)"
  320.   : "=r" (_res)
  321.   : "r" (a6), "r" (d1)
  322.   : "a0","a1","d0","d1", "memory");
  323.   return _res;
  324. }
  325. extern __inline void 
  326. CacheClearE (BASE_PAR_DECL APTR address,unsigned long length,unsigned long caches)
  327. {
  328.   BASE_EXT_DECL
  329.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  330.   register APTR a0 __asm("a0") = address;
  331.   register unsigned long d0 __asm("d0") = length;
  332.   register unsigned long d1 __asm("d1") = caches;
  333.   __asm __volatile ("jsr a6@(-0x282)"
  334.   : /* no output */
  335.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  336.   : "a0","a1","d0","d1", "memory");
  337. }
  338. extern __inline void 
  339. CacheClearU (BASE_PAR_DECL0)
  340. {
  341.   BASE_EXT_DECL
  342.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  343.   __asm __volatile ("jsr a6@(-0x27c)"
  344.   : /* no output */
  345.   : "r" (a6)
  346.   : "a0","a1","d0","d1", "memory");
  347. }
  348. extern __inline ULONG 
  349. CacheControl (BASE_PAR_DECL unsigned long cacheBits,unsigned long cacheMask)
  350. {
  351.   BASE_EXT_DECL
  352.   register ULONG  _res  __asm("d0");
  353.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  354.   register unsigned long d0 __asm("d0") = cacheBits;
  355.   register unsigned long d1 __asm("d1") = cacheMask;
  356.   __asm __volatile ("jsr a6@(-0x288)"
  357.   : "=r" (_res)
  358.   : "r" (a6), "r" (d0), "r" (d1)
  359.   : "a0","a1","d0","d1", "memory");
  360.   return _res;
  361. }
  362. extern __inline void 
  363. CachePostDMA (BASE_PAR_DECL APTR address,ULONG *length,unsigned long flags)
  364. {
  365.   BASE_EXT_DECL
  366.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  367.   register APTR a0 __asm("a0") = address;
  368.   register ULONG *a1 __asm("a1") = length;
  369.   register unsigned long d0 __asm("d0") = flags;
  370.   __asm __volatile ("jsr a6@(-0x300)"
  371.   : /* no output */
  372.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  373.   : "a0","a1","d0","d1", "memory");
  374. }
  375. extern __inline APTR 
  376. CachePreDMA (BASE_PAR_DECL APTR address,ULONG *length,unsigned long flags)
  377. {
  378.   BASE_EXT_DECL
  379.   register APTR  _res  __asm("d0");
  380.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  381.   register APTR a0 __asm("a0") = address;
  382.   register ULONG *a1 __asm("a1") = length;
  383.   register unsigned long d0 __asm("d0") = flags;
  384.   __asm __volatile ("jsr a6@(-0x2fa)"
  385.   : "=r" (_res)
  386.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  387.   : "a0","a1","d0","d1", "memory");
  388.   return _res;
  389. }
  390. extern __inline void 
  391. Cause (BASE_PAR_DECL struct Interrupt *interrupt)
  392. {
  393.   BASE_EXT_DECL
  394.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  395.   register struct Interrupt *a1 __asm("a1") = interrupt;
  396.   __asm __volatile ("jsr a6@(-0xb4)"
  397.   : /* no output */
  398.   : "r" (a6), "r" (a1)
  399.   : "a0","a1","d0","d1", "memory");
  400. }
  401. extern __inline struct IORequest *
  402. CheckIO (BASE_PAR_DECL struct IORequest *ioRequest)
  403. {
  404.   BASE_EXT_DECL
  405.   register struct IORequest * _res  __asm("d0");
  406.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  407.   register struct IORequest *a1 __asm("a1") = ioRequest;
  408.   __asm __volatile ("jsr a6@(-0x1d4)"
  409.   : "=r" (_res)
  410.   : "r" (a6), "r" (a1)
  411.   : "a0","a1","d0","d1", "memory");
  412.   return _res;
  413. }
  414. extern __inline void 
  415. ChildFree (BASE_PAR_DECL APTR tid)
  416. {
  417.   BASE_EXT_DECL
  418.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  419.   register APTR d0 __asm("d0") = tid;
  420.   __asm __volatile ("jsr a6@(-0x2e2)"
  421.   : /* no output */
  422.   : "r" (a6), "r" (d0)
  423.   : "a0","a1","d0","d1", "memory");
  424. }
  425. extern __inline void 
  426. ChildOrphan (BASE_PAR_DECL APTR tid)
  427. {
  428.   BASE_EXT_DECL
  429.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  430.   register APTR d0 __asm("d0") = tid;
  431.   __asm __volatile ("jsr a6@(-0x2e8)"
  432.   : /* no output */
  433.   : "r" (a6), "r" (d0)
  434.   : "a0","a1","d0","d1", "memory");
  435. }
  436. extern __inline void 
  437. ChildStatus (BASE_PAR_DECL APTR tid)
  438. {
  439.   BASE_EXT_DECL
  440.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  441.   register APTR d0 __asm("d0") = tid;
  442.   __asm __volatile ("jsr a6@(-0x2ee)"
  443.   : /* no output */
  444.   : "r" (a6), "r" (d0)
  445.   : "a0","a1","d0","d1", "memory");
  446. }
  447. extern __inline void 
  448. ChildWait (BASE_PAR_DECL APTR tid)
  449. {
  450.   BASE_EXT_DECL
  451.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  452.   register APTR d0 __asm("d0") = tid;
  453.   __asm __volatile ("jsr a6@(-0x2f4)"
  454.   : /* no output */
  455.   : "r" (a6), "r" (d0)
  456.   : "a0","a1","d0","d1", "memory");
  457. }
  458. extern __inline void 
  459. CloseDevice (BASE_PAR_DECL struct IORequest *ioRequest)
  460. {
  461.   BASE_EXT_DECL
  462.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  463.   register struct IORequest *a1 __asm("a1") = ioRequest;
  464.   __asm __volatile ("jsr a6@(-0x1c2)"
  465.   : /* no output */
  466.   : "r" (a6), "r" (a1)
  467.   : "a0","a1","d0","d1", "memory");
  468. }
  469. extern __inline void 
  470. CloseLibrary (BASE_PAR_DECL struct Library *library)
  471. {
  472.   BASE_EXT_DECL
  473.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  474.   register struct Library *a1 __asm("a1") = library;
  475.   __asm __volatile ("jsr a6@(-0x19e)"
  476.   : /* no output */
  477.   : "r" (a6), "r" (a1)
  478.   : "a0","a1","d0","d1", "memory");
  479. }
  480. extern __inline void 
  481. ColdReboot (BASE_PAR_DECL0)
  482. {
  483.   BASE_EXT_DECL
  484.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  485.   __asm __volatile ("jsr a6@(-0x2d6)"
  486.   : /* no output */
  487.   : "r" (a6)
  488.   : "a0","a1","d0","d1", "memory");
  489. }
  490. extern __inline void 
  491. CopyMem (BASE_PAR_DECL APTR source,APTR dest,unsigned long size)
  492. {
  493.   BASE_EXT_DECL
  494.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  495.   register APTR a0 __asm("a0") = source;
  496.   register APTR a1 __asm("a1") = dest;
  497.   register unsigned long d0 __asm("d0") = size;
  498.   __asm __volatile ("jsr a6@(-0x270)"
  499.   : /* no output */
  500.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  501.   : "a0","a1","d0","d1", "memory");
  502. }
  503. extern __inline void 
  504. CopyMemQuick (BASE_PAR_DECL APTR source,APTR dest,unsigned long size)
  505. {
  506.   BASE_EXT_DECL
  507.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  508.   register APTR a0 __asm("a0") = source;
  509.   register APTR a1 __asm("a1") = dest;
  510.   register unsigned long d0 __asm("d0") = size;
  511.   __asm __volatile ("jsr a6@(-0x276)"
  512.   : /* no output */
  513.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  514.   : "a0","a1","d0","d1", "memory");
  515. }
  516. extern __inline APTR 
  517. CreateIORequest (BASE_PAR_DECL struct MsgPort *port,unsigned long size)
  518. {
  519.   BASE_EXT_DECL
  520.   register APTR  _res  __asm("d0");
  521.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  522.   register struct MsgPort *a0 __asm("a0") = port;
  523.   register unsigned long d0 __asm("d0") = size;
  524.   __asm __volatile ("jsr a6@(-0x28e)"
  525.   : "=r" (_res)
  526.   : "r" (a6), "r" (a0), "r" (d0)
  527.   : "a0","a1","d0","d1", "memory");
  528.   return _res;
  529. }
  530. extern __inline struct MsgPort *
  531. CreateMsgPort (BASE_PAR_DECL0)
  532. {
  533.   BASE_EXT_DECL
  534.   register struct MsgPort * _res  __asm("d0");
  535.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  536.   __asm __volatile ("jsr a6@(-0x29a)"
  537.   : "=r" (_res)
  538.   : "r" (a6)
  539.   : "a0","a1","d0","d1", "memory");
  540.   return _res;
  541. }
  542. extern __inline APTR 
  543. CreatePool (BASE_PAR_DECL unsigned long requirements,unsigned long puddleSize,unsigned long threshSize)
  544. {
  545.   BASE_EXT_DECL
  546.   register APTR  _res  __asm("d0");
  547.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  548.   register unsigned long d0 __asm("d0") = requirements;
  549.   register unsigned long d1 __asm("d1") = puddleSize;
  550.   register unsigned long d2 __asm("d2") = threshSize;
  551.   __asm __volatile ("jsr a6@(-0x2b8)"
  552.   : "=r" (_res)
  553.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2)
  554.   : "a0","a1","d0","d1","d2", "memory");
  555.   return _res;
  556. }
  557. extern __inline void 
  558. Deallocate (BASE_PAR_DECL struct MemHeader *freeList,APTR memoryBlock,unsigned long byteSize)
  559. {
  560.   BASE_EXT_DECL
  561.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  562.   register struct MemHeader *a0 __asm("a0") = freeList;
  563.   register APTR a1 __asm("a1") = memoryBlock;
  564.   register unsigned long d0 __asm("d0") = byteSize;
  565.   __asm __volatile ("jsr a6@(-0xc0)"
  566.   : /* no output */
  567.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  568.   : "a0","a1","d0","d1", "memory");
  569. }
  570. extern __inline void 
  571. Debug (BASE_PAR_DECL unsigned long flags)
  572. {
  573.   BASE_EXT_DECL
  574.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  575.   register unsigned long d0 __asm("d0") = flags;
  576.   __asm __volatile ("jsr a6@(-0x72)"
  577.   : /* no output */
  578.   : "r" (a6), "r" (d0)
  579.   : "a0","a1","d0","d1", "memory");
  580. }
  581. extern __inline void 
  582. DeleteIORequest (BASE_PAR_DECL APTR iorequest)
  583. {
  584.   BASE_EXT_DECL
  585.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  586.   register APTR a0 __asm("a0") = iorequest;
  587.   __asm __volatile ("jsr a6@(-0x294)"
  588.   : /* no output */
  589.   : "r" (a6), "r" (a0)
  590.   : "a0","a1","d0","d1", "memory");
  591. }
  592. extern __inline void 
  593. DeleteMsgPort (BASE_PAR_DECL struct MsgPort *port)
  594. {
  595.   BASE_EXT_DECL
  596.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  597.   register struct MsgPort *a0 __asm("a0") = port;
  598.   __asm __volatile ("jsr a6@(-0x2a0)"
  599.   : /* no output */
  600.   : "r" (a6), "r" (a0)
  601.   : "a0","a1","d0","d1", "memory");
  602. }
  603. extern __inline void 
  604. DeletePool (BASE_PAR_DECL APTR poolHeader)
  605. {
  606.   BASE_EXT_DECL
  607.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  608.   register APTR a0 __asm("a0") = poolHeader;
  609.   __asm __volatile ("jsr a6@(-0x2be)"
  610.   : /* no output */
  611.   : "r" (a6), "r" (a0)
  612.   : "a0","a1","d0","d1", "memory");
  613. }
  614. extern __inline void 
  615. Disable (BASE_PAR_DECL0)
  616. {
  617.   BASE_EXT_DECL
  618.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  619.   __asm __volatile ("jsr a6@(-0x78)"
  620.   : /* no output */
  621.   : "r" (a6)
  622.   : "a0","a1","d0","d1", "memory");
  623. }
  624. extern __inline BYTE 
  625. DoIO (BASE_PAR_DECL struct IORequest *ioRequest)
  626. {
  627.   BASE_EXT_DECL
  628.   register BYTE  _res  __asm("d0");
  629.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  630.   register struct IORequest *a1 __asm("a1") = ioRequest;
  631.   __asm __volatile ("jsr a6@(-0x1c8)"
  632.   : "=r" (_res)
  633.   : "r" (a6), "r" (a1)
  634.   : "a0","a1","d0","d1", "memory");
  635.   return _res;
  636. }
  637. extern __inline void 
  638. Enable (BASE_PAR_DECL0)
  639. {
  640.   BASE_EXT_DECL
  641.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  642.   __asm __volatile ("jsr a6@(-0x7e)"
  643.   : /* no output */
  644.   : "r" (a6)
  645.   : "a0","a1","d0","d1", "memory");
  646. }
  647. extern __inline void 
  648. Enqueue (BASE_PAR_DECL struct List *list,struct Node *node)
  649. {
  650.   BASE_EXT_DECL
  651.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  652.   register struct List *a0 __asm("a0") = list;
  653.   register struct Node *a1 __asm("a1") = node;
  654.   __asm __volatile ("jsr a6@(-0x10e)"
  655.   : /* no output */
  656.   : "r" (a6), "r" (a0), "r" (a1)
  657.   : "a0","a1","d0","d1", "memory");
  658. }
  659. extern __inline struct Node *
  660. FindName (BASE_PAR_DECL struct List *list,UBYTE *name)
  661. {
  662.   BASE_EXT_DECL
  663.   register struct Node * _res  __asm("d0");
  664.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  665.   register struct List *a0 __asm("a0") = list;
  666.   register UBYTE *a1 __asm("a1") = name;
  667.   __asm __volatile ("jsr a6@(-0x114)"
  668.   : "=r" (_res)
  669.   : "r" (a6), "r" (a0), "r" (a1)
  670.   : "a0","a1","d0","d1", "memory");
  671.   return _res;
  672. }
  673. extern __inline struct MsgPort *
  674. FindPort (BASE_PAR_DECL UBYTE *name)
  675. {
  676.   BASE_EXT_DECL
  677.   register struct MsgPort * _res  __asm("d0");
  678.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  679.   register UBYTE *a1 __asm("a1") = name;
  680.   __asm __volatile ("jsr a6@(-0x186)"
  681.   : "=r" (_res)
  682.   : "r" (a6), "r" (a1)
  683.   : "a0","a1","d0","d1", "memory");
  684.   return _res;
  685. }
  686. extern __inline struct Resident *
  687. FindResident (BASE_PAR_DECL UBYTE *name)
  688. {
  689.   BASE_EXT_DECL
  690.   register struct Resident * _res  __asm("d0");
  691.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  692.   register UBYTE *a1 __asm("a1") = name;
  693.   __asm __volatile ("jsr a6@(-0x60)"
  694.   : "=r" (_res)
  695.   : "r" (a6), "r" (a1)
  696.   : "a0","a1","d0","d1", "memory");
  697.   return _res;
  698. }
  699. extern __inline struct SignalSemaphore *
  700. FindSemaphore (BASE_PAR_DECL UBYTE *sigSem)
  701. {
  702.   BASE_EXT_DECL
  703.   register struct SignalSemaphore * _res  __asm("d0");
  704.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  705.   register UBYTE *a1 __asm("a1") = sigSem;
  706.   __asm __volatile ("jsr a6@(-0x252)"
  707.   : "=r" (_res)
  708.   : "r" (a6), "r" (a1)
  709.   : "a0","a1","d0","d1", "memory");
  710.   return _res;
  711. }
  712. extern __inline struct Task *
  713. FindTask (BASE_PAR_DECL UBYTE *name)
  714. {
  715.   BASE_EXT_DECL
  716.   register struct Task * _res  __asm("d0");
  717.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  718.   register UBYTE *a1 __asm("a1") = name;
  719.   __asm __volatile ("jsr a6@(-0x126)"
  720.   : "=r" (_res)
  721.   : "r" (a6), "r" (a1)
  722.   : "a0","a1","d0","d1", "memory");
  723.   return _res;
  724. }
  725. extern __inline void 
  726. Forbid (BASE_PAR_DECL0)
  727. {
  728.   BASE_EXT_DECL
  729.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  730.   __asm __volatile ("jsr a6@(-0x84)"
  731.   : /* no output */
  732.   : "r" (a6)
  733.   : "a0","a1","d0","d1", "memory");
  734. }
  735. extern __inline void 
  736. FreeEntry (BASE_PAR_DECL struct MemList *entry)
  737. {
  738.   BASE_EXT_DECL
  739.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  740.   register struct MemList *a0 __asm("a0") = entry;
  741.   __asm __volatile ("jsr a6@(-0xe4)"
  742.   : /* no output */
  743.   : "r" (a6), "r" (a0)
  744.   : "a0","a1","d0","d1", "memory");
  745. }
  746. extern __inline void 
  747. FreeMem (BASE_PAR_DECL APTR memoryBlock,unsigned long byteSize)
  748. {
  749.   BASE_EXT_DECL
  750.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  751.   register APTR a1 __asm("a1") = memoryBlock;
  752.   register unsigned long d0 __asm("d0") = byteSize;
  753.   __asm __volatile ("jsr a6@(-0xd2)"
  754.   : /* no output */
  755.   : "r" (a6), "r" (a1), "r" (d0)
  756.   : "a0","a1","d0","d1", "memory");
  757. }
  758. extern __inline void 
  759. FreePooled (BASE_PAR_DECL APTR poolHeader,APTR memory,unsigned long memSize)
  760. {
  761.   BASE_EXT_DECL
  762.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  763.   register APTR a0 __asm("a0") = poolHeader;
  764.   register APTR a1 __asm("a1") = memory;
  765.   register unsigned long d0 __asm("d0") = memSize;
  766.   __asm __volatile ("jsr a6@(-0x2ca)"
  767.   : /* no output */
  768.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  769.   : "a0","a1","d0","d1", "memory");
  770. }
  771. extern __inline void 
  772. FreeSignal (BASE_PAR_DECL long signalNum)
  773. {
  774.   BASE_EXT_DECL
  775.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  776.   register long d0 __asm("d0") = signalNum;
  777.   __asm __volatile ("jsr a6@(-0x150)"
  778.   : /* no output */
  779.   : "r" (a6), "r" (d0)
  780.   : "a0","a1","d0","d1", "memory");
  781. }
  782. extern __inline void 
  783. FreeTrap (BASE_PAR_DECL long trapNum)
  784. {
  785.   BASE_EXT_DECL
  786.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  787.   register long d0 __asm("d0") = trapNum;
  788.   __asm __volatile ("jsr a6@(-0x15c)"
  789.   : /* no output */
  790.   : "r" (a6), "r" (d0)
  791.   : "a0","a1","d0","d1", "memory");
  792. }
  793. extern __inline void 
  794. FreeVec (BASE_PAR_DECL APTR memoryBlock)
  795. {
  796.   BASE_EXT_DECL
  797.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  798.   register APTR a1 __asm("a1") = memoryBlock;
  799.   __asm __volatile ("jsr a6@(-0x2b2)"
  800.   : /* no output */
  801.   : "r" (a6), "r" (a1)
  802.   : "a0","a1","d0","d1", "memory");
  803. }
  804. extern __inline ULONG 
  805. GetCC (BASE_PAR_DECL0)
  806. {
  807.   BASE_EXT_DECL
  808.   register ULONG  _res  __asm("d0");
  809.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  810.   __asm __volatile ("jsr a6@(-0x210)"
  811.   : "=r" (_res)
  812.   : "r" (a6)
  813.   : "a0","a1","d0","d1", "memory");
  814.   return _res;
  815. }
  816. extern __inline struct Message *
  817. GetMsg (BASE_PAR_DECL struct MsgPort *port)
  818. {
  819.   BASE_EXT_DECL
  820.   register struct Message * _res  __asm("d0");
  821.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  822.   register struct MsgPort *a0 __asm("a0") = port;
  823.   __asm __volatile ("jsr a6@(-0x174)"
  824.   : "=r" (_res)
  825.   : "r" (a6), "r" (a0)
  826.   : "a0","a1","d0","d1", "memory");
  827.   return _res;
  828. }
  829. extern __inline void 
  830. InitCode (BASE_PAR_DECL unsigned long startClass,unsigned long version)
  831. {
  832.   BASE_EXT_DECL
  833.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  834.   register unsigned long d0 __asm("d0") = startClass;
  835.   register unsigned long d1 __asm("d1") = version;
  836.   __asm __volatile ("jsr a6@(-0x48)"
  837.   : /* no output */
  838.   : "r" (a6), "r" (d0), "r" (d1)
  839.   : "a0","a1","d0","d1", "memory");
  840. }
  841. extern __inline APTR 
  842. InitResident (BASE_PAR_DECL struct Resident *resident,unsigned long segList)
  843. {
  844.   BASE_EXT_DECL
  845.   register APTR  _res  __asm("d0");
  846.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  847.   register struct Resident *a1 __asm("a1") = resident;
  848.   register unsigned long d1 __asm("d1") = segList;
  849.   __asm __volatile ("jsr a6@(-0x66)"
  850.   : "=r" (_res)
  851.   : "r" (a6), "r" (a1), "r" (d1)
  852.   : "a0","a1","d0","d1", "memory");
  853.   return _res;
  854. }
  855. extern __inline void 
  856. InitSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  857. {
  858.   BASE_EXT_DECL
  859.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  860.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  861.   __asm __volatile ("jsr a6@(-0x22e)"
  862.   : /* no output */
  863.   : "r" (a6), "r" (a0)
  864.   : "a0","a1","d0","d1", "memory");
  865. }
  866. extern __inline void 
  867. InitStruct (BASE_PAR_DECL APTR initTable,APTR memory,unsigned long size)
  868. {
  869.   BASE_EXT_DECL
  870.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  871.   register APTR a1 __asm("a1") = initTable;
  872.   register APTR a2 __asm("a2") = memory;
  873.   register unsigned long d0 __asm("d0") = size;
  874.   __asm __volatile ("jsr a6@(-0x4e)"
  875.   : /* no output */
  876.   : "r" (a6), "r" (a1), "r" (a2), "r" (d0)
  877.   : "a0","a1","a2","d0","d1", "memory");
  878. }
  879. extern __inline void 
  880. Insert (BASE_PAR_DECL struct List *list,struct Node *node,struct Node *pred)
  881. {
  882.   BASE_EXT_DECL
  883.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  884.   register struct List *a0 __asm("a0") = list;
  885.   register struct Node *a1 __asm("a1") = node;
  886.   register struct Node *a2 __asm("a2") = pred;
  887.   __asm __volatile ("jsr a6@(-0xea)"
  888.   : /* no output */
  889.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  890.   : "a0","a1","a2","d0","d1", "memory");
  891. }
  892. extern __inline void 
  893. MakeFunctions (BASE_PAR_DECL APTR target,APTR functionArray,unsigned long funcDispBase)
  894. {
  895.   BASE_EXT_DECL
  896.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  897.   register APTR a0 __asm("a0") = target;
  898.   register APTR a1 __asm("a1") = functionArray;
  899.   register unsigned long a2 __asm("a2") = funcDispBase;
  900.   __asm __volatile ("jsr a6@(-0x5a)"
  901.   : /* no output */
  902.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  903.   : "a0","a1","a2","d0","d1", "memory");
  904. }
  905. extern __inline struct Library *
  906. MakeLibrary (BASE_PAR_DECL APTR funcInit,APTR structInit,unsigned long (*libInit)(),unsigned long dataSize,unsigned long segList)
  907. {
  908.   BASE_EXT_DECL
  909.   register struct Library * _res  __asm("d0");
  910.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  911.   register APTR a0 __asm("a0") = funcInit;
  912.   register APTR a1 __asm("a1") = structInit;
  913.   register unsigned long (*a2)() __asm("a2") = libInit;
  914.   register unsigned long d0 __asm("d0") = dataSize;
  915.   register unsigned long d1 __asm("d1") = segList;
  916.   __asm __volatile ("jsr a6@(-0x54)"
  917.   : "=r" (_res)
  918.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  919.   : "a0","a1","a2","d0","d1", "memory");
  920.   return _res;
  921. }
  922. extern __inline ULONG 
  923. ObtainQuickVector (BASE_PAR_DECL APTR interruptCode)
  924. {
  925.   BASE_EXT_DECL
  926.   register ULONG  _res  __asm("d0");
  927.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  928.   register APTR a0 __asm("a0") = interruptCode;
  929.   __asm __volatile ("jsr a6@(-0x312)"
  930.   : "=r" (_res)
  931.   : "r" (a6), "r" (a0)
  932.   : "a0","a1","d0","d1", "memory");
  933.   return _res;
  934. }
  935. extern __inline void 
  936. ObtainSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  937. {
  938.   BASE_EXT_DECL
  939.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  940.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  941.   __asm __volatile ("jsr a6@(-0x234)"
  942.   : /* no output */
  943.   : "r" (a6), "r" (a0)
  944.   : "a0","a1","d0","d1", "memory");
  945. }
  946. extern __inline void 
  947. ObtainSemaphoreList (BASE_PAR_DECL struct List *sigSem)
  948. {
  949.   BASE_EXT_DECL
  950.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  951.   register struct List *a0 __asm("a0") = sigSem;
  952.   __asm __volatile ("jsr a6@(-0x246)"
  953.   : /* no output */
  954.   : "r" (a6), "r" (a0)
  955.   : "a0","a1","d0","d1", "memory");
  956. }
  957. extern __inline void 
  958. ObtainSemaphoreShared (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  959. {
  960.   BASE_EXT_DECL
  961.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  962.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  963.   __asm __volatile ("jsr a6@(-0x2a6)"
  964.   : /* no output */
  965.   : "r" (a6), "r" (a0)
  966.   : "a0","a1","d0","d1", "memory");
  967. }
  968. extern __inline struct Library *
  969. OldOpenLibrary (BASE_PAR_DECL UBYTE *libName)
  970. {
  971.   BASE_EXT_DECL
  972.   register struct Library * _res  __asm("d0");
  973.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  974.   register UBYTE *a1 __asm("a1") = libName;
  975.   __asm __volatile ("jsr a6@(-0x198)"
  976.   : "=r" (_res)
  977.   : "r" (a6), "r" (a1)
  978.   : "a0","a1","d0","d1", "memory");
  979.   return _res;
  980. }
  981. extern __inline BYTE 
  982. OpenDevice (BASE_PAR_DECL UBYTE *devName,unsigned long unit,struct IORequest *ioRequest,unsigned long flags)
  983. {
  984.   BASE_EXT_DECL
  985.   register BYTE  _res  __asm("d0");
  986.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  987.   register UBYTE *a0 __asm("a0") = devName;
  988.   register unsigned long d0 __asm("d0") = unit;
  989.   register struct IORequest *a1 __asm("a1") = ioRequest;
  990.   register unsigned long d1 __asm("d1") = flags;
  991.   __asm __volatile ("jsr a6@(-0x1bc)"
  992.   : "=r" (_res)
  993.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1), "r" (d1)
  994.   : "a0","a1","d0","d1", "memory");
  995.   return _res;
  996. }
  997. extern __inline struct Library *
  998. OpenLibrary (BASE_PAR_DECL UBYTE *libName,unsigned long version)
  999. {
  1000.   BASE_EXT_DECL
  1001.   register struct Library * _res  __asm("d0");
  1002.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1003.   register UBYTE *a1 __asm("a1") = libName;
  1004.   register unsigned long d0 __asm("d0") = version;
  1005.   __asm __volatile ("jsr a6@(-0x228)"
  1006.   : "=r" (_res)
  1007.   : "r" (a6), "r" (a1), "r" (d0)
  1008.   : "a0","a1","d0","d1", "memory");
  1009.   return _res;
  1010. }
  1011. extern __inline APTR 
  1012. OpenResource (BASE_PAR_DECL UBYTE *resName)
  1013. {
  1014.   BASE_EXT_DECL
  1015.   register APTR  _res  __asm("d0");
  1016.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1017.   register UBYTE *a1 __asm("a1") = resName;
  1018.   __asm __volatile ("jsr a6@(-0x1f2)"
  1019.   : "=r" (_res)
  1020.   : "r" (a6), "r" (a1)
  1021.   : "a0","a1","d0","d1", "memory");
  1022.   return _res;
  1023. }
  1024. extern __inline void 
  1025. Permit (BASE_PAR_DECL0)
  1026. {
  1027.   BASE_EXT_DECL
  1028.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1029.   __asm __volatile ("jsr a6@(-0x8a)"
  1030.   : /* no output */
  1031.   : "r" (a6)
  1032.   : "a0","a1","d0","d1", "memory");
  1033. }
  1034. extern __inline ULONG 
  1035. Procure (BASE_PAR_DECL struct SignalSemaphore *sigSem,struct SemaphoreMessage *bidMsg)
  1036. {
  1037.   BASE_EXT_DECL
  1038.   register ULONG  _res  __asm("d0");
  1039.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1040.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  1041.   register struct SemaphoreMessage *a1 __asm("a1") = bidMsg;
  1042.   __asm __volatile ("jsr a6@(-0x21c)"
  1043.   : "=r" (_res)
  1044.   : "r" (a6), "r" (a0), "r" (a1)
  1045.   : "a0","a1","d0","d1", "memory");
  1046.   return _res;
  1047. }
  1048. extern __inline void 
  1049. PutMsg (BASE_PAR_DECL struct MsgPort *port,struct Message *message)
  1050. {
  1051.   BASE_EXT_DECL
  1052.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1053.   register struct MsgPort *a0 __asm("a0") = port;
  1054.   register struct Message *a1 __asm("a1") = message;
  1055.   __asm __volatile ("jsr a6@(-0x16e)"
  1056.   : /* no output */
  1057.   : "r" (a6), "r" (a0), "r" (a1)
  1058.   : "a0","a1","d0","d1", "memory");
  1059. }
  1060. extern __inline APTR 
  1061. RawDoFmt (BASE_PAR_DECL UBYTE *formatString,APTR dataStream,void (*putChProc)(),APTR putChData)
  1062. {
  1063.   BASE_EXT_DECL
  1064.   register APTR  _res  __asm("d0");
  1065.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1066.   register UBYTE *a0 __asm("a0") = formatString;
  1067.   register APTR a1 __asm("a1") = dataStream;
  1068.   register void (*a2)() __asm("a2") = putChProc;
  1069.   register APTR a3 __asm("a3") = putChData;
  1070.   __asm __volatile ("jsr a6@(-0x20a)"
  1071.   : "=r" (_res)
  1072.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  1073.   : "a0","a1","a2","a3","d0","d1", "memory");
  1074.   return _res;
  1075. }
  1076. extern __inline void 
  1077. ReleaseSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  1078. {
  1079.   BASE_EXT_DECL
  1080.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1081.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  1082.   __asm __volatile ("jsr a6@(-0x23a)"
  1083.   : /* no output */
  1084.   : "r" (a6), "r" (a0)
  1085.   : "a0","a1","d0","d1", "memory");
  1086. }
  1087. extern __inline void 
  1088. ReleaseSemaphoreList (BASE_PAR_DECL struct List *sigSem)
  1089. {
  1090.   BASE_EXT_DECL
  1091.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1092.   register struct List *a0 __asm("a0") = sigSem;
  1093.   __asm __volatile ("jsr a6@(-0x24c)"
  1094.   : /* no output */
  1095.   : "r" (a6), "r" (a0)
  1096.   : "a0","a1","d0","d1", "memory");
  1097. }
  1098. extern __inline void 
  1099. RemDevice (BASE_PAR_DECL struct Device *device)
  1100. {
  1101.   BASE_EXT_DECL
  1102.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1103.   register struct Device *a1 __asm("a1") = device;
  1104.   __asm __volatile ("jsr a6@(-0x1b6)"
  1105.   : /* no output */
  1106.   : "r" (a6), "r" (a1)
  1107.   : "a0","a1","d0","d1", "memory");
  1108. }
  1109. extern __inline struct Node *
  1110. RemHead (BASE_PAR_DECL struct List *list)
  1111. {
  1112.   BASE_EXT_DECL
  1113.   register struct Node * _res  __asm("d0");
  1114.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1115.   register struct List *a0 __asm("a0") = list;
  1116.   __asm __volatile ("jsr a6@(-0x102)"
  1117.   : "=r" (_res)
  1118.   : "r" (a6), "r" (a0)
  1119.   : "a0","a1","d0","d1", "memory");
  1120.   return _res;
  1121. }
  1122. extern __inline void 
  1123. RemIntServer (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  1124. {
  1125.   BASE_EXT_DECL
  1126.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1127.   register long d0 __asm("d0") = intNumber;
  1128.   register struct Interrupt *a1 __asm("a1") = interrupt;
  1129.   __asm __volatile ("jsr a6@(-0xae)"
  1130.   : /* no output */
  1131.   : "r" (a6), "r" (d0), "r" (a1)
  1132.   : "a0","a1","d0","d1", "memory");
  1133. }
  1134. extern __inline void 
  1135. RemLibrary (BASE_PAR_DECL struct Library *library)
  1136. {
  1137.   BASE_EXT_DECL
  1138.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1139.   register struct Library *a1 __asm("a1") = library;
  1140.   __asm __volatile ("jsr a6@(-0x192)"
  1141.   : /* no output */
  1142.   : "r" (a6), "r" (a1)
  1143.   : "a0","a1","d0","d1", "memory");
  1144. }
  1145. extern __inline void 
  1146. RemMemHandler (BASE_PAR_DECL struct Interrupt *memhand)
  1147. {
  1148.   BASE_EXT_DECL
  1149.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1150.   register struct Interrupt *a1 __asm("a1") = memhand;
  1151.   __asm __volatile ("jsr a6@(-0x30c)"
  1152.   : /* no output */
  1153.   : "r" (a6), "r" (a1)
  1154.   : "a0","a1","d0","d1", "memory");
  1155. }
  1156. extern __inline void 
  1157. RemPort (BASE_PAR_DECL struct MsgPort *port)
  1158. {
  1159.   BASE_EXT_DECL
  1160.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1161.   register struct MsgPort *a1 __asm("a1") = port;
  1162.   __asm __volatile ("jsr a6@(-0x168)"
  1163.   : /* no output */
  1164.   : "r" (a6), "r" (a1)
  1165.   : "a0","a1","d0","d1", "memory");
  1166. }
  1167. extern __inline void 
  1168. RemResource (BASE_PAR_DECL APTR resource)
  1169. {
  1170.   BASE_EXT_DECL
  1171.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1172.   register APTR a1 __asm("a1") = resource;
  1173.   __asm __volatile ("jsr a6@(-0x1ec)"
  1174.   : /* no output */
  1175.   : "r" (a6), "r" (a1)
  1176.   : "a0","a1","d0","d1", "memory");
  1177. }
  1178. extern __inline void 
  1179. RemSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  1180. {
  1181.   BASE_EXT_DECL
  1182.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1183.   register struct SignalSemaphore *a1 __asm("a1") = sigSem;
  1184.   __asm __volatile ("jsr a6@(-0x25e)"
  1185.   : /* no output */
  1186.   : "r" (a6), "r" (a1)
  1187.   : "a0","a1","d0","d1", "memory");
  1188. }
  1189. extern __inline struct Node *
  1190. RemTail (BASE_PAR_DECL struct List *list)
  1191. {
  1192.   BASE_EXT_DECL
  1193.   register struct Node * _res  __asm("d0");
  1194.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1195.   register struct List *a0 __asm("a0") = list;
  1196.   __asm __volatile ("jsr a6@(-0x108)"
  1197.   : "=r" (_res)
  1198.   : "r" (a6), "r" (a0)
  1199.   : "a0","a1","d0","d1", "memory");
  1200.   return _res;
  1201. }
  1202. extern __inline void 
  1203. RemTask (BASE_PAR_DECL struct Task *task)
  1204. {
  1205.   BASE_EXT_DECL
  1206.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1207.   register struct Task *a1 __asm("a1") = task;
  1208.   __asm __volatile ("jsr a6@(-0x120)"
  1209.   : /* no output */
  1210.   : "r" (a6), "r" (a1)
  1211.   : "a0","a1","d0","d1", "memory");
  1212. }
  1213. extern __inline void 
  1214. Remove (BASE_PAR_DECL struct Node *node)
  1215. {
  1216.   BASE_EXT_DECL
  1217.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1218.   register struct Node *a1 __asm("a1") = node;
  1219.   __asm __volatile ("jsr a6@(-0xfc)"
  1220.   : /* no output */
  1221.   : "r" (a6), "r" (a1)
  1222.   : "a0","a1","d0","d1", "memory");
  1223. }
  1224. extern __inline void 
  1225. ReplyMsg (BASE_PAR_DECL struct Message *message)
  1226. {
  1227.   BASE_EXT_DECL
  1228.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1229.   register struct Message *a1 __asm("a1") = message;
  1230.   __asm __volatile ("jsr a6@(-0x17a)"
  1231.   : /* no output */
  1232.   : "r" (a6), "r" (a1)
  1233.   : "a0","a1","d0","d1", "memory");
  1234. }
  1235. extern __inline void 
  1236. SendIO (BASE_PAR_DECL struct IORequest *ioRequest)
  1237. {
  1238.   BASE_EXT_DECL
  1239.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1240.   register struct IORequest *a1 __asm("a1") = ioRequest;
  1241.   __asm __volatile ("jsr a6@(-0x1ce)"
  1242.   : /* no output */
  1243.   : "r" (a6), "r" (a1)
  1244.   : "a0","a1","d0","d1", "memory");
  1245. }
  1246. extern __inline ULONG 
  1247. SetExcept (BASE_PAR_DECL unsigned long newSignals,unsigned long signalSet)
  1248. {
  1249.   BASE_EXT_DECL
  1250.   register ULONG  _res  __asm("d0");
  1251.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1252.   register unsigned long d0 __asm("d0") = newSignals;
  1253.   register unsigned long d1 __asm("d1") = signalSet;
  1254.   __asm __volatile ("jsr a6@(-0x138)"
  1255.   : "=r" (_res)
  1256.   : "r" (a6), "r" (d0), "r" (d1)
  1257.   : "a0","a1","d0","d1", "memory");
  1258.   return _res;
  1259. }
  1260. extern __inline APTR 
  1261. SetFunction (BASE_PAR_DECL struct Library *library,long funcOffset,unsigned long (*newFunction)())
  1262. {
  1263.   BASE_EXT_DECL
  1264.   register APTR  _res  __asm("d0");
  1265.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1266.   register struct Library *a1 __asm("a1") = library;
  1267.   register long a0 __asm("a0") = funcOffset;
  1268.   register unsigned long (*d0)() __asm("d0") = newFunction;
  1269.   __asm __volatile ("jsr a6@(-0x1a4)"
  1270.   : "=r" (_res)
  1271.   : "r" (a6), "r" (a1), "r" (a0), "r" (d0)
  1272.   : "a0","a1","d0","d1", "memory");
  1273.   return _res;
  1274. }
  1275. extern __inline struct Interrupt *
  1276. SetIntVector (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  1277. {
  1278.   BASE_EXT_DECL
  1279.   register struct Interrupt * _res  __asm("d0");
  1280.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1281.   register long d0 __asm("d0") = intNumber;
  1282.   register struct Interrupt *a1 __asm("a1") = interrupt;
  1283.   __asm __volatile ("jsr a6@(-0xa2)"
  1284.   : "=r" (_res)
  1285.   : "r" (a6), "r" (d0), "r" (a1)
  1286.   : "a0","a1","d0","d1", "memory");
  1287.   return _res;
  1288. }
  1289. extern __inline ULONG 
  1290. SetSR (BASE_PAR_DECL unsigned long newSR,unsigned long mask)
  1291. {
  1292.   BASE_EXT_DECL
  1293.   register ULONG  _res  __asm("d0");
  1294.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1295.   register unsigned long d0 __asm("d0") = newSR;
  1296.   register unsigned long d1 __asm("d1") = mask;
  1297.   __asm __volatile ("jsr a6@(-0x90)"
  1298.   : "=r" (_res)
  1299.   : "r" (a6), "r" (d0), "r" (d1)
  1300.   : "a0","a1","d0","d1", "memory");
  1301.   return _res;
  1302. }
  1303. extern __inline ULONG 
  1304. SetSignal (BASE_PAR_DECL unsigned long newSignals,unsigned long signalSet)
  1305. {
  1306.   BASE_EXT_DECL
  1307.   register ULONG  _res  __asm("d0");
  1308.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1309.   register unsigned long d0 __asm("d0") = newSignals;
  1310.   register unsigned long d1 __asm("d1") = signalSet;
  1311.   __asm __volatile ("jsr a6@(-0x132)"
  1312.   : "=r" (_res)
  1313.   : "r" (a6), "r" (d0), "r" (d1)
  1314.   : "a0","a1","d0","d1", "memory");
  1315.   return _res;
  1316. }
  1317. extern __inline BYTE 
  1318. SetTaskPri (BASE_PAR_DECL struct Task *task,long priority)
  1319. {
  1320.   BASE_EXT_DECL
  1321.   register BYTE  _res  __asm("d0");
  1322.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1323.   register struct Task *a1 __asm("a1") = task;
  1324.   register long d0 __asm("d0") = priority;
  1325.   __asm __volatile ("jsr a6@(-0x12c)"
  1326.   : "=r" (_res)
  1327.   : "r" (a6), "r" (a1), "r" (d0)
  1328.   : "a0","a1","d0","d1", "memory");
  1329.   return _res;
  1330. }
  1331. extern __inline void 
  1332. Signal (BASE_PAR_DECL struct Task *task,unsigned long signalSet)
  1333. {
  1334.   BASE_EXT_DECL
  1335.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1336.   register struct Task *a1 __asm("a1") = task;
  1337.   register unsigned long d0 __asm("d0") = signalSet;
  1338.   __asm __volatile ("jsr a6@(-0x144)"
  1339.   : /* no output */
  1340.   : "r" (a6), "r" (a1), "r" (d0)
  1341.   : "a0","a1","d0","d1", "memory");
  1342. }
  1343. extern __inline void 
  1344. StackSwap (BASE_PAR_DECL struct StackSwapStruct *newStack)
  1345. {
  1346.   BASE_EXT_DECL
  1347.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1348.   register struct StackSwapStruct *a0 __asm("a0") = newStack;
  1349.   __asm __volatile ("jsr a6@(-0x2dc)"
  1350.   : /* no output */
  1351.   : "r" (a6), "r" (a0)
  1352.   : "a0","a1","d0","d1", "memory");
  1353. }
  1354. extern __inline ULONG 
  1355. SumKickData (BASE_PAR_DECL0)
  1356. {
  1357.   BASE_EXT_DECL
  1358.   register ULONG  _res  __asm("d0");
  1359.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1360.   __asm __volatile ("jsr a6@(-0x264)"
  1361.   : "=r" (_res)
  1362.   : "r" (a6)
  1363.   : "a0","a1","d0","d1", "memory");
  1364.   return _res;
  1365. }
  1366. extern __inline void 
  1367. SumLibrary (BASE_PAR_DECL struct Library *library)
  1368. {
  1369.   BASE_EXT_DECL
  1370.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1371.   register struct Library *a1 __asm("a1") = library;
  1372.   __asm __volatile ("jsr a6@(-0x1aa)"
  1373.   : /* no output */
  1374.   : "r" (a6), "r" (a1)
  1375.   : "a0","a1","d0","d1", "memory");
  1376. }
  1377. extern __inline APTR 
  1378. SuperState (BASE_PAR_DECL0)
  1379. {
  1380.   BASE_EXT_DECL
  1381.   register APTR  _res  __asm("d0");
  1382.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1383.   __asm __volatile ("jsr a6@(-0x96)"
  1384.   : "=r" (_res)
  1385.   : "r" (a6)
  1386.   : "a0","a1","d0","d1", "memory");
  1387.   return _res;
  1388. }
  1389. extern __inline ULONG 
  1390. Supervisor (BASE_PAR_DECL unsigned long (*userFunction)())
  1391. {
  1392.   BASE_EXT_DECL
  1393.   register ULONG  _res  __asm("d0");
  1394.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1395.   register unsigned long (*a2)() __asm("a2") = userFunction;
  1396.   __asm __volatile ("exg a2,a5\n\tjsr a6@(-0x1e)\n\texg a2,a5"
  1397.   : "=r" (_res)
  1398.   : "r" (a6), "r" (a2)
  1399.   : "a0","a1","a2","d0","d1", "memory");
  1400.   return _res;
  1401. }
  1402. extern __inline ULONG 
  1403. TypeOfMem (BASE_PAR_DECL APTR address)
  1404. {
  1405.   BASE_EXT_DECL
  1406.   register ULONG  _res  __asm("d0");
  1407.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1408.   register APTR a1 __asm("a1") = address;
  1409.   __asm __volatile ("jsr a6@(-0x216)"
  1410.   : "=r" (_res)
  1411.   : "r" (a6), "r" (a1)
  1412.   : "a0","a1","d0","d1", "memory");
  1413.   return _res;
  1414. }
  1415. extern __inline void 
  1416. UserState (BASE_PAR_DECL APTR sysStack)
  1417. {
  1418.   BASE_EXT_DECL
  1419.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1420.   register APTR d0 __asm("d0") = sysStack;
  1421.   __asm __volatile ("jsr a6@(-0x9c)"
  1422.   : /* no output */
  1423.   : "r" (a6), "r" (d0)
  1424.   : "a0","a1","d0","d1", "memory");
  1425. }
  1426. extern __inline void 
  1427. Vacate (BASE_PAR_DECL struct SignalSemaphore *sigSem,struct SemaphoreMessage *bidMsg)
  1428. {
  1429.   BASE_EXT_DECL
  1430.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1431.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  1432.   register struct SemaphoreMessage *a1 __asm("a1") = bidMsg;
  1433.   __asm __volatile ("jsr a6@(-0x222)"
  1434.   : /* no output */
  1435.   : "r" (a6), "r" (a0), "r" (a1)
  1436.   : "a0","a1","d0","d1", "memory");
  1437. }
  1438. extern __inline ULONG 
  1439. Wait (BASE_PAR_DECL unsigned long signalSet)
  1440. {
  1441.   BASE_EXT_DECL
  1442.   register ULONG  _res  __asm("d0");
  1443.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1444.   register unsigned long d0 __asm("d0") = signalSet;
  1445.   __asm __volatile ("jsr a6@(-0x13e)"
  1446.   : "=r" (_res)
  1447.   : "r" (a6), "r" (d0)
  1448.   : "a0","a1","d0","d1", "memory");
  1449.   return _res;
  1450. }
  1451. extern __inline BYTE 
  1452. WaitIO (BASE_PAR_DECL struct IORequest *ioRequest)
  1453. {
  1454.   BASE_EXT_DECL
  1455.   register BYTE  _res  __asm("d0");
  1456.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1457.   register struct IORequest *a1 __asm("a1") = ioRequest;
  1458.   __asm __volatile ("jsr a6@(-0x1da)"
  1459.   : "=r" (_res)
  1460.   : "r" (a6), "r" (a1)
  1461.   : "a0","a1","d0","d1", "memory");
  1462.   return _res;
  1463. }
  1464. extern __inline struct Message *
  1465. WaitPort (BASE_PAR_DECL struct MsgPort *port)
  1466. {
  1467.   BASE_EXT_DECL
  1468.   register struct Message * _res  __asm("d0");
  1469.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1470.   register struct MsgPort *a0 __asm("a0") = port;
  1471.   __asm __volatile ("jsr a6@(-0x180)"
  1472.   : "=r" (_res)
  1473.   : "r" (a6), "r" (a0)
  1474.   : "a0","a1","d0","d1", "memory");
  1475.   return _res;
  1476. }
  1477.  
  1478. #undef BASE_EXT_DECL
  1479. #undef BASE_EXT_DECL0
  1480. #undef BASE_PAR_DECL
  1481. #undef BASE_PAR_DECL0
  1482. #undef BASE_NAME
  1483.  
  1484. __END_DECLS
  1485.  
  1486. #endif /* _INLINE_EXEC_H */
  1487.