DOS.LST 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370
  1. Listing:
  2. 1 (* Release 3.10 *)
  3. 2 (*-------------------------------------------------------------------------*
  4. 3 * *
  5. 4 * DOS.DEF - Modula-2 OS/2 API Dos... API interface *
  6. 5 * *
  7. 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  8. 7 * All Rights Reserved *
  9. 8 * *
  10. 9 *--------------------------------------------------------------------------*)
  11. 10
  12. 11 (*# call(o_a_size => off,
  13. 12 o_a_copy=>off,
  14. 13 result_optional=>on,
  15. 14 reg_saved => (bx, cx, dx, si, di, es, ds, st1, st2),
  16. 15 reg_param => (),
  17. 16 seg_name => none,
  18. 17 near_call => off,
  19. 18 ds_eq_ss => off) *)
  20. 19 (*# module(implementation=>off, init_code => off) *)
  21. 20 (*# name(prefix => os2_lib) *)
  22. 21 (*# data(near_ptr => off) *)
  23. 22 DEFINITION MODULE Dos;
  24. 23
  25. 24 (**)
  26. 25 (**--- OS/2 Kernel Dos calls -----------------------------------------------*)
  27. 26 (**)
  28. 27
  29. 28 (**)
  30. 29 (*--- Conditional sections, set to TRUE if required ------------------------*)
  31. 30 (**)
  32. 31
  33. 32 CONST
  34. 33 i_PROCESS = TRUE; (* Threads & Processes *)
  35. 34 i_INFOSEG = TRUE; (* Info Segment *)
  36. 35 i_FILEMGR = TRUE; (* File Manager *)
  37. 36 i_MEMMGR = TRUE; (* Memory Manager *)
  38. 37 i_SEMAPHORE = TRUE; (* Semaphores *)
  39. 38 i_DATETIME = TRUE; (* Date & Time *)
  40. 39 i_MODULEMGR = TRUE; (* Module Manager *)
  41. 40 i_RESOURCE = TRUE; (* Resource Manager *)
  42. 41 i_NLS = TRUE; (* National Language Support *)
  43. 42 i_SIGNAL = TRUE; (* Signal Manager *)
  44. 43 i_MONITOR = TRUE; (* Device monitors *)
  45. 44 i_QUEUES = TRUE; (* Pipes and queues *)
  46. 45 i_MISC = TRUE; (* Miscellaneous dos services *)
  47. 46 i_SESSION = TRUE; (* Session Manager *)
  48. 47 i_DEVICE = TRUE; (* Device support *)
  49. 48 i_NMPIPES = TRUE; (* Named pipes *)
  50. 49 i_FONT = TRUE; (* Font support *)
  51. 50
  52. 51 TYPE
  53. 52 HSEM = FarADDRESS; (* Used in more than one section *)
  54. ***** ^ undeclared identifier
  55. 53 Os2ProcType = PROCEDURE();
  56. ***** ^ not supported yet
  57. 54
  58. 55 (**)
  59. 56 (**--Dos General Services--------------------------------------------------*)
  60. 57 (**)
  61. 58 PROCEDURE Beep(frqncy,duratn:CARDINAL) : CARDINAL;
  62. 59 PROCEDURE Exit(action,result:CARDINAL);
  63. 60 CONST
  64. 61 EXIT_THREAD = 0; EXIT_PROCESS = 1;
  65. 62
  66. 63 (**)
  67. 64 (*--Process routines-------------------------------------------------------*)
  68. 65 (**)
  69. 66 (*%T i_PROCESS *)
  70. 67
  71. 68 TYPE
  72. 69 PIDINFO = RECORD
  73. 70 pid : CARDINAL;
  74. 71 tid : CARDINAL;
  75. 72 pidParent : CARDINAL;
  76. 73 END;
  77. ***** ^ not supported yet
  78. 74 (*# save *)
  79. 75 (*# call(reg_saved => (ds,si,di,st1,st2),
  80. 76 near_call=>off) *)
  81. 77 THREAD = PROCEDURE ();
  82. ***** ^ not supported yet
  83. 78 EXITLIST = PROCEDURE (CARDINAL);
  84. ***** ^ not supported yet
  85. ***** ^ not supported yet
  86. 79 (*# restore *)
  87. 80
  88. 81 PROCEDURE CreateThread(paddr:THREAD; VAR thread:CARDINAL; staddr:FarADDRESS) : CARDINAL;
  89. ***** ^ undeclared identifier
  90. 82 PROCEDURE ResumeThread(thread:CARDINAL) : CARDINAL;
  91. 83 PROCEDURE SuspendThread(thread:CARDINAL) : CARDINAL;
  92. 84
  93. 85 (* Values/types for DosCWait and DosExecPgm *)
  94. 86 CONST
  95. 87 DCWA_PROCESS = 0; DCWA_PROCESSTREE = 1;
  96. 88 DCWW_WAIT = 0; DCWW_NOWAIT = 1;
  97. 89
  98. 90 TYPE
  99. 91 RESULTCODES = RECORD
  100. 92 codeTerminate : CARDINAL;
  101. 93 codeResult : CARDINAL;
  102. 94 END;
  103. ***** ^ not supported yet
  104. 95 PROCEDURE CWait(action,wait:CARDINAL; VAR tcodes:RESULTCODES; VAR procadd:CARDINAL; process:CARDINAL) : CARDINAL;
  105. 96 PROCEDURE Sleep(time:LONGCARD) : CARDINAL;
  106. ***** ^ undeclared identifier
  107. 97 PROCEDURE EnterCritSec();
  108. 98 PROCEDURE ExitCritSec();
  109. 99
  110. 100 CONST
  111. 101 (* codeTerminate values *)
  112. 102 TC_EXIT = 0; TC_HARDERROR = 1;
  113. 103 TC_TRAP = 2; TC_KILLPROCESS = 3;
  114. 104 (*DosExitList functions *)
  115. 105 EXLST_ADD = 1; EXLST_REMOVE = 2; EXLST_EXIT = 3;
  116. 106 PROCEDURE ExitList(fcncode:CARDINAL; rtnaddr:EXITLIST) : CARDINAL;
  117. 107
  118. 108 PROCEDURE ExecPgm( VAR buff:ARRAY OF CHAR; buflen:INTEGER;
  119. ***** ^ not supported yet
  120. 109 eflag:CARDINAL; args:ARRAY OF CHAR;
  121. ***** ^ not supported yet
  122. 110 environ:ARRAY OF CHAR; VAR result:RESULTCODES;
  123. ***** ^ not supported yet
  124. 111 pgmfile:ARRAY OF CHAR) : CARDINAL;
  125. ***** ^ not supported yet
  126. 112
  127. 113 CONST (* ExecPgm functions *)
  128. 114 EXEC_SYNC = 0; EXEC_ASYNC = 1;
  129. 115 EXEC_ASYNCRESULT = 2; EXEC_TRACE = 3;
  130. 116 EXEC_BACKGROUND = 4; EXEC_LOAD = 5;
  131. 117
  132. 118 PROCEDURE GetPID(VAR parea:PIDINFO);
  133. 119 PROCEDURE GetPPid(ChildId: CARDINAL; VAR ParentId: CARDINAL): CARDINAL;
  134. 120 PROCEDURE GetPrty(scope:CARDINAL; VAR prty:CARDINAL; procid:CARDINAL) : CARDINAL;
  135. 121 PROCEDURE SetPrty(scope,class:CARDINAL; delta:INTEGER; procid:CARDINAL) : CARDINAL;
  136. 122
  137. 123 CONST (* Priority scopes, classes & deltas *)
  138. 124 PRTYS_PROCESS = 0; PRTYS_PROCESSTREE = 1; PRTYS_THREAD = 2;
  139. 125 PRTYC_NOCHANGE = 0; PRTYC_IDLETIME = 1;
  140. 126 PRTYC_REGULAR = 2; PRTYC_TIMECRITICAL = 3;
  141. 127 PRTYC_FOREGROUNDSERVER = 4;
  142. 128 PRTYD_MINIMUM = -31;
  143. 129 PRTYD_MAXIMUM = 31;
  144. 130
  145. 131 PROCEDURE KillProcess(action,procid:CARDINAL) : CARDINAL;
  146. 132 CONST (* Values for DosKillProcess *)
  147. 133 DKP_PROCESSTREE = 0; DKP_PROCESS = 1;
  148. 134
  149. 135 (*%E *)
  150. 136 (**)
  151. 137 (*-- Dos Info Segment support ----------------------------------------------*)
  152. 138 (**)
  153. 139 (*%T i_INFOSEG *)
  154. 140
  155. 141 TYPE
  156. 142 (* Global info seg *)
  157. 143 GINFOSEG = RECORD
  158. 144 time : LONGCARD;
  159. ***** ^ undeclared identifier
  160. 145 msecs : LONGCARD;
  161. ***** ^ undeclared identifier
  162. 146 hour : SHORTCARD;
  163. 147 minutes : SHORTCARD;
  164. 148 seconds : SHORTCARD;
  165. 149 hundredths : SHORTCARD;
  166. 150 timezone : CARDINAL;
  167. 151 usecTimerInterval : CARDINAL;
  168. 152 day : SHORTCARD;
  169. 153 month : SHORTCARD;
  170. 154 year : CARDINAL;
  171. 155 weekday : SHORTCARD;
  172. 156 majorVersion : SHORTCARD;
  173. 157 minorVersion : SHORTCARD;
  174. 158 revisionLetter : SHORTCARD;
  175. 159 current : SHORTCARD;
  176. 160 gMax : SHORTCARD;
  177. 161 hugeShift : SHORTCARD;
  178. 162 protectModeOnly : BOOLEAN;
  179. 163 pidForeground : CARDINAL;
  180. 164 dynamicSched : BOOLEAN;
  181. 165 secMaxWait : SHORTCARD;
  182. 166 msecMinSlice : CARDINAL;
  183. 167 msecMaxSlice : CARDINAL;
  184. 168 bootdrive : CARDINAL;
  185. 169 amecRAS : ARRAY [0..31] OF SHORTCARD;
  186. ***** ^ not supported yet
  187. ***** ^ not supported yet
  188. 170 windowableVioMax : SHORTCARD;
  189. 171 PMMax : SHORTCARD;
  190. 172 END;
  191. ***** ^ not supported yet
  192. 173 PGINFOSEG = POINTER TO GINFOSEG;
  193. ***** ^ not supported yet
  194. 174 (* Local Info Seg *)
  195. 175 LINFOSEG = RECORD
  196. 176 pidCurrent : CARDINAL;
  197. 177 pidParent : CARDINAL;
  198. 178 prtyCurrent : CARDINAL;
  199. 179 tidCurrent : CARDINAL;
  200. 180 sgCurrent : CARDINAL;
  201. 181 rfProcStatus : SHORTCARD;
  202. 182 dummy1 : SHORTCARD;
  203. 183 foreground : CARDINAL;
  204. 184 typeProcess : SHORTCARD;
  205. 185 dummy2 : SHORTCARD;
  206. 186 selEnvironment : CARDINAL;
  207. 187 offCmdLine : CARDINAL;
  208. 188 dataSegment : CARDINAL;
  209. 189 stack : CARDINAL;
  210. 190 cbHeap : CARDINAL;
  211. 191 hmod : CARDINAL;
  212. 192 selDS : CARDINAL;
  213. 193 END;
  214. ***** ^ not supported yet
  215. 194 PLINFOSEG = POINTER TO LINFOSEG;
  216. ***** ^ not supported yet
  217. 195
  218. 196 CONST
  219. 197 (* Values for local typeProcess field *)
  220. 198 PT_FULLSCREEN = 0; (* Full screen app. *)
  221. 199 PT_REALMODE = 1; (* Real mode process *)
  222. 200 PT_WINDOWABLEVIO = 2; (* VIO windowable app. *)
  223. 201 PT_PM = 3; (* Presentation Manager app. *)
  224. 202 PT_DETACHED = 4; (* Detached app. *)
  225. 203
  226. 204 (* Values for local rfProgStatus field *)
  227. 205 PS_EXITLIST = 1; (* Thread is in exitlist routine *)
  228. 206
  229. 207 PROCEDURE GetInfoSeg(VAR global,local:CARDINAL);
  230. 208
  231. 209 (*%E *)
  232. 210 (**)
  233. 211 (*-- File Manager support ------------------------------------------------*)
  234. 212 (**)
  235. 213 (*%T i_FILEMGR *)
  236. 214
  237. 215 CONST
  238. 216 (* DosChgFilePtr() file position codes *)
  239. 217
  240. 218 FILE_BEGIN = 00H; (* Move relative to beginning of file *)
  241. 219 FILE_CURRENT = 01H; (* Move relative to current fptr position *)
  242. 220 FILE_END = 02H; (* Move relative to end of file *)
  243. 221
  244. 222 (* DosFindFirst/Next Directory handle types *)
  245. 223
  246. 224 HDIR_SYSTEM = 1; (* Use system handle (1) *)
  247. 225 HDIR_CREATE = 0FFFFH; (* Allocate a new, unused handle *)
  248. 226
  249. 227 (* DosCopy control bits; may be or'ed together *)
  250. 228 DCPY_EXISTING = 01H; (* Copy even if target exists *)
  251. 229 DCPY_APPEND = 02H; (* Append to existing file, *)
  252. 230 (* do not replace *)
  253. 231
  254. 232 (* Dosopen/DosQFHandState/DosQueryFileInfo et al file attributes; also *)
  255. 233 (* known as Dso File Mode bits... *)
  256. 234
  257. 235 FILE_NORMAL = 00H;
  258. 236 FILE_READONLY = 01H;
  259. 237 FILE_HIDDEN = 02H;
  260. 238 FILE_SYSTEM = 04H;
  261. 239 FILE_DIRECTORY = 010H;
  262. 240 FILE_ARCHIVED = 020H;
  263. 241
  264. 242 (* DosOpen() actions *)
  265. 243
  266. 244 FILE_EXISTED = 01H;
  267. 245 FILE_CREATED = 02H;
  268. 246 FILE_TRUNCATED = 03H;
  269. 247
  270. 248 (* DosOpen() open flags *)
  271. 249
  272. 250 FILE_OPEN = 01H;
  273. 251 FILE_TRUNCATE = 02H;
  274. 252 FILE_CREATE = 010H;
  275. 253
  276. 254 (* this nibble applies if file already exists xxxx *)
  277. 255
  278. 256 OPEN_ACTION_FAIL_IF_EXISTS = 00H; (* ---- ---- ---- 0000 *)
  279. 257 OPEN_ACTION_OPEN_IF_EXISTS = 01H; (* ---- ---- ---- 0001 *)
  280. 258 OPEN_ACTION_REPLACE_IF_EXISTS = 02H; (* ---- ---- ---- 0010 *)
  281. 259
  282. 260 (* this nibble applies if file does not exist xxxx *)
  283. 261
  284. 262 OPEN_ACTION_FAIL_IF_NEW = 00H; (* ---- ---- 0000 ---- *)
  285. 263 OPEN_ACTION_CREATE_IF_NEW = 010H; (* ---- ---- 0001 ---- *)
  286. 264
  287. 265 (* DosOpen/DosSetFHandState flags *)
  288. 266
  289. 267 OPEN_ACCESS_READONLY = 00H; (* ---- ---- ---- -000 *)
  290. 268 OPEN_ACCESS_WRITEONLY = 01H; (* ---- ---- ---- -001 *)
  291. 269 OPEN_ACCESS_READWRITE = 02H; (* ---- ---- ---- -010 *)
  292. 270 OPEN_SHARE_DENYREADWRITE = 010H; (* ---- ---- -001 ---- *)
  293. 271 OPEN_SHARE_DENYWRITE = 020H; (* ---- ---- -010 ---- *)
  294. 272 OPEN_SHARE_DENYREAD = 030H; (* ---- ---- -011 ---- *)
  295. 273 OPEN_SHARE_DENYNONE = 040H; (* ---- ---- -100 ---- *)
  296. 274 OPEN_FLAGS_NOINHERIT = 080H; (* ---- ---- 1--- ---- *)
  297. 275 OPEN_FLAGS_NO_LOCALITY = 000H; (* ---- -000 ---- ---- *)
  298. 276 OPEN_FLAGS_SEQUENTIAL = 0100H; (* ---- -001 ---- ---- *)
  299. 277 OPEN_FLAGS_RANDOM = 0200H; (* ---- -010 ---- ---- *)
  300. 278 OPEN_FLAGS_RANDOMSEQUENTIAL = 0300H; (* ---- -011 ---- ---- *)
  301. 279 OPEN_FLAGS_NO_CACHE = 01000H; (* ---1 ---- ---- ---- *)
  302. 280 OPEN_FLAGS_FAIL_ON_ERROR = 02000H; (* --1- ---- ---- ---- *)
  303. 281 OPEN_FLAGS_WRITE_THROUGH = 04000H; (* -1-- ---- ---- ---- *)
  304. 282 OPEN_FLAGS_DASD = 08000H; (* 1--- ---- ---- ---- *)
  305. 283
  306. 284 (* DosSearchPath() constants *)
  307. 285
  308. 286 SEARCH_PATH = 00H;
  309. 287 SEARCH_CUR_DIRECTORY = 01H;
  310. 288 SEARCH_ENVIRONMENT = 02H;
  311. 289 SEARCH_IGNORENETERRS = 04H;
  312. 290
  313. 291 (* File IO command words *)
  314. 292 FIO_LOCK = 0; (* Lock Files *)
  315. 293 FIO_UNLOCK = 1; (* Unlock Files *)
  316. 294 FIO_SEEK = 2; (* Seek (set file ptr) *)
  317. 295 FIO_READ = 3; (* File Read *)
  318. 296 FIO_WRITE = 4; (* File Write *)
  319. 297
  320. 298 (* Lock Sharing Modes *)
  321. 299 FIO_NOSHARE = 0; (* None *)
  322. 300 FIO_SHAREREAD = 1; (* Read-Only *)
  323. 301
  324. 302 TYPE
  325. 303 FIOLOCKCMD = RECORD (* FLC FileLockCmd prefix *)
  326. 304 Cmd : CARDINAL; (* Cmd = FIO_LOCK *)
  327. 305 LockCnt: CARDINAL; (* Lock records that follow *)
  328. 306 TimeOut: LONGCARD; (* in Msec *)
  329. ***** ^ undeclared identifier
  330. 307 END;
  331. ***** ^ not supported yet
  332. 308
  333. 309 FIOLOCKREC = RECORD (* FLR FileLockRecord *)
  334. 310 fShare: CARDINAL; (* FIO_NOSHARE or FIO_SHAREREAD *)
  335. 311 Start: LONGCARD; (* Starting offset for lock region *)
  336. ***** ^ undeclared identifier
  337. 312 Length: LONGCARD; (* Length of lock region *)
  338. ***** ^ undeclared identifier
  339. 313 END;
  340. ***** ^ not supported yet
  341. 314
  342. 315 FIOUNLOCKCMD = RECORD (* FUC FileUnlockCmd prefix *)
  343. 316 Cmd: CARDINAL; (* Cmd = FIO_UNLOCK *)
  344. 317 UnlockCnt: CARDINAL; (* Unlock records that follow *)
  345. 318 END;
  346. ***** ^ not supported yet
  347. 319
  348. 320
  349. 321 FIOUNLOCKREC = RECORD (* FUR FileUnlockRecord *)
  350. 322 Start: LONGCARD; (* Starting offset for unlock region *)
  351. ***** ^ undeclared identifier
  352. 323 Length: LONGCARD; (* Length of unlock region *)
  353. ***** ^ undeclared identifier
  354. 324 END;
  355. ***** ^ not supported yet
  356. 325
  357. 326 FIOSEEKCMD = RECORD (* Seek command structure *)
  358. 327 Cmd: CARDINAL; (* Cmd = FIO_SEEK *)
  359. 328 Method: CARDINAL; (* One of : FPM_BEGINNING, *)
  360. 329 (* FPM_CURRENT,or FPM_END *)
  361. 330 Distance: LONGCARD; (* Byte offset for seek *)
  362. ***** ^ undeclared identifier
  363. 331 NewPosition: LONGCARD; (* Bytes from start of file after *)
  364. ***** ^ undeclared identifier
  365. 332 (* seek *)
  366. 333 END;
  367. ***** ^ not supported yet
  368. 334
  369. 335 FIOREADWRITE = RECORD (* RWC Read&Write command structure *)
  370. 336 Cmd: CARDINAL; (* Cmd = FIO_READ or FIO_WRITE *)
  371. 337 pBuffer: FarADDRESS; (* Pointer to data buffer *)
  372. ***** ^ undeclared identifier
  373. 338 BufferLen: CARDINAL; (* Bytes in buffer or max size *)
  374. 339 ActualLen: CARDINAL; (* Bytes actually read/written *)
  375. 340 END;
  376. ***** ^ not supported yet
  377. 341
  378. 342 (************************************************************
  379. 343 EA Info Levels & Find First/Next
  380. 344 =========================================
  381. 345 API's: DosFindFirst, DosQueryFileInfo, DosQueryPathInfo, DosSetFileInfo,
  382. 346 DosSetPathInfo
  383. 347 ************************************************************)
  384. 348
  385. 349 CONST
  386. 350 (* File info levels: All listed API's *)
  387. 351 FIL_STANDARD = 1; (* Info level 1, standard file info *)
  388. 352 FIL_QUERYEASIZE = 2; (* Level 2, return Full EA size *)
  389. 353 FIL_QUERYEASFROMLIST = 3; (* Level 3, return requested EA's *)
  390. 354
  391. 355 (* File info levels: Dos...PathInfo only *)
  392. 356 FIL_QUERYFULLNAME = 5; (* Level 5, return fully qualified *)
  393. 357 (* name of file *)
  394. 358 FIL_NAMEISVALID = 6; (* Level 6, check validity of file/path
  395. 359 name for this FSD *)
  396. 360
  397. 361
  398. 362
  399. 363 (* DosFindNotifyFirst() *)
  400. 364 FNOTIL_STANDARD = 1; (* Find-Notify Info level 1: Return
  401. 365 standard directory change info *)
  402. 366
  403. 367
  404. 368 (* DosFsAttach() *)
  405. 369 (* Attact or detach *)
  406. 370 FSATTACH = 0; (* Attach file server *)
  407. 371 FSDETACH = 1; (* Detach file server *)
  408. 372
  409. 373
  410. 374 (* DosFsCtl() *)
  411. 375 (* Routing type *)
  412. 376 FSCTL_HANDLE = 1; (* File Handle directs req routing *)
  413. 377 FSCTL_PATHNAME = 2; (* Path Name directs req routing *)
  414. 378 FSCTL_FSDNAME = 3; (* FSD Name directs req routing *)
  415. 379
  416. 380
  417. 381 (* DosQueryFSAttach() *)
  418. 382 (* Information level types (defines method of query) *)
  419. 383 FSAIL_QUERYNAME = 1; (* Return data for a Drive or Device *)
  420. 384 FSAIL_DEVNUMBER = 2; (* Return data for Ordinal Device # *)
  421. 385 FSAIL_DRVNUMBER = 3; (* Return data for Ordinal Drive # *)
  422. 386
  423. 387 (* Item types (from data structure item "iType") *)
  424. 388 FSAT_CHARDEV = 1; (* Resident character device *)
  425. 389 FSAT_PSEUDODEV = 2; (* Pusedu-character device *)
  426. 390 FSAT_LOCALDRV = 3; (* Local drive *)
  427. 391 FSAT_REMOTEDRV = 4; (* Remote drive attached to FSD *)
  428. 392
  429. 393 (***********
  430. 394 File System Drive Information&gml DosQueryFSInfo DosSetFSInfo
  431. 395 ***********)
  432. 396
  433. 397 (* FS Drive Info Levels *)
  434. 398 FSIL_ALLOC = 1; (* Drive allocation info (Query only) *)
  435. 399 FSIL_VOLSER = 2; (* Drive Volum/Serial info *)
  436. 400
  437. 401 (* DosQueryFHType() *)
  438. 402 (* Handle classes (low 8 bits of Handle Type) *)
  439. 403 FHT_DISKFILE = 00H; (* Disk file handle *)
  440. 404 FHT_CHRDEV = 01H; (* Character device handle *)
  441. 405 FHT_PIPE = 02H; (* Pipe handle *)
  442. 406
  443. 407 (* Handle bits (high 8 bits of Handle Type) *)
  444. 408 FHB_DSKREMOTE = 08000H; (* Remote disk *)
  445. 409 FHB_CHRDEVREMOTE = 08000H; (* Remote character device *)
  446. 410 FHB_PIPEREMOTE = 08000H; (* Remote pipe *)
  447. 411
  448. 412 TYPE
  449. 413 HFILE = CARDINAL;
  450. 414 FDATE = CARDINAL;
  451. 415 FTIME = CARDINAL;
  452. 416
  453. 417 FILEFINDBUF = RECORD
  454. 418 fdateCreation : FDATE;
  455. 419 ftimeCreation : FTIME;
  456. 420 fdateLastAccess : FDATE;
  457. 421 ftimeLastAccess : FTIME;
  458. 422 fdateLastWrite : FDATE;
  459. 423 ftimeLastWrite : FTIME;
  460. 424 fileSize : LONGCARD;
  461. ***** ^ undeclared identifier
  462. 425 fileAlloc : LONGCARD;
  463. ***** ^ undeclared identifier
  464. 426 attrFile : CARDINAL;
  465. 427 cname : SHORTCARD;
  466. 428 name : ARRAY [0..12] OF CHAR;
  467. ***** ^ not supported yet
  468. ***** ^ not supported yet
  469. 429 END;
  470. ***** ^ not supported yet
  471. 430
  472. 431 FILEFINDBUF2= RECORD
  473. 432 fdateCreation : FDATE;
  474. 433 ftimeCreation : FTIME;
  475. 434 fdateLastAccess : FDATE;
  476. 435 ftimeLastAccess : FTIME;
  477. 436 fdateLastWrite : FDATE;
  478. 437 ftimeLastWrite : FTIME;
  479. 438 fileSize : LONGCARD;
  480. ***** ^ undeclared identifier
  481. 439 fileAlloc : LONGCARD;
  482. ***** ^ undeclared identifier
  483. 440 attrFile : CARDINAL;
  484. 441 cbList : LONGCARD;
  485. ***** ^ undeclared identifier
  486. 442 cname : SHORTCARD;
  487. 443 name : ARRAY [0..12] OF CHAR;
  488. ***** ^ not supported yet
  489. ***** ^ not supported yet
  490. 444 END;
  491. ***** ^ not supported yet
  492. 445
  493. 446 (* extended attribute structures *)
  494. 447
  495. 448 GEA = RECORD
  496. 449 cbName: SHORTCARD; (* name length not including NULL *)
  497. 450 Name: ARRAY [0..0] OF CHAR; (* attribute name *)
  498. ***** ^ not supported yet
  499. ***** ^ not supported yet
  500. 451 END;
  501. ***** ^ not supported yet
  502. 452
  503. 453 GEALIST = RECORD
  504. 454 cbList: LONGCARD; (* total bytes of structure including full list *)
  505. ***** ^ undeclared identifier
  506. 455 list: ARRAY [0..0] OF GEA; (* variable length GEA structures *)
  507. ***** ^ not supported yet
  508. ***** ^ not supported yet
  509. 456 END;
  510. ***** ^ not supported yet
  511. 457
  512. 458 FEA = RECORD
  513. 459 fea: SHORTCARD; (* flags *)
  514. 460 cbName: SHORTCARD; (* name length not including NULL *)
  515. 461 cbValue: CARDINAL; (* value length *)
  516. 462 END;
  517. ***** ^ not supported yet
  518. 463
  519. 464
  520. 465 (* flags for _FEA.fea *)
  521. 466 CONST
  522. 467 FEA_NEEDEA = 080H; (* need EA bit *)
  523. 468
  524. 469 TYPE
  525. 470 FEALIST = RECORD
  526. 471 cbList: LONGCARD; (* total bytes of structure including full list *)
  527. ***** ^ undeclared identifier
  528. 472 list: ARRAY [0..0] OF FEA; (* variable length FEA structures *)
  529. ***** ^ not supported yet
  530. ***** ^ not supported yet
  531. 473 END;
  532. ***** ^ not supported yet
  533. 474
  534. 475 EAOP = RECORD
  535. 476 GEAList: FarADDRESS; (* general EA list *)
  536. ***** ^ undeclared identifier
  537. 477 FEAList: FarADDRESS; (* full EA list *)
  538. ***** ^ undeclared identifier
  539. 478 Error: LONGCARD;
  540. ***** ^ undeclared identifier
  541. 479 END;
  542. ***** ^ not supported yet
  543. 480
  544. 481 (*
  545. 482 * Equates for the types of EAs that follow the convention that we have
  546. 483 * established.
  547. 484 *
  548. 485 * Values 0xFFFE thru 0x8000 are reserved.
  549. 486 * Values 00 thru 0x7fff are user definable.
  550. 487 *)
  551. 488
  552. 489 CONST
  553. 490 EAT_BINARY = 0FFFEH; (* length preceeded binary *)
  554. 491 EAT_ASCII = 0FFFDH; (* length preceeded ASCII *)
  555. 492 EAT_BITMAP = 0FFFBH; (* length preceeded bitmap *)
  556. 493 EAT_METAFILE = 0FFFAH; (* length preceeded metafile *)
  557. 494 EAT_ICON = 0FFF9H; (* length preceeded icon *)
  558. 495 EAT_EA = 0FFEEH; (* length preceeded ASCII ext. attr. *)
  559. 496 (* name of associated data (#include) *)
  560. 497 EAT_MVMT = 0FFDFH; (* multi-valued, multi-typed field *)
  561. 498 EAT_MVST = 0FFDEH; (* multi-valued, single-typed field *)
  562. 499 EAT_ASN1 = 0FFDDH; (* ASN.1 field *)
  563. 500
  564. 501 PROCEDURE Open(name:ARRAY OF CHAR; VAR handle:HFILE; VAR action:CARDINAL; size:LONGCARD;
  565. ***** ^ not supported yet
  566. ***** ^ undeclared identifier
  567. 502 attrib,flag,mode:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  568. ***** ^ undeclared identifier
  569. 503 PROCEDURE Open2(name:ARRAY OF CHAR; VAR handle:HFILE; VAR action:CARDINAL; size:LONGCARD;
  570. ***** ^ not supported yet
  571. ***** ^ undeclared identifier
  572. 504 attrib,flag:CARDINAL;mode:LONGCARD; VAR EA: EAOP; rsrvd:LONGCARD) : CARDINAL;
  573. ***** ^ undeclared identifier
  574. ***** ^ undeclared identifier
  575. 505 PROCEDURE Close(handle:HFILE) : CARDINAL;
  576. 506 PROCEDURE Read(handle:HFILE; buffer:FarADDRESS; bufflng:CARDINAL; VAR read:CARDINAL) : CARDINAL;
  577. ***** ^ undeclared identifier
  578. 507 PROCEDURE Write(handle:HFILE;buffer:FarADDRESS; bufflng:CARDINAL; VAR write:CARDINAL) : CARDINAL;
  579. ***** ^ undeclared identifier
  580. 508 PROCEDURE Shutdown(rsrvd:LONGCARD): CARDINAL;
  581. ***** ^ undeclared identifier
  582. 509
  583. 510 TYPE
  584. 511 FILESTATUS = RECORD
  585. 512 fdateCreation : FDATE;
  586. 513 ftimeCreation : FTIME;
  587. 514 fdateLastAccess : FDATE;
  588. 515 ftimeLastAccess : FTIME;
  589. 516 fdateLastWrite : FDATE;
  590. 517 ftimeLastWrite : FTIME;
  591. 518 fileSize : LONGCARD;
  592. ***** ^ undeclared identifier
  593. 519 fileAlloc : LONGCARD;
  594. ***** ^ undeclared identifier
  595. 520 attrFile : CARDINAL;
  596. 521 END;
  597. ***** ^ not supported yet
  598. 522
  599. 523 FILESTATUS2 = RECORD
  600. 524 fdateCreation : FDATE;
  601. 525 ftimeCreation : FTIME;
  602. 526 fdateLastAccess : FDATE;
  603. 527 ftimeLastAccess : FTIME;
  604. 528 fdateLastWrite : FDATE;
  605. 529 ftimeLastWrite : FTIME;
  606. 530 fileSize : LONGCARD;
  607. ***** ^ undeclared identifier
  608. 531 fileAlloc : LONGCARD;
  609. ***** ^ undeclared identifier
  610. 532 attrFile : CARDINAL;
  611. 533 ListSize : LONGCARD;
  612. ***** ^ undeclared identifier
  613. 534 END;
  614. ***** ^ not supported yet
  615. 535
  616. 536 FSALLOCATE = RECORD
  617. 537 idFileSystem : LONGCARD;
  618. ***** ^ undeclared identifier
  619. 538 sectorUnit : LONGCARD;
  620. ***** ^ undeclared identifier
  621. 539 unit : LONGCARD;
  622. ***** ^ undeclared identifier
  623. 540 unitAvail : LONGCARD;
  624. ***** ^ undeclared identifier
  625. 541 sector : CARDINAL;
  626. 542 END;
  627. ***** ^ not supported yet
  628. 543
  629. 544 VOLUMELABEL = RECORD
  630. 545 count: SHORTCARD;
  631. 546 VolLabel: ARRAY [0..11] OF CHAR;
  632. ***** ^ not supported yet
  633. ***** ^ not supported yet
  634. 547 END;
  635. ***** ^ not supported yet
  636. 548
  637. 549 FSINFO = RECORD
  638. 550 fdateCreation: FTIME;
  639. 551 ftimeCreation: FTIME;
  640. 552 vol: VOLUMELABEL;
  641. 553 END;
  642. ***** ^ not supported yet
  643. 554
  644. 555 FILELOCK = RECORD
  645. 556 Offset : LONGINT;
  646. 557 Range : LONGINT;
  647. 558 END;
  648. ***** ^ not supported yet
  649. 559
  650. 560 LOCKRANGE = RECORD
  651. 561 pos,len : LONGCARD;
  652. ***** ^ undeclared identifier
  653. 562 END ;
  654. ***** ^ not supported yet
  655. 563
  656. 564 HDIR = CARDINAL;
  657. 565
  658. 566 CONST
  659. 567 (* HANDTYPE values *)
  660. 568 HANDTYPE_FILE = 00H;
  661. 569 HANDTYPE_DEVICE = 01H;
  662. 570 HANDTYPE_PIPE = 02H;
  663. 571 HANDTYPE_NETWORK = 08000H;
  664. 572
  665. 573 PROCEDURE Delete(path:ARRAY OF CHAR; rsrvd:LONGCARD) : CARDINAL;
  666. ***** ^ not supported yet
  667. ***** ^ undeclared identifier
  668. 574 PROCEDURE DupHandle(ohandle :HFILE; VAR nhandle:HFILE) : CARDINAL;
  669. 575 PROCEDURE QFHandState(handle :HFILE; VAR state:CARDINAL) : CARDINAL;
  670. 576 PROCEDURE SetFHandState(handle :HFILE; state:CARDINAL) : CARDINAL;
  671. 577 PROCEDURE QHandType(handle :HFILE; VAR type,flag:CARDINAL) : CARDINAL;
  672. 578 PROCEDURE ReadAsync(handle :HFILE; ramsem : HSEM; VAR result:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL;
  673. ***** ^ undeclared identifier
  674. 579 VAR bytread:CARDINAL) : CARDINAL;
  675. 580 PROCEDURE WriteAsync(handle :HFILE; ramsem : HSEM; VAR result:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL;
  676. ***** ^ undeclared identifier
  677. 581 VAR bytwrt:CARDINAL) : CARDINAL;
  678. 582 PROCEDURE FindFirst(file:ARRAY OF CHAR; VAR handle:HDIR; attrib:CARDINAL; VAR result:FILEFINDBUF;
  679. ***** ^ not supported yet
  680. 583 reslng:CARDINAL; VAR count:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  681. ***** ^ undeclared identifier
  682. 584 PROCEDURE FindFirst2(file:ARRAY OF CHAR; VAR handle:HDIR; attrib:CARDINAL; result: FarADDRESS;
  683. ***** ^ not supported yet
  684. ***** ^ undeclared identifier
  685. 585 reslng:CARDINAL; VAR count:CARDINAL; InfoLevel: CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  686. ***** ^ undeclared identifier
  687. 586 PROCEDURE FindNext(handle:HDIR; VAR result:FILEFINDBUF; reslng:CARDINAL;
  688. 587 VAR count:CARDINAL) : CARDINAL;
  689. 588 PROCEDURE FindClose(handle:HDIR) : CARDINAL;
  690. 589
  691. 590 PROCEDURE FindNotifyFirst (Path:ARRAY OF CHAR; VAR h:HDIR; Attr:CARDINAL;
  692. ***** ^ not supported yet
  693. 591 Buf:FarADDRESS; BufSize:CARDINAL; VAR Chg:CARDINAL;
  694. ***** ^ undeclared identifier
  695. 592 InfoLevel:CARDINAL; TimeOut: LONGCARD; resvd: LONGCARD): CARDINAL;
  696. ***** ^ undeclared identifier
  697. ***** ^ undeclared identifier
  698. 593 PROCEDURE FindNotifyNext (h:HDIR; Buf:FarADDRESS; BufSize:CARDINAL; VAR Chg:CARDINAL;
  699. ***** ^ undeclared identifier
  700. 594 TimeOut:LONGCARD): CARDINAL;
  701. ***** ^ undeclared identifier
  702. 595 PROCEDURE FindNotifyClose (h:HDIR): CARDINAL;
  703. 596
  704. 597 PROCEDURE FSAttach (Dev,FSD:ARRAY OF CHAR; Data:FarADDRESS; Datasize:CARDINAL;
  705. ***** ^ not supported yet
  706. ***** ^ undeclared identifier
  707. 598 Op:CARDINAL; resvd:LONGCARD): CARDINAL;
  708. ***** ^ undeclared identifier
  709. 599 PROCEDURE QFSAttach (Dev:ARRAY OF CHAR; ord:CARDINAL; InfoLevel:CARDINAL;
  710. ***** ^ not supported yet
  711. 600 AttBuf:FarADDRESS; VAR BufSize:CARDINAL; resvd:LONGCARD): CARDINAL;
  712. ***** ^ undeclared identifier
  713. ***** ^ undeclared identifier
  714. 601 PROCEDURE FSCtl (date:FarADDRESS; Datamax:CARDINAL; VAR datalen:CARDINAL;
  715. ***** ^ undeclared identifier
  716. 602 Parms:FarADDRESS; Parmmax:CARDINAL; VAR parmlen:CARDINAL;
  717. ***** ^ undeclared identifier
  718. 603 fcode:CARDINAL; h:HFILE; Route:CARDINAL; resvd:LONGCARD): CARDINAL;
  719. ***** ^ undeclared identifier
  720. 604
  721. 605 PROCEDURE NewSize(handle:HFILE; size:LONGCARD) : CARDINAL;
  722. ***** ^ undeclared identifier
  723. 606 PROCEDURE BufReset(handle:HFILE) : CARDINAL;
  724. 607 PROCEDURE ChgFilePtr(handle:HFILE; distance:LONGINT; method:CARDINAL;
  725. 608 VAR newloc:LONGCARD) : CARDINAL;
  726. ***** ^ undeclared identifier
  727. 609 PROCEDURE FileLocks(handle:HFILE; VAR unlock,lock:LOCKRANGE) : CARDINAL;
  728. 610 PROCEDURE Move(oldnam,newnam:ARRAY OF CHAR; rsrvd:LONGCARD) : CARDINAL;
  729. ***** ^ not supported yet
  730. ***** ^ undeclared identifier
  731. 611 PROCEDURE Copy(srcnam,dstnam:ARRAY OF CHAR; mode:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  732. ***** ^ not supported yet
  733. ***** ^ undeclared identifier
  734. 612 PROCEDURE EditName(Level: CARDINAL; Erc,Edit: ARRAY OF CHAR; VAR Dst: ARRAY OF CHAR;
  735. ***** ^ not supported yet
  736. ***** ^ not supported yet
  737. 613 DstSize: CARDINAL): CARDINAL;
  738. 614 PROCEDURE FileIO(h:HFILE; Cmd:FarADDRESS; CmdLen:CARDINAL; VAR error:LONGINT):CARDINAL;
  739. ***** ^ undeclared identifier
  740. 615 PROCEDURE MkDir(name:ARRAY OF CHAR; rsrvd:LONGCARD) : CARDINAL;
  741. ***** ^ not supported yet
  742. ***** ^ undeclared identifier
  743. 616 PROCEDURE MkDir2(name:ARRAY OF CHAR; Buf:FarADDRESS; rsrvd:LONGCARD) : CARDINAL;
  744. ***** ^ not supported yet
  745. ***** ^ undeclared identifier
  746. ***** ^ undeclared identifier
  747. 617 PROCEDURE RmDir(name:ARRAY OF CHAR; rsrvd:LONGCARD) : CARDINAL;
  748. ***** ^ not supported yet
  749. ***** ^ undeclared identifier
  750. 618 PROCEDURE SelectDisk(drive:CARDINAL) : CARDINAL;
  751. 619 PROCEDURE QCurDisk(VAR drive:CARDINAL; VAR map:LONGCARD) : CARDINAL;
  752. ***** ^ undeclared identifier
  753. 620 PROCEDURE ChDir(dirnam:ARRAY OF CHAR; rsrvd:LONGCARD) : CARDINAL;
  754. ***** ^ not supported yet
  755. ***** ^ undeclared identifier
  756. 621 PROCEDURE QCurDir(drive:CARDINAL; buffer:FarADDRESS; VAR length:CARDINAL) : CARDINAL;
  757. ***** ^ undeclared identifier
  758. 622 PROCEDURE QFSInfo(drive,level:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL) : CARDINAL;
  759. ***** ^ undeclared identifier
  760. 623
  761. 624 (* N.B. Misspeled version for compatibility with older programs only *)
  762. 625 PROCEDURE QFsInfo(drive,level:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL) : CARDINAL;
  763. ***** ^ undeclared identifier
  764. 626
  765. 627 PROCEDURE SetFSInfo(drive,level:CARDINAL; buffer:FarADDRESS; size:CARDINAL) : CARDINAL;
  766. ***** ^ undeclared identifier
  767. 628 PROCEDURE QVerify(VAR verify:CARDINAL) : CARDINAL;
  768. 629 PROCEDURE SetVerify(verify:CARDINAL) : CARDINAL;
  769. 630 PROCEDURE SetMaxFH(handles:CARDINAL) : CARDINAL;
  770. 631 PROCEDURE QFileInfo(drive,level:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL) : CARDINAL;
  771. ***** ^ undeclared identifier
  772. 632 PROCEDURE SetFileInfo(drive,level:CARDINAL; buffer:FarADDRESS; bufflng:CARDINAL) : CARDINAL;
  773. ***** ^ undeclared identifier
  774. 633 PROCEDURE QPathInfo(Path:ARRAY OF CHAR; InfoLevel:CARDINAL; InfoBuf:FarADDRESS;
  775. ***** ^ not supported yet
  776. ***** ^ undeclared identifier
  777. 634 BufSize:CARDINAL; resvd:LONGCARD):CARDINAL;
  778. ***** ^ undeclared identifier
  779. 635 PROCEDURE SetPathInfo(Path:ARRAY OF CHAR; InfoLevel:CARDINAL; InfoBuf:FarADDRESS;
  780. ***** ^ not supported yet
  781. ***** ^ undeclared identifier
  782. 636 BufSize:CARDINAL; Flags:CARDINAL; resvd:LONGCARD):CARDINAL;
  783. ***** ^ undeclared identifier
  784. 637 PROCEDURE QFileMode(name:ARRAY OF CHAR; VAR attrib:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  785. ***** ^ not supported yet
  786. ***** ^ undeclared identifier
  787. 638 PROCEDURE SetFileMode(name:ARRAY OF CHAR; attrib:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  788. ***** ^ not supported yet
  789. ***** ^ undeclared identifier
  790. 639 PROCEDURE EnumAttribute(Type:CARDINAL; buf:FarADDRESS; Start:LONGCARD;
  791. ***** ^ undeclared identifier
  792. ***** ^ undeclared identifier
  793. 640 buf1:FarADDRESS; buf1size:LONGCARD; VAR entries:LONGCARD;
  794. ***** ^ undeclared identifier
  795. ***** ^ undeclared identifier
  796. ***** ^ undeclared identifier
  797. 641 infolevel:CARDINAL; resvd:CARDINAL):CARDINAL;
  798. 642
  799. 643 (* level 1 info returned from DosEnumAttribute *)
  800. 644 TYPE
  801. 645 DENA1 = RECORD
  802. 646 reserved: SHORTCARD; (* 0 *)
  803. 647 cbName: SHORTCARD; (* length of name exculding NULL *)
  804. 648 cbValue: CARDINAL; (* length of value *)
  805. 649 Name: ARRAY [0..0] OF CHAR; (* variable length asciiz name *)
  806. ***** ^ not supported yet
  807. ***** ^ not supported yet
  808. 650 END;
  809. ***** ^ not supported yet
  810. 651
  811. 652 (*%E *)
  812. 653 (**)
  813. 654 (*-- Memory Manager support ----------------------------------------------*)
  814. 655 (**)
  815. 656 (*%T i_MEMMGR *)
  816. 657
  817. 658 PROCEDURE AllocSeg(size:CARDINAL; VAR select:CARDINAL; aflag:CARDINAL) : CARDINAL;
  818. 659 PROCEDURE ReallocSeg(size,select:CARDINAL) : CARDINAL;
  819. 660 PROCEDURE FreeSeg(select:CARDINAL) : CARDINAL;
  820. 661 PROCEDURE GiveSeg(handle,procid:CARDINAL; VAR receive:CARDINAL) : CARDINAL;
  821. 662 PROCEDURE GetSeg(select:CARDINAL) : CARDINAL;
  822. 663 PROCEDURE SizeSeg(select:CARDINAL; VAR size:LONGCARD) : CARDINAL;
  823. ***** ^ undeclared identifier
  824. 664
  825. 665 CONST
  826. 666 (* Segment attribute flags *)
  827. 667 SEG_NONSHARED = 00H;
  828. 668 SEG_GIVEABLE = 01H;
  829. 669 SEG_GETTABLE = 02H;
  830. 670 SEG_DISCARDABLE = 04H;
  831. 671
  832. 672 PROCEDURE AllocHuge(numseg,size:CARDINAL; VAR select:CARDINAL; maxseg,share:CARDINAL) : CARDINAL;
  833. 673 PROCEDURE ReallocHuge(numseg,size,select:CARDINAL) : CARDINAL;
  834. 674 PROCEDURE GetHugeShift(VAR shift:CARDINAL);
  835. 675 PROCEDURE AllocShrSeg(size:CARDINAL; name:ARRAY OF CHAR; VAR select:CARDINAL) : CARDINAL;
  836. ***** ^ not supported yet
  837. 676 PROCEDURE LockSeg(select:CARDINAL) : CARDINAL;
  838. 677 PROCEDURE UnlockSeg(select:CARDINAL) : CARDINAL;
  839. 678 PROCEDURE GetShrSeg(name:ARRAY OF CHAR; VAR select:CARDINAL) : CARDINAL;
  840. ***** ^ not supported yet
  841. 679 PROCEDURE MemAvail(VAR size:LONGCARD) : CARDINAL;
  842. ***** ^ undeclared identifier
  843. 680 PROCEDURE CreateCSAlias(datasel:CARDINAL; VAR codesel:CARDINAL) : CARDINAL;
  844. 681 PROCEDURE SubAlloc(segment:CARDINAL; VAR block:CARDINAL; size:CARDINAL) : CARDINAL;
  845. 682 PROCEDURE SubFree(segment,block,size:CARDINAL) : CARDINAL;
  846. 683 PROCEDURE SubSet(segment,flag,size:CARDINAL) : CARDINAL;
  847. 684
  848. 685 (*%E *)
  849. 686 (**)
  850. 687 (*-- Semaphore support ----------------------------------------------------*)
  851. 688 (**)
  852. 689 (*%T i_SEMAPHORE *)
  853. 690
  854. 691 CONST
  855. 692 SEM_INDEFINITE_WAIT = -1; SEM_IMMEDIATE_RETURN = 0;
  856. 693 CSEM_PRIVATE = 0; CSEM_PUBLIC = 1;
  857. 694
  858. 695 PROCEDURE SemClear(handle:HSEM) : CARDINAL;
  859. 696 PROCEDURE SemSet(handle:HSEM) : CARDINAL;
  860. 697 PROCEDURE SemWait(handle:HSEM; timeout:LONGINT) : CARDINAL;
  861. 698 PROCEDURE SemSetWait(handle:HSEM; timeout:LONGINT) : CARDINAL;
  862. 699 PROCEDURE SemRequest(handle:HSEM; timeout:LONGINT) : CARDINAL;
  863. 700 PROCEDURE CreateSem(excl:CARDINAL; VAR handle:HSEM; name:ARRAY OF CHAR) : CARDINAL;
  864. ***** ^ not supported yet
  865. 701 PROCEDURE OpenSem(VAR handle:HSEM; name:ARRAY OF CHAR) : CARDINAL;
  866. ***** ^ not supported yet
  867. 702 PROCEDURE CloseSem(handle:HSEM) : CARDINAL;
  868. 703
  869. 704 TYPE
  870. 705 MUXSEM = RECORD
  871. 706 zero : CARDINAL;
  872. 707 sem : HSEM;
  873. 708 END;
  874. ***** ^ not supported yet
  875. 709 MUXSEMLIST = RECORD
  876. 710 cmxs : CARDINAL;
  877. 711 amxs : ARRAY [0..15] OF MUXSEM;
  878. ***** ^ not supported yet
  879. ***** ^ not supported yet
  880. 712 END;
  881. ***** ^ not supported yet
  882. 713 DOSFSRSEM = RECORD
  883. 714 len : CARDINAL;
  884. 715 pid,tid : CARDINAL;
  885. 716 use : CARDINAL;
  886. 717 client : CARDINAL;
  887. 718 ramsem : HSEM;
  888. 719 END;
  889. ***** ^ not supported yet
  890. 720
  891. 721 PROCEDURE MuxSemWait(VAR index:CARDINAL; list:FarADDRESS; timeout:LONGINT) : CARDINAL;
  892. ***** ^ undeclared identifier
  893. 722 PROCEDURE FSRamSemRequest(VAR s:DOSFSRSEM; to:LONGINT) : CARDINAL;
  894. 723 PROCEDURE FSRamSemClear(VAR s:DOSFSRSEM) : CARDINAL;
  895. 724
  896. 725 (*%E *)
  897. 726 (**)
  898. 727 (*-- Time support ---------------------------------------------------------*)
  899. 728 (**)
  900. 729 (*%T i_DATETIME *)
  901. 730
  902. 731 TYPE
  903. 732 DATETIME = RECORD
  904. 733 hours : SHORTCARD;
  905. 734 minutes : SHORTCARD;
  906. 735 seconds : SHORTCARD;
  907. 736 hundredths : SHORTCARD;
  908. 737 day : SHORTCARD;
  909. 738 month : SHORTCARD;
  910. 739 year : CARDINAL;
  911. 740 timezone : INTEGER;
  912. 741 weekday : SHORTCARD;
  913. 742 END;
  914. ***** ^ not supported yet
  915. 743
  916. 744 PROCEDURE GetDateTime(VAR data:DATETIME) : CARDINAL;
  917. 745 PROCEDURE SetDateTime(VAR data:DATETIME) : CARDINAL;
  918. 746
  919. 747 TYPE
  920. 748 HTIMER = CARDINAL;
  921. 749
  922. 750 PROCEDURE TimerAsync(interval:LONGCARD; semaphore:HSEM; VAR handle:HTIMER) : CARDINAL;
  923. ***** ^ undeclared identifier
  924. 751 PROCEDURE TimerStart(interval:LONGCARD; semaphore:HSEM; VAR handle:HTIMER) : CARDINAL;
  925. ***** ^ undeclared identifier
  926. 752 PROCEDURE TimerStop(handle:HTIMER) : CARDINAL;
  927. 753
  928. 754 (*%E *)
  929. 755 (**)
  930. 756 (*-- Module Manager -------------------------------------------------------*)
  931. 757 (**)
  932. 758 (*%T i_MODULEMGR *)
  933. 759
  934. 760 PROCEDURE LoadModule(buffaddr:FarADDRESS; bufflen:CARDINAL; name:ARRAY OF CHAR; VAR handle:CARDINAL) : CARDINAL;
  935. ***** ^ undeclared identifier
  936. ***** ^ not supported yet
  937. 761 PROCEDURE FreeModule(handle:CARDINAL) : CARDINAL;
  938. 762 PROCEDURE GetProcAddr(handle:CARDINAL; name:ARRAY OF CHAR; VAR addr: Os2ProcType) : CARDINAL;
  939. ***** ^ not supported yet
  940. 763 PROCEDURE GetModHandle(name:ARRAY OF CHAR; VAR handle:CARDINAL) : CARDINAL;
  941. ***** ^ not supported yet
  942. 764 PROCEDURE GetModName(handle,bufflng:CARDINAL; VAR buffer:ARRAY OF CHAR) : CARDINAL;
  943. ***** ^ not supported yet
  944. 765
  945. 766 (*%E *)
  946. 767 (**)
  947. 768 (*-- Resource support -----------------------------------------------------*)
  948. 769 (**)
  949. 770 (*%T i_RESOURCE *)
  950. 771
  951. 772 CONST
  952. 773 RT_POINTER = 1; RT_BITMAP = 2; RT_MENU = 3; RT_DIALOG = 4;
  953. 774 RT_STRING = 5; RT_FONTDIR = 6; RT_FONT = 7; RT_ACCELTABLE = 8;
  954. 775 RT_RCDATA = 9; RT_MESSAGE = 10; RT_DLGINCLUDE = 11; RT_VKEYTBL = 12;
  955. 776 RT_KEYTBL = 13; RT_CHARTBL = 14; RT_DISPLAYINFO = 15; RT_FKASHORT = 16;
  956. 777 RT_FKALONG = 17; RT_HELPTABLE = 18; RT_HELPSUBTABLE = 19; RT_FDDIR = 20;
  957. 778 RT_FD = 21; RT_MAX = 22;
  958. 779
  959. 780 PROCEDURE GetResource(m:CARDINAL; t,n:CARDINAL; VAR sel:CARDINAL):CARDINAL;
  960. 781 PROCEDURE GetResource2(m:CARDINAL; t,n:CARDINAL; VAR data: FarADDRESS):CARDINAL;
  961. ***** ^ undeclared identifier
  962. 782 PROCEDURE FreeResource(pData: FarADDRESS): CARDINAL;
  963. ***** ^ undeclared identifier
  964. 783
  965. 784 (*%E*)
  966. 785 (**)
  967. 786 (**--- National Language Support -------------------------------------------*)
  968. 787 (**)
  969. 788 (*%T i_NLS*)
  970. 789
  971. 790 TYPE
  972. 791 COUNTRYCODE = RECORD
  973. 792 country : CARDINAL;
  974. 793 codepage : CARDINAL;
  975. 794 END;
  976. ***** ^ not supported yet
  977. 795 COUNTRYINFO = RECORD
  978. 796 country : CARDINAL;
  979. 797 codepage : CARDINAL;
  980. 798 dateFmt : CARDINAL;
  981. 799 currency : ARRAY [0..4] OF CHAR;
  982. ***** ^ not supported yet
  983. ***** ^ not supported yet
  984. 800 thousandsSeparator : ARRAY [0..1] OF CHAR;
  985. ***** ^ not supported yet
  986. ***** ^ not supported yet
  987. 801 decimal : ARRAY [0..1] OF CHAR;
  988. ***** ^ not supported yet
  989. ***** ^ not supported yet
  990. 802 dateSeparator : ARRAY [0..1] OF CHAR;
  991. ***** ^ not supported yet
  992. ***** ^ not supported yet
  993. 803 timeSeparator : ARRAY [0..1] OF CHAR;
  994. ***** ^ not supported yet
  995. ***** ^ not supported yet
  996. 804 currencyFmt : SHORTCARD;
  997. 805 decimalPlace : SHORTCARD;
  998. 806 timeFmt : SHORTCARD;
  999. 807 reserved1 : ARRAY [0..1] OF CARDINAL;
  1000. ***** ^ not supported yet
  1001. ***** ^ not supported yet
  1002. 808 dataSeparator : ARRAY [0..1] OF CHAR;
  1003. ***** ^ not supported yet
  1004. ***** ^ not supported yet
  1005. 809 reserved2 : ARRAY [0..4] OF CARDINAL;
  1006. ***** ^ not supported yet
  1007. ***** ^ not supported yet
  1008. 810 END;
  1009. ***** ^ not supported yet
  1010. 811
  1011. 812 PROCEDURE GetCtryInfo(length:CARDINAL; VAR cntry:COUNTRYCODE; VAR buffer:COUNTRYINFO; VAR retlngth:CARDINAL) : CARDINAL;
  1012. 813 PROCEDURE GetDBCSEv(length:CARDINAL; VAR cntry:COUNTRYCODE; buffer:FarADDRESS) : CARDINAL;
  1013. ***** ^ undeclared identifier
  1014. 814 PROCEDURE CaseMap(length:CARDINAL; VAR cntry:COUNTRYCODE; binstrg:FarADDRESS) : CARDINAL;
  1015. ***** ^ undeclared identifier
  1016. 815 PROCEDURE GetCollate(length:CARDINAL; VAR cntry:COUNTRYCODE; buffer:FarADDRESS; VAR rlng:CARDINAL) : CARDINAL;
  1017. ***** ^ undeclared identifier
  1018. 816 PROCEDURE GetCp(length:CARDINAL; VAR cplist,rlng:CARDINAL) : CARDINAL;
  1019. 817 PROCEDURE SetCp(cpage,rsrvd:CARDINAL) : CARDINAL;
  1020. 818 PROCEDURE SetProcCp(cpage,rsrvd:CARDINAL) : CARDINAL;
  1021. 819
  1022. 820 (*%E*)
  1023. 821 (**)
  1024. 822 (**--- Signal manager -----------------------------------------------------*)
  1025. 823 (**)
  1026. 824 (*%T i_SIGNAL *)
  1027. 825
  1028. 826 CONST
  1029. 827 (* Signal Numbers for DosSetSigHandler *)
  1030. 828 SIG_CTRLC = 1; SIG_BROKENPIPE = 2; SIG_KILLPROCESS = 3;
  1031. 829 SIG_CTRLBREAK = 4; SIG_PFLG_A = 5; SIG_PFLG_B = 6;
  1032. 830 SIG_PFLG_C = 7; SIG_CSIGNALS = 8;
  1033. 831 (* Flag Numbers for DosFlagProcess *)
  1034. 832 PFLG_A = 0; PFLG_B = 1; PFLG_C = 2;
  1035. 833 (* Signal actions *)
  1036. 834 SIGA_KILL = 0; SIGA_IGNORE = 1; SIGA_ACCEPT = 2;
  1037. 835 SIGA_ERROR = 3; SIGA_ACKNOWLEDGE = 4;
  1038. 836 (* DosHoldSignal constants *)
  1039. 837 HLDSIG_ENABLE = 0; HLDSIG_DISABLE = 1;
  1040. 838 (* DosFlagProcess codes *)
  1041. 839 FLGP_SUBTREE = 0; FLGP_PID = 1;
  1042. 840
  1043. 841 (*# save *)
  1044. 842 (*# call(reg_saved => (ds,si,di,st1,st2),
  1045. 843 near_call=>off) *)
  1046. 844 TYPE
  1047. 845 SIGHANDLER = PROCEDURE (CARDINAL,CARDINAL);
  1048. ***** ^ not supported yet
  1049. ***** ^ not supported yet
  1050. ***** ^ not supported yet
  1051. 846 (*# restore *)
  1052. 847
  1053. 848 PROCEDURE SetSigHandler(raddr:SIGHANDLER; VAR paddr:SIGHANDLER; VAR paction:CARDINAL; action,signbr:CARDINAL) : CARDINAL;
  1054. 849 PROCEDURE FlagProcess(procid,action,flagnum,flagarg:CARDINAL) : CARDINAL;
  1055. 850 PROCEDURE HoldSignal(action:CARDINAL) : CARDINAL;
  1056. 851 PROCEDURE SendSignal(pid,signum:CARDINAL) : CARDINAL;
  1057. 852
  1058. 853 (*%E*)
  1059. 854 (**)
  1060. 855 (**--- Device Monitors -----------------------------------------------------*)
  1061. 856 (**)
  1062. 857 (*%T i_MONITOR*)
  1063. 858
  1064. 859 TYPE
  1065. 860 HMONITOR = CARDINAL;
  1066. 861
  1067. 862 PROCEDURE MonOpen(name:ARRAY OF CHAR; VAR handle:HMONITOR) : CARDINAL;
  1068. ***** ^ not supported yet
  1069. 863 PROCEDURE MonClose(handle:HMONITOR) : CARDINAL;
  1070. 864 PROCEDURE MonReg(handle:HMONITOR; buffi,buffo : FarADDRESS;flag,indx:CARDINAL) : CARDINAL;
  1071. ***** ^ undeclared identifier
  1072. 865 PROCEDURE MonRead(inbuffs :FarADDRESS; wait:CARDINAL; doffs:FarADDRESS; VAR bytcnt:CARDINAL) : CARDINAL;
  1073. ***** ^ undeclared identifier
  1074. ***** ^ undeclared identifier
  1075. 866 PROCEDURE MonWrite(inbuffs :FarADDRESS; doffs:FarADDRESS; bytcnt :CARDINAL) : CARDINAL;
  1076. ***** ^ undeclared identifier
  1077. ***** ^ undeclared identifier
  1078. 867
  1079. 868 (*%E*)
  1080. 869 (**)
  1081. 870 (**--- Pipe and Queue support ---------------------------------------------*)
  1082. 871 (**)
  1083. 872 (*%T i_QUEUES *)
  1084. 873
  1085. 874 TYPE
  1086. 875 HQUEUE = CARDINAL;
  1087. 876 QINFO = RECORD
  1088. 877 pid : CARDINAL;
  1089. 878 app : CARDINAL;
  1090. 879 END ;
  1091. ***** ^ not supported yet
  1092. 880
  1093. 881 CONST
  1094. 882 (* Values for CreateQueue *)
  1095. 883 QUE_FIFO = 0; QUE_LIFO = 1; QUE_PRIORITY = 2;
  1096. 884
  1097. 885 PROCEDURE MakePipe(VAR rhandle,whandle:CARDINAL; size:CARDINAL) : CARDINAL;
  1098. 886 PROCEDURE CloseQueue(handle:HQUEUE) : CARDINAL;
  1099. 887 PROCEDURE CreateQueue(VAR handle:HQUEUE; priority:CARDINAL; name:ARRAY OF CHAR) : CARDINAL;
  1100. ***** ^ not supported yet
  1101. 888 PROCEDURE OpenQueue(VAR owner:CARDINAL; VAR handle:HQUEUE; name:ARRAY OF CHAR) : CARDINAL;
  1102. ***** ^ not supported yet
  1103. 889 PROCEDURE PeekQueue(handle:HQUEUE;VAR rqst:QINFO; VAR lng:CARDINAL; VAR addr:FarADDRESS;
  1104. ***** ^ undeclared identifier
  1105. 890 VAR code: CARDINAL; wait :CARDINAL; VAR prty: CARDINAL; sem: HSEM ) : CARDINAL ;
  1106. 891 PROCEDURE PurgeQueue(handle:HQUEUE) : CARDINAL;
  1107. 892 PROCEDURE QueryQueue(handle:HQUEUE; VAR number:CARDINAL) : CARDINAL;
  1108. 893 PROCEDURE ReadQueue(handle:HQUEUE;VAR rqst:QINFO; VAR lng:CARDINAL; VAR addr:FarADDRESS;
  1109. ***** ^ undeclared identifier
  1110. 894 code,wait :CARDINAL; VAR prty: CARDINAL; sem: HSEM ) : CARDINAL ;
  1111. 895 PROCEDURE WriteQueue(handle:HQUEUE;rqst,length:CARDINAL; data :FarADDRESS;prty:CARDINAL) : CARDINAL ;
  1112. ***** ^ undeclared identifier
  1113. 896
  1114. 897 (*%E*)
  1115. 898 (**)
  1116. 899 (**--- Miscellanous Dos services ------------------------------------------*)
  1117. 900 (**)
  1118. 901 (*%T i_MISC *)
  1119. 902
  1120. 903 PROCEDURE Error(flag:CARDINAL) : CARDINAL;
  1121. 904 PROCEDURE SetVec(vector:CARDINAL; routin: Os2ProcType; VAR prev: Os2ProcType) : CARDINAL;
  1122. 905 PROCEDURE GetMessage(vartab:FarADDRESS; varcnt:CARDINAL; VAR data:ARRAY OF CHAR; length:CARDINAL;
  1123. ***** ^ undeclared identifier
  1124. ***** ^ not supported yet
  1125. 906 msgnbr:CARDINAL; msgfile:ARRAY OF CHAR; VAR msglng:CARDINAL) : CARDINAL;
  1126. ***** ^ not supported yet
  1127. 907 PROCEDURE ErrClass(ecode:CARDINAL; VAR eclass,action,locus:CARDINAL);
  1128. 908 PROCEDURE InsMessage(table:FarADDRESS;count:CARDINAL;input:FarADDRESS;
  1129. ***** ^ undeclared identifier
  1130. ***** ^ undeclared identifier
  1131. 909 inlength:CARDINAL; data:FarADDRESS ;
  1132. ***** ^ undeclared identifier
  1133. 910 length:CARDINAL; VAR mlength:CARDINAL) : CARDINAL;
  1134. 911 PROCEDURE PutMessage(handle:HFILE; length:CARDINAL; buffer:ARRAY OF CHAR) : CARDINAL;
  1135. ***** ^ not supported yet
  1136. 912 PROCEDURE PTrace(b : FarADDRESS):CARDINAL;
  1137. ***** ^ undeclared identifier
  1138. 913
  1139. 914 CONST
  1140. 915 (* definition for DOSQSYSINFO *)
  1141. 916 Q_MAX_PATH_LENGTH = 0; (* index for query max path length *)
  1142. 917 PROCEDURE QSysInfo (index:CARDINAL; Buf:FarADDRESS; bufsize:CARDINAL):CARDINAL;
  1143. ***** ^ undeclared identifier
  1144. 918
  1145. 919 PROCEDURE GetEnv(VAR environ,cmdoff:CARDINAL) : CARDINAL;
  1146. 920 PROCEDURE ScanEnv(environ:ARRAY OF CHAR; VAR cmdoff:FarADDRESS) : CARDINAL;
  1147. ***** ^ not supported yet
  1148. ***** ^ undeclared identifier
  1149. 921 PROCEDURE SearchPath(cntrl:CARDINAL; path:ARRAY OF CHAR;
  1150. ***** ^ not supported yet
  1151. 922 file:ARRAY OF CHAR; rbuff:FarADDRESS ; buflen:CARDINAL) : CARDINAL;
  1152. ***** ^ not supported yet
  1153. ***** ^ undeclared identifier
  1154. 923 PROCEDURE GetVersion(VAR vnumber:CARDINAL);
  1155. 924 PROCEDURE GetMachineMode(VAR mode:CARDINAL);
  1156. 925 (*%E*)
  1157. 926 (**)
  1158. 927 (**--- Session Manager Routines --------------------------------------------*)
  1159. 928 (**)
  1160. 929 (*%T i_SESSION*)
  1161. 930
  1162. 931 TYPE
  1163. 932 STARTDATA = RECORD
  1164. 933 length : CARDINAL;
  1165. 934 related : CARDINAL;
  1166. 935 fgBg : CARDINAL;
  1167. 936 traceOpt : CARDINAL;
  1168. 937 pgmTitle : FarADDRESS;
  1169. ***** ^ undeclared identifier
  1170. 938 pgmName : FarADDRESS;
  1171. ***** ^ undeclared identifier
  1172. 939 pgmInputs : FarADDRESS;
  1173. ***** ^ undeclared identifier
  1174. 940 termQ : FarADDRESS;
  1175. ***** ^ undeclared identifier
  1176. 941 env : FarADDRESS;
  1177. ***** ^ undeclared identifier
  1178. 942 inherit : CARDINAL;
  1179. 943 sesstype : CARDINAL;
  1180. 944 iconfile : FarADDRESS;
  1181. ***** ^ undeclared identifier
  1182. 945 pgmhandle : FarADDRESS;
  1183. ***** ^ undeclared identifier
  1184. 946 pgmcontrol : CARDINAL;
  1185. 947 initX,initY : CARDINAL;
  1186. 948 initXsize : CARDINAL;
  1187. 949 initYsize : CARDINAL;
  1188. 950 END;
  1189. ***** ^ not supported yet
  1190. 951
  1191. 952 STATUSDATA = RECORD
  1192. 953 length : CARDINAL;
  1193. 954 selectInd : CARDINAL;
  1194. 955 bondInd : CARDINAL;
  1195. 956 END;
  1196. ***** ^ not supported yet
  1197. 957
  1198. 958 REGISTERDATA = RECORD
  1199. 959 Length: CARDINAL; (* length of this data structure *)
  1200. 960 NotifType: CARDINAL; (* type of notification *)
  1201. 961 DDName: FarADDRESS; (* pointer to device driver name *)
  1202. ***** ^ undeclared identifier
  1203. 962 END;
  1204. ***** ^ not supported yet
  1205. 963
  1206. 964 CONST
  1207. 965 STARTDATASIZE0 = VSIZE(STARTDATA.termQ); (* Size for V1.0 *)
  1208. ***** ^ undeclared identifier
  1209. ***** ^ not supported yet
  1210. 966
  1211. 967 PROCEDURE StartSession(VAR sdata:STARTDATA; VAR sessid,pid:CARDINAL) : CARDINAL;
  1212. 968 PROCEDURE SetSession(sessid:CARDINAL; VAR status:STATUSDATA) : CARDINAL;
  1213. 969 PROCEDURE SelectSession(sessid:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  1214. ***** ^ undeclared identifier
  1215. 970 PROCEDURE StopSession(target,sessid:CARDINAL; rsrvd:LONGCARD) : CARDINAL;
  1216. ***** ^ undeclared identifier
  1217. 971 PROCEDURE SmRegisterDD(VAR rdata: REGISTERDATA) : CARDINAL;
  1218. 972 PROCEDURE QAppType(n:ARRAY OF CHAR; VAR t:CARDINAL) : CARDINAL;
  1219. ***** ^ not supported yet
  1220. 973
  1221. 974
  1222. 975 (*%E*)
  1223. 976 (**)
  1224. 977 (**--- Device Support -----------------------------------------------------*)
  1225. 978 (**)
  1226. 979 (*%T i_DEVICE*)
  1227. 980
  1228. 981 PROCEDURE DevConfig(device:FarADDRESS; item,rsrvd:CARDINAL) : CARDINAL;
  1229. ***** ^ undeclared identifier
  1230. 982 PROCEDURE DevIOCtl(data:FarADDRESS; parms:FarADDRESS; functn,categry,device:CARDINAL) : CARDINAL;
  1231. ***** ^ undeclared identifier
  1232. ***** ^ undeclared identifier
  1233. 983 PROCEDURE DevIOCtl2(data:FarADDRESS; datalen:CARDINAL;
  1234. ***** ^ undeclared identifier
  1235. 984 parms:FarADDRESS; parmlen:CARDINAL; functn,categry,device:CARDINAL) : CARDINAL;
  1236. ***** ^ undeclared identifier
  1237. 985 PROCEDURE CLIAccess();
  1238. 986 PROCEDURE PortAccess(rsrvd,type,first,last:CARDINAL) : CARDINAL;
  1239. 987 PROCEDURE PhysicalDisk(func:CARDINAL; buff:FarADDRESS;blng:CARDINAL; parms:FarADDRESS; plng:CARDINAL) : CARDINAL;
  1240. ***** ^ undeclared identifier
  1241. ***** ^ undeclared identifier
  1242. 988 PROCEDURE CallBack (p : Os2ProcType);
  1243. 989 PROCEDURE R2StackRealloc(ns:CARDINAL):CARDINAL;
  1244. 990
  1245. 991 (*%E*)
  1246. 992 (**)
  1247. 993 (**--- Dos Named Pipes -----------------------------------------------------*)
  1248. 994 (**)
  1249. 995 (*%T i_NMPIPES*)
  1250. 996
  1251. 997 TYPE
  1252. 998 HPIPE = CARDINAL;
  1253. 999 AVAILBUF = RECORD buffered,curmsg : CARDINAL END;
  1254. ***** ^ not supported yet
  1255. 1000
  1256. 1001 PROCEDURE CallNmPipe(fn:ARRAY OF CHAR; ib:ARRAY OF BYTE; il:CARDINAL; VAR ob:ARRAY OF BYTE; ol:CARDINAL; VAR r:CARDINAL; to:LONGCARD) : CARDINAL;
  1257. ***** ^ not supported yet
  1258. ***** ^ undeclared identifier
  1259. ***** ^ undeclared identifier
  1260. ***** ^ undeclared identifier
  1261. 1002 PROCEDURE ConnectNmPipe(p:HPIPE) : CARDINAL;
  1262. 1003 PROCEDURE DisConnectNmPipe(p:HPIPE) : CARDINAL;
  1263. 1004 PROCEDURE MakeNmPipe(fn:ARRAY OF CHAR; VAR p:HPIPE; om,pm,obs,ibs:CARDINAL; to:LONGCARD) : CARDINAL;
  1264. ***** ^ not supported yet
  1265. ***** ^ undeclared identifier
  1266. 1005 PROCEDURE PeekNmPipe(p:HPIPE; VAR ob:ARRAY OF BYTE; bl:CARDINAL; VAR r:CARDINAL; VAR a:AVAILBUF; VAR ps:CARDINAL) : CARDINAL;
  1267. ***** ^ undeclared identifier
  1268. 1006 PROCEDURE QNmPHandState(p:HPIPE; VAR ps:CARDINAL) : CARDINAL;
  1269. 1007 PROCEDURE QNmPipeInfo(p:HPIPE; il:CARDINAL; VAR ib:ARRAY OF BYTE; ibs:CARDINAL) : CARDINAL;
  1270. ***** ^ undeclared identifier
  1271. 1008 PROCEDURE QNmPipeSemState(s:HSEM; VAR ib:ARRAY OF BYTE; ibs:CARDINAL) : CARDINAL;
  1272. ***** ^ undeclared identifier
  1273. 1009 PROCEDURE SetNmPHandState(p:HPIPE; s:CARDINAL) : CARDINAL;
  1274. 1010 PROCEDURE SetNmPipeSem(p:HPIPE; s:HSEM; kh:CARDINAL) : CARDINAL;
  1275. 1011 PROCEDURE TransactNmPipe(p:HPIPE; ib:ARRAY OF BYTE; ibl:CARDINAL; VAR ob:ARRAY OF BYTE; obl:CARDINAL; VAR r:CARDINAL) : CARDINAL;
  1276. ***** ^ undeclared identifier
  1277. ***** ^ undeclared identifier
  1278. 1012 PROCEDURE WaitNmPipe(n:ARRAY OF CHAR; to:LONGCARD) : CARDINAL;
  1279. ***** ^ not supported yet
  1280. ***** ^ undeclared identifier
  1281. 1013
  1282. 1014 (* Data structures and constants used with named pipes *)
  1283. 1015
  1284. 1016 TYPE
  1285. 1017 npi_data1 = RECORD (* PipeInfo data block (returned, level 1) *)
  1286. 1018 npi_obuflen : CARDINAL; (* length of outgoing I/O buffer *)
  1287. 1019 npi_ibuflen : CARDINAL; (* length of incoming I/O buffer *)
  1288. 1020 npi_maxicnt : SHORTCARD; (* maximum number of instances *)
  1289. 1021 npi_curicnt : SHORTCARD; (* current number of instances *)
  1290. 1022 npi_namlen : SHORTCARD; (* length of pipe name *)
  1291. 1023 npi_name : ARRAY[0..0] OF CHAR; (* start of name *)
  1292. ***** ^ not supported yet
  1293. ***** ^ not supported yet
  1294. 1024 END;
  1295. ***** ^ not supported yet
  1296. 1025
  1297. 1026 npss = RECORD (* QNmPipeSemState information record *)
  1298. 1027 npss_status : SHORTCARD; (* type of record, 0=EOI, 1=read ok, 2 = write ok, 3 = pipe closed *)
  1299. 1028 npss_flag : SHORTCARD; (* additional info, 01=waiting thread *)
  1300. 1029 npss_key : CARDINAL; (* user's key value *)
  1301. 1030 npss_avail : CARDINAL; (* available data/space if status=1/2 *)
  1302. 1031 END;
  1303. ***** ^ not supported yet
  1304. 1032
  1305. 1033 CONST
  1306. 1034 (* values in npss_status *)
  1307. 1035 NPSS_EOI = 0; (* End Of Information *)
  1308. 1036 NPSS_RDATA = 1; (* read data available *)
  1309. 1037 NPSS_WSPACE = 2; (* write space available *)
  1310. 1038 NPSS_CLOSE = 3; (* pipe in CLOSING state *)
  1311. 1039
  1312. 1040 (* values in npss_flag *)
  1313. 1041 NPSS_WAIT = 01H; (* waiting thread on other end of pipe *)
  1314. 1042
  1315. 1043 (* defined bits in pipe mode *)
  1316. 1044 NP_NBLK = 08000H; (* non-blocking read/write *)
  1317. 1045 NP_SERVER = 04000H; (* set if server end *)
  1318. 1046 NP_WMESG = 00400H; (* write messages *)
  1319. 1047 NP_RMESG = 00100H; (* read as messages *)
  1320. 1048 NP_ICOUNT = 000FFH; (* instance count field *)
  1321. 1049
  1322. 1050 (* Values for named pipe state *)
  1323. 1051
  1324. 1052 NP_DISCONNECTED = 1; (* after pipe creation or Disconnect *)
  1325. 1053 NP_LISTENING = 2; (* after DosNmPipeConnect *)
  1326. 1054 NP_CONNECTED = 3; (* after Client open *)
  1327. 1055 NP_CLOSING = 4; (* after Client or Server close *)
  1328. 1056
  1329. 1057 (*%E*)
  1330. 1058 (**)
  1331. 1059 (**--- Dos Font Support ----------------------------------------------------*)
  1332. 1060 (**)
  1333. 1061 (*%T i_FONT*)
  1334. 1062 TYPE
  1335. 1063 HSPL = FarADDRESS;
  1336. ***** ^ undeclared identifier
  1337. 1064
  1338. 1065 PROCEDURE PFSActivate(s:HSPL; VAR w:LONGCARD; n:ARRAY OF CHAR; c,i,f:CARDINAL; z:LONGCARD) : CARDINAL;
  1339. ***** ^ undeclared identifier
  1340. ***** ^ not supported yet
  1341. ***** ^ undeclared identifier
  1342. 1066 PROCEDURE PFSCloseUser(n:ARRAY OF CHAR; f:CARDINAL; z:LONGCARD) : CARDINAL;
  1343. ***** ^ not supported yet
  1344. ***** ^ undeclared identifier
  1345. 1067 PROCEDURE PFSInit(pl:ARRAY OF CARDINAL; fn,pt1,pt2:ARRAY OF CHAR; i:CARDINAL; z:LONGCARD) : CARDINAL;
  1346. ***** ^ not supported yet
  1347. ***** ^ not supported yet
  1348. ***** ^ undeclared identifier
  1349. 1068 PROCEDURE PFSQueryAct(n:ARRAY OF CHAR; VAR c,i:CARDINAL; f:CARDINAL; z:LONGCARD) : CARDINAL;
  1350. ***** ^ not supported yet
  1351. ***** ^ undeclared identifier
  1352. 1069 PROCEDURE PFSVerifyFont(n:ARRAY OF CHAR; c,i:CARDINAL; z:LONGCARD) : CARDINAL;
  1353. ***** ^ not supported yet
  1354. ***** ^ undeclared identifier
  1355. 1070
  1356. 1071 (*%E*)
  1357. 1072
  1358. 1073 VAR
  1359. 1074 NULL [0:0] : BYTE ; (* equivalent of NIL for VAR params *)
  1360. ***** ^ not supported yet
  1361. ***** ^ not supported yet
  1362. ***** ^ undeclared identifier
  1363. 1075
  1364. 1076 END Dos.
  1365. ***** ^ not supported yet
  1366. 288 errors