home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Programming / yaec / modules / dos.e < prev    next >
Encoding:
Text File  |  2001-08-12  |  22.4 KB  |  185 lines

  1. OPT MODULE
  2. OPT EXPORT
  3. -> Module created with E:bin/fd2module from YAECv18 package.
  4. OPT NDDC
  5. #macro Open(name,accessMode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,accessMode) BUT Loads(A6,D1,D2) BUT ASM ' jsr -30(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  6. #macro Close(file) IS (D1:=file) BUT (A6:=dosbase) BUT ASM ' jsr -36(a6)'
  7. #macro Read(file,buffer,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,buffer,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -42(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  8. #macro Write(file,buffer,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,buffer,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -48(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  9. #macro Input() IS (A6:=dosbase) BUT ASM ' jsr -54(a6)'
  10. #macro Output() IS (A6:=dosbase) BUT ASM ' jsr -60(a6)'
  11. #macro Seek(file,position,offset) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,position,offset) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -66(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  12. #macro DeleteFile(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -72(a6)'
  13. #macro Rename(oldName,newName) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,oldName,newName) BUT Loads(A6,D1,D2) BUT ASM ' jsr -78(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  14. #macro Lock(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -84(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  15. #macro UnLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -90(a6)'
  16. #macro DupLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -96(a6)'
  17. #macro Examine(lock,fileInfoBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,fileInfoBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -102(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  18. #macro ExNext(lock,fileInfoBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,fileInfoBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -108(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  19. #macro Info(lock,parameterBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,parameterBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -114(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  20. #macro CreateDir(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -120(a6)'
  21. #macro CurrentDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -126(a6)'
  22. #macro IoErr() IS (A6:=dosbase) BUT ASM ' jsr -132(a6)'
  23. #macro CreateProc(name,pri,segList,stackSize) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,pri,segList,stackSize) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -138(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  24. #macro Exit(returnCode) IS (D1:=returnCode) BUT (A6:=dosbase) BUT ASM ' jsr -144(a6)'
  25. #macro LoadSeg(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -150(a6)'
  26. #macro UnLoadSeg(seglist) IS (D1:=seglist) BUT (A6:=dosbase) BUT ASM ' jsr -156(a6)'
  27. #macro DeviceProc(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -174(a6)'
  28. #macro SetComment(name,comment) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,comment) BUT Loads(A6,D1,D2) BUT ASM ' jsr -180(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  29. #macro SetProtection(name,protect) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,protect) BUT Loads(A6,D1,D2) BUT ASM ' jsr -186(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  30. #macro DateStamp(date) IS (D1:=date) BUT (A6:=dosbase) BUT ASM ' jsr -192(a6)'
  31. #macro Delay(timeout) IS (D1:=timeout) BUT (A6:=dosbase) BUT ASM ' jsr -198(a6)'
  32. #macro WaitForChar(file,timeout) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,timeout) BUT Loads(A6,D1,D2) BUT ASM ' jsr -204(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  33. #macro ParentDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -210(a6)'
  34. #macro IsInteractive(file) IS (D1:=file) BUT (A6:=dosbase) BUT ASM ' jsr -216(a6)'
  35. #macro Execute(string,file,file2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,string,file,file2) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -222(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  36. -> --- functions in V36 or higher (Release 2.0) ---
  37. ->      DOS Object creation/deletion
  38. #macro AllocDosObject(type,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -228(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  39. #macro FreeDosObject(type,ptr) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,ptr) BUT Loads(A6,D1,D2) BUT ASM ' jsr -234(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  40. ->      Packet Level routines
  41. #macro DoPkt(port,action,arg1,arg2,arg3,arg4,arg5) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,port,action,arg1,arg2,arg3,arg4,arg5) BUT Loads(A6,D1,D2,D3,D4,D5,D6,D7) BUT ASM ' jsr -240(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  42. #macro SendPkt(dp,port,replyport) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dp,port,replyport) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -246(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  43. #macro WaitPkt() IS (A6:=dosbase) BUT ASM ' jsr -252(a6)'
  44. #macro ReplyPkt(dp,res1,res2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dp,res1,res2) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -258(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  45. #macro AbortPkt(port,pkt) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,port,pkt) BUT Loads(A6,D1,D2) BUT ASM ' jsr -264(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  46. ->      Record Locking
  47. #macro LockRecord(fh,offset,length,mode,timeout) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,offset,length,mode,timeout) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -270(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  48. #macro LockRecords(recArray,timeout) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,recArray,timeout) BUT Loads(A6,D1,D2) BUT ASM ' jsr -276(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  49. #macro UnLockRecord(fh,offset,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,offset,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -282(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  50. #macro UnLockRecords(recArray) IS (D1:=recArray) BUT (A6:=dosbase) BUT ASM ' jsr -288(a6)'
  51. ->      Buffered File I/O
  52. #macro SelectInput(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -294(a6)'
  53. #macro SelectOutput(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -300(a6)'
  54. #macro FGetC(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -306(a6)'
  55. #macro FPutC(fh,ch) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,ch) BUT Loads(A6,D1,D2) BUT ASM ' jsr -312(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  56. #macro UnGetC(fh,character) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,character) BUT Loads(A6,D1,D2) BUT ASM ' jsr -318(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  57. #macro FRead(fh,block,blocklen,number) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,block,blocklen,number) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -324(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  58. #macro FWrite(fh,block,blocklen,number) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,block,blocklen,number) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -330(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  59. #macro FGets(fh,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -336(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  60. #macro FPuts(fh,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -342(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  61. #macro VFWritef(fh,format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,format,argarray) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -348(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  62. #macro VFPrintf(fh,format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,format,argarray) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -354(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  63. #macro Flush(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -360(a6)'
  64. #macro SetVBuf(fh,buff,type,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,buff,type,size) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -366(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  65. ->      DOS Object Management
  66. #macro DupLockFromFH(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -372(a6)'
  67. #macro OpenFromLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -378(a6)'
  68. #macro ParentOfFH(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -384(a6)'
  69. #macro ExamineFH(fh,fib) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,fib) BUT Loads(A6,D1,D2) BUT ASM ' jsr -390(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  70. #macro SetFileDate(name,date) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,date) BUT Loads(A6,D1,D2) BUT ASM ' jsr -396(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  71. #macro NameFromLock(lock,buffer,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,buffer,len) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -402(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  72. #macro NameFromFH(fh,buffer,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,buffer,len) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -408(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  73. #macro SplitName(name,seperator,buf,oldpos,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,seperator,buf,oldpos,size) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -414(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  74. #macro SameLock(lock1,lock2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock1,lock2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -420(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  75. #macro SetMode(fh,mode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,mode) BUT Loads(A6,D1,D2) BUT ASM ' jsr -426(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  76. #macro ExAll(lock,buffer,size,data,control) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,lock,buffer,size,data,control) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -432(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  77. #macro ReadLink(port,lock,path,buffer,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,port,lock,path,buffer,size) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -438(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  78. #macro MakeLink(name,dest,soft) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,dest,soft) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -444(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  79. #macro ChangeMode(type,fh,newmode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,fh,newmode) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -450(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  80. #macro SetFileSize(fh,pos,mode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,pos,mode) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -456(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  81. ->      Error Handling
  82. #macro SetIoErr(result) IS (D1:=result) BUT (A6:=dosbase) BUT ASM ' jsr -462(a6)'
  83. #macro Fault(code,header,buffer,len) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,code,header,buffer,len) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -468(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  84. #macro PrintFault(code,header) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,code,header) BUT Loads(A6,D1,D2) BUT ASM ' jsr -474(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  85. #macro ErrorReport(code,type,arg1,device) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,code,type,arg1,device) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -480(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  86. -> --- (1 function slot reserved here) ---
  87. ->      Process Management
  88. #macro Cli() IS (A6:=dosbase) BUT ASM ' jsr -492(a6)'
  89. #macro CreateNewProc(tags) IS (D1:=tags) BUT (A6:=dosbase) BUT ASM ' jsr -498(a6)'
  90. #macro RunCommand(seg,stack,paramptr,paramlen) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,seg,stack,paramptr,paramlen) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -504(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  91. #macro GetConsoleTask() IS (A6:=dosbase) BUT ASM ' jsr -510(a6)'
  92. #macro SetConsoleTask(task) IS (D1:=task) BUT (A6:=dosbase) BUT ASM ' jsr -516(a6)'
  93. #macro GetFileSysTask() IS (A6:=dosbase) BUT ASM ' jsr -522(a6)'
  94. #macro SetFileSysTask(task) IS (D1:=task) BUT (A6:=dosbase) BUT ASM ' jsr -528(a6)'
  95. #macro GetArgStr() IS (A6:=dosbase) BUT ASM ' jsr -534(a6)'
  96. #macro SetArgStr(string) IS (D1:=string) BUT (A6:=dosbase) BUT ASM ' jsr -540(a6)'
  97. #macro FindCliProc(num) IS (D1:=num) BUT (A6:=dosbase) BUT ASM ' jsr -546(a6)'
  98. #macro MaxCli() IS (A6:=dosbase) BUT ASM ' jsr -552(a6)'
  99. #macro SetCurrentDirName(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -558(a6)'
  100. #macro GetCurrentDirName(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -564(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  101. #macro SetProgramName(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -570(a6)'
  102. #macro GetProgramName(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -576(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  103. #macro SetPrompt(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -582(a6)'
  104. #macro GetPrompt(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -588(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  105. #macro SetProgramDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -594(a6)'
  106. #macro GetProgramDir() IS (A6:=dosbase) BUT ASM ' jsr -600(a6)'
  107. ->      Device List Management
  108. #macro SystemTagList(command,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,command,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -606(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  109. #macro AssignLock(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -612(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  110. #macro AssignLate(name,path) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,path) BUT Loads(A6,D1,D2) BUT ASM ' jsr -618(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  111. #macro AssignPath(name,path) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,path) BUT Loads(A6,D1,D2) BUT ASM ' jsr -624(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  112. #macro AssignAdd(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -630(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  113. #macro RemAssignList(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -636(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  114. #macro GetDeviceProc(name,dp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,dp) BUT Loads(A6,D1,D2) BUT ASM ' jsr -642(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  115. #macro FreeDeviceProc(dp) IS (D1:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -648(a6)'
  116. #macro LockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -654(a6)'
  117. #macro UnLockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -660(a6)'
  118. #macro AttemptLockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -666(a6)'
  119. #macro RemDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -672(a6)'
  120. #macro AddDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -678(a6)'
  121. #macro FindDosEntry(dlist,name,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dlist,name,flags) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -684(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  122. #macro NextDosEntry(dlist,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dlist,flags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -690(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  123. #macro MakeDosEntry(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -696(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  124. #macro FreeDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -702(a6)'
  125. #macro IsFileSystem(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -708(a6)'
  126. ->      Handler Interface
  127. #macro Format(filesystem,volumename,dostype) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,filesystem,volumename,dostype) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -714(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  128. #macro Relabel(drive,newname) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,drive,newname) BUT Loads(A6,D1,D2) BUT ASM ' jsr -720(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  129. #macro Inhibit(name,onoff) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,onoff) BUT Loads(A6,D1,D2) BUT ASM ' jsr -726(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  130. #macro AddBuffers(name,number) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,number) BUT Loads(A6,D1,D2) BUT ASM ' jsr -732(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  131. ->      Date, Time Routines
  132. #macro CompareDates(date1,date2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,date1,date2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -738(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  133. #macro DateToStr(datetime) IS (D1:=datetime) BUT (A6:=dosbase) BUT ASM ' jsr -744(a6)'
  134. #macro StrToDate(datetime) IS (D1:=datetime) BUT (A6:=dosbase) BUT ASM ' jsr -750(a6)'
  135. ->      Image Management
  136. #macro InternalLoadSeg(fh,table,funcarray,stack) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,table,funcarray,stack) BUT Loads(A6,D0,A0,A1,A2) BUT ASM ' jsr -756(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  137. #macro InternalUnLoadSeg(seglist,freefunc) IS Stores(dosbase,seglist,freefunc) BUT Loads(A6,D1,A1) BUT ASM ' jsr -762(a6)'
  138. #macro NewLoadSeg(file,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -768(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  139. #macro AddSegment(name,seg,system) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,seg,system) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -774(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  140. #macro FindSegment(name,seg,system) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,seg,system) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -780(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  141. #macro RemSegment(seg) IS (D1:=seg) BUT (A6:=dosbase) BUT ASM ' jsr -786(a6)'
  142. ->      Command Support
  143. #macro CheckSignal(mask) IS (D1:=mask) BUT (A6:=dosbase) BUT ASM ' jsr -792(a6)'
  144. #macro ReadArgs(arg_template,array,args) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,arg_template,array,args) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -798(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  145. #macro FindArg(keyword,arg_template) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,keyword,arg_template) BUT Loads(A6,D1,D2) BUT ASM ' jsr -804(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  146. #macro ReadItem(name,maxchars,cSource) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,maxchars,cSource) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -810(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  147. #macro StrToLong(string,value) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,string,value) BUT Loads(A6,D1,D2) BUT ASM ' jsr -816(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  148. #macro MatchFirst(pat,anchor) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,anchor) BUT Loads(A6,D1,D2) BUT ASM ' jsr -822(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  149. #macro MatchNext(anchor) IS (D1:=anchor) BUT (A6:=dosbase) BUT ASM ' jsr -828(a6)'
  150. #macro MatchEnd(anchor) IS (D1:=anchor) BUT (A6:=dosbase) BUT ASM ' jsr -834(a6)'
  151. #macro ParsePattern(pat,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -840(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  152. #macro MatchPattern(pat,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -846(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  153. #macro FreeArgs(args) IS (D1:=args) BUT (A6:=dosbase) BUT ASM ' jsr -858(a6)'
  154. -> --- (1 function slot reserved here) ---
  155. #macro FilePart(path) IS (D1:=path) BUT (A6:=dosbase) BUT ASM ' jsr -870(a6)'
  156. #macro PathPart(path) IS (D1:=path) BUT (A6:=dosbase) BUT ASM ' jsr -876(a6)'
  157. #macro AddPart(dirname,filename,size) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dirname,filename,size) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -882(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  158. ->      Notification
  159. #macro StartNotify(notify) IS (D1:=notify) BUT (A6:=dosbase) BUT ASM ' jsr -888(a6)'
  160. #macro EndNotify(notify) IS (D1:=notify) BUT (A6:=dosbase) BUT ASM ' jsr -894(a6)'
  161. ->      Environment Variable functions
  162. #macro SetVar(name,buffer,size,flags) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,buffer,size,flags) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -900(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  163. #macro GetVar(name,buffer,size,flags) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,buffer,size,flags) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -906(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  164. #macro DeleteVar(name,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,flags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -912(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  165. #macro FindVar(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -918(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  166. #macro CliInitNewcli(dp) IS (A0:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -930(a6)'
  167. #macro CliInitRun(dp) IS (A0:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -936(a6)'
  168. #macro WriteChars(buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,buflen) BUT Loads(A6,D1,D2) BUT ASM ' jsr -942(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  169. #macro PutStr(str) IS (D1:=str) BUT (A6:=dosbase) BUT ASM ' jsr -948(a6)'
  170. #macro VPrintf(format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,format,argarray) BUT Loads(A6,D1,D2) BUT ASM ' jsr -954(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  171. -> --- (1 function slot reserved here) ---
  172. ->  these were unimplemented until dos 36.147
  173. #macro ParsePatternNoCase(pat,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -966(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  174. #macro MatchPatternNoCase(pat,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -972(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  175. ->  this was added for V37 dos, returned 0 before then.
  176. #macro SameDevice(lock1,lock2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock1,lock2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -984(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  177. -> 
  178. ->  NOTE: the following entries did NOT exist before ks 36.303 (2.02)
  179. ->  If you are going to use them, open dos.library with version 37
  180. -> 
  181. ->  These calls were added for V39 dos:
  182. #macro ExAllEnd(lock,buffer,size,data,control) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,lock,buffer,size,data,control) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -990(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  183. #macro SetOwner(name,owner_info) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,owner_info) BUT Loads(A6,D1,D2) BUT ASM ' jsr -996(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  184.  
  185.