home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / programm / language / gcc222.lha / os-include / inline / dos.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-19  |  62.6 KB  |  2,131 lines

  1. #ifndef _INLINE_DOS_H
  2. #define _INLINE_DOS_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 extern struct DosLibrary * DOSBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME DOSBase
  18. #endif
  19.  
  20. static __inline void 
  21. AbortPkt (BASE_PAR_DECL struct MsgPort *port,struct DosPacket *pkt)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  25.   register struct MsgPort *d1 __asm("d1") = port;
  26.   register struct DosPacket *d2 __asm("d2") = pkt;
  27.   __asm __volatile ("jsr a6@(-0x108)"
  28.   : /* no output */
  29.   : "r" (a6), "r" (d1), "r" (d2)
  30.   : "a0","a1","d0","d1","d2", "memory");
  31. }
  32. static __inline LONG 
  33. AddBuffers (BASE_PAR_DECL STRPTR name,long number)
  34. {
  35.   BASE_EXT_DECL
  36.   register LONG  _res  __asm("d0");
  37.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  38.   register STRPTR d1 __asm("d1") = name;
  39.   register long d2 __asm("d2") = number;
  40.   __asm __volatile ("jsr a6@(-0x2dc)"
  41.   : "=r" (_res)
  42.   : "r" (a6), "r" (d1), "r" (d2)
  43.   : "a0","a1","d0","d1","d2", "memory");
  44.   return _res;
  45. }
  46. static __inline LONG 
  47. AddDosEntry (BASE_PAR_DECL struct DosList *dlist)
  48. {
  49.   BASE_EXT_DECL
  50.   register LONG  _res  __asm("d0");
  51.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  52.   register struct DosList *d1 __asm("d1") = dlist;
  53.   __asm __volatile ("jsr a6@(-0x2a6)"
  54.   : "=r" (_res)
  55.   : "r" (a6), "r" (d1)
  56.   : "a0","a1","d0","d1", "memory");
  57.   return _res;
  58. }
  59. static __inline BOOL 
  60. AddPart (BASE_PAR_DECL STRPTR dirname,STRPTR filename,unsigned long size)
  61. {
  62.   BASE_EXT_DECL
  63.   register BOOL  _res  __asm("d0");
  64.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  65.   register STRPTR d1 __asm("d1") = dirname;
  66.   register STRPTR d2 __asm("d2") = filename;
  67.   register unsigned long d3 __asm("d3") = size;
  68.   __asm __volatile ("jsr a6@(-0x372)"
  69.   : "=r" (_res)
  70.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  71.   : "a0","a1","d0","d1","d2","d3", "memory");
  72.   return _res;
  73. }
  74. static __inline LONG 
  75. AddSegment (BASE_PAR_DECL STRPTR name,BPTR seg,long system)
  76. {
  77.   BASE_EXT_DECL
  78.   register LONG  _res  __asm("d0");
  79.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  80.   register STRPTR d1 __asm("d1") = name;
  81.   register BPTR d2 __asm("d2") = seg;
  82.   register long d3 __asm("d3") = system;
  83.   __asm __volatile ("jsr a6@(-0x306)"
  84.   : "=r" (_res)
  85.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  86.   : "a0","a1","d0","d1","d2","d3", "memory");
  87.   return _res;
  88. }
  89. static __inline APTR 
  90. AllocDosObject (BASE_PAR_DECL unsigned long type,struct TagItem *tags)
  91. {
  92.   BASE_EXT_DECL
  93.   register APTR  _res  __asm("d0");
  94.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  95.   register unsigned long d1 __asm("d1") = type;
  96.   register struct TagItem *d2 __asm("d2") = tags;
  97.   __asm __volatile ("jsr a6@(-0xe4)"
  98.   : "=r" (_res)
  99.   : "r" (a6), "r" (d1), "r" (d2)
  100.   : "a0","a1","d0","d1","d2", "memory");
  101.   return _res;
  102. }
  103. #ifndef NO_INLINE_STDARG
  104. #define AllocDosObjectTags(a0, tags...) \
  105.   ({ struct TagItem _tags[] = { tags }; AllocDosObject ((a0), _tags); })
  106. #endif /* not NO_INLINE_STDARG */
  107. #define AllocDosObjectTagList(a0, a1) AllocDosObject ((a0), (a1))
  108. static __inline BOOL 
  109. AssignAdd (BASE_PAR_DECL STRPTR name,BPTR lock)
  110. {
  111.   BASE_EXT_DECL
  112.   register BOOL  _res  __asm("d0");
  113.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  114.   register STRPTR d1 __asm("d1") = name;
  115.   register BPTR d2 __asm("d2") = lock;
  116.   __asm __volatile ("jsr a6@(-0x276)"
  117.   : "=r" (_res)
  118.   : "r" (a6), "r" (d1), "r" (d2)
  119.   : "a0","a1","d0","d1","d2", "memory");
  120.   return _res;
  121. }
  122. static __inline BOOL 
  123. AssignLate (BASE_PAR_DECL STRPTR name,STRPTR path)
  124. {
  125.   BASE_EXT_DECL
  126.   register BOOL  _res  __asm("d0");
  127.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  128.   register STRPTR d1 __asm("d1") = name;
  129.   register STRPTR d2 __asm("d2") = path;
  130.   __asm __volatile ("jsr a6@(-0x26a)"
  131.   : "=r" (_res)
  132.   : "r" (a6), "r" (d1), "r" (d2)
  133.   : "a0","a1","d0","d1","d2", "memory");
  134.   return _res;
  135. }
  136. static __inline LONG 
  137. AssignLock (BASE_PAR_DECL STRPTR name,BPTR lock)
  138. {
  139.   BASE_EXT_DECL
  140.   register LONG  _res  __asm("d0");
  141.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  142.   register STRPTR d1 __asm("d1") = name;
  143.   register BPTR d2 __asm("d2") = lock;
  144.   __asm __volatile ("jsr a6@(-0x264)"
  145.   : "=r" (_res)
  146.   : "r" (a6), "r" (d1), "r" (d2)
  147.   : "a0","a1","d0","d1","d2", "memory");
  148.   return _res;
  149. }
  150. static __inline BOOL 
  151. AssignPath (BASE_PAR_DECL STRPTR name,STRPTR path)
  152. {
  153.   BASE_EXT_DECL
  154.   register BOOL  _res  __asm("d0");
  155.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  156.   register STRPTR d1 __asm("d1") = name;
  157.   register STRPTR d2 __asm("d2") = path;
  158.   __asm __volatile ("jsr a6@(-0x270)"
  159.   : "=r" (_res)
  160.   : "r" (a6), "r" (d1), "r" (d2)
  161.   : "a0","a1","d0","d1","d2", "memory");
  162.   return _res;
  163. }
  164. static __inline struct DosList *
  165. AttemptLockDosList (BASE_PAR_DECL unsigned long flags)
  166. {
  167.   BASE_EXT_DECL
  168.   register struct DosList * _res  __asm("d0");
  169.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  170.   register unsigned long d1 __asm("d1") = flags;
  171.   __asm __volatile ("jsr a6@(-0x29a)"
  172.   : "=r" (_res)
  173.   : "r" (a6), "r" (d1)
  174.   : "a0","a1","d0","d1", "memory");
  175.   return _res;
  176. }
  177. static __inline LONG 
  178. ChangeMode (BASE_PAR_DECL long type,BPTR fh,long newmode)
  179. {
  180.   BASE_EXT_DECL
  181.   register LONG  _res  __asm("d0");
  182.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  183.   register long d1 __asm("d1") = type;
  184.   register BPTR d2 __asm("d2") = fh;
  185.   register long d3 __asm("d3") = newmode;
  186.   __asm __volatile ("jsr a6@(-0x1c2)"
  187.   : "=r" (_res)
  188.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  189.   : "a0","a1","d0","d1","d2","d3", "memory");
  190.   return _res;
  191. }
  192. static __inline LONG 
  193. CheckSignal (BASE_PAR_DECL long mask)
  194. {
  195.   BASE_EXT_DECL
  196.   register LONG  _res  __asm("d0");
  197.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  198.   register long d1 __asm("d1") = mask;
  199.   __asm __volatile ("jsr a6@(-0x318)"
  200.   : "=r" (_res)
  201.   : "r" (a6), "r" (d1)
  202.   : "a0","a1","d0","d1", "memory");
  203.   return _res;
  204. }
  205. static __inline struct CommandLineInterface *
  206. Cli (BASE_PAR_DECL0)
  207. {
  208.   BASE_EXT_DECL
  209.   register struct CommandLineInterface * _res  __asm("d0");
  210.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  211.   __asm __volatile ("jsr a6@(-0x1ec)"
  212.   : "=r" (_res)
  213.   : "r" (a6)
  214.   : "a0","a1","d0","d1", "memory");
  215.   return _res;
  216. }
  217. static __inline LONG 
  218. CliInitNewcli (BASE_PAR_DECL struct DosPacket *dp)
  219. {
  220.   BASE_EXT_DECL
  221.   register LONG  _res  __asm("d0");
  222.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  223.   register struct DosPacket *a0 __asm("a0") = dp;
  224.   __asm __volatile ("jsr a6@(-0x3a2)"
  225.   : "=r" (_res)
  226.   : "r" (a6), "r" (a0)
  227.   : "a0","a1","d0","d1", "memory");
  228.   return _res;
  229. }
  230. static __inline LONG 
  231. CliInitRun (BASE_PAR_DECL struct DosPacket *dp)
  232. {
  233.   BASE_EXT_DECL
  234.   register LONG  _res  __asm("d0");
  235.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  236.   register struct DosPacket *a0 __asm("a0") = dp;
  237.   __asm __volatile ("jsr a6@(-0x3a8)"
  238.   : "=r" (_res)
  239.   : "r" (a6), "r" (a0)
  240.   : "a0","a1","d0","d1", "memory");
  241.   return _res;
  242. }
  243. static __inline LONG 
  244. Close (BASE_PAR_DECL BPTR file)
  245. {
  246.   BASE_EXT_DECL
  247.   register LONG  _res  __asm("d0");
  248.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  249.   register BPTR d1 __asm("d1") = file;
  250.   __asm __volatile ("jsr a6@(-0x24)"
  251.   : "=r" (_res)
  252.   : "r" (a6), "r" (d1)
  253.   : "a0","a1","d0","d1", "memory");
  254.   return _res;
  255. }
  256. static __inline LONG 
  257. CompareDates (BASE_PAR_DECL struct DateStamp *date1,struct DateStamp *date2)
  258. {
  259.   BASE_EXT_DECL
  260.   register LONG  _res  __asm("d0");
  261.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  262.   register struct DateStamp *d1 __asm("d1") = date1;
  263.   register struct DateStamp *d2 __asm("d2") = date2;
  264.   __asm __volatile ("jsr a6@(-0x2e2)"
  265.   : "=r" (_res)
  266.   : "r" (a6), "r" (d1), "r" (d2)
  267.   : "a0","a1","d0","d1","d2", "memory");
  268.   return _res;
  269. }
  270. static __inline BPTR 
  271. CreateDir (BASE_PAR_DECL STRPTR name)
  272. {
  273.   BASE_EXT_DECL
  274.   register BPTR  _res  __asm("d0");
  275.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  276.   register STRPTR d1 __asm("d1") = name;
  277.   __asm __volatile ("jsr a6@(-0x78)"
  278.   : "=r" (_res)
  279.   : "r" (a6), "r" (d1)
  280.   : "a0","a1","d0","d1", "memory");
  281.   return _res;
  282. }
  283. static __inline struct Process *
  284. CreateNewProc (BASE_PAR_DECL struct TagItem *tags)
  285. {
  286.   BASE_EXT_DECL
  287.   register struct Process * _res  __asm("d0");
  288.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  289.   register struct TagItem *d1 __asm("d1") = tags;
  290.   __asm __volatile ("jsr a6@(-0x1f2)"
  291.   : "=r" (_res)
  292.   : "r" (a6), "r" (d1)
  293.   : "a0","a1","d0","d1", "memory");
  294.   return _res;
  295. }
  296. #ifndef NO_INLINE_STDARG
  297. #define CreateNewProcTags(tags...) \
  298.   ({ struct TagItem _tags[] = { tags }; CreateNewProc (_tags); })
  299. #endif /* not NO_INLINE_STDARG */
  300. #define CreateNewProcTagList(a0) CreateNewProc ((a0))
  301. static __inline struct MsgPort *
  302. CreateProc (BASE_PAR_DECL STRPTR name,long pri,BPTR segList,long stackSize)
  303. {
  304.   BASE_EXT_DECL
  305.   register struct MsgPort * _res  __asm("d0");
  306.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  307.   register STRPTR d1 __asm("d1") = name;
  308.   register long d2 __asm("d2") = pri;
  309.   register BPTR d3 __asm("d3") = segList;
  310.   register long d4 __asm("d4") = stackSize;
  311.   __asm __volatile ("jsr a6@(-0x8a)"
  312.   : "=r" (_res)
  313.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  314.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  315.   return _res;
  316. }
  317. static __inline BPTR 
  318. CurrentDir (BASE_PAR_DECL BPTR lock)
  319. {
  320.   BASE_EXT_DECL
  321.   register BPTR  _res  __asm("d0");
  322.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  323.   register BPTR d1 __asm("d1") = lock;
  324.   __asm __volatile ("jsr a6@(-0x7e)"
  325.   : "=r" (_res)
  326.   : "r" (a6), "r" (d1)
  327.   : "a0","a1","d0","d1", "memory");
  328.   return _res;
  329. }
  330. static __inline struct DateStamp *
  331. DateStamp (BASE_PAR_DECL struct DateStamp *date)
  332. {
  333.   BASE_EXT_DECL
  334.   register struct DateStamp * _res  __asm("d0");
  335.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  336.   register struct DateStamp *d1 __asm("d1") = date;
  337.   __asm __volatile ("jsr a6@(-0xc0)"
  338.   : "=r" (_res)
  339.   : "r" (a6), "r" (d1)
  340.   : "a0","a1","d0","d1", "memory");
  341.   return _res;
  342. }
  343. static __inline LONG 
  344. DateToStr (BASE_PAR_DECL struct DateTime *datetime)
  345. {
  346.   BASE_EXT_DECL
  347.   register LONG  _res  __asm("d0");
  348.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  349.   register struct DateTime *d1 __asm("d1") = datetime;
  350.   __asm __volatile ("jsr a6@(-0x2e8)"
  351.   : "=r" (_res)
  352.   : "r" (a6), "r" (d1)
  353.   : "a0","a1","d0","d1", "memory");
  354.   return _res;
  355. }
  356. static __inline void 
  357. Delay (BASE_PAR_DECL long timeout)
  358. {
  359.   BASE_EXT_DECL
  360.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  361.   register long d1 __asm("d1") = timeout;
  362.   __asm __volatile ("jsr a6@(-0xc6)"
  363.   : /* no output */
  364.   : "r" (a6), "r" (d1)
  365.   : "a0","a1","d0","d1", "memory");
  366. }
  367. static __inline LONG 
  368. DeleteFile (BASE_PAR_DECL STRPTR name)
  369. {
  370.   BASE_EXT_DECL
  371.   register LONG  _res  __asm("d0");
  372.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  373.   register STRPTR d1 __asm("d1") = name;
  374.   __asm __volatile ("jsr a6@(-0x48)"
  375.   : "=r" (_res)
  376.   : "r" (a6), "r" (d1)
  377.   : "a0","a1","d0","d1", "memory");
  378.   return _res;
  379. }
  380. static __inline LONG 
  381. DeleteVar (BASE_PAR_DECL STRPTR name,unsigned long flags)
  382. {
  383.   BASE_EXT_DECL
  384.   register LONG  _res  __asm("d0");
  385.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  386.   register STRPTR d1 __asm("d1") = name;
  387.   register unsigned long d2 __asm("d2") = flags;
  388.   __asm __volatile ("jsr a6@(-0x390)"
  389.   : "=r" (_res)
  390.   : "r" (a6), "r" (d1), "r" (d2)
  391.   : "a0","a1","d0","d1","d2", "memory");
  392.   return _res;
  393. }
  394. static __inline struct MsgPort *
  395. DeviceProc (BASE_PAR_DECL STRPTR name)
  396. {
  397.   BASE_EXT_DECL
  398.   register struct MsgPort * _res  __asm("d0");
  399.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  400.   register STRPTR d1 __asm("d1") = name;
  401.   __asm __volatile ("jsr a6@(-0xae)"
  402.   : "=r" (_res)
  403.   : "r" (a6), "r" (d1)
  404.   : "a0","a1","d0","d1", "memory");
  405.   return _res;
  406. }
  407. static __inline LONG 
  408. DoPkt (BASE_PAR_DECL struct MsgPort *port,long action,long arg1,long arg2,long arg3,long arg4,long arg5)
  409. {
  410.   BASE_EXT_DECL
  411.   register LONG  _res  __asm("d0");
  412.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  413.   register struct MsgPort *d1 __asm("d1") = port;
  414.   register long d2 __asm("d2") = action;
  415.   register long d3 __asm("d3") = arg1;
  416.   register long d4 __asm("d4") = arg2;
  417.   register long d5 __asm("d5") = arg3;
  418.   register long d6 __asm("d6") = arg4;
  419.   register long d7 __asm("d7") = arg5;
  420.   __asm __volatile ("jsr a6@(-0xf0)"
  421.   : "=r" (_res)
  422.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5), "r" (d6), "r" (d7)
  423.   : "a0","a1","d0","d1","d2","d3","d4","d5","d6","d7", "memory");
  424.   return _res;
  425. }
  426. static __inline BPTR 
  427. DupLock (BASE_PAR_DECL BPTR lock)
  428. {
  429.   BASE_EXT_DECL
  430.   register BPTR  _res  __asm("d0");
  431.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  432.   register BPTR d1 __asm("d1") = lock;
  433.   __asm __volatile ("jsr a6@(-0x60)"
  434.   : "=r" (_res)
  435.   : "r" (a6), "r" (d1)
  436.   : "a0","a1","d0","d1", "memory");
  437.   return _res;
  438. }
  439. static __inline BPTR 
  440. DupLockFromFH (BASE_PAR_DECL BPTR fh)
  441. {
  442.   BASE_EXT_DECL
  443.   register BPTR  _res  __asm("d0");
  444.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  445.   register BPTR d1 __asm("d1") = fh;
  446.   __asm __volatile ("jsr a6@(-0x174)"
  447.   : "=r" (_res)
  448.   : "r" (a6), "r" (d1)
  449.   : "a0","a1","d0","d1", "memory");
  450.   return _res;
  451. }
  452. static __inline void 
  453. EndNotify (BASE_PAR_DECL struct NotifyRequest *notify)
  454. {
  455.   BASE_EXT_DECL
  456.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  457.   register struct NotifyRequest *d1 __asm("d1") = notify;
  458.   __asm __volatile ("jsr a6@(-0x37e)"
  459.   : /* no output */
  460.   : "r" (a6), "r" (d1)
  461.   : "a0","a1","d0","d1", "memory");
  462. }
  463. static __inline LONG 
  464. ErrorReport (BASE_PAR_DECL long code,long type,unsigned long arg1,struct MsgPort *device)
  465. {
  466.   BASE_EXT_DECL
  467.   register LONG  _res  __asm("d0");
  468.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  469.   register long d1 __asm("d1") = code;
  470.   register long d2 __asm("d2") = type;
  471.   register unsigned long d3 __asm("d3") = arg1;
  472.   register struct MsgPort *d4 __asm("d4") = device;
  473.   __asm __volatile ("jsr a6@(-0x1e0)"
  474.   : "=r" (_res)
  475.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  476.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  477.   return _res;
  478. }
  479. static __inline LONG 
  480. ExAll (BASE_PAR_DECL BPTR lock,struct ExAllData *buffer,long size,long data,struct ExAllControl *control)
  481. {
  482.   BASE_EXT_DECL
  483.   register LONG  _res  __asm("d0");
  484.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  485.   register BPTR d1 __asm("d1") = lock;
  486.   register struct ExAllData *d2 __asm("d2") = buffer;
  487.   register long d3 __asm("d3") = size;
  488.   register long d4 __asm("d4") = data;
  489.   register struct ExAllControl *d5 __asm("d5") = control;
  490.   __asm __volatile ("jsr a6@(-0x1b0)"
  491.   : "=r" (_res)
  492.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  493.   : "a0","a1","d0","d1","d2","d3","d4","d5", "memory");
  494.   return _res;
  495. }
  496. static __inline LONG 
  497. ExNext (BASE_PAR_DECL BPTR lock,struct FileInfoBlock *fileInfoBlock)
  498. {
  499.   BASE_EXT_DECL
  500.   register LONG  _res  __asm("d0");
  501.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  502.   register BPTR d1 __asm("d1") = lock;
  503.   register struct FileInfoBlock *d2 __asm("d2") = fileInfoBlock;
  504.   __asm __volatile ("jsr a6@(-0x6c)"
  505.   : "=r" (_res)
  506.   : "r" (a6), "r" (d1), "r" (d2)
  507.   : "a0","a1","d0","d1","d2", "memory");
  508.   return _res;
  509. }
  510. static __inline LONG 
  511. Examine (BASE_PAR_DECL BPTR lock,struct FileInfoBlock *fileInfoBlock)
  512. {
  513.   BASE_EXT_DECL
  514.   register LONG  _res  __asm("d0");
  515.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  516.   register BPTR d1 __asm("d1") = lock;
  517.   register struct FileInfoBlock *d2 __asm("d2") = fileInfoBlock;
  518.   __asm __volatile ("jsr a6@(-0x66)"
  519.   : "=r" (_res)
  520.   : "r" (a6), "r" (d1), "r" (d2)
  521.   : "a0","a1","d0","d1","d2", "memory");
  522.   return _res;
  523. }
  524. static __inline BOOL 
  525. ExamineFH (BASE_PAR_DECL BPTR fh,struct FileInfoBlock *fib)
  526. {
  527.   BASE_EXT_DECL
  528.   register BOOL  _res  __asm("d0");
  529.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  530.   register BPTR d1 __asm("d1") = fh;
  531.   register struct FileInfoBlock *d2 __asm("d2") = fib;
  532.   __asm __volatile ("jsr a6@(-0x186)"
  533.   : "=r" (_res)
  534.   : "r" (a6), "r" (d1), "r" (d2)
  535.   : "a0","a1","d0","d1","d2", "memory");
  536.   return _res;
  537. }
  538. static __inline LONG 
  539. Execute (BASE_PAR_DECL STRPTR string,BPTR file,BPTR file2)
  540. {
  541.   BASE_EXT_DECL
  542.   register LONG  _res  __asm("d0");
  543.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  544.   register STRPTR d1 __asm("d1") = string;
  545.   register BPTR d2 __asm("d2") = file;
  546.   register BPTR d3 __asm("d3") = file2;
  547.   __asm __volatile ("jsr a6@(-0xde)"
  548.   : "=r" (_res)
  549.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  550.   : "a0","a1","d0","d1","d2","d3", "memory");
  551.   return _res;
  552. }
  553. static __inline void 
  554. Exit (BASE_PAR_DECL long returnCode)
  555. {
  556.   BASE_EXT_DECL
  557.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  558.   register long d1 __asm("d1") = returnCode;
  559.   __asm __volatile ("jsr a6@(-0x90)"
  560.   : /* no output */
  561.   : "r" (a6), "r" (d1)
  562.   : "a0","a1","d0","d1", "memory");
  563. }
  564. static __inline LONG 
  565. FGetC (BASE_PAR_DECL BPTR fh)
  566. {
  567.   BASE_EXT_DECL
  568.   register LONG  _res  __asm("d0");
  569.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  570.   register BPTR d1 __asm("d1") = fh;
  571.   __asm __volatile ("jsr a6@(-0x132)"
  572.   : "=r" (_res)
  573.   : "r" (a6), "r" (d1)
  574.   : "a0","a1","d0","d1", "memory");
  575.   return _res;
  576. }
  577. static __inline STRPTR 
  578. FGets (BASE_PAR_DECL BPTR fh,STRPTR buf,unsigned long buflen)
  579. {
  580.   BASE_EXT_DECL
  581.   register STRPTR  _res  __asm("d0");
  582.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  583.   register BPTR d1 __asm("d1") = fh;
  584.   register STRPTR d2 __asm("d2") = buf;
  585.   register unsigned long d3 __asm("d3") = buflen;
  586.   __asm __volatile ("jsr a6@(-0x150)"
  587.   : "=r" (_res)
  588.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  589.   : "a0","a1","d0","d1","d2","d3", "memory");
  590.   return _res;
  591. }
  592. static __inline LONG 
  593. FPutC (BASE_PAR_DECL BPTR fh,unsigned long ch)
  594. {
  595.   BASE_EXT_DECL
  596.   register LONG  _res  __asm("d0");
  597.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  598.   register BPTR d1 __asm("d1") = fh;
  599.   register unsigned long d2 __asm("d2") = ch;
  600.   __asm __volatile ("jsr a6@(-0x138)"
  601.   : "=r" (_res)
  602.   : "r" (a6), "r" (d1), "r" (d2)
  603.   : "a0","a1","d0","d1","d2", "memory");
  604.   return _res;
  605. }
  606. static __inline LONG 
  607. FPuts (BASE_PAR_DECL BPTR fh,STRPTR str)
  608. {
  609.   BASE_EXT_DECL
  610.   register LONG  _res  __asm("d0");
  611.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  612.   register BPTR d1 __asm("d1") = fh;
  613.   register STRPTR d2 __asm("d2") = str;
  614.   __asm __volatile ("jsr a6@(-0x156)"
  615.   : "=r" (_res)
  616.   : "r" (a6), "r" (d1), "r" (d2)
  617.   : "a0","a1","d0","d1","d2", "memory");
  618.   return _res;
  619. }
  620. static __inline LONG 
  621. FRead (BASE_PAR_DECL BPTR fh,APTR block,unsigned long blocklen,unsigned long number)
  622. {
  623.   BASE_EXT_DECL
  624.   register LONG  _res  __asm("d0");
  625.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  626.   register BPTR d1 __asm("d1") = fh;
  627.   register APTR d2 __asm("d2") = block;
  628.   register unsigned long d3 __asm("d3") = blocklen;
  629.   register unsigned long d4 __asm("d4") = number;
  630.   __asm __volatile ("jsr a6@(-0x144)"
  631.   : "=r" (_res)
  632.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  633.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  634.   return _res;
  635. }
  636. static __inline LONG 
  637. FWrite (BASE_PAR_DECL BPTR fh,APTR block,unsigned long blocklen,unsigned long number)
  638. {
  639.   BASE_EXT_DECL
  640.   register LONG  _res  __asm("d0");
  641.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  642.   register BPTR d1 __asm("d1") = fh;
  643.   register APTR d2 __asm("d2") = block;
  644.   register unsigned long d3 __asm("d3") = blocklen;
  645.   register unsigned long d4 __asm("d4") = number;
  646.   __asm __volatile ("jsr a6@(-0x14a)"
  647.   : "=r" (_res)
  648.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  649.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  650.   return _res;
  651. }
  652. static __inline BOOL 
  653. Fault (BASE_PAR_DECL long code,STRPTR header,STRPTR buffer,long len)
  654. {
  655.   BASE_EXT_DECL
  656.   register BOOL  _res  __asm("d0");
  657.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  658.   register long d1 __asm("d1") = code;
  659.   register STRPTR d2 __asm("d2") = header;
  660.   register STRPTR d3 __asm("d3") = buffer;
  661.   register long d4 __asm("d4") = len;
  662.   __asm __volatile ("jsr a6@(-0x1d4)"
  663.   : "=r" (_res)
  664.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  665.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  666.   return _res;
  667. }
  668. static __inline STRPTR 
  669. FilePart (BASE_PAR_DECL STRPTR path)
  670. {
  671.   BASE_EXT_DECL
  672.   register STRPTR  _res  __asm("d0");
  673.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  674.   register STRPTR d1 __asm("d1") = path;
  675.   __asm __volatile ("jsr a6@(-0x366)"
  676.   : "=r" (_res)
  677.   : "r" (a6), "r" (d1)
  678.   : "a0","a1","d0","d1", "memory");
  679.   return _res;
  680. }
  681. static __inline LONG 
  682. FindArg (BASE_PAR_DECL STRPTR keyword,STRPTR template)
  683. {
  684.   BASE_EXT_DECL
  685.   register LONG  _res  __asm("d0");
  686.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  687.   register STRPTR d1 __asm("d1") = keyword;
  688.   register STRPTR d2 __asm("d2") = template;
  689.   __asm __volatile ("jsr a6@(-0x324)"
  690.   : "=r" (_res)
  691.   : "r" (a6), "r" (d1), "r" (d2)
  692.   : "a0","a1","d0","d1","d2", "memory");
  693.   return _res;
  694. }
  695. static __inline struct Process *
  696. FindCliProc (BASE_PAR_DECL unsigned long num)
  697. {
  698.   BASE_EXT_DECL
  699.   register struct Process * _res  __asm("d0");
  700.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  701.   register unsigned long d1 __asm("d1") = num;
  702.   __asm __volatile ("jsr a6@(-0x222)"
  703.   : "=r" (_res)
  704.   : "r" (a6), "r" (d1)
  705.   : "a0","a1","d0","d1", "memory");
  706.   return _res;
  707. }
  708. static __inline struct DosList *
  709. FindDosEntry (BASE_PAR_DECL struct DosList *dlist,STRPTR name,unsigned long flags)
  710. {
  711.   BASE_EXT_DECL
  712.   register struct DosList * _res  __asm("d0");
  713.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  714.   register struct DosList *d1 __asm("d1") = dlist;
  715.   register STRPTR d2 __asm("d2") = name;
  716.   register unsigned long d3 __asm("d3") = flags;
  717.   __asm __volatile ("jsr a6@(-0x2ac)"
  718.   : "=r" (_res)
  719.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  720.   : "a0","a1","d0","d1","d2","d3", "memory");
  721.   return _res;
  722. }
  723. static __inline struct Segment *
  724. FindSegment (BASE_PAR_DECL STRPTR name,struct Segment *seg,long system)
  725. {
  726.   BASE_EXT_DECL
  727.   register struct Segment * _res  __asm("d0");
  728.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  729.   register STRPTR d1 __asm("d1") = name;
  730.   register struct Segment *d2 __asm("d2") = seg;
  731.   register long d3 __asm("d3") = system;
  732.   __asm __volatile ("jsr a6@(-0x30c)"
  733.   : "=r" (_res)
  734.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  735.   : "a0","a1","d0","d1","d2","d3", "memory");
  736.   return _res;
  737. }
  738. static __inline struct LocalVar *
  739. FindVar (BASE_PAR_DECL STRPTR name,unsigned long type)
  740. {
  741.   BASE_EXT_DECL
  742.   register struct LocalVar * _res  __asm("d0");
  743.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  744.   register STRPTR d1 __asm("d1") = name;
  745.   register unsigned long d2 __asm("d2") = type;
  746.   __asm __volatile ("jsr a6@(-0x396)"
  747.   : "=r" (_res)
  748.   : "r" (a6), "r" (d1), "r" (d2)
  749.   : "a0","a1","d0","d1","d2", "memory");
  750.   return _res;
  751. }
  752. static __inline LONG 
  753. Flush (BASE_PAR_DECL BPTR fh)
  754. {
  755.   BASE_EXT_DECL
  756.   register LONG  _res  __asm("d0");
  757.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  758.   register BPTR d1 __asm("d1") = fh;
  759.   __asm __volatile ("jsr a6@(-0x168)"
  760.   : "=r" (_res)
  761.   : "r" (a6), "r" (d1)
  762.   : "a0","a1","d0","d1", "memory");
  763.   return _res;
  764. }
  765. static __inline BOOL 
  766. Format (BASE_PAR_DECL STRPTR filesystem,STRPTR volumename,unsigned long dostype)
  767. {
  768.   BASE_EXT_DECL
  769.   register BOOL  _res  __asm("d0");
  770.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  771.   register STRPTR d1 __asm("d1") = filesystem;
  772.   register STRPTR d2 __asm("d2") = volumename;
  773.   register unsigned long d3 __asm("d3") = dostype;
  774.   __asm __volatile ("jsr a6@(-0x2ca)"
  775.   : "=r" (_res)
  776.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  777.   : "a0","a1","d0","d1","d2","d3", "memory");
  778.   return _res;
  779. }
  780. static __inline void 
  781. FreeArgs (BASE_PAR_DECL struct RDArgs *args)
  782. {
  783.   BASE_EXT_DECL
  784.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  785.   register struct RDArgs *d1 __asm("d1") = args;
  786.   __asm __volatile ("jsr a6@(-0x35a)"
  787.   : /* no output */
  788.   : "r" (a6), "r" (d1)
  789.   : "a0","a1","d0","d1", "memory");
  790. }
  791. static __inline void 
  792. FreeDeviceProc (BASE_PAR_DECL struct DevProc *dp)
  793. {
  794.   BASE_EXT_DECL
  795.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  796.   register struct DevProc *d1 __asm("d1") = dp;
  797.   __asm __volatile ("jsr a6@(-0x288)"
  798.   : /* no output */
  799.   : "r" (a6), "r" (d1)
  800.   : "a0","a1","d0","d1", "memory");
  801. }
  802. static __inline void 
  803. FreeDosEntry (BASE_PAR_DECL struct DosList *dlist)
  804. {
  805.   BASE_EXT_DECL
  806.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  807.   register struct DosList *d1 __asm("d1") = dlist;
  808.   __asm __volatile ("jsr a6@(-0x2be)"
  809.   : /* no output */
  810.   : "r" (a6), "r" (d1)
  811.   : "a0","a1","d0","d1", "memory");
  812. }
  813. static __inline void 
  814. FreeDosObject (BASE_PAR_DECL unsigned long type,APTR ptr)
  815. {
  816.   BASE_EXT_DECL
  817.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  818.   register unsigned long d1 __asm("d1") = type;
  819.   register APTR d2 __asm("d2") = ptr;
  820.   __asm __volatile ("jsr a6@(-0xea)"
  821.   : /* no output */
  822.   : "r" (a6), "r" (d1), "r" (d2)
  823.   : "a0","a1","d0","d1","d2", "memory");
  824. }
  825. static __inline STRPTR 
  826. GetArgStr (BASE_PAR_DECL0)
  827. {
  828.   BASE_EXT_DECL
  829.   register STRPTR  _res  __asm("d0");
  830.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  831.   __asm __volatile ("jsr a6@(-0x216)"
  832.   : "=r" (_res)
  833.   : "r" (a6)
  834.   : "a0","a1","d0","d1", "memory");
  835.   return _res;
  836. }
  837. static __inline struct MsgPort *
  838. GetConsoleTask (BASE_PAR_DECL0)
  839. {
  840.   BASE_EXT_DECL
  841.   register struct MsgPort * _res  __asm("d0");
  842.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  843.   __asm __volatile ("jsr a6@(-0x1fe)"
  844.   : "=r" (_res)
  845.   : "r" (a6)
  846.   : "a0","a1","d0","d1", "memory");
  847.   return _res;
  848. }
  849. static __inline BOOL 
  850. GetCurrentDirName (BASE_PAR_DECL STRPTR buf,long len)
  851. {
  852.   BASE_EXT_DECL
  853.   register BOOL  _res  __asm("d0");
  854.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  855.   register STRPTR d1 __asm("d1") = buf;
  856.   register long d2 __asm("d2") = len;
  857.   __asm __volatile ("jsr a6@(-0x234)"
  858.   : "=r" (_res)
  859.   : "r" (a6), "r" (d1), "r" (d2)
  860.   : "a0","a1","d0","d1","d2", "memory");
  861.   return _res;
  862. }
  863. static __inline struct DevProc *
  864. GetDeviceProc (BASE_PAR_DECL STRPTR name,struct DevProc *dp)
  865. {
  866.   BASE_EXT_DECL
  867.   register struct DevProc * _res  __asm("d0");
  868.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  869.   register STRPTR d1 __asm("d1") = name;
  870.   register struct DevProc *d2 __asm("d2") = dp;
  871.   __asm __volatile ("jsr a6@(-0x282)"
  872.   : "=r" (_res)
  873.   : "r" (a6), "r" (d1), "r" (d2)
  874.   : "a0","a1","d0","d1","d2", "memory");
  875.   return _res;
  876. }
  877. static __inline struct MsgPort *
  878. GetFileSysTask (BASE_PAR_DECL0)
  879. {
  880.   BASE_EXT_DECL
  881.   register struct MsgPort * _res  __asm("d0");
  882.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  883.   __asm __volatile ("jsr a6@(-0x20a)"
  884.   : "=r" (_res)
  885.   : "r" (a6)
  886.   : "a0","a1","d0","d1", "memory");
  887.   return _res;
  888. }
  889. static __inline BPTR 
  890. GetProgramDir (BASE_PAR_DECL0)
  891. {
  892.   BASE_EXT_DECL
  893.   register BPTR  _res  __asm("d0");
  894.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  895.   __asm __volatile ("jsr a6@(-0x258)"
  896.   : "=r" (_res)
  897.   : "r" (a6)
  898.   : "a0","a1","d0","d1", "memory");
  899.   return _res;
  900. }
  901. static __inline BOOL 
  902. GetProgramName (BASE_PAR_DECL STRPTR buf,long len)
  903. {
  904.   BASE_EXT_DECL
  905.   register BOOL  _res  __asm("d0");
  906.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  907.   register STRPTR d1 __asm("d1") = buf;
  908.   register long d2 __asm("d2") = len;
  909.   __asm __volatile ("jsr a6@(-0x240)"
  910.   : "=r" (_res)
  911.   : "r" (a6), "r" (d1), "r" (d2)
  912.   : "a0","a1","d0","d1","d2", "memory");
  913.   return _res;
  914. }
  915. static __inline BOOL 
  916. GetPrompt (BASE_PAR_DECL STRPTR buf,long len)
  917. {
  918.   BASE_EXT_DECL
  919.   register BOOL  _res  __asm("d0");
  920.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  921.   register STRPTR d1 __asm("d1") = buf;
  922.   register long d2 __asm("d2") = len;
  923.   __asm __volatile ("jsr a6@(-0x24c)"
  924.   : "=r" (_res)
  925.   : "r" (a6), "r" (d1), "r" (d2)
  926.   : "a0","a1","d0","d1","d2", "memory");
  927.   return _res;
  928. }
  929. static __inline LONG 
  930. GetVar (BASE_PAR_DECL STRPTR name,STRPTR buffer,long size,long flags)
  931. {
  932.   BASE_EXT_DECL
  933.   register LONG  _res  __asm("d0");
  934.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  935.   register STRPTR d1 __asm("d1") = name;
  936.   register STRPTR d2 __asm("d2") = buffer;
  937.   register long d3 __asm("d3") = size;
  938.   register long d4 __asm("d4") = flags;
  939.   __asm __volatile ("jsr a6@(-0x38a)"
  940.   : "=r" (_res)
  941.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  942.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  943.   return _res;
  944. }
  945. static __inline LONG 
  946. Info (BASE_PAR_DECL BPTR lock,struct InfoData *parameterBlock)
  947. {
  948.   BASE_EXT_DECL
  949.   register LONG  _res  __asm("d0");
  950.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  951.   register BPTR d1 __asm("d1") = lock;
  952.   register struct InfoData *d2 __asm("d2") = parameterBlock;
  953.   __asm __volatile ("jsr a6@(-0x72)"
  954.   : "=r" (_res)
  955.   : "r" (a6), "r" (d1), "r" (d2)
  956.   : "a0","a1","d0","d1","d2", "memory");
  957.   return _res;
  958. }
  959. static __inline LONG 
  960. Inhibit (BASE_PAR_DECL STRPTR name,long onoff)
  961. {
  962.   BASE_EXT_DECL
  963.   register LONG  _res  __asm("d0");
  964.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  965.   register STRPTR d1 __asm("d1") = name;
  966.   register long d2 __asm("d2") = onoff;
  967.   __asm __volatile ("jsr a6@(-0x2d6)"
  968.   : "=r" (_res)
  969.   : "r" (a6), "r" (d1), "r" (d2)
  970.   : "a0","a1","d0","d1","d2", "memory");
  971.   return _res;
  972. }
  973. static __inline BPTR 
  974. Input (BASE_PAR_DECL0)
  975. {
  976.   BASE_EXT_DECL
  977.   register BPTR  _res  __asm("d0");
  978.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  979.   __asm __volatile ("jsr a6@(-0x36)"
  980.   : "=r" (_res)
  981.   : "r" (a6)
  982.   : "a0","a1","d0","d1", "memory");
  983.   return _res;
  984. }
  985. static __inline BPTR 
  986. InternalLoadSeg (BASE_PAR_DECL BPTR fh,BPTR table,LONG *funcarray,LONG *stack)
  987. {
  988.   BASE_EXT_DECL
  989.   register BPTR  _res  __asm("d0");
  990.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  991.   register BPTR d0 __asm("d0") = fh;
  992.   register BPTR a0 __asm("a0") = table;
  993.   register LONG *a1 __asm("a1") = funcarray;
  994.   register LONG *a2 __asm("a2") = stack;
  995.   __asm __volatile ("jsr a6@(-0x2f4)"
  996.   : "=r" (_res)
  997.   : "r" (a6), "r" (d0), "r" (a0), "r" (a1), "r" (a2)
  998.   : "a0","a1","a2","d0","d1", "memory");
  999.   return _res;
  1000. }
  1001. static __inline void 
  1002. InternalUnLoadSeg (BASE_PAR_DECL BPTR seglist,void (*freefunc)())
  1003. {
  1004.   BASE_EXT_DECL
  1005.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1006.   register BPTR d1 __asm("d1") = seglist;
  1007.   register void (*a1)() __asm("a1") = freefunc;
  1008.   __asm __volatile ("jsr a6@(-0x2fa)"
  1009.   : /* no output */
  1010.   : "r" (a6), "r" (d1), "r" (a1)
  1011.   : "a0","a1","d0","d1", "memory");
  1012. }
  1013. static __inline LONG 
  1014. IoErr (BASE_PAR_DECL0)
  1015. {
  1016.   BASE_EXT_DECL
  1017.   register LONG  _res  __asm("d0");
  1018.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1019.   __asm __volatile ("jsr a6@(-0x84)"
  1020.   : "=r" (_res)
  1021.   : "r" (a6)
  1022.   : "a0","a1","d0","d1", "memory");
  1023.   return _res;
  1024. }
  1025. static __inline BOOL 
  1026. IsFileSystem (BASE_PAR_DECL STRPTR name)
  1027. {
  1028.   BASE_EXT_DECL
  1029.   register BOOL  _res  __asm("d0");
  1030.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1031.   register STRPTR d1 __asm("d1") = name;
  1032.   __asm __volatile ("jsr a6@(-0x2c4)"
  1033.   : "=r" (_res)
  1034.   : "r" (a6), "r" (d1)
  1035.   : "a0","a1","d0","d1", "memory");
  1036.   return _res;
  1037. }
  1038. static __inline LONG 
  1039. IsInteractive (BASE_PAR_DECL BPTR file)
  1040. {
  1041.   BASE_EXT_DECL
  1042.   register LONG  _res  __asm("d0");
  1043.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1044.   register BPTR d1 __asm("d1") = file;
  1045.   __asm __volatile ("jsr a6@(-0xd8)"
  1046.   : "=r" (_res)
  1047.   : "r" (a6), "r" (d1)
  1048.   : "a0","a1","d0","d1", "memory");
  1049.   return _res;
  1050. }
  1051. static __inline BPTR 
  1052. LoadSeg (BASE_PAR_DECL STRPTR name)
  1053. {
  1054.   BASE_EXT_DECL
  1055.   register BPTR  _res  __asm("d0");
  1056.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1057.   register STRPTR d1 __asm("d1") = name;
  1058.   __asm __volatile ("jsr a6@(-0x96)"
  1059.   : "=r" (_res)
  1060.   : "r" (a6), "r" (d1)
  1061.   : "a0","a1","d0","d1", "memory");
  1062.   return _res;
  1063. }
  1064. static __inline BPTR 
  1065. Lock (BASE_PAR_DECL STRPTR name,long type)
  1066. {
  1067.   BASE_EXT_DECL
  1068.   register BPTR  _res  __asm("d0");
  1069.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1070.   register STRPTR d1 __asm("d1") = name;
  1071.   register long d2 __asm("d2") = type;
  1072.   __asm __volatile ("jsr a6@(-0x54)"
  1073.   : "=r" (_res)
  1074.   : "r" (a6), "r" (d1), "r" (d2)
  1075.   : "a0","a1","d0","d1","d2", "memory");
  1076.   return _res;
  1077. }
  1078. static __inline struct DosList *
  1079. LockDosList (BASE_PAR_DECL unsigned long flags)
  1080. {
  1081.   BASE_EXT_DECL
  1082.   register struct DosList * _res  __asm("d0");
  1083.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1084.   register unsigned long d1 __asm("d1") = flags;
  1085.   __asm __volatile ("jsr a6@(-0x28e)"
  1086.   : "=r" (_res)
  1087.   : "r" (a6), "r" (d1)
  1088.   : "a0","a1","d0","d1", "memory");
  1089.   return _res;
  1090. }
  1091. static __inline BOOL 
  1092. LockRecord (BASE_PAR_DECL BPTR fh,unsigned long offset,unsigned long length,unsigned long mode,unsigned long timeout)
  1093. {
  1094.   BASE_EXT_DECL
  1095.   register BOOL  _res  __asm("d0");
  1096.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1097.   register BPTR d1 __asm("d1") = fh;
  1098.   register unsigned long d2 __asm("d2") = offset;
  1099.   register unsigned long d3 __asm("d3") = length;
  1100.   register unsigned long d4 __asm("d4") = mode;
  1101.   register unsigned long d5 __asm("d5") = timeout;
  1102.   __asm __volatile ("jsr a6@(-0x10e)"
  1103.   : "=r" (_res)
  1104.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1105.   : "a0","a1","d0","d1","d2","d3","d4","d5", "memory");
  1106.   return _res;
  1107. }
  1108. static __inline BOOL 
  1109. LockRecords (BASE_PAR_DECL struct RecordLock *recArray,unsigned long timeout)
  1110. {
  1111.   BASE_EXT_DECL
  1112.   register BOOL  _res  __asm("d0");
  1113.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1114.   register struct RecordLock *d1 __asm("d1") = recArray;
  1115.   register unsigned long d2 __asm("d2") = timeout;
  1116.   __asm __volatile ("jsr a6@(-0x114)"
  1117.   : "=r" (_res)
  1118.   : "r" (a6), "r" (d1), "r" (d2)
  1119.   : "a0","a1","d0","d1","d2", "memory");
  1120.   return _res;
  1121. }
  1122. static __inline struct DosList *
  1123. MakeDosEntry (BASE_PAR_DECL STRPTR name,long type)
  1124. {
  1125.   BASE_EXT_DECL
  1126.   register struct DosList * _res  __asm("d0");
  1127.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1128.   register STRPTR d1 __asm("d1") = name;
  1129.   register long d2 __asm("d2") = type;
  1130.   __asm __volatile ("jsr a6@(-0x2b8)"
  1131.   : "=r" (_res)
  1132.   : "r" (a6), "r" (d1), "r" (d2)
  1133.   : "a0","a1","d0","d1","d2", "memory");
  1134.   return _res;
  1135. }
  1136. static __inline LONG 
  1137. MakeLink (BASE_PAR_DECL STRPTR name,long dest,long soft)
  1138. {
  1139.   BASE_EXT_DECL
  1140.   register LONG  _res  __asm("d0");
  1141.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1142.   register STRPTR d1 __asm("d1") = name;
  1143.   register long d2 __asm("d2") = dest;
  1144.   register long d3 __asm("d3") = soft;
  1145.   __asm __volatile ("jsr a6@(-0x1bc)"
  1146.   : "=r" (_res)
  1147.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1148.   : "a0","a1","d0","d1","d2","d3", "memory");
  1149.   return _res;
  1150. }
  1151. static __inline void 
  1152. MatchEnd (BASE_PAR_DECL struct AnchorPath *anchor)
  1153. {
  1154.   BASE_EXT_DECL
  1155.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1156.   register struct AnchorPath *d1 __asm("d1") = anchor;
  1157.   __asm __volatile ("jsr a6@(-0x342)"
  1158.   : /* no output */
  1159.   : "r" (a6), "r" (d1)
  1160.   : "a0","a1","d0","d1", "memory");
  1161. }
  1162. static __inline LONG 
  1163. MatchFirst (BASE_PAR_DECL STRPTR pat,struct AnchorPath *anchor)
  1164. {
  1165.   BASE_EXT_DECL
  1166.   register LONG  _res  __asm("d0");
  1167.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1168.   register STRPTR d1 __asm("d1") = pat;
  1169.   register struct AnchorPath *d2 __asm("d2") = anchor;
  1170.   __asm __volatile ("jsr a6@(-0x336)"
  1171.   : "=r" (_res)
  1172.   : "r" (a6), "r" (d1), "r" (d2)
  1173.   : "a0","a1","d0","d1","d2", "memory");
  1174.   return _res;
  1175. }
  1176. static __inline LONG 
  1177. MatchNext (BASE_PAR_DECL struct AnchorPath *anchor)
  1178. {
  1179.   BASE_EXT_DECL
  1180.   register LONG  _res  __asm("d0");
  1181.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1182.   register struct AnchorPath *d1 __asm("d1") = anchor;
  1183.   __asm __volatile ("jsr a6@(-0x33c)"
  1184.   : "=r" (_res)
  1185.   : "r" (a6), "r" (d1)
  1186.   : "a0","a1","d0","d1", "memory");
  1187.   return _res;
  1188. }
  1189. static __inline BOOL 
  1190. MatchPattern (BASE_PAR_DECL STRPTR pat,STRPTR str)
  1191. {
  1192.   BASE_EXT_DECL
  1193.   register BOOL  _res  __asm("d0");
  1194.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1195.   register STRPTR d1 __asm("d1") = pat;
  1196.   register STRPTR d2 __asm("d2") = str;
  1197.   __asm __volatile ("jsr a6@(-0x34e)"
  1198.   : "=r" (_res)
  1199.   : "r" (a6), "r" (d1), "r" (d2)
  1200.   : "a0","a1","d0","d1","d2", "memory");
  1201.   return _res;
  1202. }
  1203. static __inline BOOL 
  1204. MatchPatternNoCase (BASE_PAR_DECL STRPTR pat,STRPTR str)
  1205. {
  1206.   BASE_EXT_DECL
  1207.   register BOOL  _res  __asm("d0");
  1208.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1209.   register STRPTR d1 __asm("d1") = pat;
  1210.   register STRPTR d2 __asm("d2") = str;
  1211.   __asm __volatile ("jsr a6@(-0x3cc)"
  1212.   : "=r" (_res)
  1213.   : "r" (a6), "r" (d1), "r" (d2)
  1214.   : "a0","a1","d0","d1","d2", "memory");
  1215.   return _res;
  1216. }
  1217. static __inline ULONG 
  1218. MaxCli (BASE_PAR_DECL0)
  1219. {
  1220.   BASE_EXT_DECL
  1221.   register ULONG  _res  __asm("d0");
  1222.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1223.   __asm __volatile ("jsr a6@(-0x228)"
  1224.   : "=r" (_res)
  1225.   : "r" (a6)
  1226.   : "a0","a1","d0","d1", "memory");
  1227.   return _res;
  1228. }
  1229. static __inline LONG 
  1230. NameFromFH (BASE_PAR_DECL BPTR fh,STRPTR buffer,long len)
  1231. {
  1232.   BASE_EXT_DECL
  1233.   register LONG  _res  __asm("d0");
  1234.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1235.   register BPTR d1 __asm("d1") = fh;
  1236.   register STRPTR d2 __asm("d2") = buffer;
  1237.   register long d3 __asm("d3") = len;
  1238.   __asm __volatile ("jsr a6@(-0x198)"
  1239.   : "=r" (_res)
  1240.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1241.   : "a0","a1","d0","d1","d2","d3", "memory");
  1242.   return _res;
  1243. }
  1244. static __inline LONG 
  1245. NameFromLock (BASE_PAR_DECL BPTR lock,STRPTR buffer,long len)
  1246. {
  1247.   BASE_EXT_DECL
  1248.   register LONG  _res  __asm("d0");
  1249.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1250.   register BPTR d1 __asm("d1") = lock;
  1251.   register STRPTR d2 __asm("d2") = buffer;
  1252.   register long d3 __asm("d3") = len;
  1253.   __asm __volatile ("jsr a6@(-0x192)"
  1254.   : "=r" (_res)
  1255.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1256.   : "a0","a1","d0","d1","d2","d3", "memory");
  1257.   return _res;
  1258. }
  1259. static __inline BPTR 
  1260. NewLoadSeg (BASE_PAR_DECL STRPTR file,struct TagItem *tags)
  1261. {
  1262.   BASE_EXT_DECL
  1263.   register BPTR  _res  __asm("d0");
  1264.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1265.   register STRPTR d1 __asm("d1") = file;
  1266.   register struct TagItem *d2 __asm("d2") = tags;
  1267.   __asm __volatile ("jsr a6@(-0x300)"
  1268.   : "=r" (_res)
  1269.   : "r" (a6), "r" (d1), "r" (d2)
  1270.   : "a0","a1","d0","d1","d2", "memory");
  1271.   return _res;
  1272. }
  1273. #ifndef NO_INLINE_STDARG
  1274. #define NewLoadSegTags(a0, tags...) \
  1275.   ({ struct TagItem _tags[] = { tags }; NewLoadSeg ((a0), _tags); })
  1276. #endif /* not NO_INLINE_STDARG */
  1277. #define NewLoadSegTagList(a0, a1) NewLoadSeg ((a0), (a1))
  1278. static __inline struct DosList *
  1279. NextDosEntry (BASE_PAR_DECL struct DosList *dlist,unsigned long flags)
  1280. {
  1281.   BASE_EXT_DECL
  1282.   register struct DosList * _res  __asm("d0");
  1283.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1284.   register struct DosList *d1 __asm("d1") = dlist;
  1285.   register unsigned long d2 __asm("d2") = flags;
  1286.   __asm __volatile ("jsr a6@(-0x2b2)"
  1287.   : "=r" (_res)
  1288.   : "r" (a6), "r" (d1), "r" (d2)
  1289.   : "a0","a1","d0","d1","d2", "memory");
  1290.   return _res;
  1291. }
  1292. static __inline BPTR 
  1293. Open (BASE_PAR_DECL STRPTR name,long accessMode)
  1294. {
  1295.   BASE_EXT_DECL
  1296.   register BPTR  _res  __asm("d0");
  1297.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1298.   register STRPTR d1 __asm("d1") = name;
  1299.   register long d2 __asm("d2") = accessMode;
  1300.   __asm __volatile ("jsr a6@(-0x1e)"
  1301.   : "=r" (_res)
  1302.   : "r" (a6), "r" (d1), "r" (d2)
  1303.   : "a0","a1","d0","d1","d2", "memory");
  1304.   return _res;
  1305. }
  1306. static __inline BPTR 
  1307. OpenFromLock (BASE_PAR_DECL BPTR lock)
  1308. {
  1309.   BASE_EXT_DECL
  1310.   register BPTR  _res  __asm("d0");
  1311.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1312.   register BPTR d1 __asm("d1") = lock;
  1313.   __asm __volatile ("jsr a6@(-0x17a)"
  1314.   : "=r" (_res)
  1315.   : "r" (a6), "r" (d1)
  1316.   : "a0","a1","d0","d1", "memory");
  1317.   return _res;
  1318. }
  1319. static __inline BPTR 
  1320. Output (BASE_PAR_DECL0)
  1321. {
  1322.   BASE_EXT_DECL
  1323.   register BPTR  _res  __asm("d0");
  1324.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1325.   __asm __volatile ("jsr a6@(-0x3c)"
  1326.   : "=r" (_res)
  1327.   : "r" (a6)
  1328.   : "a0","a1","d0","d1", "memory");
  1329.   return _res;
  1330. }
  1331. static __inline BPTR 
  1332. ParentDir (BASE_PAR_DECL BPTR lock)
  1333. {
  1334.   BASE_EXT_DECL
  1335.   register BPTR  _res  __asm("d0");
  1336.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1337.   register BPTR d1 __asm("d1") = lock;
  1338.   __asm __volatile ("jsr a6@(-0xd2)"
  1339.   : "=r" (_res)
  1340.   : "r" (a6), "r" (d1)
  1341.   : "a0","a1","d0","d1", "memory");
  1342.   return _res;
  1343. }
  1344. static __inline BPTR 
  1345. ParentOfFH (BASE_PAR_DECL BPTR fh)
  1346. {
  1347.   BASE_EXT_DECL
  1348.   register BPTR  _res  __asm("d0");
  1349.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1350.   register BPTR d1 __asm("d1") = fh;
  1351.   __asm __volatile ("jsr a6@(-0x180)"
  1352.   : "=r" (_res)
  1353.   : "r" (a6), "r" (d1)
  1354.   : "a0","a1","d0","d1", "memory");
  1355.   return _res;
  1356. }
  1357. static __inline LONG 
  1358. ParsePattern (BASE_PAR_DECL STRPTR pat,STRPTR buf,long buflen)
  1359. {
  1360.   BASE_EXT_DECL
  1361.   register LONG  _res  __asm("d0");
  1362.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1363.   register STRPTR d1 __asm("d1") = pat;
  1364.   register STRPTR d2 __asm("d2") = buf;
  1365.   register long d3 __asm("d3") = buflen;
  1366.   __asm __volatile ("jsr a6@(-0x348)"
  1367.   : "=r" (_res)
  1368.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1369.   : "a0","a1","d0","d1","d2","d3", "memory");
  1370.   return _res;
  1371. }
  1372. static __inline LONG 
  1373. ParsePatternNoCase (BASE_PAR_DECL STRPTR pat,STRPTR buf,long buflen)
  1374. {
  1375.   BASE_EXT_DECL
  1376.   register LONG  _res  __asm("d0");
  1377.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1378.   register STRPTR d1 __asm("d1") = pat;
  1379.   register STRPTR d2 __asm("d2") = buf;
  1380.   register long d3 __asm("d3") = buflen;
  1381.   __asm __volatile ("jsr a6@(-0x3c6)"
  1382.   : "=r" (_res)
  1383.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1384.   : "a0","a1","d0","d1","d2","d3", "memory");
  1385.   return _res;
  1386. }
  1387. static __inline STRPTR 
  1388. PathPart (BASE_PAR_DECL STRPTR path)
  1389. {
  1390.   BASE_EXT_DECL
  1391.   register STRPTR  _res  __asm("d0");
  1392.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1393.   register STRPTR d1 __asm("d1") = path;
  1394.   __asm __volatile ("jsr a6@(-0x36c)"
  1395.   : "=r" (_res)
  1396.   : "r" (a6), "r" (d1)
  1397.   : "a0","a1","d0","d1", "memory");
  1398.   return _res;
  1399. }
  1400. static __inline BOOL 
  1401. PrintFault (BASE_PAR_DECL long code,STRPTR header)
  1402. {
  1403.   BASE_EXT_DECL
  1404.   register BOOL  _res  __asm("d0");
  1405.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1406.   register long d1 __asm("d1") = code;
  1407.   register STRPTR d2 __asm("d2") = header;
  1408.   __asm __volatile ("jsr a6@(-0x1da)"
  1409.   : "=r" (_res)
  1410.   : "r" (a6), "r" (d1), "r" (d2)
  1411.   : "a0","a1","d0","d1","d2", "memory");
  1412.   return _res;
  1413. }
  1414. static __inline LONG 
  1415. PutStr (BASE_PAR_DECL STRPTR str)
  1416. {
  1417.   BASE_EXT_DECL
  1418.   register LONG  _res  __asm("d0");
  1419.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1420.   register STRPTR d1 __asm("d1") = str;
  1421.   __asm __volatile ("jsr a6@(-0x3b4)"
  1422.   : "=r" (_res)
  1423.   : "r" (a6), "r" (d1)
  1424.   : "a0","a1","d0","d1", "memory");
  1425.   return _res;
  1426. }
  1427. static __inline LONG 
  1428. Read (BASE_PAR_DECL BPTR file,APTR buffer,long length)
  1429. {
  1430.   BASE_EXT_DECL
  1431.   register LONG  _res  __asm("d0");
  1432.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1433.   register BPTR d1 __asm("d1") = file;
  1434.   register APTR d2 __asm("d2") = buffer;
  1435.   register long d3 __asm("d3") = length;
  1436.   __asm __volatile ("jsr a6@(-0x2a)"
  1437.   : "=r" (_res)
  1438.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1439.   : "a0","a1","d0","d1","d2","d3", "memory");
  1440.   return _res;
  1441. }
  1442. static __inline struct RDArgs *
  1443. ReadArgs (BASE_PAR_DECL STRPTR template,LONG *array,struct RDArgs *args)
  1444. {
  1445.   BASE_EXT_DECL
  1446.   register struct RDArgs * _res  __asm("d0");
  1447.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1448.   register STRPTR d1 __asm("d1") = template;
  1449.   register LONG *d2 __asm("d2") = array;
  1450.   register struct RDArgs *d3 __asm("d3") = args;
  1451.   __asm __volatile ("jsr a6@(-0x31e)"
  1452.   : "=r" (_res)
  1453.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1454.   : "a0","a1","d0","d1","d2","d3", "memory");
  1455.   return _res;
  1456. }
  1457. static __inline LONG 
  1458. ReadItem (BASE_PAR_DECL STRPTR name,long maxchars,struct CSource *cSource)
  1459. {
  1460.   BASE_EXT_DECL
  1461.   register LONG  _res  __asm("d0");
  1462.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1463.   register STRPTR d1 __asm("d1") = name;
  1464.   register long d2 __asm("d2") = maxchars;
  1465.   register struct CSource *d3 __asm("d3") = cSource;
  1466.   __asm __volatile ("jsr a6@(-0x32a)"
  1467.   : "=r" (_res)
  1468.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1469.   : "a0","a1","d0","d1","d2","d3", "memory");
  1470.   return _res;
  1471. }
  1472. static __inline LONG 
  1473. ReadLink (BASE_PAR_DECL struct MsgPort *port,BPTR lock,STRPTR path,STRPTR buffer,unsigned long size)
  1474. {
  1475.   BASE_EXT_DECL
  1476.   register LONG  _res  __asm("d0");
  1477.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1478.   register struct MsgPort *d1 __asm("d1") = port;
  1479.   register BPTR d2 __asm("d2") = lock;
  1480.   register STRPTR d3 __asm("d3") = path;
  1481.   register STRPTR d4 __asm("d4") = buffer;
  1482.   register unsigned long d5 __asm("d5") = size;
  1483.   __asm __volatile ("jsr a6@(-0x1b6)"
  1484.   : "=r" (_res)
  1485.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1486.   : "a0","a1","d0","d1","d2","d3","d4","d5", "memory");
  1487.   return _res;
  1488. }
  1489. static __inline LONG 
  1490. Relabel (BASE_PAR_DECL STRPTR drive,STRPTR newname)
  1491. {
  1492.   BASE_EXT_DECL
  1493.   register LONG  _res  __asm("d0");
  1494.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1495.   register STRPTR d1 __asm("d1") = drive;
  1496.   register STRPTR d2 __asm("d2") = newname;
  1497.   __asm __volatile ("jsr a6@(-0x2d0)"
  1498.   : "=r" (_res)
  1499.   : "r" (a6), "r" (d1), "r" (d2)
  1500.   : "a0","a1","d0","d1","d2", "memory");
  1501.   return _res;
  1502. }
  1503. static __inline LONG 
  1504. RemAssignList (BASE_PAR_DECL STRPTR name,BPTR lock)
  1505. {
  1506.   BASE_EXT_DECL
  1507.   register LONG  _res  __asm("d0");
  1508.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1509.   register STRPTR d1 __asm("d1") = name;
  1510.   register BPTR d2 __asm("d2") = lock;
  1511.   __asm __volatile ("jsr a6@(-0x27c)"
  1512.   : "=r" (_res)
  1513.   : "r" (a6), "r" (d1), "r" (d2)
  1514.   : "a0","a1","d0","d1","d2", "memory");
  1515.   return _res;
  1516. }
  1517. static __inline BOOL 
  1518. RemDosEntry (BASE_PAR_DECL struct DosList *dlist)
  1519. {
  1520.   BASE_EXT_DECL
  1521.   register BOOL  _res  __asm("d0");
  1522.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1523.   register struct DosList *d1 __asm("d1") = dlist;
  1524.   __asm __volatile ("jsr a6@(-0x2a0)"
  1525.   : "=r" (_res)
  1526.   : "r" (a6), "r" (d1)
  1527.   : "a0","a1","d0","d1", "memory");
  1528.   return _res;
  1529. }
  1530. static __inline LONG 
  1531. RemSegment (BASE_PAR_DECL struct Segment *seg)
  1532. {
  1533.   BASE_EXT_DECL
  1534.   register LONG  _res  __asm("d0");
  1535.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1536.   register struct Segment *d1 __asm("d1") = seg;
  1537.   __asm __volatile ("jsr a6@(-0x312)"
  1538.   : "=r" (_res)
  1539.   : "r" (a6), "r" (d1)
  1540.   : "a0","a1","d0","d1", "memory");
  1541.   return _res;
  1542. }
  1543. static __inline LONG 
  1544. Rename (BASE_PAR_DECL STRPTR oldName,STRPTR newName)
  1545. {
  1546.   BASE_EXT_DECL
  1547.   register LONG  _res  __asm("d0");
  1548.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1549.   register STRPTR d1 __asm("d1") = oldName;
  1550.   register STRPTR d2 __asm("d2") = newName;
  1551.   __asm __volatile ("jsr a6@(-0x4e)"
  1552.   : "=r" (_res)
  1553.   : "r" (a6), "r" (d1), "r" (d2)
  1554.   : "a0","a1","d0","d1","d2", "memory");
  1555.   return _res;
  1556. }
  1557. static __inline void 
  1558. ReplyPkt (BASE_PAR_DECL struct DosPacket *dp,long res1,long res2)
  1559. {
  1560.   BASE_EXT_DECL
  1561.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1562.   register struct DosPacket *d1 __asm("d1") = dp;
  1563.   register long d2 __asm("d2") = res1;
  1564.   register long d3 __asm("d3") = res2;
  1565.   __asm __volatile ("jsr a6@(-0x102)"
  1566.   : /* no output */
  1567.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1568.   : "a0","a1","d0","d1","d2","d3", "memory");
  1569. }
  1570. static __inline LONG 
  1571. RunCommand (BASE_PAR_DECL BPTR seg,long stack,STRPTR paramptr,long paramlen)
  1572. {
  1573.   BASE_EXT_DECL
  1574.   register LONG  _res  __asm("d0");
  1575.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1576.   register BPTR d1 __asm("d1") = seg;
  1577.   register long d2 __asm("d2") = stack;
  1578.   register STRPTR d3 __asm("d3") = paramptr;
  1579.   register long d4 __asm("d4") = paramlen;
  1580.   __asm __volatile ("jsr a6@(-0x1f8)"
  1581.   : "=r" (_res)
  1582.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1583.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  1584.   return _res;
  1585. }
  1586. static __inline BOOL 
  1587. SameDevice (BASE_PAR_DECL BPTR lock1,BPTR lock2)
  1588. {
  1589.   BASE_EXT_DECL
  1590.   register BOOL  _res  __asm("d0");
  1591.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1592.   register BPTR d1 __asm("d1") = lock1;
  1593.   register BPTR d2 __asm("d2") = lock2;
  1594.   __asm __volatile ("jsr a6@(-0x3d8)"
  1595.   : "=r" (_res)
  1596.   : "r" (a6), "r" (d1), "r" (d2)
  1597.   : "a0","a1","d0","d1","d2", "memory");
  1598.   return _res;
  1599. }
  1600. static __inline LONG 
  1601. SameLock (BASE_PAR_DECL BPTR lock1,BPTR lock2)
  1602. {
  1603.   BASE_EXT_DECL
  1604.   register LONG  _res  __asm("d0");
  1605.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1606.   register BPTR d1 __asm("d1") = lock1;
  1607.   register BPTR d2 __asm("d2") = lock2;
  1608.   __asm __volatile ("jsr a6@(-0x1a4)"
  1609.   : "=r" (_res)
  1610.   : "r" (a6), "r" (d1), "r" (d2)
  1611.   : "a0","a1","d0","d1","d2", "memory");
  1612.   return _res;
  1613. }
  1614. static __inline LONG 
  1615. Seek (BASE_PAR_DECL BPTR file,long position,long offset)
  1616. {
  1617.   BASE_EXT_DECL
  1618.   register LONG  _res  __asm("d0");
  1619.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1620.   register BPTR d1 __asm("d1") = file;
  1621.   register long d2 __asm("d2") = position;
  1622.   register long d3 __asm("d3") = offset;
  1623.   __asm __volatile ("jsr a6@(-0x42)"
  1624.   : "=r" (_res)
  1625.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1626.   : "a0","a1","d0","d1","d2","d3", "memory");
  1627.   return _res;
  1628. }
  1629. static __inline BPTR 
  1630. SelectInput (BASE_PAR_DECL BPTR fh)
  1631. {
  1632.   BASE_EXT_DECL
  1633.   register BPTR  _res  __asm("d0");
  1634.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1635.   register BPTR d1 __asm("d1") = fh;
  1636.   __asm __volatile ("jsr a6@(-0x126)"
  1637.   : "=r" (_res)
  1638.   : "r" (a6), "r" (d1)
  1639.   : "a0","a1","d0","d1", "memory");
  1640.   return _res;
  1641. }
  1642. static __inline BPTR 
  1643. SelectOutput (BASE_PAR_DECL BPTR fh)
  1644. {
  1645.   BASE_EXT_DECL
  1646.   register BPTR  _res  __asm("d0");
  1647.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1648.   register BPTR d1 __asm("d1") = fh;
  1649.   __asm __volatile ("jsr a6@(-0x12c)"
  1650.   : "=r" (_res)
  1651.   : "r" (a6), "r" (d1)
  1652.   : "a0","a1","d0","d1", "memory");
  1653.   return _res;
  1654. }
  1655. static __inline void 
  1656. SendPkt (BASE_PAR_DECL struct DosPacket *dp,struct MsgPort *port,struct MsgPort *replyport)
  1657. {
  1658.   BASE_EXT_DECL
  1659.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1660.   register struct DosPacket *d1 __asm("d1") = dp;
  1661.   register struct MsgPort *d2 __asm("d2") = port;
  1662.   register struct MsgPort *d3 __asm("d3") = replyport;
  1663.   __asm __volatile ("jsr a6@(-0xf6)"
  1664.   : /* no output */
  1665.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1666.   : "a0","a1","d0","d1","d2","d3", "memory");
  1667. }
  1668. static __inline BOOL 
  1669. SetArgStr (BASE_PAR_DECL STRPTR string)
  1670. {
  1671.   BASE_EXT_DECL
  1672.   register BOOL  _res  __asm("d0");
  1673.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1674.   register STRPTR d1 __asm("d1") = string;
  1675.   __asm __volatile ("jsr a6@(-0x21c)"
  1676.   : "=r" (_res)
  1677.   : "r" (a6), "r" (d1)
  1678.   : "a0","a1","d0","d1", "memory");
  1679.   return _res;
  1680. }
  1681. static __inline LONG 
  1682. SetComment (BASE_PAR_DECL STRPTR name,STRPTR comment)
  1683. {
  1684.   BASE_EXT_DECL
  1685.   register LONG  _res  __asm("d0");
  1686.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1687.   register STRPTR d1 __asm("d1") = name;
  1688.   register STRPTR d2 __asm("d2") = comment;
  1689.   __asm __volatile ("jsr a6@(-0xb4)"
  1690.   : "=r" (_res)
  1691.   : "r" (a6), "r" (d1), "r" (d2)
  1692.   : "a0","a1","d0","d1","d2", "memory");
  1693.   return _res;
  1694. }
  1695. static __inline struct MsgPort *
  1696. SetConsoleTask (BASE_PAR_DECL struct MsgPort *task)
  1697. {
  1698.   BASE_EXT_DECL
  1699.   register struct MsgPort * _res  __asm("d0");
  1700.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1701.   register struct MsgPort *d1 __asm("d1") = task;
  1702.   __asm __volatile ("jsr a6@(-0x204)"
  1703.   : "=r" (_res)
  1704.   : "r" (a6), "r" (d1)
  1705.   : "a0","a1","d0","d1", "memory");
  1706.   return _res;
  1707. }
  1708. static __inline BOOL 
  1709. SetCurrentDirName (BASE_PAR_DECL STRPTR name)
  1710. {
  1711.   BASE_EXT_DECL
  1712.   register BOOL  _res  __asm("d0");
  1713.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1714.   register STRPTR d1 __asm("d1") = name;
  1715.   __asm __volatile ("jsr a6@(-0x22e)"
  1716.   : "=r" (_res)
  1717.   : "r" (a6), "r" (d1)
  1718.   : "a0","a1","d0","d1", "memory");
  1719.   return _res;
  1720. }
  1721. static __inline LONG 
  1722. SetFileDate (BASE_PAR_DECL STRPTR name,struct DateStamp *date)
  1723. {
  1724.   BASE_EXT_DECL
  1725.   register LONG  _res  __asm("d0");
  1726.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1727.   register STRPTR d1 __asm("d1") = name;
  1728.   register struct DateStamp *d2 __asm("d2") = date;
  1729.   __asm __volatile ("jsr a6@(-0x18c)"
  1730.   : "=r" (_res)
  1731.   : "r" (a6), "r" (d1), "r" (d2)
  1732.   : "a0","a1","d0","d1","d2", "memory");
  1733.   return _res;
  1734. }
  1735. static __inline LONG 
  1736. SetFileSize (BASE_PAR_DECL BPTR fh,long pos,long mode)
  1737. {
  1738.   BASE_EXT_DECL
  1739.   register LONG  _res  __asm("d0");
  1740.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1741.   register BPTR d1 __asm("d1") = fh;
  1742.   register long d2 __asm("d2") = pos;
  1743.   register long d3 __asm("d3") = mode;
  1744.   __asm __volatile ("jsr a6@(-0x1c8)"
  1745.   : "=r" (_res)
  1746.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  1747.   : "a0","a1","d0","d1","d2","d3", "memory");
  1748.   return _res;
  1749. }
  1750. static __inline struct MsgPort *
  1751. SetFileSysTask (BASE_PAR_DECL struct MsgPort *task)
  1752. {
  1753.   BASE_EXT_DECL
  1754.   register struct MsgPort * _res  __asm("d0");
  1755.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1756.   register struct MsgPort *d1 __asm("d1") = task;
  1757.   __asm __volatile ("jsr a6@(-0x210)"
  1758.   : "=r" (_res)
  1759.   : "r" (a6), "r" (d1)
  1760.   : "a0","a1","d0","d1", "memory");
  1761.   return _res;
  1762. }
  1763. static __inline LONG 
  1764. SetIoErr (BASE_PAR_DECL long result)
  1765. {
  1766.   BASE_EXT_DECL
  1767.   register LONG  _res  __asm("d0");
  1768.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1769.   register long d1 __asm("d1") = result;
  1770.   __asm __volatile ("jsr a6@(-0x1ce)"
  1771.   : "=r" (_res)
  1772.   : "r" (a6), "r" (d1)
  1773.   : "a0","a1","d0","d1", "memory");
  1774.   return _res;
  1775. }
  1776. static __inline LONG 
  1777. SetMode (BASE_PAR_DECL BPTR fh,long mode)
  1778. {
  1779.   BASE_EXT_DECL
  1780.   register LONG  _res  __asm("d0");
  1781.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1782.   register BPTR d1 __asm("d1") = fh;
  1783.   register long d2 __asm("d2") = mode;
  1784.   __asm __volatile ("jsr a6@(-0x1aa)"
  1785.   : "=r" (_res)
  1786.   : "r" (a6), "r" (d1), "r" (d2)
  1787.   : "a0","a1","d0","d1","d2", "memory");
  1788.   return _res;
  1789. }
  1790. static __inline BPTR 
  1791. SetProgramDir (BASE_PAR_DECL BPTR lock)
  1792. {
  1793.   BASE_EXT_DECL
  1794.   register BPTR  _res  __asm("d0");
  1795.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1796.   register BPTR d1 __asm("d1") = lock;
  1797.   __asm __volatile ("jsr a6@(-0x252)"
  1798.   : "=r" (_res)
  1799.   : "r" (a6), "r" (d1)
  1800.   : "a0","a1","d0","d1", "memory");
  1801.   return _res;
  1802. }
  1803. static __inline BOOL 
  1804. SetProgramName (BASE_PAR_DECL STRPTR name)
  1805. {
  1806.   BASE_EXT_DECL
  1807.   register BOOL  _res  __asm("d0");
  1808.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1809.   register STRPTR d1 __asm("d1") = name;
  1810.   __asm __volatile ("jsr a6@(-0x23a)"
  1811.   : "=r" (_res)
  1812.   : "r" (a6), "r" (d1)
  1813.   : "a0","a1","d0","d1", "memory");
  1814.   return _res;
  1815. }
  1816. static __inline BOOL 
  1817. SetPrompt (BASE_PAR_DECL STRPTR name)
  1818. {
  1819.   BASE_EXT_DECL
  1820.   register BOOL  _res  __asm("d0");
  1821.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1822.   register STRPTR d1 __asm("d1") = name;
  1823.   __asm __volatile ("jsr a6@(-0x246)"
  1824.   : "=r" (_res)
  1825.   : "r" (a6), "r" (d1)
  1826.   : "a0","a1","d0","d1", "memory");
  1827.   return _res;
  1828. }
  1829. static __inline LONG 
  1830. SetProtection (BASE_PAR_DECL STRPTR name,long protect)
  1831. {
  1832.   BASE_EXT_DECL
  1833.   register LONG  _res  __asm("d0");
  1834.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1835.   register STRPTR d1 __asm("d1") = name;
  1836.   register long d2 __asm("d2") = protect;
  1837.   __asm __volatile ("jsr a6@(-0xba)"
  1838.   : "=r" (_res)
  1839.   : "r" (a6), "r" (d1), "r" (d2)
  1840.   : "a0","a1","d0","d1","d2", "memory");
  1841.   return _res;
  1842. }
  1843. static __inline LONG 
  1844. SetVBuf (BASE_PAR_DECL BPTR fh,STRPTR buff,long type,long size)
  1845. {
  1846.   BASE_EXT_DECL
  1847.   register LONG  _res  __asm("d0");
  1848.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1849.   register BPTR d1 __asm("d1") = fh;
  1850.   register STRPTR d2 __asm("d2") = buff;
  1851.   register long d3 __asm("d3") = type;
  1852.   register long d4 __asm("d4") = size;
  1853.   __asm __volatile ("jsr a6@(-0x16e)"
  1854.   : "=r" (_res)
  1855.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1856.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  1857.   return _res;
  1858. }
  1859. static __inline BOOL 
  1860. SetVar (BASE_PAR_DECL STRPTR name,STRPTR buffer,long size,long flags)
  1861. {
  1862.   BASE_EXT_DECL
  1863.   register BOOL  _res  __asm("d0");
  1864.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1865.   register STRPTR d1 __asm("d1") = name;
  1866.   register STRPTR d2 __asm("d2") = buffer;
  1867.   register long d3 __asm("d3") = size;
  1868.   register long d4 __asm("d4") = flags;
  1869.   __asm __volatile ("jsr a6@(-0x384)"
  1870.   : "=r" (_res)
  1871.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4)
  1872.   : "a0","a1","d0","d1","d2","d3","d4", "memory");
  1873.   return _res;
  1874. }
  1875. static __inline WORD 
  1876. SplitName (BASE_PAR_DECL STRPTR name,unsigned long seperator,STRPTR buf,long oldpos,long size)
  1877. {
  1878.   BASE_EXT_DECL
  1879.   register WORD  _res  __asm("d0");
  1880.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1881.   register STRPTR d1 __asm("d1") = name;
  1882.   register unsigned long d2 __asm("d2") = seperator;
  1883.   register STRPTR d3 __asm("d3") = buf;
  1884.   register long d4 __asm("d4") = oldpos;
  1885.   register long d5 __asm("d5") = size;
  1886.   __asm __volatile ("jsr a6@(-0x19e)"
  1887.   : "=r" (_res)
  1888.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3), "r" (d4), "r" (d5)
  1889.   : "a0","a1","d0","d1","d2","d3","d4","d5", "memory");
  1890.   return _res;
  1891. }
  1892. static __inline BOOL 
  1893. StartNotify (BASE_PAR_DECL struct NotifyRequest *notify)
  1894. {
  1895.   BASE_EXT_DECL
  1896.   register BOOL  _res  __asm("d0");
  1897.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1898.   register struct NotifyRequest *d1 __asm("d1") = notify;
  1899.   __asm __volatile ("jsr a6@(-0x378)"
  1900.   : "=r" (_res)
  1901.   : "r" (a6), "r" (d1)
  1902.   : "a0","a1","d0","d1", "memory");
  1903.   return _res;
  1904. }
  1905. static __inline LONG 
  1906. StrToDate (BASE_PAR_DECL struct DateTime *datetime)
  1907. {
  1908.   BASE_EXT_DECL
  1909.   register LONG  _res  __asm("d0");
  1910.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1911.   register struct DateTime *d1 __asm("d1") = datetime;
  1912.   __asm __volatile ("jsr a6@(-0x2ee)"
  1913.   : "=r" (_res)
  1914.   : "r" (a6), "r" (d1)
  1915.   : "a0","a1","d0","d1", "memory");
  1916.   return _res;
  1917. }
  1918. static __inline LONG 
  1919. StrToLong (BASE_PAR_DECL STRPTR string,LONG *value)
  1920. {
  1921.   BASE_EXT_DECL
  1922.   register LONG  _res  __asm("d0");
  1923.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1924.   register STRPTR d1 __asm("d1") = string;
  1925.   register LONG *d2 __asm("d2") = value;
  1926.   __asm __volatile ("jsr a6@(-0x330)"
  1927.   : "=r" (_res)
  1928.   : "r" (a6), "r" (d1), "r" (d2)
  1929.   : "a0","a1","d0","d1","d2", "memory");
  1930.   return _res;
  1931. }
  1932. static __inline LONG 
  1933. SystemTagList (BASE_PAR_DECL STRPTR command,struct TagItem *tags)
  1934. {
  1935.   BASE_EXT_DECL
  1936.   register LONG  _res  __asm("d0");
  1937.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1938.   register STRPTR d1 __asm("d1") = command;
  1939.   register struct TagItem *d2 __asm("d2") = tags;
  1940.   __asm __volatile ("jsr a6@(-0x25e)"
  1941.   : "=r" (_res)
  1942.   : "r" (a6), "r" (d1), "r" (d2)
  1943.   : "a0","a1","d0","d1","d2", "memory");
  1944.   return _res;
  1945. }
  1946. #ifndef NO_INLINE_STDARG
  1947. #define SystemTags(a0, tags...) \
  1948.   ({ struct TagItem _tags[] = { tags }; SystemTagList ((a0), _tags); })
  1949. #endif /* not NO_INLINE_STDARG */
  1950. #define System(a0, a1) SystemTagList ((a0), (a1))
  1951. static __inline LONG 
  1952. UnGetC (BASE_PAR_DECL BPTR fh,long character)
  1953. {
  1954.   BASE_EXT_DECL
  1955.   register LONG  _res  __asm("d0");
  1956.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1957.   register BPTR d1 __asm("d1") = fh;
  1958.   register long d2 __asm("d2") = character;
  1959.   __asm __volatile ("jsr a6@(-0x13e)"
  1960.   : "=r" (_res)
  1961.   : "r" (a6), "r" (d1), "r" (d2)
  1962.   : "a0","a1","d0","d1","d2", "memory");
  1963.   return _res;
  1964. }
  1965. static __inline void 
  1966. UnLoadSeg (BASE_PAR_DECL BPTR seglist)
  1967. {
  1968.   BASE_EXT_DECL
  1969.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1970.   register BPTR d1 __asm("d1") = seglist;
  1971.   __asm __volatile ("jsr a6@(-0x9c)"
  1972.   : /* no output */
  1973.   : "r" (a6), "r" (d1)
  1974.   : "a0","a1","d0","d1", "memory");
  1975. }
  1976. static __inline void 
  1977. UnLock (BASE_PAR_DECL BPTR lock)
  1978. {
  1979.   BASE_EXT_DECL
  1980.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1981.   register BPTR d1 __asm("d1") = lock;
  1982.   __asm __volatile ("jsr a6@(-0x5a)"
  1983.   : /* no output */
  1984.   : "r" (a6), "r" (d1)
  1985.   : "a0","a1","d0","d1", "memory");
  1986. }
  1987. static __inline void 
  1988. UnLockDosList (BASE_PAR_DECL unsigned long flags)
  1989. {
  1990.   BASE_EXT_DECL
  1991.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  1992.   register unsigned long d1 __asm("d1") = flags;
  1993.   __asm __volatile ("jsr a6@(-0x294)"
  1994.   : /* no output */
  1995.   : "r" (a6), "r" (d1)
  1996.   : "a0","a1","d0","d1", "memory");
  1997. }
  1998. static __inline BOOL 
  1999. UnLockRecord (BASE_PAR_DECL BPTR fh,unsigned long offset,unsigned long length)
  2000. {
  2001.   BASE_EXT_DECL
  2002.   register BOOL  _res  __asm("d0");
  2003.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2004.   register BPTR d1 __asm("d1") = fh;
  2005.   register unsigned long d2 __asm("d2") = offset;
  2006.   register unsigned long d3 __asm("d3") = length;
  2007.   __asm __volatile ("jsr a6@(-0x11a)"
  2008.   : "=r" (_res)
  2009.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2010.   : "a0","a1","d0","d1","d2","d3", "memory");
  2011.   return _res;
  2012. }
  2013. static __inline BOOL 
  2014. UnLockRecords (BASE_PAR_DECL struct RecordLock *recArray)
  2015. {
  2016.   BASE_EXT_DECL
  2017.   register BOOL  _res  __asm("d0");
  2018.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2019.   register struct RecordLock *d1 __asm("d1") = recArray;
  2020.   __asm __volatile ("jsr a6@(-0x120)"
  2021.   : "=r" (_res)
  2022.   : "r" (a6), "r" (d1)
  2023.   : "a0","a1","d0","d1", "memory");
  2024.   return _res;
  2025. }
  2026. static __inline LONG 
  2027. VFPrintf (BASE_PAR_DECL BPTR fh,STRPTR format,LONG *argarray)
  2028. {
  2029.   BASE_EXT_DECL
  2030.   register LONG  _res  __asm("d0");
  2031.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2032.   register BPTR d1 __asm("d1") = fh;
  2033.   register STRPTR d2 __asm("d2") = format;
  2034.   register LONG *d3 __asm("d3") = argarray;
  2035.   __asm __volatile ("jsr a6@(-0x162)"
  2036.   : "=r" (_res)
  2037.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2038.   : "a0","a1","d0","d1","d2","d3", "memory");
  2039.   return _res;
  2040. }
  2041. static __inline void 
  2042. VFWritef (BASE_PAR_DECL BPTR fh,STRPTR format,LONG *argarray)
  2043. {
  2044.   BASE_EXT_DECL
  2045.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2046.   register BPTR d1 __asm("d1") = fh;
  2047.   register STRPTR d2 __asm("d2") = format;
  2048.   register LONG *d3 __asm("d3") = argarray;
  2049.   __asm __volatile ("jsr a6@(-0x15c)"
  2050.   : /* no output */
  2051.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2052.   : "a0","a1","d0","d1","d2","d3", "memory");
  2053. }
  2054. static __inline LONG 
  2055. VPrintf (BASE_PAR_DECL STRPTR format,LONG *argarray)
  2056. {
  2057.   BASE_EXT_DECL
  2058.   register LONG  _res  __asm("d0");
  2059.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2060.   register STRPTR d1 __asm("d1") = format;
  2061.   register LONG *d2 __asm("d2") = argarray;
  2062.   __asm __volatile ("jsr a6@(-0x3ba)"
  2063.   : "=r" (_res)
  2064.   : "r" (a6), "r" (d1), "r" (d2)
  2065.   : "a0","a1","d0","d1","d2", "memory");
  2066.   return _res;
  2067. }
  2068. static __inline LONG 
  2069. WaitForChar (BASE_PAR_DECL BPTR file,long timeout)
  2070. {
  2071.   BASE_EXT_DECL
  2072.   register LONG  _res  __asm("d0");
  2073.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2074.   register BPTR d1 __asm("d1") = file;
  2075.   register long d2 __asm("d2") = timeout;
  2076.   __asm __volatile ("jsr a6@(-0xcc)"
  2077.   : "=r" (_res)
  2078.   : "r" (a6), "r" (d1), "r" (d2)
  2079.   : "a0","a1","d0","d1","d2", "memory");
  2080.   return _res;
  2081. }
  2082. static __inline struct DosPacket *
  2083. WaitPkt (BASE_PAR_DECL0)
  2084. {
  2085.   BASE_EXT_DECL
  2086.   register struct DosPacket * _res  __asm("d0");
  2087.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2088.   __asm __volatile ("jsr a6@(-0xfc)"
  2089.   : "=r" (_res)
  2090.   : "r" (a6)
  2091.   : "a0","a1","d0","d1", "memory");
  2092.   return _res;
  2093. }
  2094. static __inline LONG 
  2095. Write (BASE_PAR_DECL BPTR file,APTR buffer,long length)
  2096. {
  2097.   BASE_EXT_DECL
  2098.   register LONG  _res  __asm("d0");
  2099.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2100.   register BPTR d1 __asm("d1") = file;
  2101.   register APTR d2 __asm("d2") = buffer;
  2102.   register long d3 __asm("d3") = length;
  2103.   __asm __volatile ("jsr a6@(-0x30)"
  2104.   : "=r" (_res)
  2105.   : "r" (a6), "r" (d1), "r" (d2), "r" (d3)
  2106.   : "a0","a1","d0","d1","d2","d3", "memory");
  2107.   return _res;
  2108. }
  2109. static __inline LONG 
  2110. WriteChars (BASE_PAR_DECL STRPTR buf,unsigned long buflen)
  2111. {
  2112.   BASE_EXT_DECL
  2113.   register LONG  _res  __asm("d0");
  2114.   register struct DosLibrary *a6 __asm("a6") = BASE_NAME;
  2115.   register STRPTR d1 __asm("d1") = buf;
  2116.   register unsigned long d2 __asm("d2") = buflen;
  2117.   __asm __volatile ("jsr a6@(-0x3ae)"
  2118.   : "=r" (_res)
  2119.   : "r" (a6), "r" (d1), "r" (d2)
  2120.   : "a0","a1","d0","d1","d2", "memory");
  2121.   return _res;
  2122. }
  2123. #undef BASE_EXT_DECL
  2124. #undef BASE_PAR_DECL
  2125. #undef BASE_PAR_DECL0
  2126. #undef BASE_NAME
  2127.  
  2128. __END_DECLS
  2129.  
  2130. #endif /* _INLINE_DOS_H */
  2131.