FIO.LST 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. Listing:
  2. 1 (* Release 3.10 *)
  3. 2 (*-------------------------------------------------------------------------*
  4. 3 * *
  5. 4 * FIO.DEF - Modula-2 file input/output *
  6. 5 * *
  7. 6 * COPYRIGHT (C) 1987..1992 Clarion Software Corporation. *
  8. 7 * All Rights Reserved *
  9. 8 * *
  10. 9 *--------------------------------------------------------------------------*)
  11. 10
  12. 11 (*# call(o_a_copy => off) *)
  13. 12 (*%F _fdata *)
  14. 13 (*# call(seg_name => null) *)
  15. 14 (*# data(seg_name => null) *)
  16. 15 (*%E *)
  17. 16 (*# module(implementation=>off,init_code => on) *)
  18. 17 DEFINITION MODULE FIO;
  19. 18
  20. 19 IMPORT CoreFile, Str;
  21. 20
  22. 21
  23. 22 CONST
  24. 23 MaxOpenFiles = 15;
  25. 24 (* If this value is changed, OPEN_MAX in CoreFile.a MUST be changed accordingly *)
  26. 25
  27. 26 TYPE
  28. 27 File = CoreFile.File;
  29. ***** ^ not supported yet
  30. 28 FileInf = CoreFile.FileInf;
  31. ***** ^ not supported yet
  32. 29 CONST
  33. 30 DiskFull = 112 ; (* Error if Write fails with disk full *)
  34. 31
  35. 32 StandardInput = 0 ; (* MSDOS standard handles *)
  36. 33 StandardOutput = 1 ;
  37. 34 ErrorOutput = 2 ;
  38. 35 AuxDevice = 3 ;
  39. 36 PrinterDevice = 4 ;
  40. 37
  41. 38 (*
  42. 39 TYPE
  43. 40 BufRec = RECORD
  44. 41 RWPos,
  45. 42 EOB,
  46. 43 BufSize : CARDINAL;
  47. 44 Buffer : ARRAY[0..0] OF SHORTCARD;
  48. 45 END;
  49. 46 *)
  50. 47
  51. 48 CONST
  52. 49 BufferOverhead = 0;
  53. 50
  54. 51 VAR
  55. 52 IOcheck : BOOLEAN; (* if true errors terminate program with report *)
  56. 53 EOF : BOOLEAN;
  57. 54
  58. 55 PROCEDURE IOresult() : CARDINAL;
  59. 56
  60. 57 PROCEDURE Open (Name: ARRAY OF CHAR) : File;
  61. ***** ^ not supported yet
  62. 58 PROCEDURE OpenRead(Name: ARRAY OF CHAR) : File;
  63. ***** ^ not supported yet
  64. 59 PROCEDURE Create (Name: ARRAY OF CHAR) : File;
  65. ***** ^ not supported yet
  66. 60 PROCEDURE Append (Name: ARRAY OF CHAR) : File;
  67. ***** ^ not supported yet
  68. 61 PROCEDURE Close (F: File);
  69. 62 PROCEDURE Size (F: File) : LONGCARD;
  70. ***** ^ undeclared identifier
  71. 63 PROCEDURE GetPos(F: File) : LONGCARD;
  72. ***** ^ undeclared identifier
  73. 64 PROCEDURE Seek (F: File; Pos: LONGCARD);
  74. ***** ^ undeclared identifier
  75. 65 PROCEDURE Truncate(F: File);
  76. 66 PROCEDURE Exists(Name: ARRAY OF CHAR) : BOOLEAN;
  77. ***** ^ not supported yet
  78. 67 PROCEDURE Erase (Name: ARRAY OF CHAR);
  79. ***** ^ not supported yet
  80. 68 PROCEDURE Rename(Name,NewName : ARRAY OF CHAR);
  81. ***** ^ not supported yet
  82. 69 PROCEDURE AssignBuffer(F : File; VAR Buf: ARRAY OF BYTE);
  83. ***** ^ undeclared identifier
  84. 70 PROCEDURE GetStreamPointer(F: File): FileInf;
  85. 71 PROCEDURE AppendStream(St: FileInf): File;
  86. 72 PROCEDURE AppendHandle(F: File; ReadOnly: BOOLEAN);
  87. 73 PROCEDURE Flush(F: File);
  88. 74
  89. 75 PROCEDURE ChDir (Name: ARRAY OF CHAR);
  90. ***** ^ not supported yet
  91. 76 PROCEDURE MkDir (Name: ARRAY OF CHAR);
  92. ***** ^ not supported yet
  93. 77 PROCEDURE RmDir (Name: ARRAY OF CHAR);
  94. ***** ^ not supported yet
  95. 78 PROCEDURE GetDir(Drive: SHORTCARD; VAR Name: ARRAY OF CHAR);
  96. ***** ^ not supported yet
  97. 79
  98. 80 VAR
  99. 81 ShareMode: BITSET; (* File sharing mode used by Open and OpenRead *)
  100. ***** ^ undeclared identifier
  101. 82
  102. 83 CONST
  103. 84 ShareNoInherit = {7};
  104. ***** ^ not supported yet
  105. 85 ShareCompat = {};
  106. ***** ^ not supported yet
  107. 86 ShareDenyRW = {4};
  108. ***** ^ not supported yet
  109. 87 ShareDenyWR = {5};
  110. ***** ^ not supported yet
  111. 88 ShareDenyRD = {4, 5};
  112. ***** ^ not supported yet
  113. ***** ^ not supported yet
  114. 89 ShareDenyNone = {6};
  115. ***** ^ not supported yet
  116. 90 ShareAll = {4..6};
  117. ***** ^ not supported yet
  118. ***** ^ not supported yet
  119. 91
  120. 92
  121. 93 TYPE
  122. 94 PathStr = ARRAY[0..64] OF CHAR;
  123. ***** ^ not supported yet
  124. ***** ^ not supported yet
  125. 95 PathTail = ARRAY[0..12] OF CHAR;
  126. ***** ^ not supported yet
  127. ***** ^ not supported yet
  128. 96
  129. 97 TYPE
  130. 98 Attrib = (readonly,hidden,system,volume,directory,archive);
  131. 99 FileAttr = SET OF Attrib;
  132. ***** ^ not supported yet
  133. 100 DirEntry = RECORD
  134. 101 Reserved_Handle: CARDINAL;
  135. 102 rsvd : ARRAY[0..18] OF SHORTCARD;
  136. ***** ^ not supported yet
  137. ***** ^ not supported yet
  138. 103 attr : FileAttr;
  139. 104 time : CARDINAL;
  140. 105 date : CARDINAL;
  141. 106 size : LONGCARD;
  142. ***** ^ undeclared identifier
  143. 107 Name : PathTail;
  144. 108 END;
  145. ***** ^ not supported yet
  146. 109
  147. 110 PROCEDURE ReadFirstEntry(DirName : ARRAY OF CHAR;
  148. ***** ^ not supported yet
  149. 111 Attr : FileAttr;
  150. 112 VAR D : DirEntry) : BOOLEAN;
  151. 113
  152. 114 PROCEDURE ReadNextEntry (VAR D : DirEntry) : BOOLEAN;
  153. 115
  154. 116
  155. 117 PROCEDURE WrChar (F: File; V: CHAR );
  156. 118 PROCEDURE WrBool (F: File; V: BOOLEAN ; Length: INTEGER);
  157. 119 PROCEDURE WrShtInt (F: File; V: SHORTINT ; Length: INTEGER);
  158. 120 PROCEDURE WrInt (F: File; V: INTEGER ; Length: INTEGER);
  159. 121 PROCEDURE WrLngInt (F: File; V: LONGINT ; Length: INTEGER);
  160. 122 PROCEDURE WrShtCard(F: File; V: SHORTCARD; Length: INTEGER);
  161. 123 PROCEDURE WrCard (F: File; V: CARDINAL ; Length: INTEGER);
  162. 124 PROCEDURE WrLngCard(F: File; V: LONGCARD ; Length: INTEGER);
  163. ***** ^ undeclared identifier
  164. 125 PROCEDURE WrShtHex (F: File; V: SHORTCARD; Length: INTEGER);
  165. 126 PROCEDURE WrHex (F: File; V: CARDINAL ; Length: INTEGER);
  166. 127 PROCEDURE WrLngHex (F: File; V: LONGCARD ; Length: INTEGER);
  167. ***** ^ undeclared identifier
  168. 128
  169. 129 PROCEDURE WrReal (F: File; V: REAL ; Precision: CARDINAL; Length: INTEGER);
  170. 130 PROCEDURE WrLngReal (F: File; V: LONGREAL ; Precision: CARDINAL; Length: INTEGER);
  171. 131 PROCEDURE WrFixReal (F: File; V: REAL ; Precision: CARDINAL; Length: INTEGER);
  172. 132 PROCEDURE WrFixLngReal(F: File; V: LONGREAL ; Precision: CARDINAL; Length: INTEGER);
  173. 133
  174. 134 PROCEDURE WrStr (F: File; V: ARRAY OF CHAR);
  175. ***** ^ not supported yet
  176. 135 (*# save,
  177. 136 call(o_a_copy => on) *)
  178. 137 PROCEDURE WrStrAdj (F: File; S: ARRAY OF CHAR; Length: INTEGER);
  179. ***** ^ not supported yet
  180. 138 (*# restore *)
  181. 139 PROCEDURE WrLn (F: File);
  182. 140 PROCEDURE WrCharRep(F: File; V: CHAR; Count: CARDINAL );
  183. 141
  184. 142 PROCEDURE WrBin (F: File; Buf: ARRAY OF BYTE; Count: CARDINAL);
  185. ***** ^ undeclared identifier
  186. 143
  187. 144
  188. 145
  189. 146 PROCEDURE RdChar (F: File) : CHAR;
  190. 147 PROCEDURE RdBool (F: File) : BOOLEAN;
  191. 148 PROCEDURE RdShtInt (F: File) : SHORTINT;
  192. 149 PROCEDURE RdInt (F: File) : INTEGER;
  193. 150 PROCEDURE RdLngInt (F: File) : LONGINT;
  194. 151 PROCEDURE RdShtCard(F: File) : SHORTCARD;
  195. 152 PROCEDURE RdCard (F: File) : CARDINAL;
  196. 153 PROCEDURE RdLngCard(F: File) : LONGCARD;
  197. ***** ^ undeclared identifier
  198. 154 PROCEDURE RdShtHex (F: File) : SHORTCARD;
  199. 155 PROCEDURE RdHex (F: File) : CARDINAL;
  200. 156 PROCEDURE RdLngHex (F: File) : LONGCARD;
  201. ***** ^ undeclared identifier
  202. 157
  203. 158 PROCEDURE RdReal (F: File) : REAL;
  204. 159 PROCEDURE RdLngReal(F: File) : LONGREAL;
  205. 160
  206. 161 PROCEDURE RdItem (F: File; VAR V: ARRAY OF CHAR);
  207. ***** ^ not supported yet
  208. 162 PROCEDURE RdStr (F: File; VAR V: ARRAY OF CHAR);
  209. ***** ^ not supported yet
  210. 163
  211. 164 PROCEDURE RdBin (F: File; VAR Buf: ARRAY OF BYTE; Count: CARDINAL) : CARDINAL;
  212. ***** ^ undeclared identifier
  213. 165
  214. 166 PROCEDURE GetDrive() : SHORTCARD ;
  215. 167 PROCEDURE SetDrive(Drive: SHORTCARD): SHORTCARD;
  216. 168
  217. 169 PROCEDURE GetCurrentDate () : LONGCARD ;
  218. ***** ^ undeclared identifier
  219. 170
  220. 171 PROCEDURE GetFileDate( f : File) : LONGCARD;
  221. ***** ^ undeclared identifier
  222. 172
  223. 173 PROCEDURE SetFileDate( f : File ; d : LONGCARD ) ;
  224. ***** ^ undeclared identifier
  225. 174
  226. 175 TYPE
  227. 176 FileStamp = RECORD
  228. 177 Year, Month, Day : SHORTCARD;
  229. 178 Hour, Min, Sec : SHORTCARD;
  230. 179 END;
  231. ***** ^ not supported yet
  232. 180
  233. 181 PROCEDURE GetFileStamp(f : File ; VAR b: FileStamp) : BOOLEAN;
  234. 182
  235. 183 PROCEDURE ThreadEOF(): BOOLEAN;
  236. 184
  237. 185 PROCEDURE ThreadOK(): BOOLEAN;
  238. 186
  239. 187 VAR Separators : Str.CHARSET;
  240. ***** ^ not supported yet
  241. 188 VAR OK : BOOLEAN;
  242. 189 VAR ChopOff : BOOLEAN;
  243. 190 VAR Eng : BOOLEAN; (* Engineering notation *)
  244. 191 VAR PrefixChar : CHAR;
  245. 192 VAR SuffixChar : CHAR;
  246. 193 VAR EOL : CHAR; (* end-of-line character for RdStr *)
  247. 194
  248. 195 END FIO.
  249. ***** ^ not supported yet
  250. 53 errors