home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROS_m68k_bin.lha / AROS / include / defines / dos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-02-08  |  28.5 KB  |  933 lines

  1. #ifndef DEFINES_DOS_H
  2. #define DEFINES_DOS_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 AbortPkt(port, pkt) \
  18.     AROS_LC2(void, AbortPkt, \
  19.     AROS_LCA(struct MsgPort   *, port, D1), \
  20.     AROS_LCA(struct DosPacket *, pkt, D2), \
  21.     struct DosLibrary *, DOSBase, 44, Dos)
  22.  
  23. #define AddBuffers(devicename, numbuffers) \
  24.     AROS_LC2(BOOL, AddBuffers, \
  25.     AROS_LCA(STRPTR, devicename, D1), \
  26.     AROS_LCA(LONG,   numbuffers, D2), \
  27.     struct DosLibrary *, DOSBase, 122, Dos)
  28.  
  29. #define AddDosEntry(dlist) \
  30.     AROS_LC1(LONG, AddDosEntry, \
  31.     AROS_LCA(struct DosList *, dlist, D1), \
  32.     struct DosLibrary *, DOSBase, 113, Dos)
  33.  
  34. #define AddPart(dirname, filename, size) \
  35.     AROS_LC3(BOOL, AddPart, \
  36.     AROS_LCA(STRPTR, dirname, D1), \
  37.     AROS_LCA(STRPTR, filename, D2), \
  38.     AROS_LCA(ULONG , size, D3), \
  39.     struct DosLibrary *, DOSBase, 147, Dos)
  40.  
  41. #define AddSegment(name, seg, system) \
  42.     AROS_LC3(LONG, AddSegment, \
  43.     AROS_LCA(STRPTR, name, D1), \
  44.     AROS_LCA(BPTR  , seg, D2), \
  45.     AROS_LCA(LONG  , system, D3), \
  46.     struct DosLibrary *, DOSBase, 129, Dos)
  47.  
  48. #define AllocDosObject(type, tags) \
  49.     AROS_LC2(APTR, AllocDosObject, \
  50.     AROS_LCA(ULONG,            type, D1), \
  51.     AROS_LCA(struct TagItem *, tags, D2), \
  52.     struct DosLibrary *, DOSBase, 38, Dos)
  53.  
  54. #define AssignAdd(name, lock) \
  55.     AROS_LC2(BOOL, AssignAdd, \
  56.     AROS_LCA(STRPTR, name, D1), \
  57.     AROS_LCA(BPTR  , lock, D2), \
  58.     struct DosLibrary *, DOSBase, 105, Dos)
  59.  
  60. #define AssignLate(name, path) \
  61.     AROS_LC2(BOOL, AssignLate, \
  62.     AROS_LCA(STRPTR, name, D1), \
  63.     AROS_LCA(STRPTR, path, D2), \
  64.     struct DosLibrary *, DOSBase, 103, Dos)
  65.  
  66. #define AssignLock(name, lock) \
  67.     AROS_LC2(BOOL, AssignLock, \
  68.     AROS_LCA(STRPTR, name, D1), \
  69.     AROS_LCA(BPTR,   lock, D2), \
  70.     struct DosLibrary *, DOSBase, 102, Dos)
  71.  
  72. #define AssignPath(name, path) \
  73.     AROS_LC2(BOOL, AssignPath, \
  74.     AROS_LCA(STRPTR, name, D1), \
  75.     AROS_LCA(STRPTR, path, D2), \
  76.     struct DosLibrary *, DOSBase, 104, Dos)
  77.  
  78. #define AttemptLockDosList(flags) \
  79.     AROS_LC1(struct DosList *, AttemptLockDosList, \
  80.     AROS_LCA(ULONG, flags, D1), \
  81.     struct DosLibrary *, DOSBase, 111, Dos)
  82.  
  83. #define ChangeMode(type, object, newmode) \
  84.     AROS_LC3(BOOL, ChangeMode, \
  85.     AROS_LCA(ULONG, type,    D1), \
  86.     AROS_LCA(BPTR,  object,  D2), \
  87.     AROS_LCA(ULONG, newmode, D3), \
  88.     struct DosLibrary *, DOSBase, 75, Dos)
  89.  
  90. #define CheckSignal(mask) \
  91.     AROS_LC1(LONG, CheckSignal, \
  92.     AROS_LCA(LONG, mask, D1), \
  93.     struct DosLibrary *, DOSBase, 132, Dos)
  94.  
  95. #define Cli() \
  96.     AROS_LC0(struct CommandLineInterface *, Cli, \
  97.     struct DosLibrary *, DOSBase, 82, Dos)
  98.  
  99. #define CliInitNewcli(dp) \
  100.     AROS_LC1(IPTR, CliInitNewcli, \
  101.     AROS_LCA(struct DosPacket *, dp, A0), \
  102.     struct DosLibrary *, DOSBase, 155, Dos)
  103.  
  104. #define CliInitRun(dp) \
  105.     AROS_LC1(IPTR, CliInitRun, \
  106.     AROS_LCA(struct DosPacket *, dp, A0), \
  107.     struct DosLibrary *, DOSBase, 156, Dos)
  108.  
  109. #define Close(file) \
  110.     AROS_LC1(BOOL, Close, \
  111.     AROS_LCA(BPTR, file, D1), \
  112.     struct DosLibrary *, DOSBase, 6, Dos)
  113.  
  114. #define UnLock(lock) \
  115.     AROS_LC1(BOOL, UnLock, \
  116.     AROS_LCA(BPTR, lock, D1), \
  117.     struct DosLibrary *, DOSBase, 15, Dos)
  118.  
  119. #define CompareDates(date1, date2) \
  120.     AROS_LC2(LONG, CompareDates, \
  121.     AROS_LCA(struct DateStamp *, date1, D1), \
  122.     AROS_LCA(struct DateStamp *, date2, D2), \
  123.     struct DosLibrary *, DOSBase, 123, Dos)
  124.  
  125. #define CreateDir(name) \
  126.     AROS_LC1(BPTR, CreateDir, \
  127.     AROS_LCA(STRPTR, name, D1), \
  128.     struct DosLibrary *, DOSBase, 20, Dos)
  129.  
  130. #define CreateNewProc(tags) \
  131.     AROS_LC1(struct Process *, CreateNewProc, \
  132.     AROS_LCA(struct TagItem *, tags, D1), \
  133.     struct DosLibrary *, DOSBase, 83, Dos)
  134.  
  135. #define CreateProc(name, pri, segList, stackSize) \
  136.     AROS_LC4(struct MsgPort *, CreateProc, \
  137.     AROS_LCA(STRPTR, name, D1), \
  138.     AROS_LCA(LONG  , pri, D2), \
  139.     AROS_LCA(BPTR  , segList, D3), \
  140.     AROS_LCA(LONG  , stackSize, D4), \
  141.     struct DosLibrary *, DOSBase, 23, Dos)
  142.  
  143. #define CurrentDir(lock) \
  144.     AROS_LC1(BPTR, CurrentDir, \
  145.     AROS_LCA(BPTR, lock, D1), \
  146.     struct DosLibrary *, DOSBase, 21, Dos)
  147.  
  148. #define DateStamp(date) \
  149.     AROS_LC1(struct DateStamp *, DateStamp, \
  150.     AROS_LCA(struct DateStamp *, date, D1), \
  151.     struct DosLibrary *, DOSBase, 32, Dos)
  152.  
  153. #define DateToStr(datetime) \
  154.     AROS_LC1(BOOL, DateToStr, \
  155.     AROS_LCA(struct DateTime *, datetime, D1), \
  156.     struct DosLibrary *, DOSBase, 124, Dos)
  157.  
  158. #define Delay(timeout) \
  159.     AROS_LC1(void, Delay, \
  160.     AROS_LCA(ULONG, timeout, D1), \
  161.     struct DosLibrary *, DOSBase, 33, Dos)
  162.  
  163. #define DeleteFile(name) \
  164.     AROS_LC1(BOOL, DeleteFile, \
  165.     AROS_LCA(STRPTR, name, D1), \
  166.     struct DosLibrary *, DOSBase, 12, Dos)
  167.  
  168. #define DeleteVar(name, flags) \
  169.     AROS_LC2(LONG, DeleteVar, \
  170.     AROS_LCA(STRPTR, name, D1), \
  171.     AROS_LCA(ULONG , flags, D2), \
  172.     struct DosLibrary *, DOSBase, 152, Dos)
  173.  
  174. #define DeviceProc(name) \
  175.     AROS_LC1(struct MsgPort *, DeviceProc, \
  176.     AROS_LCA(STRPTR, name, D1), \
  177.     struct DosLibrary *, DOSBase, 29, Dos)
  178.  
  179. #define DoPkt(port, action, arg1, arg2, arg3, arg4, arg5) \
  180.     AROS_LC7(LONG, DoPkt, \
  181.     AROS_LCA(struct MsgPort *, port, D1), \
  182.     AROS_LCA(LONG            , action, D2), \
  183.     AROS_LCA(LONG            , arg1, D3), \
  184.     AROS_LCA(LONG            , arg2, D4), \
  185.     AROS_LCA(LONG            , arg3, D5), \
  186.     AROS_LCA(LONG            , arg4, D6), \
  187.     AROS_LCA(LONG            , arg5, D7), \
  188.     struct DosLibrary *, DOSBase, 40, Dos)
  189.  
  190. #define DupLock(lock) \
  191.     AROS_LC1(BPTR, DupLock, \
  192.     AROS_LCA(BPTR, lock, D1), \
  193.     struct DosLibrary *, DOSBase, 16, Dos)
  194.  
  195. #define DupLockFromFH(fh) \
  196.     AROS_LC1(BPTR, DupLockFromFH, \
  197.     AROS_LCA(BPTR, fh, D1), \
  198.     struct DosLibrary *, DOSBase, 62, Dos)
  199.  
  200. #define EndNotify(notify) \
  201.     AROS_LC1(void, EndNotify, \
  202.     AROS_LCA(struct NotifyRequest *, notify, D1), \
  203.     struct DosLibrary *, DOSBase, 149, Dos)
  204.  
  205. #define ErrorReport(code, type, arg1, device) \
  206.     AROS_LC4(LONG, ErrorReport, \
  207.     AROS_LCA(LONG            , code, D1), \
  208.     AROS_LCA(LONG            , type, D2), \
  209.     AROS_LCA(ULONG           , arg1, D3), \
  210.     AROS_LCA(struct MsgPort *, device, D4), \
  211.     struct DosLibrary *, DOSBase, 80, Dos)
  212.  
  213. #define ExAll(lock, buffer, size, data, control) \
  214.     AROS_LC5(BOOL, ExAll, \
  215.     AROS_LCA(BPTR,                  lock,    D1), \
  216.     AROS_LCA(struct ExAllData *,    buffer,  D2), \
  217.     AROS_LCA(LONG,                  size,    D3), \
  218.     AROS_LCA(LONG,                  data,    D4), \
  219.     AROS_LCA(struct ExAllControl *, control, D5), \
  220.     struct DosLibrary *, DOSBase, 72, Dos)
  221.  
  222. #define ExAllEnd(lock, buffer, size, data, control) \
  223.     AROS_LC5(void, ExAllEnd, \
  224.     AROS_LCA(BPTR,                  lock,    D1), \
  225.     AROS_LCA(struct ExAllData *,    buffer,  D2), \
  226.     AROS_LCA(LONG,                  size,    D3), \
  227.     AROS_LCA(LONG,                  data,    D4), \
  228.     AROS_LCA(struct ExAllControl *, control, D5), \
  229.     struct DosLibrary *, DOSBase, 165, Dos)
  230.  
  231. #define Examine(lock, fib) \
  232.     AROS_LC2(BOOL, Examine, \
  233.     AROS_LCA(BPTR,                   lock, D1), \
  234.     AROS_LCA(struct FileInfoBlock *, fib,  D2), \
  235.     struct DosLibrary *, DOSBase, 17, Dos)
  236.  
  237. #define ExamineFH(fh, fib) \
  238.     AROS_LC2(BOOL, ExamineFH, \
  239.     AROS_LCA(BPTR                  , fh, D1), \
  240.     AROS_LCA(struct FileInfoBlock *, fib, D2), \
  241.     struct DosLibrary *, DOSBase, 65, Dos)
  242.  
  243. #define Execute(string, file, file2) \
  244.     AROS_LC3(LONG, Execute, \
  245.     AROS_LCA(STRPTR, string, D1), \
  246.     AROS_LCA(BPTR  , file, D2), \
  247.     AROS_LCA(BPTR  , file2, D3), \
  248.     struct DosLibrary *, DOSBase, 37, Dos)
  249.  
  250. #define Exit(returnCode) \
  251.     AROS_LC1(void, Exit, \
  252.     AROS_LCA(LONG, returnCode, D1), \
  253.     struct DosLibrary *, DOSBase, 24, Dos)
  254.  
  255. #define ExNext(lock, fileInfoBlock) \
  256.     AROS_LC2(LONG, ExNext, \
  257.     AROS_LCA(BPTR                  , lock, D1), \
  258.     AROS_LCA(struct FileInfoBlock *, fileInfoBlock, D2), \
  259.     struct DosLibrary *, DOSBase, 18, Dos)
  260.  
  261. #define Fault(code, header, buffer, len) \
  262.     AROS_LC4(BOOL, Fault, \
  263.     AROS_LCA(LONG  , code, D1), \
  264.     AROS_LCA(STRPTR, header, D2), \
  265.     AROS_LCA(STRPTR, buffer, D3), \
  266.     AROS_LCA(LONG  , len, D4), \
  267.     struct DosLibrary *, DOSBase, 78, Dos)
  268.  
  269. #define FGetC(file) \
  270.     AROS_LC1(LONG, FGetC, \
  271.     AROS_LCA(BPTR, file, D1), \
  272.     struct DosLibrary *, DOSBase, 51, Dos)
  273.  
  274. #define FGets(fh, buf, buflen) \
  275.     AROS_LC3(STRPTR, FGets, \
  276.     AROS_LCA(BPTR  , fh, D1), \
  277.     AROS_LCA(STRPTR, buf, D2), \
  278.     AROS_LCA(ULONG , buflen, D3), \
  279.     struct DosLibrary *, DOSBase, 56, Dos)
  280.  
  281. #define FilePart(path) \
  282.     AROS_LC1(STRPTR, FilePart, \
  283.     AROS_LCA(STRPTR, path, D1), \
  284.     struct DosLibrary *, DOSBase, 145, Dos)
  285.  
  286. #define FindArg(template, keyword) \
  287.     AROS_LC2(LONG, FindArg, \
  288.     AROS_LCA(STRPTR, template, D1), \
  289.     AROS_LCA(STRPTR, keyword,  D2), \
  290.     struct DosLibrary *, DOSBase, 134, Dos)
  291.  
  292. #define FindCliProc(num) \
  293.     AROS_LC1(struct Process *, FindCliProc, \
  294.     AROS_LCA(ULONG, num, D1), \
  295.     struct DosLibrary *, DOSBase, 91, Dos)
  296.  
  297. #define FindDosEntry(dlist, name, flags) \
  298.     AROS_LC3(struct DosList *, FindDosEntry, \
  299.     AROS_LCA(struct DosList *, dlist, D1), \
  300.     AROS_LCA(STRPTR,           name,  D2), \
  301.     AROS_LCA(ULONG,            flags, D3), \
  302.     struct DosLibrary *, DOSBase, 114, Dos)
  303.  
  304. #define FindSegment(name, seg, system) \
  305.     AROS_LC3(struct Segment *, FindSegment, \
  306.     AROS_LCA(STRPTR          , name, D1), \
  307.     AROS_LCA(struct Segment *, seg, D2), \
  308.     AROS_LCA(LONG            , system, D3), \
  309.     struct DosLibrary *, DOSBase, 130, Dos)
  310.  
  311. #define FindVar(name, type) \
  312.     AROS_LC2(struct LocalVar *, FindVar, \
  313.     AROS_LCA(STRPTR, name, D1), \
  314.     AROS_LCA(ULONG , type, D2), \
  315.     struct DosLibrary *, DOSBase, 153, Dos)
  316.  
  317. #define Flush(file) \
  318.     AROS_LC1(LONG, Flush, \
  319.     AROS_LCA(BPTR, file, D1), \
  320.     struct DosLibrary *, DOSBase, 60, Dos)
  321.  
  322. #define Format(devicename, volumename, dostype) \
  323.     AROS_LC3(BOOL, Format, \
  324.     AROS_LCA(STRPTR, devicename, D1), \
  325.     AROS_LCA(STRPTR, volumename, D2), \
  326.     AROS_LCA(ULONG,  dostype,    D3), \
  327.     struct DosLibrary *, DOSBase, 119, Dos)
  328.  
  329. #define FPutC(file, character) \
  330.     AROS_LC2(LONG, FPutC, \
  331.     AROS_LCA(BPTR, file,      D1), \
  332.     AROS_LCA(LONG, character, D2), \
  333.     struct DosLibrary *, DOSBase, 52, Dos)
  334.  
  335. #define FPuts(file, string) \
  336.     AROS_LC2(LONG, FPuts, \
  337.     AROS_LCA(BPTR,   file,   D1), \
  338.     AROS_LCA(STRPTR, string, D2), \
  339.     struct DosLibrary *, DOSBase, 57, Dos)
  340.  
  341. #define FRead(fh, block, blocklen, number) \
  342.     AROS_LC4(LONG, FRead, \
  343.     AROS_LCA(BPTR , fh, D1), \
  344.     AROS_LCA(APTR , block, D2), \
  345.     AROS_LCA(ULONG, blocklen, D3), \
  346.     AROS_LCA(ULONG, number, D4), \
  347.     struct DosLibrary *, DOSBase, 54, Dos)
  348.  
  349. #define FreeArgs(args) \
  350.     AROS_LC1(void, FreeArgs, \
  351.     AROS_LCA(struct RDArgs *, args, D1), \
  352.     struct DosLibrary *, DOSBase, 143, Dos)
  353.  
  354. #define FreeDeviceProc(dp) \
  355.     AROS_LC1(void, FreeDeviceProc, \
  356.     AROS_LCA(struct DevProc *, dp, D1), \
  357.     struct DosLibrary *, DOSBase, 108, Dos)
  358.  
  359. #define FreeDosEntry(dlist) \
  360.     AROS_LC1(void, FreeDosEntry, \
  361.     AROS_LCA(struct DosList *, dlist, D1), \
  362.     struct DosLibrary *, DOSBase, 117, Dos)
  363.  
  364. #define FreeDosObject(type, ptr) \
  365.     AROS_LC2(void, FreeDosObject, \
  366.     AROS_LCA(ULONG, type, D1), \
  367.     AROS_LCA(APTR,  ptr,  D2), \
  368.     struct DosLibrary *, DOSBase, 39, Dos)
  369.  
  370. #define FWrite(fh, block, blocklen, number) \
  371.     AROS_LC4(LONG, FWrite, \
  372.     AROS_LCA(BPTR , fh, D1), \
  373.     AROS_LCA(APTR , block, D2), \
  374.     AROS_LCA(ULONG, blocklen, D3), \
  375.     AROS_LCA(ULONG, number, D4), \
  376.     struct DosLibrary *, DOSBase, 55, Dos)
  377.  
  378. #define GetArgStr() \
  379.     AROS_LC0(STRPTR, GetArgStr, \
  380.     struct DosLibrary *, DOSBase, 89, Dos)
  381.  
  382. #define GetConsoleTask() \
  383.     AROS_LC0(struct MsgPort *, GetConsoleTask, \
  384.     struct DosLibrary *, DOSBase, 85, Dos)
  385.  
  386. #define GetCurrentDirName(buf, len) \
  387.     AROS_LC2(BOOL, GetCurrentDirName, \
  388.     AROS_LCA(STRPTR, buf, D1), \
  389.     AROS_LCA(LONG  , len, D2), \
  390.     struct DosLibrary *, DOSBase, 94, Dos)
  391.  
  392. #define GetDeviceProc(name, dp) \
  393.     AROS_LC2(struct DevProc *, GetDeviceProc, \
  394.     AROS_LCA(STRPTR          , name, D1), \
  395.     AROS_LCA(struct DevProc *, dp, D2), \
  396.     struct DosLibrary *, DOSBase, 107, Dos)
  397.  
  398. #define GetFileSysTask() \
  399.     AROS_LC0(struct MsgPort *, GetFileSysTask, \
  400.     struct DosLibrary *, DOSBase, 87, Dos)
  401.  
  402. #define GetProgramDir() \
  403.     AROS_LC0(BPTR, GetProgramDir, \
  404.     struct DosLibrary *, DOSBase, 100, Dos)
  405.  
  406. #define GetProgramName(buf, len) \
  407.     AROS_LC2(BOOL, GetProgramName, \
  408.     AROS_LCA(STRPTR, buf, D1), \
  409.     AROS_LCA(LONG  , len, D2), \
  410.     struct DosLibrary *, DOSBase, 96, Dos)
  411.  
  412. #define GetPrompt(buf, len) \
  413.     AROS_LC2(BOOL, GetPrompt, \
  414.     AROS_LCA(STRPTR, buf, D1), \
  415.     AROS_LCA(LONG  , len, D2), \
  416.     struct DosLibrary *, DOSBase, 98, Dos)
  417.  
  418. #define GetVar(name, buffer, size, flags) \
  419.     AROS_LC4(LONG, GetVar, \
  420.     AROS_LCA(STRPTR, name, D1), \
  421.     AROS_LCA(STRPTR, buffer, D2), \
  422.     AROS_LCA(LONG  , size, D3), \
  423.     AROS_LCA(LONG  , flags, D4), \
  424.     struct DosLibrary *, DOSBase, 151, Dos)
  425.  
  426. #define Info(lock, parameterBlock) \
  427.     AROS_LC2(LONG, Info, \
  428.     AROS_LCA(BPTR             , lock, D1), \
  429.     AROS_LCA(struct InfoData *, parameterBlock, D2), \
  430.     struct DosLibrary *, DOSBase, 19, Dos)
  431.  
  432. #define Inhibit(name, onoff) \
  433.     AROS_LC2(LONG, Inhibit, \
  434.     AROS_LCA(STRPTR, name, D1), \
  435.     AROS_LCA(LONG  , onoff, D2), \
  436.     struct DosLibrary *, DOSBase, 121, Dos)
  437.  
  438. #define Input() \
  439.     AROS_LC0(BPTR, Input, \
  440.     struct DosLibrary *, DOSBase, 9, Dos)
  441.  
  442. #define InternalLoadSeg(fh, table, funcarray, stack) \
  443.     AROS_LC4(BPTR, InternalLoadSeg, \
  444.     AROS_LCA(BPTR  , fh, D0), \
  445.     AROS_LCA(BPTR  , table, A0), \
  446.     AROS_LCA(LONG *, funcarray, A1), \
  447.     AROS_LCA(LONG *, stack, A2), \
  448.     struct DosLibrary *, DOSBase, 126, Dos)
  449.  
  450. #define InternalUnLoadSeg(seglist, freefunc) \
  451.     AROS_LC2(BOOL, InternalUnLoadSeg, \
  452.     AROS_LCA(BPTR     , seglist, D1), \
  453.     AROS_LCA(VOID_FUNC, freefunc, A1), \
  454.     struct DosLibrary *, DOSBase, 127, Dos)
  455.  
  456. #define IoErr() \
  457.     AROS_LC0(LONG, IoErr, \
  458.     struct DosLibrary *, DOSBase, 22, Dos)
  459.  
  460. #define IsFileSystem(devicename) \
  461.     AROS_LC1(BOOL, IsFileSystem, \
  462.     AROS_LCA(STRPTR, devicename, D1), \
  463.     struct DosLibrary *, DOSBase, 118, Dos)
  464.  
  465. #define IsInteractive(file) \
  466.     AROS_LC1(BOOL, IsInteractive, \
  467.     AROS_LCA(BPTR, file, D1), \
  468.     struct DosLibrary *, DOSBase, 36, Dos)
  469.  
  470. #define LoadSeg(name) \
  471.     AROS_LC1(BPTR, LoadSeg, \
  472.     AROS_LCA(STRPTR, name, D1), \
  473.     struct DosLibrary *, DOSBase, 25, Dos)
  474.  
  475. #define Lock(name, accessMode) \
  476.     AROS_LC2(BPTR, Lock, \
  477.     AROS_LCA(STRPTR, name,       D1), \
  478.     AROS_LCA(LONG,   accessMode, D2), \
  479.     struct DosLibrary *, DOSBase, 14, Dos)
  480.  
  481. #define LockDosList(flags) \
  482.     AROS_LC1(struct DosList *, LockDosList, \
  483.     AROS_LCA(ULONG, flags, D1), \
  484.     struct DosLibrary *, DOSBase, 109, Dos)
  485.  
  486. #define LockRecord(fh, offset, length, mode, timeout) \
  487.     AROS_LC5(BOOL, LockRecord, \
  488.     AROS_LCA(BPTR , fh, D1), \
  489.     AROS_LCA(ULONG, offset, D2), \
  490.     AROS_LCA(ULONG, length, D3), \
  491.     AROS_LCA(ULONG, mode, D4), \
  492.     AROS_LCA(ULONG, timeout, D5), \
  493.     struct DosLibrary *, DOSBase, 45, Dos)
  494.  
  495. #define LockRecords(recArray, timeout) \
  496.     AROS_LC2(BOOL, LockRecords, \
  497.     AROS_LCA(struct RecordLock *, recArray, D1), \
  498.     AROS_LCA(ULONG              , timeout, D2), \
  499.     struct DosLibrary *, DOSBase, 46, Dos)
  500.  
  501. #define MakeDosEntry(name, type) \
  502.     AROS_LC2(struct DosList *, MakeDosEntry, \
  503.     AROS_LCA(STRPTR, name, D1), \
  504.     AROS_LCA(LONG,   type, D2), \
  505.     struct DosLibrary *, DOSBase, 116, Dos)
  506.  
  507. #define MakeLink(name, dest, soft) \
  508.     AROS_LC3(LONG, MakeLink, \
  509.     AROS_LCA(STRPTR, name, D1), \
  510.     AROS_LCA(LONG  , dest, D2), \
  511.     AROS_LCA(LONG  , soft, D3), \
  512.     struct DosLibrary *, DOSBase, 74, Dos)
  513.  
  514. #define MatchEnd(anchor) \
  515.     AROS_LC1(void, MatchEnd, \
  516.     AROS_LCA(struct AnchorPath *, anchor, D1), \
  517.     struct DosLibrary *, DOSBase, 139, Dos)
  518.  
  519. #define MatchFirst(pat, anchor) \
  520.     AROS_LC2(LONG, MatchFirst, \
  521.     AROS_LCA(STRPTR             , pat, D1), \
  522.     AROS_LCA(struct AnchorPath *, anchor, D2), \
  523.     struct DosLibrary *, DOSBase, 137, Dos)
  524.  
  525. #define MatchNext(anchor) \
  526.     AROS_LC1(LONG, MatchNext, \
  527.     AROS_LCA(struct AnchorPath *, anchor, D1), \
  528.     struct DosLibrary *, DOSBase, 138, Dos)
  529.  
  530. #define MatchPattern(pat, str) \
  531.     AROS_LC2(BOOL, MatchPattern, \
  532.     AROS_LCA(STRPTR, pat, D1), \
  533.     AROS_LCA(STRPTR, str, D2), \
  534.     struct DosLibrary *, DOSBase, 141, Dos)
  535.  
  536. #define MatchPatternNoCase(pat, str) \
  537.     AROS_LC2(BOOL, MatchPatternNoCase, \
  538.     AROS_LCA(STRPTR, pat, D1), \
  539.     AROS_LCA(STRPTR, str, D2), \
  540.     struct DosLibrary *, DOSBase, 162, Dos)
  541.  
  542. #define MaxCli() \
  543.     AROS_LC0(ULONG, MaxCli, \
  544.     struct DosLibrary *, DOSBase, 92, Dos)
  545.  
  546. #define NameFromLock(lock, buffer, length) \
  547.     AROS_LC3(BOOL, NameFromLock, \
  548.     AROS_LCA(BPTR,   lock,   D1), \
  549.     AROS_LCA(STRPTR, buffer, D2), \
  550.     AROS_LCA(LONG,   length, D3), \
  551.     struct DosLibrary *, DOSBase, 67, Dos)
  552.  
  553. #define NameFromFH(fh, buffer, len) \
  554.     AROS_LC3(LONG, NameFromFH, \
  555.     AROS_LCA(BPTR  , fh, D1), \
  556.     AROS_LCA(STRPTR, buffer, D2), \
  557.     AROS_LCA(LONG  , len, D3), \
  558.     struct DosLibrary *, DOSBase, 68, Dos)
  559.  
  560. #define NewLoadSeg(file, tags) \
  561.     AROS_LC2(BPTR, NewLoadSeg, \
  562.     AROS_LCA(STRPTR          , file, D1), \
  563.     AROS_LCA(struct TagItem *, tags, D2), \
  564.     struct DosLibrary *, DOSBase, 128, Dos)
  565.  
  566. #define NextDosEntry(dlist, flags) \
  567.     AROS_LC2I(struct DosList *, NextDosEntry, \
  568.     AROS_LCA(struct DosList *, dlist, D1), \
  569.     AROS_LCA(ULONG           , flags, D2), \
  570.     struct DosLibrary *, DOSBase, 115, Dos)
  571.  
  572. #define Open(name, accessMode) \
  573.     AROS_LC2(BPTR, Open, \
  574.     AROS_LCA(STRPTR, name,       D1), \
  575.     AROS_LCA(LONG,   accessMode, D2), \
  576.     struct DosLibrary *, DOSBase, 5, Dos)
  577.  
  578. #define OpenFromLock(lock) \
  579.     AROS_LC1(BPTR, OpenFromLock, \
  580.     AROS_LCA(BPTR, lock, D1), \
  581.     struct DosLibrary *, DOSBase, 63, Dos)
  582.  
  583. #define Output() \
  584.     AROS_LC0(BPTR, Output, \
  585.     struct DosLibrary *, DOSBase, 10, Dos)
  586.  
  587. #define ParentDir(lock) \
  588.     AROS_LC1(BPTR, ParentDir, \
  589.     AROS_LCA(BPTR, lock, D1), \
  590.     struct DosLibrary *, DOSBase, 35, Dos)
  591.  
  592. #define ParentOfFH(fh) \
  593.     AROS_LC1(BPTR, ParentOfFH, \
  594.     AROS_LCA(BPTR, fh, D1), \
  595.     struct DosLibrary *, DOSBase, 64, Dos)
  596.  
  597. #define ParsePattern(Source, Dest, DestLength) \
  598.     AROS_LC3(LONG, ParsePattern, \
  599.     AROS_LCA(STRPTR, Source,      D1), \
  600.     AROS_LCA(STRPTR, Dest,        D2), \
  601.     AROS_LCA(LONG,   DestLength,  D3), \
  602.     struct DosLibrary *, DOSBase, 140, Dos)
  603.  
  604. #define ParsePatternNoCase(Source, Dest, DestLength) \
  605.     AROS_LC3(LONG, ParsePatternNoCase, \
  606.     AROS_LCA(STRPTR, Source,      D1), \
  607.     AROS_LCA(STRPTR, Dest,        D2), \
  608.     AROS_LCA(LONG,   DestLength,  D3), \
  609.     struct DosLibrary *, DOSBase, 161, Dos)
  610.  
  611. #define PathPart(path) \
  612.     AROS_LC1(STRPTR, PathPart, \
  613.     AROS_LCA(STRPTR, path, D1), \
  614.     struct DosLibrary *, DOSBase, 146, Dos)
  615.  
  616. #define PrintFault(code, header) \
  617.     AROS_LC2(BOOL, PrintFault, \
  618.     AROS_LCA(LONG,   code,   D1), \
  619.     AROS_LCA(STRPTR, header, D2), \
  620.     struct DosLibrary *, DOSBase, 79, Dos)
  621.  
  622. #define PutStr(string) \
  623.     AROS_LC1(LONG, PutStr, \
  624.     AROS_LCA(STRPTR, string, D1), \
  625.     struct DosLibrary *, DOSBase, 158, Dos)
  626.  
  627. #define Read(file, buffer, length) \
  628.     AROS_LC3(LONG, Read, \
  629.     AROS_LCA(BPTR, file,   D1), \
  630.     AROS_LCA(APTR, buffer, D2), \
  631.     AROS_LCA(LONG, length, D3), \
  632.     struct DosLibrary *, DOSBase, 7, Dos)
  633.  
  634. #define ReadArgs(template, array, rdargs) \
  635.     AROS_LC3(struct RDArgs *, ReadArgs, \
  636.     AROS_LCA(STRPTR,          template, D1), \
  637.     AROS_LCA(IPTR *,          array,    D2), \
  638.     AROS_LCA(struct RDArgs *, rdargs,   D3), \
  639.     struct DosLibrary *, DOSBase, 133, Dos)
  640.  
  641. #define ReadItem(buffer, maxchars, input) \
  642.     AROS_LC3(LONG, ReadItem, \
  643.     AROS_LCA(STRPTR,           buffer,   D1), \
  644.     AROS_LCA(LONG,             maxchars, D2), \
  645.     AROS_LCA(struct CSource *, input,    D3), \
  646.     struct DosLibrary *, DOSBase, 135, Dos)
  647.  
  648. #define ReadLink(port, lock, path, buffer, size) \
  649.     AROS_LC5(LONG, ReadLink, \
  650.     AROS_LCA(struct MsgPort *, port, D1), \
  651.     AROS_LCA(BPTR            , lock, D2), \
  652.     AROS_LCA(STRPTR          , path, D3), \
  653.     AROS_LCA(STRPTR          , buffer, D4), \
  654.     AROS_LCA(ULONG           , size, D5), \
  655.     struct DosLibrary *, DOSBase, 73, Dos)
  656.  
  657. #define Relabel(drive, newname) \
  658.     AROS_LC2(LONG, Relabel, \
  659.     AROS_LCA(STRPTR, drive, D1), \
  660.     AROS_LCA(STRPTR, newname, D2), \
  661.     struct DosLibrary *, DOSBase, 120, Dos)
  662.  
  663. #define RemAssignList(name, lock) \
  664.     AROS_LC2(LONG, RemAssignList, \
  665.     AROS_LCA(STRPTR, name, D1), \
  666.     AROS_LCA(BPTR  , lock, D2), \
  667.     struct DosLibrary *, DOSBase, 106, Dos)
  668.  
  669. #define RemDosEntry(dlist) \
  670.     AROS_LC1(LONG, RemDosEntry, \
  671.     AROS_LCA(struct DosList *, dlist, D1), \
  672.     struct DosLibrary *, DOSBase, 112, Dos)
  673.  
  674. #define RemSegment(seg) \
  675.     AROS_LC1(LONG, RemSegment, \
  676.     AROS_LCA(struct Segment *, seg, D1), \
  677.     struct DosLibrary *, DOSBase, 131, Dos)
  678.  
  679. #define Rename(oldName, newName) \
  680.     AROS_LC2(LONG, Rename, \
  681.     AROS_LCA(STRPTR, oldName, D1), \
  682.     AROS_LCA(STRPTR, newName, D2), \
  683.     struct DosLibrary *, DOSBase, 13, Dos)
  684.  
  685. #define ReplyPkt(dp, res1, res2) \
  686.     AROS_LC3(void, ReplyPkt, \
  687.     AROS_LCA(struct DosPacket *, dp, D1), \
  688.     AROS_LCA(LONG              , res1, D2), \
  689.     AROS_LCA(LONG              , res2, D3), \
  690.     struct DosLibrary *, DOSBase, 43, Dos)
  691.  
  692. #define RunCommand(segList, stacksize, argptr, argsize) \
  693.     AROS_LC4(LONG, RunCommand, \
  694.     AROS_LCA(BPTR,   segList,   D1), \
  695.     AROS_LCA(ULONG,  stacksize, D2), \
  696.     AROS_LCA(STRPTR, argptr,    D3), \
  697.     AROS_LCA(ULONG,  argsize,   D4), \
  698.     struct DosLibrary *, DOSBase, 84, Dos)
  699.  
  700. #define SameDevice(lock1, lock2) \
  701.     AROS_LC2(BOOL, SameDevice, \
  702.     AROS_LCA(BPTR, lock1, D1), \
  703.     AROS_LCA(BPTR, lock2, D2), \
  704.     struct DosLibrary *, DOSBase, 164, Dos)
  705.  
  706. #define SameLock(lock1, lock2) \
  707.     AROS_LC2(LONG, SameLock, \
  708.     AROS_LCA(BPTR, lock1, D1), \
  709.     AROS_LCA(BPTR, lock2, D2), \
  710.     struct DosLibrary *, DOSBase, 70, Dos)
  711.  
  712. #define Seek(file, position, mode) \
  713.     AROS_LC3(LONG, Seek, \
  714.     AROS_LCA(BPTR, file,     D1), \
  715.     AROS_LCA(LONG, position, D2), \
  716.     AROS_LCA(LONG, mode,     D3), \
  717.     struct DosLibrary *, DOSBase, 11, Dos)
  718.  
  719. #define SelectInput(fh) \
  720.     AROS_LC1(BPTR, SelectInput, \
  721.     AROS_LCA(BPTR, fh, D1), \
  722.     struct DosLibrary *, DOSBase, 49, Dos)
  723.  
  724. #define SelectOutput(fh) \
  725.     AROS_LC1(BPTR, SelectOutput, \
  726.     AROS_LCA(BPTR, fh, D1), \
  727.     struct DosLibrary *, DOSBase, 50, Dos)
  728.  
  729. #define SendPkt(dp, port, replyport) \
  730.     AROS_LC3(void, SendPkt, \
  731.     AROS_LCA(struct DosPacket *, dp, D1), \
  732.     AROS_LCA(struct MsgPort   *, port, D2), \
  733.     AROS_LCA(struct MsgPort   *, replyport, D3), \
  734.     struct DosLibrary *, DOSBase, 41, Dos)
  735.  
  736. #define SetArgStr(string) \
  737.     AROS_LC1(BOOL, SetArgStr, \
  738.     AROS_LCA(STRPTR, string, D1), \
  739.     struct DosLibrary *, DOSBase, 90, Dos)
  740.  
  741. #define SetComment(name, comment) \
  742.     AROS_LC2(BOOL, SetComment, \
  743.     AROS_LCA(STRPTR, name,    D1), \
  744.     AROS_LCA(STRPTR, comment, D2), \
  745.     struct DosLibrary *, DOSBase, 30, Dos)
  746.  
  747. #define SetConsoleTask(task) \
  748.     AROS_LC1(struct MsgPort *, SetConsoleTask, \
  749.     AROS_LCA(struct MsgPort *, task, D1), \
  750.     struct DosLibrary *, DOSBase, 86, Dos)
  751.  
  752. #define SetCurrentDirName(name) \
  753.     AROS_LC1(BOOL, SetCurrentDirName, \
  754.     AROS_LCA(STRPTR, name, D1), \
  755.     struct DosLibrary *, DOSBase, 93, Dos)
  756.  
  757. #define SetFileDate(name, date) \
  758.     AROS_LC2(BOOL, SetFileDate, \
  759.     AROS_LCA(STRPTR,             name, D1), \
  760.     AROS_LCA(struct DateStamp *, date, D2), \
  761.     struct DosLibrary *, DOSBase, 66, Dos)
  762.  
  763. #define SetFileSize(file, offset, mode) \
  764.     AROS_LC3(LONG, SetFileSize, \
  765.     AROS_LCA(BPTR, file,   D1), \
  766.     AROS_LCA(LONG, offset, D2), \
  767.     AROS_LCA(LONG, mode,   D3), \
  768.     struct DosLibrary *, DOSBase, 76, Dos)
  769.  
  770. #define SetFileSysTask(task) \
  771.     AROS_LC1(struct MsgPort *, SetFileSysTask, \
  772.     AROS_LCA(struct MsgPort *, task, D1), \
  773.     struct DosLibrary *, DOSBase, 88, Dos)
  774.  
  775. #define SetIoErr(result) \
  776.     AROS_LC1(LONG, SetIoErr, \
  777.     AROS_LCA(LONG, result, D1), \
  778.     struct DosLibrary *, DOSBase, 77, Dos)
  779.  
  780. #define SetMode(fh, mode) \
  781.     AROS_LC2(LONG, SetMode, \
  782.     AROS_LCA(BPTR, fh, D1), \
  783.     AROS_LCA(LONG, mode, D2), \
  784.     struct DosLibrary *, DOSBase, 71, Dos)
  785.  
  786. #define SetOwner(name, owner_info) \
  787.     AROS_LC2(BOOL, SetOwner, \
  788.     AROS_LCA(STRPTR, name,       D1), \
  789.     AROS_LCA(ULONG,  owner_info, D2), \
  790.     struct DosLibrary *, DOSBase, 166, Dos)
  791.  
  792. #define SetProgramDir(lock) \
  793.     AROS_LC1(BPTR, SetProgramDir, \
  794.     AROS_LCA(BPTR, lock, D1), \
  795.     struct DosLibrary *, DOSBase, 99, Dos)
  796.  
  797. #define SetProgramName(name) \
  798.     AROS_LC1(BOOL, SetProgramName, \
  799.     AROS_LCA(STRPTR, name, D1), \
  800.     struct DosLibrary *, DOSBase, 95, Dos)
  801.  
  802. #define SetPrompt(name) \
  803.     AROS_LC1(BOOL, SetPrompt, \
  804.     AROS_LCA(STRPTR, name, D1), \
  805.     struct DosLibrary *, DOSBase, 97, Dos)
  806.  
  807. #define SetProtection(name, protect) \
  808.     AROS_LC2(BOOL, SetProtection, \
  809.     AROS_LCA(STRPTR, name,    D1), \
  810.     AROS_LCA(ULONG,  protect, D2), \
  811.     struct DosLibrary *, DOSBase, 31, Dos)
  812.  
  813. #define SetVar(name, buffer, size, flags) \
  814.     AROS_LC4(BOOL, SetVar, \
  815.     AROS_LCA(STRPTR, name, D1), \
  816.     AROS_LCA(STRPTR, buffer, D2), \
  817.     AROS_LCA(LONG  , size, D3), \
  818.     AROS_LCA(LONG  , flags, D4), \
  819.     struct DosLibrary *, DOSBase, 150, Dos)
  820.  
  821. #define SetVBuf(fh, buff, type, size) \
  822.     AROS_LC4(LONG, SetVBuf, \
  823.     AROS_LCA(BPTR  , fh, D1), \
  824.     AROS_LCA(STRPTR, buff, D2), \
  825.     AROS_LCA(LONG  , type, D3), \
  826.     AROS_LCA(LONG  , size, D4), \
  827.     struct DosLibrary *, DOSBase, 61, Dos)
  828.  
  829. #define SplitName(name, seperator, buf, oldpos, size) \
  830.     AROS_LC5(WORD, SplitName, \
  831.     AROS_LCA(STRPTR, name, D1), \
  832.     AROS_LCA(ULONG , seperator, D2), \
  833.     AROS_LCA(STRPTR, buf, D3), \
  834.     AROS_LCA(LONG  , oldpos, D4), \
  835.     AROS_LCA(LONG  , size, D5), \
  836.     struct DosLibrary *, DOSBase, 69, Dos)
  837.  
  838. #define StartNotify(notify) \
  839.     AROS_LC1(BOOL, StartNotify, \
  840.     AROS_LCA(struct NotifyRequest *, notify, D1), \
  841.     struct DosLibrary *, DOSBase, 148, Dos)
  842.  
  843. #define StrToDate(datetime) \
  844.     AROS_LC1(LONG, StrToDate, \
  845.     AROS_LCA(struct DateTime *, datetime, D1), \
  846.     struct DosLibrary *, DOSBase, 125, Dos)
  847.  
  848. #define StrToLong(string, value) \
  849.     AROS_LC2I(LONG, StrToLong, \
  850.     AROS_LCA(STRPTR, string, D1), \
  851.     AROS_LCA(LONG *, value,  D2), \
  852.     struct DosLibrary *, DOSBase, 136, Dos)
  853.  
  854. #define SystemTagList(command, tags) \
  855.     AROS_LC2(LONG, SystemTagList, \
  856.     AROS_LCA(STRPTR          , command, D1), \
  857.     AROS_LCA(struct TagItem *, tags, D2), \
  858.     struct DosLibrary *, DOSBase, 101, Dos)
  859.  
  860. #define UnGetC(file, character) \
  861.     AROS_LC2(LONG, UnGetC, \
  862.     AROS_LCA(BPTR, file,      D1), \
  863.     AROS_LCA(LONG, character, D2), \
  864.     struct DosLibrary *, DOSBase, 53, Dos)
  865.  
  866. #define UnLoadSeg(seglist) \
  867.     AROS_LC1(void, UnLoadSeg, \
  868.     AROS_LCA(BPTR, seglist, D1), \
  869.     struct DosLibrary *, DOSBase, 26, Dos)
  870.  
  871. #define UnLockDosList(flags) \
  872.     AROS_LC1(void, UnLockDosList, \
  873.     AROS_LCA(ULONG, flags, D1), \
  874.     struct DosLibrary *, DOSBase, 110, Dos)
  875.  
  876. #define UnLockRecord(fh, offset, length) \
  877.     AROS_LC3(BOOL, UnLockRecord, \
  878.     AROS_LCA(BPTR , fh, D1), \
  879.     AROS_LCA(ULONG, offset, D2), \
  880.     AROS_LCA(ULONG, length, D3), \
  881.     struct DosLibrary *, DOSBase, 47, Dos)
  882.  
  883. #define UnLockRecords(recArray) \
  884.     AROS_LC1(BOOL, UnLockRecords, \
  885.     AROS_LCA(struct RecordLock *, recArray, D1), \
  886.     struct DosLibrary *, DOSBase, 48, Dos)
  887.  
  888. #define VFPrintf(file, format, argarray) \
  889.     AROS_LC3(LONG, VFPrintf, \
  890.     AROS_LCA(BPTR,   file,     D1), \
  891.     AROS_LCA(STRPTR, format,   D2), \
  892.     AROS_LCA(IPTR *, argarray, D3), \
  893.     struct DosLibrary *, DOSBase, 59, Dos)
  894.  
  895. #define VFWritef(fh, format, argarray) \
  896.     AROS_LC3(void, VFWritef, \
  897.     AROS_LCA(BPTR  , fh, D1), \
  898.     AROS_LCA(STRPTR, format, D2), \
  899.     AROS_LCA(LONG *, argarray, D3), \
  900.     struct DosLibrary *, DOSBase, 58, Dos)
  901.  
  902. #define VPrintf(format, argarray) \
  903.     AROS_LC2(LONG, VPrintf, \
  904.     AROS_LCA(STRPTR, format,   D1), \
  905.     AROS_LCA(IPTR *, argarray, D2), \
  906.     struct DosLibrary *, DOSBase, 159, Dos)
  907.  
  908. #define WaitForChar(file, timeout) \
  909.     AROS_LC2(LONG, WaitForChar, \
  910.     AROS_LCA(BPTR, file, D1), \
  911.     AROS_LCA(LONG, timeout, D2), \
  912.     struct DosLibrary *, DOSBase, 34, Dos)
  913.  
  914. #define WaitPkt() \
  915.     AROS_LC0(struct DosPacket *, WaitPkt, \
  916.     struct DosLibrary *, DOSBase, 42, Dos)
  917.  
  918. #define Write(file, buffer, length) \
  919.     AROS_LC3(LONG, Write, \
  920.     AROS_LCA(BPTR, file,   D1), \
  921.     AROS_LCA(APTR, buffer, D2), \
  922.     AROS_LCA(LONG, length, D3), \
  923.     struct DosLibrary *, DOSBase, 8, Dos)
  924.  
  925. #define WriteChars(buf, buflen) \
  926.     AROS_LC2(LONG, WriteChars, \
  927.     AROS_LCA(STRPTR, buf, D1), \
  928.     AROS_LCA(ULONG , buflen, D2), \
  929.     struct DosLibrary *, DOSBase, 157, Dos)
  930.  
  931.  
  932. #endif /* DEFINES_DOS_H */
  933.