home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / compiler / include / defines / exec.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-07  |  20.9 KB  |  683 lines

  1. #ifndef DEFINES_EXEC_H
  2. #define DEFINES_EXEC_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #   include <exec/types.h>
  6. #endif
  7. #ifndef AROS_LIBCALL_H
  8. #   include <aros/libcall.h>
  9. #endif
  10. #ifndef DOS_DOS_H
  11. #   include <dos/dos.h>
  12. #endif
  13.  
  14. /*
  15.     Defines
  16. */
  17. #define CacheClearE(address, length, caches) \
  18.     AROS_LC3(void, CacheClearE, \
  19.     AROS_LCA(APTR,  address, A0), \
  20.     AROS_LCA(ULONG, length,  D0), \
  21.     AROS_LCA(ULONG, caches,  D1), \
  22.     struct ExecBase *, SysBase, 107, Exec)
  23.  
  24. #define CacheClearU() \
  25.     AROS_LC0(void, CacheClearU, \
  26.     struct ExecBase *, SysBase, 106, Exec)
  27.  
  28. #define CacheControl() \
  29.     AROS_LC0(void, CacheControl, \
  30.     struct ExecBase *, SysBase, 108, Exec)
  31.  
  32. #define CachePostDMA() \
  33.     AROS_LC0(void, CachePostDMA, \
  34.     struct ExecBase *, SysBase, 128, Exec)
  35.  
  36. #define CachePreDMA() \
  37.     AROS_LC0(void, CachePreDMA, \
  38.     struct ExecBase *, SysBase, 127, Exec)
  39.  
  40. #define Disable() \
  41.     AROS_LC0(void, Disable, \
  42.     struct ExecBase *, SysBase, 20, Exec)
  43.  
  44. #define Dispatch() \
  45.     AROS_LC0(void, Dispatch, \
  46.     struct ExecBase *, SysBase, 10, Exec)
  47.  
  48. #define Enable() \
  49.     AROS_LC0(void, Enable, \
  50.     struct ExecBase *, SysBase, 21, Exec)
  51.  
  52. #define Exception() \
  53.     AROS_LC0(void, Exception, \
  54.     struct ExecBase *, SysBase, 11, Exec)
  55.  
  56. #define Forbid() \
  57.     AROS_LC0(void, Forbid, \
  58.     struct ExecBase *, SysBase, 22, Exec)
  59.  
  60. #define GetCC() \
  61.     AROS_LC0(void, GetCC, \
  62.     struct ExecBase *, SysBase, 88, Exec)
  63.  
  64. #define Permit() \
  65.     AROS_LC0(void, Permit, \
  66.     struct ExecBase *, SysBase, 23, Exec)
  67.  
  68. #define SetSR() \
  69.     AROS_LC0(void, SetSR, \
  70.     struct ExecBase *, SysBase, 24, Exec)
  71.  
  72. #define StackSwap(sss) \
  73.     AROS_LC1(void, StackSwap, \
  74.     AROS_LCA(struct StackSwapStruct *, sss, A0), \
  75.     struct ExecBase *, SysBase, 122, Exec)
  76.  
  77. #define SuperState() \
  78.     AROS_LC0(void, SuperState, \
  79.     struct ExecBase *, SysBase, 25, Exec)
  80.  
  81. #define Supervisor(userFunction) \
  82.     AROS_LC1(void, Supervisor, \
  83.     AROS_LCA(ULONG_FUNC, userFunction, A5), \
  84.     struct ExecBase *, SysBase, 5, Exec)
  85.  
  86. #define Switch() \
  87.     AROS_LC0(void, Switch, \
  88.     struct ExecBase *, SysBase, 9, Exec)
  89.  
  90. #define UserState() \
  91.     AROS_LC0(void, UserState, \
  92.     struct ExecBase *, SysBase, 26, Exec)
  93.  
  94. #define PrepareContext(stackPointer, entryPoint, fallBack) \
  95.     AROS_LC3I(APTR, PrepareContext, \
  96.     AROS_LCA(APTR, stackPointer, A0), \
  97.     AROS_LCA(APTR, entryPoint,   A1), \
  98.     AROS_LCA(APTR, fallBack,     A2), \
  99.     struct ExecBase *, SysBase, 6, Exec)
  100.  
  101. #define AbortIO(iORequest) \
  102.     AROS_LC1I(LONG, AbortIO, \
  103.     AROS_LCA(struct IORequest *, iORequest, A1), \
  104.     struct ExecBase *, SysBase, 80, Exec)
  105.  
  106. #define AddDevice(device) \
  107.     AROS_LC1(void, AddDevice, \
  108.     AROS_LCA(struct Device *, device,A1), \
  109.     struct ExecBase *, SysBase, 72, Exec)
  110.  
  111. #define AddHead(list, node) \
  112.     AROS_LC2I(void, AddHead, \
  113.     AROS_LCA(struct List *, list, A0), \
  114.     AROS_LCA(struct Node *, node, A1), \
  115.     struct ExecBase *, SysBase, 40, Exec)
  116.  
  117. #define AddIntServer(intNumber, interrupt) \
  118.     AROS_LC2(void, AddIntServer, \
  119.     AROS_LCA(ULONG,              intNumber, D0), \
  120.     AROS_LCA(struct Interrupt *, interrupt, A1), \
  121.     struct ExecBase *, SysBase, 28, Exec)
  122.  
  123. #define AddLibrary(library) \
  124.     AROS_LC1(void, AddLibrary, \
  125.     AROS_LCA(struct Library *, library,A1), \
  126.     struct ExecBase *, SysBase, 66, Exec)
  127.  
  128. #define AddMemHandler(memHandler) \
  129.     AROS_LC1(void, AddMemHandler, \
  130.     AROS_LCA(struct Interrupt *, memHandler, A1), \
  131.     struct ExecBase *, SysBase, 129, Exec)
  132.  
  133. #define AddMemList(size, attributes, pri, base, name) \
  134.     AROS_LC5(void, AddMemList, \
  135.     AROS_LCA(ULONG,  size,       D0), \
  136.     AROS_LCA(ULONG,  attributes, D1), \
  137.     AROS_LCA(LONG,   pri,        D2), \
  138.     AROS_LCA(APTR,   base,       A0), \
  139.     AROS_LCA(STRPTR, name,       A1), \
  140.     struct ExecBase *, SysBase, 103, Exec)
  141.  
  142. #define AddPort(port) \
  143.     AROS_LC1(void, AddPort, \
  144.     AROS_LCA(struct MsgPort *, port, A1), \
  145.     struct ExecBase *, SysBase, 59, Exec)
  146.  
  147. #define AddResource(resource) \
  148.     AROS_LC1(void, AddResource, \
  149.     AROS_LCA(APTR, resource, A1), \
  150.     struct ExecBase *, SysBase, 81, Exec)
  151.  
  152. #define AddSemaphore(sigSem) \
  153.     AROS_LC1(void, AddSemaphore, \
  154.     AROS_LCA(struct SignalSemaphore *, sigSem, A1), \
  155.     struct ExecBase *, SysBase, 100, Exec)
  156.  
  157. #define AddTail(list, node) \
  158.     AROS_LC2I(void, AddTail, \
  159.     AROS_LCA(struct List *, list, A0), \
  160.     AROS_LCA(struct Node *, node, A1), \
  161.     struct ExecBase *, SysBase, 41, Exec)
  162.  
  163. #define AddTask(task, initialPC, finalPC) \
  164.     AROS_LC3(APTR, AddTask, \
  165.     AROS_LCA(struct Task *,     task,      A1), \
  166.     AROS_LCA(APTR,              initialPC, A2), \
  167.     AROS_LCA(APTR,              finalPC,   A3), \
  168.     struct ExecBase *, SysBase, 47, Exec)
  169.  
  170. #define Alert(alertNum) \
  171.     AROS_LC1(void, Alert, \
  172.     AROS_LCA(ULONG, alertNum, D7), \
  173.     struct ExecBase *, SysBase, 18, Exec)
  174.  
  175. #define AllocAbs(byteSize, location) \
  176.     AROS_LC2(APTR, AllocAbs, \
  177.     AROS_LCA(ULONG, byteSize, D0), \
  178.     AROS_LCA(APTR,  location, D1), \
  179.     struct ExecBase *, SysBase, 34, Exec)
  180.  
  181. #define Allocate(freeList, byteSize) \
  182.     AROS_LC2(APTR, Allocate, \
  183.     AROS_LCA(struct MemHeader *, freeList, A0), \
  184.     AROS_LCA(ULONG,              byteSize, D0), \
  185.     struct ExecBase *, SysBase, 31, Exec)
  186.  
  187. #define AllocEntry(entry) \
  188.     AROS_LC1(struct MemList *, AllocEntry, \
  189.     AROS_LCA(struct MemList *, entry, A0), \
  190.     struct ExecBase *, SysBase, 37, Exec)
  191.  
  192. #define AllocMem(byteSize, requirements) \
  193.     AROS_LC2(APTR, AllocMem, \
  194.     AROS_LCA(ULONG, byteSize,     D0), \
  195.     AROS_LCA(ULONG, requirements, D1), \
  196.     struct ExecBase *, SysBase, 33, Exec)
  197.  
  198. #define AllocPooled(poolHeader, memSize) \
  199.     AROS_LC2(APTR, AllocPooled, \
  200.     AROS_LCA(APTR,  poolHeader, A0), \
  201.     AROS_LCA(ULONG, memSize,    D0), \
  202.     struct ExecBase *, SysBase, 118, Exec)
  203.  
  204. #define AllocSignal(signalNum) \
  205.     AROS_LC1(BYTE, AllocSignal, \
  206.     AROS_LCA(LONG, signalNum, D0), \
  207.     struct ExecBase *, SysBase, 55, Exec)
  208.  
  209. #define AllocTrap(trapNum) \
  210.     AROS_LC1(LONG, AllocTrap, \
  211.     AROS_LCA(long, trapNum, D0), \
  212.     struct ExecBase *, SysBase, 57, Exec)
  213.  
  214. #define AllocVec(byteSize, requirements) \
  215.     AROS_LC2(APTR, AllocVec, \
  216.     AROS_LCA(ULONG, byteSize,     D0), \
  217.     AROS_LCA(ULONG, requirements, D1), \
  218.     struct ExecBase *, SysBase, 114, Exec)
  219.  
  220. #define AttemptSemaphore(sigSem) \
  221.     AROS_LC1(ULONG, AttemptSemaphore, \
  222.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  223.     struct ExecBase *, SysBase, 96, Exec)
  224.  
  225. #define AttemptSemaphoreShared(sigSem) \
  226.     AROS_LC1(ULONG, AttemptSemaphoreShared, \
  227.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  228.     struct ExecBase *, SysBase, 120, Exec)
  229.  
  230. #define AvailMem(attributes) \
  231.     AROS_LC1(ULONG, AvailMem, \
  232.     AROS_LCA(ULONG, attributes, D1), \
  233.     struct ExecBase *, SysBase, 36, Exec)
  234.  
  235. #define Cause(interrupt) \
  236.     AROS_LC1(void, Cause, \
  237.     AROS_LCA(struct Interrupt *, interrupt, A1), \
  238.     struct ExecBase *, SysBase, 30, Exec)
  239.  
  240. #define CheckIO(iORequest) \
  241.     AROS_LC1I(struct IORequest *, CheckIO, \
  242.     AROS_LCA(struct IORequest *, iORequest, A1), \
  243.     struct ExecBase *, SysBase, 78, Exec)
  244.  
  245. #define ChildFree(tid) \
  246.     AROS_LC1(void, ChildFree, \
  247.     AROS_LCA(APTR, tid, D0), \
  248.     struct ExecBase *, SysBase, 123, Exec)
  249.  
  250. #define ChildOrphan(tid) \
  251.     AROS_LC1(void, ChildOrphan, \
  252.     AROS_LCA(APTR, tid, D0), \
  253.     struct ExecBase *, SysBase, 124, Exec)
  254.  
  255. #define ChildStatus(tid) \
  256.     AROS_LC1(void, ChildStatus, \
  257.     AROS_LCA(APTR, tid, D0), \
  258.     struct ExecBase *, SysBase, 125, Exec)
  259.  
  260. #define ChildWait(tid) \
  261.     AROS_LC1(void, ChildWait, \
  262.     AROS_LCA(APTR, tid, D0), \
  263.     struct ExecBase *, SysBase, 126, Exec)
  264.  
  265. #define CloseDevice(iORequest) \
  266.     AROS_LC1(void, CloseDevice, \
  267.     AROS_LCA(struct IORequest *, iORequest, A1), \
  268.     struct ExecBase *, SysBase, 75, Exec)
  269.  
  270. #define CloseLibrary(library) \
  271.     AROS_LC1(void, CloseLibrary, \
  272.     AROS_LCA(struct Library *, library, A1), \
  273.     struct ExecBase *, SysBase, 69, Exec)
  274.  
  275. #define ColdReboot() \
  276.     AROS_LC0(void, ColdReboot, \
  277.     struct ExecBase *, SysBase, 121, Exec)
  278.  
  279. #define CopyMem(source, dest, size) \
  280.     AROS_LC3I(void, CopyMem, \
  281.     AROS_LCA(APTR,  source, A0), \
  282.     AROS_LCA(APTR,  dest,   A1), \
  283.     AROS_LCA(ULONG, size,   D0), \
  284.     struct ExecBase *, SysBase, 104, Exec)
  285.  
  286. #define CopyMemQuick(source, dest, size) \
  287.     AROS_LC3I(void, CopyMemQuick, \
  288.     AROS_LCA(APTR,  source, A0), \
  289.     AROS_LCA(APTR,  dest,   A1), \
  290.     AROS_LCA(ULONG, size,   D0), \
  291.     struct ExecBase *, SysBase, 105, Exec)
  292.  
  293. #define CreateIORequest(ioReplyPort, size) \
  294.     AROS_LC2(struct IORequest *, CreateIORequest, \
  295.     AROS_LCA(struct MsgPort *, ioReplyPort, A0), \
  296.     AROS_LCA(ULONG,            size,        D0), \
  297.     struct ExecBase *, SysBase, 109, Exec)
  298.  
  299. #define CreateMsgPort() \
  300.     AROS_LC0(struct MsgPort *, CreateMsgPort, \
  301.     struct ExecBase *, SysBase, 111, Exec)
  302.  
  303. #define CreatePool(requirements, puddleSize, threshSize) \
  304.     AROS_LC3(APTR, CreatePool, \
  305.     AROS_LCA(ULONG, requirements, D0), \
  306.     AROS_LCA(ULONG, puddleSize,   D1), \
  307.     AROS_LCA(ULONG, threshSize,   D2), \
  308.     struct ExecBase *, SysBase, 116, Exec)
  309.  
  310. #define Deallocate(freeList, memoryBlock, byteSize) \
  311.     AROS_LC3(void, Deallocate, \
  312.     AROS_LCA(struct MemHeader *, freeList,    A0), \
  313.     AROS_LCA(APTR,               memoryBlock, A1), \
  314.     AROS_LCA(ULONG,              byteSize,    D0), \
  315.     struct ExecBase *, SysBase, 32, Exec)
  316.  
  317. #define Debug(flags) \
  318.     AROS_LC1(void, Debug, \
  319.     AROS_LCA(unsigned long, flags, D0), \
  320.     struct ExecBase *, SysBase, 19, Exec)
  321.  
  322. #define DeleteIORequest(iorequest) \
  323.     AROS_LC1(void, DeleteIORequest, \
  324.     AROS_LCA(struct IORequest *, iorequest, A0), \
  325.     struct ExecBase *, SysBase, 110, Exec)
  326.  
  327. #define DeleteMsgPort(port) \
  328.     AROS_LC1(void, DeleteMsgPort, \
  329.     AROS_LCA(struct MsgPort *, port, A0), \
  330.     struct ExecBase *, SysBase, 112, Exec)
  331.  
  332. #define DeletePool(poolHeader) \
  333.     AROS_LC1(void, DeletePool, \
  334.     AROS_LCA(APTR, poolHeader, A0), \
  335.     struct ExecBase *, SysBase, 117, Exec)
  336.  
  337. #define DoIO(iORequest) \
  338.     AROS_LC1(BYTE, DoIO, \
  339.     AROS_LCA(struct IORequest *, iORequest, A1), \
  340.     struct ExecBase *, SysBase, 76, Exec)
  341.  
  342. #define Enqueue(list, node) \
  343.     AROS_LC2I(void, Enqueue, \
  344.     AROS_LCA(struct List *, list, A0), \
  345.     AROS_LCA(struct Node *, node, A1), \
  346.     struct ExecBase *, SysBase, 45, Exec)
  347.  
  348. #define FindName(list, name) \
  349.     AROS_LC2I(struct Node *, FindName, \
  350.     AROS_LCA(struct List *, list, A0), \
  351.     AROS_LCA(UBYTE       *, name, A1), \
  352.     struct ExecBase *, SysBase, 46, Exec)
  353.  
  354. #define FindPort(name) \
  355.     AROS_LC1(struct MsgPort *, FindPort, \
  356.     AROS_LCA(STRPTR, name, A1), \
  357.     struct ExecBase *, SysBase, 65, Exec)
  358.  
  359. #define FindResident(name) \
  360.     AROS_LC1(struct Resident *, FindResident, \
  361.     AROS_LCA(UBYTE *, name, A1), \
  362.     struct ExecBase *, SysBase, 16, Exec)
  363.  
  364. #define FindSemaphore(name) \
  365.     AROS_LC1(struct SignalSemaphore *, FindSemaphore, \
  366.     AROS_LCA(STRPTR, name, A1), \
  367.     struct ExecBase *, SysBase, 99, Exec)
  368.  
  369. #define FindTask(name) \
  370.     AROS_LC1(struct Task *, FindTask, \
  371.     AROS_LCA(STRPTR, name, A1), \
  372.     struct ExecBase *, SysBase, 49, Exec)
  373.  
  374. #define FreeEntry(entry) \
  375.     AROS_LC1(void, FreeEntry, \
  376.     AROS_LCA(struct MemList *, entry,A0), \
  377.     struct ExecBase *, SysBase, 38, Exec)
  378.  
  379. #define FreeMem(memoryBlock, byteSize) \
  380.     AROS_LC2(void, FreeMem, \
  381.     AROS_LCA(APTR,  memoryBlock, A1), \
  382.     AROS_LCA(ULONG, byteSize,    D0), \
  383.     struct ExecBase *, SysBase, 35, Exec)
  384.  
  385. #define FreePooled(poolHeader, memory, memSize) \
  386.     AROS_LC3(void,FreePooled, \
  387.     AROS_LCA(APTR, poolHeader,A0), \
  388.     AROS_LCA(APTR, memory,    A1), \
  389.     AROS_LCA(ULONG,memSize,   D0), \
  390.     struct ExecBase *, SysBase, 119, Exec)
  391.  
  392. #define FreeSignal(signalNum) \
  393.     AROS_LC1(void, FreeSignal, \
  394.     AROS_LCA(LONG, signalNum, D0), \
  395.     struct ExecBase *, SysBase, 56, Exec)
  396.  
  397. #define FreeTrap(trapNum) \
  398.     AROS_LC1(void, FreeTrap, \
  399.     AROS_LCA(long, trapNum, D0), \
  400.     struct ExecBase *, SysBase, 58, Exec)
  401.  
  402. #define FreeVec(memoryBlock) \
  403.     AROS_LC1(void, FreeVec, \
  404.     AROS_LCA(APTR, memoryBlock, A1), \
  405.     struct ExecBase *, SysBase, 115, Exec)
  406.  
  407. #define GetMsg(port) \
  408.     AROS_LC1(struct Message *, GetMsg, \
  409.     AROS_LCA(struct MsgPort *, port, A0), \
  410.     struct ExecBase *, SysBase, 62, Exec)
  411.  
  412. #define InitCode(startClass, version) \
  413.     AROS_LC2(void, InitCode, \
  414.     AROS_LCA(ULONG, startClass, D0), \
  415.     AROS_LCA(ULONG, version, D1), \
  416.     struct ExecBase *, SysBase, 12, Exec)
  417.  
  418. #define InitResident(resident, segList) \
  419.     AROS_LC2(APTR, InitResident, \
  420.     AROS_LCA(struct Resident *, resident, A1), \
  421.     AROS_LCA(BPTR,              segList,  D1), \
  422.     struct ExecBase *, SysBase, 17, Exec)
  423.  
  424. #define InitSemaphore(sigSem) \
  425.     AROS_LC1I(void, InitSemaphore, \
  426.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  427.     struct ExecBase *, SysBase, 93, Exec)
  428.  
  429. #define InitStruct(initTable, memory, size) \
  430.     AROS_LC3(void, InitStruct, \
  431.     AROS_LCA(APTR,  initTable, A1), \
  432.     AROS_LCA(APTR,  memory,    A2), \
  433.     AROS_LCA(ULONG, size,      D0), \
  434.     struct ExecBase *, SysBase, 13, Exec)
  435.  
  436. #define Insert(list, node, pred) \
  437.     AROS_LC3I(void, Insert, \
  438.     AROS_LCA(struct List *, list, A0), \
  439.     AROS_LCA(struct Node *, node, A1), \
  440.     AROS_LCA(struct Node *, pred, A2), \
  441.     struct ExecBase *, SysBase, 39, Exec)
  442.  
  443. #define MakeFunctions(target, functionArray, funcDispBase) \
  444.     AROS_LC3(ULONG, MakeFunctions, \
  445.     AROS_LCA(APTR, target,        A0), \
  446.     AROS_LCA(APTR, functionArray, A1), \
  447.     AROS_LCA(APTR, funcDispBase,  A2), \
  448.     struct ExecBase *, SysBase, 15, Exec)
  449.  
  450. #define MakeLibrary(funcInit, structInit, libInit, dataSize, segList) \
  451.     AROS_LC5(struct Library *, MakeLibrary, \
  452.     AROS_LCA(APTR,       funcInit,   A0), \
  453.     AROS_LCA(APTR,       structInit, A1), \
  454.     AROS_LCA(ULONG_FUNC, libInit,    A2), \
  455.     AROS_LCA(ULONG,      dataSize,   D0), \
  456.     AROS_LCA(BPTR,       segList,    D1), \
  457.     struct ExecBase *, SysBase, 14, Exec)
  458.  
  459. #define ObtainQuickVector(interruptCode) \
  460.     AROS_LC1(ULONG, ObtainQuickVector, \
  461.     AROS_LCA(APTR, interruptCode, A0), \
  462.     struct ExecBase *, SysBase, 131, Exec)
  463.  
  464. #define ObtainSemaphore(sigSem) \
  465.     AROS_LC1(void, ObtainSemaphore, \
  466.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  467.     struct ExecBase *, SysBase, 94, Exec)
  468.  
  469. #define ObtainSemaphoreList(sigSem) \
  470.     AROS_LC1(void, ObtainSemaphoreList, \
  471.     AROS_LCA(struct List *, sigSem, A0), \
  472.     struct ExecBase *, SysBase, 97, Exec)
  473.  
  474. #define ObtainSemaphoreShared(sigSem) \
  475.     AROS_LC1(void, ObtainSemaphoreShared, \
  476.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  477.     struct ExecBase *, SysBase, 113, Exec)
  478.  
  479. #define OldOpenLibrary(libName) \
  480.     AROS_LC1(struct Library *, OldOpenLibrary, \
  481.     AROS_LCA(UBYTE *, libName, A1), \
  482.     struct ExecBase *, SysBase, 68, Exec)
  483.  
  484. #define OpenDevice(devName, unitNumber, iORequest, flags) \
  485.     AROS_LC4(BYTE, OpenDevice, \
  486.     AROS_LCA(STRPTR,             devName,    A0), \
  487.     AROS_LCA(ULONG,              unitNumber, D0), \
  488.     AROS_LCA(struct IORequest *, iORequest,  A1), \
  489.     AROS_LCA(ULONG,              flags,      D1), \
  490.     struct ExecBase *, SysBase, 74, Exec)
  491.  
  492. #define OpenLibrary(libName, version) \
  493.     AROS_LC2(struct Library *, OpenLibrary, \
  494.     AROS_LCA(UBYTE *, libName, A1), \
  495.     AROS_LCA(ULONG,   version, D0), \
  496.     struct ExecBase *, SysBase, 92, Exec)
  497.  
  498. #define OpenResource(resName) \
  499.     AROS_LC1(APTR, OpenResource, \
  500.     AROS_LCA(STRPTR, resName, A1), \
  501.     struct ExecBase *, SysBase, 83, Exec)
  502.  
  503. #define Procure(sigSem, bidMsg) \
  504.     AROS_LC2(ULONG, Procure, \
  505.     AROS_LCA(struct SignalSemaphore  *, sigSem, A0), \
  506.     AROS_LCA(struct SemaphoreMessage *, bidMsg, A1), \
  507.     struct ExecBase *, SysBase, 90, Exec)
  508.  
  509. #define PutMsg(port, message) \
  510.     AROS_LC2(void, PutMsg, \
  511.     AROS_LCA(struct MsgPort *, port,    A0), \
  512.     AROS_LCA(struct Message *, message, A1), \
  513.     struct ExecBase *, SysBase, 61, Exec)
  514.  
  515. #define RawDoFmt(FormatString, DataStream, PutChProc, PutChData) \
  516.     AROS_LC4I(APTR,RawDoFmt, \
  517.     AROS_LCA(STRPTR,    FormatString, A0), \
  518.     AROS_LCA(APTR,      DataStream,   A1), \
  519.     AROS_LCA(VOID_FUNC, PutChProc,    A2), \
  520.     AROS_LCA(APTR,      PutChData,    A3), \
  521.     struct ExecBase *, SysBase, 87, Exec)
  522.  
  523. #define RawPutChar(character) \
  524.     AROS_LC1(ULONG, RawPutChar, \
  525.     AROS_LCA(ULONG, character, D0), \
  526.     struct ExecBase *, SysBase, 86, Exec)
  527.  
  528. #define ReleaseSemaphore(sigSem) \
  529.     AROS_LC1(void, ReleaseSemaphore, \
  530.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  531.     struct ExecBase *, SysBase, 95, Exec)
  532.  
  533. #define ReleaseSemaphoreList(sigSem) \
  534.     AROS_LC1(void, ReleaseSemaphoreList, \
  535.     AROS_LCA(struct List *, sigSem, A0), \
  536.     struct ExecBase *, SysBase, 98, Exec)
  537.  
  538. #define RemDevice(device) \
  539.     AROS_LC1(void, RemDevice, \
  540.     AROS_LCA(struct Device *, device,A1), \
  541.     struct ExecBase *, SysBase, 73, Exec)
  542.  
  543. #define RemHead(list) \
  544.     AROS_LC1I(struct Node *, RemHead, \
  545.     AROS_LCA(struct List *, list, A0), \
  546.     struct ExecBase *, SysBase, 43, Exec)
  547.  
  548. #define RemIntServer(intNumber, interrupt) \
  549.     AROS_LC2(void, RemIntServer, \
  550.     AROS_LCA(ULONG,              intNumber, D0), \
  551.     AROS_LCA(struct Interrupt *, interrupt, A1), \
  552.     struct ExecBase *, SysBase, 29, Exec)
  553.  
  554. #define RemLibrary(library) \
  555.     AROS_LC1(void, RemLibrary, \
  556.     AROS_LCA(struct Library *, library,A1), \
  557.     struct ExecBase *, SysBase, 67, Exec)
  558.  
  559. #define RemMemHandler(memHandler) \
  560.     AROS_LC1(void, RemMemHandler, \
  561.     AROS_LCA(struct Interrupt *, memHandler, A1), \
  562.     struct ExecBase *, SysBase, 130, Exec)
  563.  
  564. #define Remove(node) \
  565.     AROS_LC1I(void, Remove, \
  566.     AROS_LCA(struct Node *, node, A1), \
  567.     struct ExecBase *, SysBase, 42, Exec)
  568.  
  569. #define RemPort(port) \
  570.     AROS_LC1(void, RemPort, \
  571.     AROS_LCA(struct MsgPort *, port, A1), \
  572.     struct ExecBase *, SysBase, 60, Exec)
  573.  
  574. #define RemResource(resource) \
  575.     AROS_LC1(void, RemResource, \
  576.     AROS_LCA(APTR, resource,A1), \
  577.     struct ExecBase *, SysBase, 82, Exec)
  578.  
  579. #define RemSemaphore(sigSem) \
  580.     AROS_LC1(void, RemSemaphore, \
  581.     AROS_LCA(struct SignalSemaphore *, sigSem, A0), \
  582.     struct ExecBase *, SysBase, 101, Exec)
  583.  
  584. #define RemTail(list) \
  585.     AROS_LC1I(struct Node *, RemTail, \
  586.     AROS_LCA(struct List *, list, A0), \
  587.     struct ExecBase *, SysBase, 44, Exec)
  588.  
  589. #define RemTask(task) \
  590.     AROS_LC1(void, RemTask, \
  591.     AROS_LCA(struct Task *,     task, A1), \
  592.     struct ExecBase *, SysBase, 48, Exec)
  593.  
  594. #define ReplyMsg(message) \
  595.     AROS_LC1(void, ReplyMsg, \
  596.     AROS_LCA(struct Message *, message, A1), \
  597.     struct ExecBase *, SysBase, 63, Exec)
  598.  
  599. #define SendIO(iORequest) \
  600.     AROS_LC1(void, SendIO, \
  601.     AROS_LCA(struct IORequest *, iORequest, A1), \
  602.     struct ExecBase *, SysBase, 77, Exec)
  603.  
  604. #define SetExcept(newSignals, signalSet) \
  605.     AROS_LC2(ULONG, SetExcept, \
  606.     AROS_LCA(ULONG, newSignals, D0), \
  607.     AROS_LCA(ULONG, signalSet,  D1), \
  608.     struct ExecBase *, SysBase, 52, Exec)
  609.  
  610. #define SetFunction(library, funcOffset, newFunction) \
  611.     AROS_LC3(APTR, SetFunction, \
  612.     AROS_LCA(struct Library *, library,     A1), \
  613.     AROS_LCA(LONG,             funcOffset,  A0), \
  614.     AROS_LCA(APTR,             newFunction, D0), \
  615.     struct ExecBase *, SysBase, 70, Exec)
  616.  
  617. #define SetIntVector(intNumber, interrupt) \
  618.     AROS_LC2(struct Interrupt *, SetIntVector, \
  619.     AROS_LCA(ULONG,              intNumber, D0), \
  620.     AROS_LCA(struct Interrupt *, interrupt, A1), \
  621.     struct ExecBase *, SysBase, 27, Exec)
  622.  
  623. #define SetSignal(newSignals, signalSet) \
  624.     AROS_LC2(ULONG, SetSignal, \
  625.     AROS_LCA(ULONG, newSignals, D0), \
  626.     AROS_LCA(ULONG, signalSet,  D1), \
  627.     struct ExecBase *, SysBase, 51, Exec)
  628.  
  629. #define SetTaskPri(task, priority) \
  630.     AROS_LC2(BYTE, SetTaskPri, \
  631.     AROS_LCA(struct Task *, task,      A1), \
  632.     AROS_LCA(LONG,          priority,  D0), \
  633.     struct ExecBase *, SysBase, 50, Exec)
  634.  
  635. #define Signal(task, signalSet) \
  636.     AROS_LC2(void, Signal, \
  637.     AROS_LCA(struct Task *,     task,      A1), \
  638.     AROS_LCA(ULONG,             signalSet, D0), \
  639.     struct ExecBase *, SysBase, 54, Exec)
  640.  
  641. #define SumKickData() \
  642.     AROS_LC0(ULONG, SumKickData, \
  643.     struct ExecBase *, SysBase, 102, Exec)
  644.  
  645. #define SumLibrary(library) \
  646.     AROS_LC1(void, SumLibrary, \
  647.     AROS_LCA(struct Library *, library,A1), \
  648.     struct ExecBase *, SysBase, 71, Exec)
  649.  
  650. #define TaggedOpenLibrary(tag) \
  651.     AROS_LC1(APTR, TaggedOpenLibrary, \
  652.     AROS_LCA(LONG, tag, D0), \
  653.     struct ExecBase *, SysBase, 135, Exec)
  654.  
  655. #define TypeOfMem(address) \
  656.     AROS_LC1(ULONG, TypeOfMem, \
  657.     AROS_LCA(APTR, address, A1), \
  658.     struct ExecBase *, SysBase, 89, Exec)
  659.  
  660. #define Vacate(sigSem, bidMsg) \
  661.     AROS_LC2(void, Vacate, \
  662.     AROS_LCA(struct SignalSemaphore  *, sigSem, A0), \
  663.     AROS_LCA(struct SemaphoreMessage *, bidMsg, A1), \
  664.     struct ExecBase *, SysBase, 91, Exec)
  665.  
  666. #define Wait(signalSet) \
  667.     AROS_LC1(ULONG, Wait, \
  668.     AROS_LCA(ULONG, signalSet, D0), \
  669.     struct ExecBase *, SysBase, 53, Exec)
  670.  
  671. #define WaitIO(iORequest) \
  672.     AROS_LC1(BYTE, WaitIO, \
  673.     AROS_LCA(struct IORequest *, iORequest, A1), \
  674.     struct ExecBase *, SysBase, 79, Exec)
  675.  
  676. #define WaitPort(port) \
  677.     AROS_LC1(struct Message *, WaitPort, \
  678.     AROS_LCA(struct MsgPort *, port, A0), \
  679.     struct ExecBase *, SysBase, 64, Exec)
  680.  
  681.  
  682. #endif /* DEFINES_EXEC_H */
  683.