1 | UNIT BseDos;
|
---|
2 |
|
---|
3 | {****************************** Module Header *****************************
|
---|
4 | * *
|
---|
5 | * Module Name: BSEDOS.PAS *
|
---|
6 | * *
|
---|
7 | * OS/2 Base include file. *
|
---|
8 | * *
|
---|
9 | ***************************************************************************}
|
---|
10 |
|
---|
11 | INTERFACE
|
---|
12 |
|
---|
13 | USES Os2Def,BseTib,BseExcpt;
|
---|
14 |
|
---|
15 | { Access protection }
|
---|
16 | CONST
|
---|
17 | PAG_READ =$00000001; { read access }
|
---|
18 | PAG_WRITE =$00000002; { write access }
|
---|
19 | PAG_EXECUTE =$00000004; { execute access }
|
---|
20 | PAG_GUARD =$00000008; { guard protection }
|
---|
21 | PAG_DEFAULT =$00000400; { default (initial) access }
|
---|
22 |
|
---|
23 | { Commit}
|
---|
24 | PAG_COMMIT =$00000010; { commit storage }
|
---|
25 | PAG_DECOMMIT =$00000020; { decommit storage }
|
---|
26 |
|
---|
27 | { Allocation attributes }
|
---|
28 | OBJ_TILE =$00000040; { tile object }
|
---|
29 | OBJ_PROTECTED =$00000080; { protect object
|
---|
30 | NOTE: This flag is NOT available at
|
---|
31 | the api level }
|
---|
32 | OBJ_GETTABLE =$00000100; { gettable by other processes }
|
---|
33 | OBJ_GIVEABLE =$00000200; { giveable to other processes }
|
---|
34 |
|
---|
35 |
|
---|
36 | fPERM =PAG_EXECUTE OR PAG_READ OR PAG_WRITE;
|
---|
37 | fSHARE =OBJ_GETTABLE OR OBJ_GIVEABLE;
|
---|
38 |
|
---|
39 | { DosAllocMem flags }
|
---|
40 | fALLOC =OBJ_TILE OR PAG_COMMIT OR fPERM;
|
---|
41 |
|
---|
42 |
|
---|
43 | { DosAllocSharedMem flags }
|
---|
44 | fALLOCSHR =OBJ_TILE OR PAG_COMMIT OR fSHARE OR fPERM;
|
---|
45 |
|
---|
46 | { DosGetNamedSharedMem flags }
|
---|
47 | fGETNMSHR =fPERM;
|
---|
48 |
|
---|
49 | { DosGetSharedMem flags }
|
---|
50 | fGETSHR =fPERM;
|
---|
51 |
|
---|
52 | { DosGiveSharedMem flags }
|
---|
53 | fGIVESHR =fPERM;
|
---|
54 |
|
---|
55 | { DosSetMem flags }
|
---|
56 | fSET =PAG_COMMIT + PAG_DECOMMIT + PAG_DEFAULT + fPERM;
|
---|
57 |
|
---|
58 | { Dos32SubSet flags }
|
---|
59 | DOSSUB_INIT =$01; { initialize memory object for
|
---|
60 | suballocation }
|
---|
61 | DOSSUB_GROW =$02; { increase size of memory pool
|
---|
62 | for suballocation }
|
---|
63 | DOSSUB_SPARSE_OBJ =$04; { indicator for DosSub to
|
---|
64 | manage the commitment of
|
---|
65 | pages spanned by the memory pool }
|
---|
66 | DOSSUB_SERIALIZE =$08; { indicates that access to the
|
---|
67 | memory pool is to be
|
---|
68 | serialized by DosSub }
|
---|
69 |
|
---|
70 |
|
---|
71 | { Allocation type (returned from DosQueryMem) }
|
---|
72 | PAG_SHARED =$00002000; { shared object }
|
---|
73 | PAG_FREE =$00004000; { pages are free }
|
---|
74 | PAG_BASE =$00010000; { first page in object }
|
---|
75 |
|
---|
76 |
|
---|
77 | { DosExit codes }
|
---|
78 | CONST
|
---|
79 | EXIT_THREAD =0;
|
---|
80 | EXIT_PROCESS =1;
|
---|
81 |
|
---|
82 | TYPE
|
---|
83 | PFNTHREAD=POINTER;
|
---|
84 |
|
---|
85 | { Action code values }
|
---|
86 | CONST
|
---|
87 | DCWA_PROCESS =0;
|
---|
88 | DCWA_PROCESSTREE =1;
|
---|
89 |
|
---|
90 | { Wait option values }
|
---|
91 |
|
---|
92 | DCWW_WAIT =0;
|
---|
93 | DCWW_NOWAIT =1;
|
---|
94 |
|
---|
95 | { Thread Flags for DosCreateThread options 59468 }
|
---|
96 |
|
---|
97 | CREATE_READY =0; { defect 65437 }
|
---|
98 | CREATE_SUSPENDED =1;
|
---|
99 | STACK_SPARSE =0;
|
---|
100 | STACK_COMMITTED =2;
|
---|
101 |
|
---|
102 | TYPE
|
---|
103 | PRESULTCODES=^RESULTCODES;
|
---|
104 | RESULTCODES=RECORD
|
---|
105 | codeTerminate:ULONG;
|
---|
106 | codeResult:ULONG;
|
---|
107 | END;
|
---|
108 |
|
---|
109 |
|
---|
110 | { User's Debug Buffer structure }
|
---|
111 |
|
---|
112 | TYPE
|
---|
113 | PDbgBuf=^TDbgBuf;
|
---|
114 | TDbgBuf=RECORD
|
---|
115 | Pid:PID; { Debuggee Process id }
|
---|
116 | Tid:TID; { Debuggee Thread id }
|
---|
117 | Cmd:LONGINT; { Command or Notification }
|
---|
118 | Value:LONGINT; { Generic Data Value }
|
---|
119 | Addr:LONGWORD; { Debuggee Address }
|
---|
120 | Buffer:LONGWORD; { Debugger Buffer Address }
|
---|
121 | Len:LONGWORD; { Length of Range }
|
---|
122 | index:LONGWORD; { Generic Identifier Index }
|
---|
123 | MTE:LONGWORD; { Module Table Entry Handle }
|
---|
124 | EAX:LONGWORD; { Register Set }
|
---|
125 | ECX:LONGWORD;
|
---|
126 | EDX:LONGWORD;
|
---|
127 | EBX:LONGWORD;
|
---|
128 | ESP:LONGWORD;
|
---|
129 | EBP:LONGWORD;
|
---|
130 | ESI:LONGWORD;
|
---|
131 | EDI:LONGWORD;
|
---|
132 | EFlags:LONGWORD;
|
---|
133 | EIP:LONGWORD;
|
---|
134 | CSLim:LONGWORD;
|
---|
135 | CSBase:LONGWORD;
|
---|
136 | CSAcc:BYTE;
|
---|
137 | CSAtr:BYTE;
|
---|
138 | CS:WORD;
|
---|
139 | DSLim:LONGWORD;
|
---|
140 | DSBase:LONGWORD;
|
---|
141 | DSAcc:BYTE;
|
---|
142 | DSAtr:BYTE;
|
---|
143 | DS:WORD;
|
---|
144 | ESLim:LONGWORD;
|
---|
145 | ESBase:LONGWORD;
|
---|
146 | ESAcc:BYTE;
|
---|
147 | ESAtr:BYTE;
|
---|
148 | ES:WORD;
|
---|
149 | FSLim:LONGWORD;
|
---|
150 | FSBase:LONGWORD;
|
---|
151 | FSAcc:BYTE;
|
---|
152 | FSAtr:BYTE;
|
---|
153 | FS:WORD;
|
---|
154 | GSLim:LONGWORD;
|
---|
155 | GSBase:LONGWORD;
|
---|
156 | GSAcc:BYTE;
|
---|
157 | GSAtr:BYTE;
|
---|
158 | GS:WORD;
|
---|
159 | SSLim:LONGWORD;
|
---|
160 | SSBase:LONGWORD;
|
---|
161 | SSAcc:BYTE;
|
---|
162 | SSAtr:BYTE;
|
---|
163 | SS:WORD;
|
---|
164 | END;
|
---|
165 |
|
---|
166 | { DosDebug Command Numbers
|
---|
167 | *
|
---|
168 | * These numbers are placed in the Cmd field of the uDB on
|
---|
169 | * entry to DosDebug.
|
---|
170 | *
|
---|
171 | * These numbers identify which command DosDebug is requested
|
---|
172 | * to perform.
|
---|
173 | *
|
---|
174 | }
|
---|
175 |
|
---|
176 | CONST
|
---|
177 | DBG_C_Null =0; { Null }
|
---|
178 | DBG_C_ReadMem =1; { Read Word }
|
---|
179 | DBG_C_ReadMem_I =1; { Read Word }
|
---|
180 | DBG_C_ReadMem_D =2; { Read Word (same as 1) }
|
---|
181 | DBG_C_ReadReg =3; { Read Register Set }
|
---|
182 | DBG_C_WriteMem =4; { Write Word }
|
---|
183 | DBG_C_WriteMem_I =4; { Write Word }
|
---|
184 | DBG_C_WriteMem_D =5; { Write Word (same as 4) }
|
---|
185 | DBG_C_WriteReg =6; { Write Register Set }
|
---|
186 | DBG_C_Go =7; { Go }
|
---|
187 | DBG_C_Term =8; { Terminate }
|
---|
188 | DBG_C_SStep =9; { Single Step }
|
---|
189 | DBG_C_Stop =10; { Stop }
|
---|
190 | DBG_C_Freeze =11; { Freeze Thread }
|
---|
191 | DBG_C_Resume =12; { Resume Thread }
|
---|
192 | DBG_C_NumToAddr =13; { Object Number to Address }
|
---|
193 | DBG_C_ReadCoRegs =14; { Read Coprocessor Registers }
|
---|
194 | DBG_C_WriteCoRegs =15; { Write Coprocessor Registers }
|
---|
195 | { 16 is reserved }
|
---|
196 | DBG_C_ThrdStat =17; { Get Thread Status }
|
---|
197 | DBG_C_MapROAlias =18; { Map read-only alias }
|
---|
198 | DBG_C_MapRWAlias =19; { Map read-write alias }
|
---|
199 | DBG_C_UnMapAlias =20; { Unmap Alias }
|
---|
200 | DBG_C_Connect =21; { Connect to Debuggee }
|
---|
201 | DBG_C_ReadMemBuf =22; { Read Memory Buffer }
|
---|
202 | DBG_C_WriteMemBuf =23; { Write Memory Buffer }
|
---|
203 | DBG_C_SetWatch =24; { Set Watchpoint }
|
---|
204 | DBG_C_ClearWatch =25; { Clear Watchpoint }
|
---|
205 | DBG_C_RangeStep =26; { Range Step }
|
---|
206 | DBG_C_Continue =27; { Continue after an Exception }
|
---|
207 | DBG_C_AddrToObject =28; { Address to Object }
|
---|
208 | DBG_C_XchgOpcode =29; { Exchange opcode and go }
|
---|
209 | DBG_C_LinToSel =30; { 32 to 16 conversion A001}
|
---|
210 | DBG_C_SelToLin =31; { 16 to 32 conversion A001}
|
---|
211 |
|
---|
212 | {------ Constants -------------------}
|
---|
213 | DBG_L_386 =1;
|
---|
214 | DBG_O_OBJMTE =$10000000;
|
---|
215 |
|
---|
216 | {------ Notifications ---------------}
|
---|
217 | DBG_N_SUCCESS = 0;
|
---|
218 | DBG_N_ERROR =-1;
|
---|
219 | DBG_N_ProcTerm =-6;
|
---|
220 | DBG_N_Exception =-7;
|
---|
221 | DBG_N_ModuleLoad =-8;
|
---|
222 | DBG_N_CoError =-9;
|
---|
223 | DBG_N_ThreadTerm =-10;
|
---|
224 | DBG_N_AsyncStop =-11;
|
---|
225 | DBG_N_NewProc =-12;
|
---|
226 | DBG_N_AliasFree =-13;
|
---|
227 | DBG_N_Watchpoint =-14;
|
---|
228 | DBG_N_ThreadCreate =-15;
|
---|
229 | DBG_N_ModuleFree =-16;
|
---|
230 | DBG_N_RangeStep =-17;
|
---|
231 |
|
---|
232 | DBG_X_PRE_FIRST_CHANCE = 0;
|
---|
233 | DBG_X_FIRST_CHANCE = 1;
|
---|
234 | DBG_X_LAST_CHANCE = 2;
|
---|
235 | DBG_X_STACK_INVALID = 3;
|
---|
236 |
|
---|
237 | DBG_W_Local =$0000001;
|
---|
238 | DBG_W_Global =$0000002;
|
---|
239 | DBG_W_Execute =$00010000;
|
---|
240 | DBG_W_Write =$00020000;
|
---|
241 | DBG_W_ReadWrite =$00030000;
|
---|
242 |
|
---|
243 | { codeTerminate values (also passed to ExitList routines) }
|
---|
244 |
|
---|
245 | CONST
|
---|
246 | TC_EXIT =0;
|
---|
247 | TC_HARDERROR =1;
|
---|
248 | TC_TRAP =2;
|
---|
249 | TC_KILLPROCESS =3;
|
---|
250 | TC_EXCEPTION =4;
|
---|
251 |
|
---|
252 | TYPE
|
---|
253 | PFNEXITLIST=POINTER;
|
---|
254 |
|
---|
255 |
|
---|
256 | { DosExitList functions }
|
---|
257 |
|
---|
258 | CONST
|
---|
259 | EXLST_ADD =1;
|
---|
260 | EXLST_REMOVE =2;
|
---|
261 | EXLST_EXIT =3;
|
---|
262 |
|
---|
263 |
|
---|
264 | { DosExecPgm functions }
|
---|
265 | CONST
|
---|
266 | EXEC_SYNC =0;
|
---|
267 | EXEC_ASYNC =1;
|
---|
268 | EXEC_ASYNCRESULT =2;
|
---|
269 | EXEC_TRACE =3;
|
---|
270 | EXEC_BACKGROUND =4;
|
---|
271 | EXEC_LOAD =5;
|
---|
272 | EXEC_ASYNCRESULTDB =6;
|
---|
273 |
|
---|
274 |
|
---|
275 |
|
---|
276 | { Priority scopes }
|
---|
277 | CONST
|
---|
278 | PRTYS_PROCESS =0;
|
---|
279 | PRTYS_PROCESSTREE =1;
|
---|
280 | PRTYS_THREAD =2;
|
---|
281 |
|
---|
282 | { Priority classes }
|
---|
283 | CONST
|
---|
284 | PRTYC_NOCHANGE =0;
|
---|
285 | PRTYC_IDLETIME =1;
|
---|
286 | PRTYC_REGULAR =2;
|
---|
287 | PRTYC_TIMECRITICAL =3;
|
---|
288 | PRTYC_FOREGROUNDSERVER =4;
|
---|
289 |
|
---|
290 | { Priority deltas }
|
---|
291 |
|
---|
292 | PRTYD_MINIMUM =-31;
|
---|
293 | PRTYD_MAXIMUM = 31;
|
---|
294 |
|
---|
295 |
|
---|
296 |
|
---|
297 | CONST
|
---|
298 | DKP_PROCESSTREE =0;
|
---|
299 | DKP_PROCESS =1;
|
---|
300 |
|
---|
301 | {************************************************************************
|
---|
302 | * CCHMAXPATH is the maximum fully qualified path name length including *
|
---|
303 | * the drive letter, colon, backslashes and terminating NULL. *
|
---|
304 | *************************************************************************}
|
---|
305 | CCHMAXPATH =260;
|
---|
306 |
|
---|
307 | {************************************************************************
|
---|
308 | * CCHMAXPATHCOMP is the maximum individual path component name length *
|
---|
309 | * including a terminating NULL. *
|
---|
310 | *************************************************************************}
|
---|
311 | CCHMAXPATHCOMP =256;
|
---|
312 |
|
---|
313 | { DosSetFilePtr() file position codes }
|
---|
314 | CONST
|
---|
315 | FILE_BEGIN =$0000; { Move relative to beginning of file }
|
---|
316 | FILE_CURRENT =$0001; { Move relative to current fptr position }
|
---|
317 | FILE_END =$0002; { Move relative to end of file }
|
---|
318 |
|
---|
319 | { DosFindFirst/Next Directory handle types }
|
---|
320 | HDIR_SYSTEM = 1; { Use system handle (1) }
|
---|
321 | HDIR_CREATE = -1; { Allocate a new, unused handle }
|
---|
322 |
|
---|
323 | { DosCopy control bits; may be or'ed together }
|
---|
324 | DCPY_EXISTING =$0001; { Copy even if target exists }
|
---|
325 | DCPY_APPEND =$0002; { Append to existing file, do not replace }
|
---|
326 | DCPY_FAILEAS =$0004; { Fail if EAs not supported on target}
|
---|
327 |
|
---|
328 | { DosOpen/DosQFHandState/DosQueryFileInfo et al file attributes; also }
|
---|
329 | { known as Dos File Mode bits... }
|
---|
330 | FILE_NORMAL =$0000;
|
---|
331 | FILE_READONLY =$0001;
|
---|
332 | FILE_HIDDEN =$0002;
|
---|
333 | FILE_SYSTEM =$0004;
|
---|
334 | FILE_DIRECTORY =$0010;
|
---|
335 | FILE_ARCHIVED =$0020;
|
---|
336 |
|
---|
337 | FILE_IGNORE =$10000; { ignore file attribute in }
|
---|
338 | { DosSetPath/File Info if }
|
---|
339 | { this bit is set}
|
---|
340 |
|
---|
341 | MUST_HAVE_READONLY =(FILE_READONLY SHL 8) OR FILE_READONLY;
|
---|
342 | MUST_HAVE_HIDDEN =(FILE_HIDDEN SHL 8) OR FILE_HIDDEN;
|
---|
343 | MUST_HAVE_SYSTEM =(FILE_SYSTEM SHL 8) OR FILE_SYSTEM;
|
---|
344 | MUST_HAVE_DIRECTORY =(FILE_DIRECTORY SHL 8) OR FILE_DIRECTORY;
|
---|
345 | MUST_HAVE_ARCHIVED =(FILE_ARCHIVED SHL 8) OR FILE_ARCHIVED;
|
---|
346 |
|
---|
347 | { DosOpen() actions }
|
---|
348 | FILE_EXISTED =$0001;
|
---|
349 | FILE_CREATED =$0002;
|
---|
350 | FILE_TRUNCATED =$0003;
|
---|
351 |
|
---|
352 | { DosOpen() open flags }
|
---|
353 | FILE_OPEN =$0001;
|
---|
354 | FILE_TRUNCATE =$0002;
|
---|
355 | FILE_CREATE =$0010;
|
---|
356 |
|
---|
357 | { this nibble applies if file already exists xxxx }
|
---|
358 | OPEN_ACTION_FAIL_IF_EXISTS =$0000; { ---- ---- ---- 0000 }
|
---|
359 | OPEN_ACTION_OPEN_IF_EXISTS =$0001; { ---- ---- ---- 0001 }
|
---|
360 | OPEN_ACTION_REPLACE_IF_EXISTS =$0002; { ---- ---- ---- 0010 }
|
---|
361 |
|
---|
362 | { this nibble applies if file does not exist xxxx }
|
---|
363 | OPEN_ACTION_FAIL_IF_NEW =$0000; { ---- ---- 0000 ---- }
|
---|
364 | OPEN_ACTION_CREATE_IF_NEW =$0010; { ---- ---- 0001 ---- }
|
---|
365 |
|
---|
366 | { DosOpen/DosSetFHandState flags }
|
---|
367 | OPEN_ACCESS_READONLY =$0000; { ---- ---- ---- -000 }
|
---|
368 | OPEN_ACCESS_WRITEONLY =$0001; { ---- ---- ---- -001 }
|
---|
369 | OPEN_ACCESS_READWRITE =$0002; { ---- ---- ---- -010 }
|
---|
370 | OPEN_SHARE_DENYREADWRITE =$0010; { ---- ---- -001 ---- }
|
---|
371 | OPEN_SHARE_DENYWRITE =$0020; { ---- ---- -010 ---- }
|
---|
372 | OPEN_SHARE_DENYREAD =$0030; { ---- ---- -011 ---- }
|
---|
373 | OPEN_SHARE_DENYNONE =$0040; { ---- ---- -100 ---- }
|
---|
374 | OPEN_FLAGS_NOINHERIT =$0080; { ---- ---- 1--- ---- }
|
---|
375 | OPEN_FLAGS_NO_LOCALITY =$0000; { ---- -000 ---- ---- }
|
---|
376 | OPEN_FLAGS_SEQUENTIAL =$0100; { ---- -001 ---- ---- }
|
---|
377 | OPEN_FLAGS_RANDOM =$0200; { ---- -010 ---- ---- }
|
---|
378 | OPEN_FLAGS_RANDOMSEQUENTIAL =$0300; { ---- -011 ---- ---- }
|
---|
379 | OPEN_FLAGS_NO_CACHE =$1000; { ---1 ---- ---- ---- }
|
---|
380 | OPEN_FLAGS_FAIL_ON_ERROR =$2000; { --1- ---- ---- ---- }
|
---|
381 | OPEN_FLAGS_WRITE_THROUGH =$4000; { -1-- ---- ---- ---- }
|
---|
382 | OPEN_FLAGS_DASD =$8000; { 1--- ---- ---- ---- }
|
---|
383 | OPEN_FLAGS_NONSPOOLED =$00040000;
|
---|
384 | OPEN_FLAGS_PROTECTED_HANDLE =$40000000;
|
---|
385 |
|
---|
386 |
|
---|
387 | { DosSearchPath() constants }
|
---|
388 | SEARCH_PATH =$0000;
|
---|
389 | SEARCH_CUR_DIRECTORY =$0001;
|
---|
390 | SEARCH_ENVIRONMENT =$0002;
|
---|
391 | SEARCH_IGNORENETERRS =$0004;
|
---|
392 |
|
---|
393 |
|
---|
394 | {***********************************************************
|
---|
395 | EA Info Levels & Find First/Next
|
---|
396 | =========================================
|
---|
397 | API's: DosFindFirst, DosQueryFileInfo, DosQueryPathInfo, DosSetFileInfo,
|
---|
398 | DosSetPathInfo
|
---|
399 | ***********************************************************}
|
---|
400 |
|
---|
401 | { File info levels&gml All listed API's }
|
---|
402 | FIL_STANDARD =1; { Info level 1, standard file info }
|
---|
403 | FIL_QUERYEASIZE =2; { Level 2, return Full EA size }
|
---|
404 | FIL_QUERYEASFROMLIST =3; { Level 3, return requested EA's }
|
---|
405 |
|
---|
406 | { File info levels: Dos...PathInfo only }
|
---|
407 | FIL_QUERYFULLNAME =5; { Level 5, return fully qualified
|
---|
408 | name of file }
|
---|
409 |
|
---|
410 |
|
---|
411 | { DosFsAttach() }
|
---|
412 | { Attact or detach }
|
---|
413 | FS_ATTACH =0; { Attach file server }
|
---|
414 | FS_DETACH =1; { Detach file server }
|
---|
415 | FS_SPOOLATTACH =2; { Register a spooler device }
|
---|
416 | FS_SPOOLDETACH =3; { De-register a spooler device }
|
---|
417 |
|
---|
418 |
|
---|
419 | { DosFsCtl() }
|
---|
420 | { Routing type }
|
---|
421 | FSCTL_HANDLE =1; { File Handle directs req routing }
|
---|
422 | FSCTL_PATHNAME =2; { Path Name directs req routing }
|
---|
423 | FSCTL_FSDNAME =3; { FSD Name directs req routing }
|
---|
424 |
|
---|
425 | { defined FSCTL functions }
|
---|
426 | FSCTL_ERROR_INFO =1; { return error info from FSD }
|
---|
427 | FSCTL_MAX_EASIZE =2; { Max ea size for the FSD }
|
---|
428 |
|
---|
429 | TYPE
|
---|
430 | PEASIZEBUF=^EASIZEBUF;
|
---|
431 | EASIZEBUF=RECORD { struct for FSCTL fn 2 - max ea size }
|
---|
432 | cbMaxEASize:WORD; { max. size of one EA }
|
---|
433 | cbMaxEAListSize:ULONG; { max size of the full EA List }
|
---|
434 | END;
|
---|
435 |
|
---|
436 | { DosQueryFSAttach() }
|
---|
437 | { Information level types (defines method of query) }
|
---|
438 | CONST
|
---|
439 | FSAIL_QUERYNAME =1; { Return data for a Drive or Device }
|
---|
440 | FSAIL_DEVNUMBER =2; { Return data for Ordinal Device # }
|
---|
441 | FSAIL_DRVNUMBER =3; { Return data for Ordinal Drive # }
|
---|
442 |
|
---|
443 | { Item types (from data structure item "iType") }
|
---|
444 | FSAT_CHARDEV =1; { Resident character device }
|
---|
445 | FSAT_PSEUDODEV =2; { Pusedu-character device }
|
---|
446 | FSAT_LOCALDRV =3; { Local drive }
|
---|
447 | FSAT_REMOTEDRV =4; { Remote drive attached to FSD }
|
---|
448 |
|
---|
449 | TYPE
|
---|
450 | PFSQBUFFER=^FSQBUFFER;
|
---|
451 | FSQBUFFER=RECORD { fsqbuf Data structure for QFSAttach}
|
---|
452 | iType:WORD; { Item type }
|
---|
453 | cbName:WORD; { Length of item name, sans NULL }
|
---|
454 | szName:BYTE; { ASCIIZ item name }
|
---|
455 | cbFSDName:WORD; { Length of FSD name, sans NULL }
|
---|
456 | szFSDName:BYTE; { ASCIIZ FSD name }
|
---|
457 | cbFSAData:USHORT; { Length of FSD Attach data returned }
|
---|
458 | rgFSAData:BYTE; { FSD Attach data from FSD }
|
---|
459 | END;
|
---|
460 |
|
---|
461 | PFSQBUFFER2=^FSQBUFFER2;
|
---|
462 | FSQBUFFER2=RECORD { fsqbuf Data structure for QFSAttach}
|
---|
463 | iType:USHORT;
|
---|
464 | cbName:USHORT;
|
---|
465 | cbFSDName:USHORT;
|
---|
466 | cbFSAData:USHORT;
|
---|
467 | szName:BYTE;
|
---|
468 | szFSDName:BYTE;
|
---|
469 | rgFSAData:BYTE;
|
---|
470 | END;
|
---|
471 |
|
---|
472 | PSPOOLATTACH=^SPOOLATTACH;
|
---|
473 | SPOOLATTACH=RECORD
|
---|
474 | hNmPipe:USHORT; { Named pipe handle }
|
---|
475 | ulKey:ULONG; { Attached key }
|
---|
476 | END;
|
---|
477 |
|
---|
478 |
|
---|
479 | {****************************************************************************
|
---|
480 | * File System Drive Information&gml DosQueryFSInfo DosSetFSInfo *
|
---|
481 | ****************************************************************************}
|
---|
482 |
|
---|
483 | { FS Drive Info Levels }
|
---|
484 | CONST
|
---|
485 | FSIL_ALLOC =1; { Drive allocation info (Query only) }
|
---|
486 | FSIL_VOLSER =2; { Drive Volum/Serial info }
|
---|
487 |
|
---|
488 | { DosQueryFHType() }
|
---|
489 | { Handle classes (low 8 bits of Handle Type) }
|
---|
490 | FHT_DISKFILE =$0000; { Disk file handle }
|
---|
491 | FHT_CHRDEV =$0001; { Character device handle }
|
---|
492 | FHT_PIPE =$0002; { Pipe handle }
|
---|
493 |
|
---|
494 | { Handle bits (high 8 bits of Handle Type) }
|
---|
495 | FHB_DSKREMOTE =$8000; { Remote disk }
|
---|
496 | FHB_CHRDEVREMOTE =$8000; { Remote character device }
|
---|
497 | FHB_PIPEREMOTE =$8000; { Remote pipe }
|
---|
498 |
|
---|
499 |
|
---|
500 | TYPE
|
---|
501 | PFTIME=^FTIME;
|
---|
502 | FTIME=WORD; {twosecs Bit 0..4, minutes bit 5..10, hours bit 11..15}
|
---|
503 |
|
---|
504 | PFDATE=^FDATE;
|
---|
505 | FDATE=WORD; {Day Bit 0..4, Month Bit 5..8, year bit 9..15}
|
---|
506 |
|
---|
507 | PVOLUMELABEL=^VOLUMELABEL;
|
---|
508 | VOLUMELABEL=RECORD
|
---|
509 | cch:BYTE;
|
---|
510 | szVolLabel:CSTRING[11];
|
---|
511 | END;
|
---|
512 |
|
---|
513 | PFSINFO=^FSINFO;
|
---|
514 | FSINFO=RECORD
|
---|
515 | fdateCreation:FDATE;
|
---|
516 | ftimeCreation:FTIME;
|
---|
517 | vol:VOLUMELABEL;
|
---|
518 | END;
|
---|
519 |
|
---|
520 | { HANDTYPE values }
|
---|
521 | CONST
|
---|
522 | HANDTYPE_FILE =$0000;
|
---|
523 | HANDTYPE_DEVICE =$0001;
|
---|
524 | HANDTYPE_PIPE =$0002;
|
---|
525 | HANDTYPE_PROTECTED =$4000;
|
---|
526 | HANDTYPE_NETWORK =$8000;
|
---|
527 |
|
---|
528 | TYPE
|
---|
529 | PFILELOCK=^FILELOCK;
|
---|
530 | FILELOCK=RECORD
|
---|
531 | lOffset:LONG;
|
---|
532 | lRange:LONG;
|
---|
533 | END;
|
---|
534 |
|
---|
535 | HFILE=LHANDLE;
|
---|
536 | HEV=ULONG;
|
---|
537 | FHLOCK=ULONG;
|
---|
538 |
|
---|
539 |
|
---|
540 | TYPE
|
---|
541 | PFILEFINDBUF=^FILEFINDBUF;
|
---|
542 | FILEFINDBUF=RECORD
|
---|
543 | fdateCreation:FDATE;
|
---|
544 | ftimeCreation:FTIME;
|
---|
545 | fdateLastAccess:FDATE;
|
---|
546 | ftimeLastAccess:FTIME;
|
---|
547 | fdateLastWrite:FDATE;
|
---|
548 | ftimeLastWrite:FTIME;
|
---|
549 | cbFile:ULONG;
|
---|
550 | cbFileAlloc:ULONG;
|
---|
551 | attrFile:USHORT;
|
---|
552 | cchName:BYTE;
|
---|
553 | achName:CSTRING[CCHMAXPATHCOMP-1];
|
---|
554 | END;
|
---|
555 |
|
---|
556 | PFILEFINDBUF2=^FILEFINDBUF2;
|
---|
557 | FILEFINDBUF2=RECORD {pack 2}
|
---|
558 | fdateCreation:FDATE;
|
---|
559 | ftimeCreation:FTIME;
|
---|
560 | fdateLastAccess:FDATE;
|
---|
561 | ftimeLastAccess:FTIME;
|
---|
562 | fdateLastWrite:FDATE;
|
---|
563 | ftimeLastWrite:FTIME;
|
---|
564 | cbFile:ULONG;
|
---|
565 | cbFileAlloc:ULONG;
|
---|
566 | attrFile:USHORT;
|
---|
567 | cbList:ULONG;
|
---|
568 | cchName:BYTE;
|
---|
569 | achName:CSTRING[CCHMAXPATHCOMP-1];
|
---|
570 | END;
|
---|
571 |
|
---|
572 | PFILEFINDBUF3=^FILEFINDBUF3;
|
---|
573 | FILEFINDBUF3=RECORD { pack 2 }
|
---|
574 | oNextEntryOffset:ULONG; { new field }
|
---|
575 | fdateCreation:FDATE;
|
---|
576 | ftimeCreation:FTIME;
|
---|
577 | fdateLastAccess:FDATE;
|
---|
578 | ftimeLastAccess:FTIME;
|
---|
579 | fdateLastWrite:FDATE;
|
---|
580 | ftimeLastWrite:FTIME;
|
---|
581 | cbFile:ULONG;
|
---|
582 | cbFileAlloc:ULONG;
|
---|
583 | attrFile:ULONG; { widened field }
|
---|
584 | cchName:BYTE;
|
---|
585 | achName:CSTRING[CCHMAXPATHCOMP-1];
|
---|
586 | END;
|
---|
587 |
|
---|
588 | PFILEFINDBUF4=^FILEFINDBUF4;
|
---|
589 | FILEFINDBUF4=RECORD { pack 2 }
|
---|
590 | oNextEntryOffset:ULONG; { new field }
|
---|
591 | fdateCreation:FDATE;
|
---|
592 | ftimeCreation:FTIME;
|
---|
593 | fdateLastAccess:FDATE;
|
---|
594 | ftimeLastAccess:FTIME;
|
---|
595 | fdateLastWrite:FDATE;
|
---|
596 | ftimeLastWrite:FTIME;
|
---|
597 | cbFile:ULONG;
|
---|
598 | cbFileAlloc:ULONG;
|
---|
599 | attrFile:ULONG; { widened field }
|
---|
600 | cbList:ULONG;
|
---|
601 | cchName:BYTE;
|
---|
602 | achName:CSTRING[CCHMAXPATHCOMP-1];
|
---|
603 | END;
|
---|
604 |
|
---|
605 | { extended attribute structures }
|
---|
606 |
|
---|
607 | PGEA=^GEA;
|
---|
608 | GEA=RECORD {pack 2}
|
---|
609 | cbName:BYTE; { name length not including NULL }
|
---|
610 | szName:CHAR; { attribute name }
|
---|
611 | END;
|
---|
612 |
|
---|
613 | PGEALIST=^GEALIST;
|
---|
614 | GEALIST=RECORD { pack 2 }
|
---|
615 | cbList:ULONG; { total bytes of structure including full list }
|
---|
616 | list:GEA; { variable length GEA structures }
|
---|
617 | END;
|
---|
618 |
|
---|
619 | PFEA=^FEA;
|
---|
620 | FEA=RECORD {pack 2}
|
---|
621 | fEA:BYTE; { flags }
|
---|
622 | cbName:BYTE; { name length not including NULL }
|
---|
623 | cbValue:USHORT; { value length }
|
---|
624 | END;
|
---|
625 |
|
---|
626 | { flags for _FEA.fEA }
|
---|
627 | CONST
|
---|
628 | FEA_NEEDEA =$80; { need EA bit }
|
---|
629 |
|
---|
630 | TYPE
|
---|
631 | PFEALIST=^FEALIST;
|
---|
632 | FEALIST=RECORD { pack 2}
|
---|
633 | cbList:ULONG; { total bytes of structure including full list }
|
---|
634 | list:FEA; { variable length FEA structures }
|
---|
635 | END;
|
---|
636 |
|
---|
637 | PEAOP=^EAOP;
|
---|
638 | EAOP=RECORD { pack 2}
|
---|
639 | fpGEAList:PGEALIST; { general EA list }
|
---|
640 | fpFEAList:PFEALIST; { full EA list }
|
---|
641 | oError:ULONG;
|
---|
642 | END;
|
---|
643 |
|
---|
644 | PFEA2=^FEA2;
|
---|
645 | FEA2=RECORD {pack 1}
|
---|
646 | oNextEntryOffset:ULONG; { new field }
|
---|
647 | fEA:BYTE;
|
---|
648 | cbName:BYTE;
|
---|
649 | cbValue:USHORT;
|
---|
650 | szName:CString[1]; { new field }
|
---|
651 | END;
|
---|
652 |
|
---|
653 | PFEA2LIST=^FEA2LIST;
|
---|
654 | FEA2LIST=RECORD {pack 1}
|
---|
655 | cbList:ULONG;
|
---|
656 | list:ARRAY[0..0] OF FEA2;
|
---|
657 | END;
|
---|
658 |
|
---|
659 | PGEA2=^GEA2;
|
---|
660 | GEA2=RECORD {pack 1}
|
---|
661 | oNextEntryOffset:ULONG; { new field }
|
---|
662 | cbName:BYTE;
|
---|
663 | szName:ARRAY[0..0] OF BYTE; { new field }
|
---|
664 | END;
|
---|
665 |
|
---|
666 | PGEA2LIST=^GEA2LIST;
|
---|
667 | GEA2LIST=RECORD { pack 1 }
|
---|
668 | cbList:ULONG;
|
---|
669 | list:ARRAY[0..0] OF GEA2;
|
---|
670 | END;
|
---|
671 |
|
---|
672 | PEAOP2=^EAOP2;
|
---|
673 | EAOP2=RECORD { pack 1 }
|
---|
674 | fpGEA2List:PGEA2LIST; { GEA set }
|
---|
675 | fpFEA2List:PFEA2LIST; { FEA set }
|
---|
676 | oError:ULONG; { offset of FEA error }
|
---|
677 | END;
|
---|
678 |
|
---|
679 | {
|
---|
680 | * Equates for the types of EAs that follow the convention that we have
|
---|
681 | * established.
|
---|
682 | *
|
---|
683 | * Values =$FFFE thru =$8000 are reserved.
|
---|
684 | * Values =$0000 thru =$7fff are user definable.
|
---|
685 | * Value =$FFFC is not used
|
---|
686 | }
|
---|
687 | CONST
|
---|
688 | EAT_BINARY =$FFFE; { length preceeded binary }
|
---|
689 | EAT_ASCII =$FFFD; { length preceeded ASCII }
|
---|
690 | EAT_BITMAP =$FFFB; { length preceeded bitmap }
|
---|
691 | EAT_METAFILE =$FFFA; { length preceeded metafile }
|
---|
692 | EAT_ICON =$FFF9; { length preceeded icon }
|
---|
693 | EAT_EA =$FFEE; { length preceeded ASCII }
|
---|
694 | { name of associated data (#include) }
|
---|
695 | EAT_MVMT =$FFDF; { multi-valued, multi-typed field }
|
---|
696 | EAT_MVST =$FFDE; { multi-valued, single-typed field }
|
---|
697 | EAT_ASN1 =$FFDD; { ASN.1 field }
|
---|
698 |
|
---|
699 | { File time and date types }
|
---|
700 |
|
---|
701 | TYPE
|
---|
702 | PFILESTATUS=^FILESTATUS;
|
---|
703 | FILESTATUS=RECORD
|
---|
704 | fdateCreation:FDATE;
|
---|
705 | ftimeCreation:FTIME;
|
---|
706 | fdateLastAccess:FDATE;
|
---|
707 | ftimeLastAccess:FTIME;
|
---|
708 | fdateLastWrite:FDATE;
|
---|
709 | ftimeLastWrite:FTIME;
|
---|
710 | cbFile:ULONG;
|
---|
711 | cbFileAlloc:ULONG;
|
---|
712 | attrFile:WORD;
|
---|
713 | END;
|
---|
714 |
|
---|
715 | PFILESTATUS2=^FILESTATUS2;
|
---|
716 | FILESTATUS2=RECORD
|
---|
717 | fdateCreation:FDATE;
|
---|
718 | ftimeCreation:FTIME;
|
---|
719 | fdateLastAccess:FDATE;
|
---|
720 | ftimeLastAccess:FTIME;
|
---|
721 | fdateLastWrite:FDATE;
|
---|
722 | ftimeLastWrite:FTIME;
|
---|
723 | cbFile:ULONG;
|
---|
724 | cbFileAlloc:ULONG;
|
---|
725 | attrFile:WORD;
|
---|
726 | cbList:ULONG;
|
---|
727 | END;
|
---|
728 |
|
---|
729 | PFILESTATUS3=^FILESTATUS3;
|
---|
730 | FILESTATUS3=RECORD
|
---|
731 | fdateCreation:FDATE;
|
---|
732 | ftimeCreation:FTIME;
|
---|
733 | fdateLastAccess:FDATE;
|
---|
734 | ftimeLastAccess:FTIME;
|
---|
735 | fdateLastWrite:FDATE;
|
---|
736 | ftimeLastWrite:FTIME;
|
---|
737 | cbFile:ULONG;
|
---|
738 | cbFileAlloc:ULONG;
|
---|
739 | attrFile:ULONG;
|
---|
740 | END;
|
---|
741 |
|
---|
742 | PFILESTATUS4=^FILESTATUS4;
|
---|
743 | FILESTATUS4=RECORD
|
---|
744 | fdateCreation:FDATE;
|
---|
745 | ftimeCreation:FTIME;
|
---|
746 | fdateLastAccess:FDATE;
|
---|
747 | ftimeLastAccess:FTIME;
|
---|
748 | fdateLastWrite:FDATE;
|
---|
749 | ftimeLastWrite:FTIME;
|
---|
750 | cbFile:ULONG;
|
---|
751 | cbFileAlloc:ULONG;
|
---|
752 | attrFile:ULONG;
|
---|
753 | cbList:ULONG;
|
---|
754 | END;
|
---|
755 |
|
---|
756 | PFSALLOCATE=^FSALLOCATE;
|
---|
757 | FSALLOCATE=RECORD
|
---|
758 | idFileSystem:ULONG;
|
---|
759 | cSectorUnit:ULONG;
|
---|
760 | cUnit:ULONG;
|
---|
761 | cUnitAvail:ULONG;
|
---|
762 | cbSector:USHORT;
|
---|
763 | END;
|
---|
764 |
|
---|
765 | HDIR=LHANDLE;
|
---|
766 |
|
---|
767 | { defines for DosSetPathInfo -pathinfo flag }
|
---|
768 | CONST
|
---|
769 | DSPI_WRTTHRU =$10; { write through }
|
---|
770 |
|
---|
771 |
|
---|
772 | TYPE
|
---|
773 | PDENA1=^DENA1;
|
---|
774 | DENA1=RECORD { pack 1 }
|
---|
775 | reserved:UCHAR; { 0 }
|
---|
776 | cbName:UCHAR; { length of name exculding NULL }
|
---|
777 | cbValue:USHORT; { length of value }
|
---|
778 | szName:UCHAR; { variable length asciiz name }
|
---|
779 | END;
|
---|
780 |
|
---|
781 | PDENA2=^DENA2;
|
---|
782 | DENA2=FEA2;
|
---|
783 |
|
---|
784 | { Infolevels for DosEnumAttribute }
|
---|
785 | CONST
|
---|
786 | ENUMEA_LEVEL_NO_VALUE =1; { FEA without value }
|
---|
787 | { Reference types for DosEnumAttribute }
|
---|
788 | ENUMEA_REFTYPE_FHANDLE =0; { file handle }
|
---|
789 | ENUMEA_REFTYPE_PATH =1; { path name }
|
---|
790 | ENUMEA_REFTYPE_MAX =ENUMEA_REFTYPE_PATH;
|
---|
791 |
|
---|
792 |
|
---|
793 | { 32-bit Semaphore Support }
|
---|
794 |
|
---|
795 | { Semaphore Attributes }
|
---|
796 | CONST
|
---|
797 | DC_SEM_SHARED =$01; { DosCreateMutex, DosCreateEvent, and }
|
---|
798 | { DosCreateMuxWait use it to indicate }
|
---|
799 | { whether the semaphore is shared or }
|
---|
800 | { private when the PSZ is null }
|
---|
801 | DCMW_WAIT_ANY =$02; { DosCreateMuxWait option for wait on any }
|
---|
802 | { event/mutex to occur }
|
---|
803 | DCMW_WAIT_ALL =$04; { DosCreateMuxWait option for wait on all }
|
---|
804 | { events/mutexs to occur }
|
---|
805 |
|
---|
806 | SEM_INDEFINITE_WAIT =-1;
|
---|
807 | SEM_IMMEDIATE_RETURN = 0;
|
---|
808 |
|
---|
809 |
|
---|
810 | TYPE
|
---|
811 | HSEM=LONGWORD;
|
---|
812 |
|
---|
813 | PSEMRECORD=^SEMRECORD;
|
---|
814 | SEMRECORD=RECORD
|
---|
815 | hsemCur:HSEM;
|
---|
816 | ulUser:ULONG;
|
---|
817 | END;
|
---|
818 |
|
---|
819 |
|
---|
820 | HMTX=ULONG;
|
---|
821 | HMUX=ULONG;
|
---|
822 |
|
---|
823 |
|
---|
824 | TYPE
|
---|
825 | HTIMER=LHANDLE;
|
---|
826 |
|
---|
827 | CONST
|
---|
828 | PT_16BIT =0;
|
---|
829 | PT_32BIT =1;
|
---|
830 |
|
---|
831 | {** Resource support }
|
---|
832 |
|
---|
833 | { Predefined resource types }
|
---|
834 | CONST
|
---|
835 | RT_POINTER =1; { mouse pointer shape }
|
---|
836 | RT_BITMAP =2; { bitmap }
|
---|
837 | RT_MENU =3; { menu template }
|
---|
838 | RT_DIALOG =4; { dialog template }
|
---|
839 | RT_STRING =5; { string tables }
|
---|
840 | RT_FONTDIR =6; { font directory }
|
---|
841 | RT_FONT =7; { font }
|
---|
842 | RT_ACCELTABLE =8; { accelerator tables }
|
---|
843 | RT_RCDATA =9; { binary data }
|
---|
844 | RT_MESSAGE =10; { error msg tables }
|
---|
845 | RT_DLGINCLUDE =11; { dialog include file name }
|
---|
846 | RT_VKEYTBL =12; { key to vkey tables }
|
---|
847 | RT_KEYTBL =13; { key to UGL tables }
|
---|
848 | RT_CHARTBL =14; { glyph to character tables }
|
---|
849 | RT_DISPLAYINFO =15; { screen display information }
|
---|
850 |
|
---|
851 | RT_FKASHORT =16; { function key area short form }
|
---|
852 | RT_FKALONG =17; { function key area long form }
|
---|
853 |
|
---|
854 | RT_HELPTABLE =18; { Help table for Cary Help manager }
|
---|
855 | RT_HELPSUBTABLE =19; { Help subtable for Cary Help manager }
|
---|
856 |
|
---|
857 | RT_FDDIR =20; { DBCS uniq/font driver directory }
|
---|
858 | RT_FD =21; { DBCS uniq/font driver }
|
---|
859 |
|
---|
860 | RT_MAX =22; { 1st unused Resource Type }
|
---|
861 |
|
---|
862 |
|
---|
863 | RF_ORDINALID =$80000000; { ordinal id flag in resource table }
|
---|
864 |
|
---|
865 |
|
---|
866 | {** NLS Support }
|
---|
867 |
|
---|
868 | TYPE
|
---|
869 | PCOUNTRYCODE=^COUNTRYCODE;
|
---|
870 | COUNTRYCODE=RECORD
|
---|
871 | country:ULONG;
|
---|
872 | codepage:ULONG;
|
---|
873 | END;
|
---|
874 |
|
---|
875 | PCOUNTRYINFO=^COUNTRYINFO;
|
---|
876 | COUNTRYINFO=RECORD
|
---|
877 | country:ULONG;
|
---|
878 | codepage:ULONG;
|
---|
879 | fsDateFmt:ULONG;
|
---|
880 | szCurrency:CSTRING[4];
|
---|
881 | szThousandsSeparator:CSTRING[1];
|
---|
882 | szDecimal:CSTRING[1];
|
---|
883 | szDateSeparator:CSTRING[1];
|
---|
884 | szTimeSeparator:CSTRING[1];
|
---|
885 | fsCurrencyFmt:UCHAR;
|
---|
886 | cDecimalPlace:UCHAR;
|
---|
887 | fsTimeFmt:UCHAR;
|
---|
888 | abReserved1:ARRAY[0..1] OF USHORT;
|
---|
889 | szDataSeparator:CSTRING[1];
|
---|
890 | abReserved2:ARRAY[0..4] OF USHORT;
|
---|
891 | END;
|
---|
892 |
|
---|
893 | { DosSetSigExceptionFocus codes }
|
---|
894 | CONST
|
---|
895 | SIG_UNSETFOCUS =0;
|
---|
896 | SIG_SETFOCUS =1;
|
---|
897 |
|
---|
898 | TYPE
|
---|
899 | HQUEUE=LHANDLE;
|
---|
900 |
|
---|
901 | PREQUESTDATA=^REQUESTDATA;
|
---|
902 | REQUESTDATA=RECORD
|
---|
903 | pid:PID;
|
---|
904 | ulData:ULONG;
|
---|
905 | END;
|
---|
906 |
|
---|
907 | CONST
|
---|
908 | QUE_FIFO =0;
|
---|
909 | QUE_LIFO =1;
|
---|
910 | QUE_PRIORITY =2;
|
---|
911 | QUE_NOCONVERT_ADDRESS =0;
|
---|
912 | QUE_CONVERT_ADDRESS =4;
|
---|
913 |
|
---|
914 | { definitions for DosSearchPath control word }
|
---|
915 | CONST
|
---|
916 | DSP_IMPLIEDCUR =1; { current dir will be searched first }
|
---|
917 | DSP_PATHREF =2; { from env.variable }
|
---|
918 | DSP_IGNORENETERR =4; { ignore net errs & continue search }
|
---|
919 |
|
---|
920 | { indices for DosQuerySysInfo }
|
---|
921 | QSV_MAX_PATH_LENGTH =1;
|
---|
922 | Q_MAX_PATH_LENGTH =QSV_MAX_PATH_LENGTH;
|
---|
923 | QSV_MAX_TEXT_SESSIONS =2;
|
---|
924 | QSV_MAX_PM_SESSIONS =3;
|
---|
925 | QSV_MAX_VDM_SESSIONS =4;
|
---|
926 | QSV_BOOT_DRIVE =5; { 1=A, 2=B, etc. }
|
---|
927 | QSV_DYN_PRI_VARIATION =6; { 0=Absolute, 1=Dynamic }
|
---|
928 | QSV_MAX_WAIT =7; { seconds }
|
---|
929 | QSV_MIN_SLICE =8; { milli seconds }
|
---|
930 | QSV_MAX_SLICE =9; { milli seconds }
|
---|
931 | QSV_PAGE_SIZE =10;
|
---|
932 | QSV_VERSION_MAJOR =11;
|
---|
933 | QSV_VERSION_MINOR =12;
|
---|
934 | QSV_VERSION_REVISION =13; { Revision letter }
|
---|
935 | QSV_MS_COUNT =14; { Free running millisecond counter }
|
---|
936 | QSV_TIME_LOW =15; { Low dword of time in seconds }
|
---|
937 | QSV_TIME_HIGH =16; { High dword of time in seconds }
|
---|
938 | QSV_TOTPHYSMEM =17; { Physical memory on system }
|
---|
939 | QSV_TOTRESMEM =18; { Resident memory on system }
|
---|
940 | QSV_TOTAVAILMEM =19; { Available memory for all processes }
|
---|
941 | QSV_MAXPRMEM =20; { Avail private mem for calling proc }
|
---|
942 | QSV_MAXSHMEM =21; { Avail shared mem for calling proc }
|
---|
943 | QSV_TIMER_INTERVAL =22; { Timer interval in tenths of ms }
|
---|
944 | QSV_MAX_COMP_LENGTH =23; { max len of one component in a name }
|
---|
945 | QSV_MAX =QSV_MAX_COMP_LENGTH;
|
---|
946 |
|
---|
947 | { definitions for DosError - combine with | }
|
---|
948 | FERR_DISABLEHARDERR =$00000000; { disable hard error popups }
|
---|
949 | FERR_ENABLEHARDERR =$00000001; { enable hard error popups }
|
---|
950 | FERR_ENABLEEXCEPTION =$00000000; { enable exception popups }
|
---|
951 | FERR_DISABLEEXCEPTION =$00000002; { disable exception popups }
|
---|
952 |
|
---|
953 | { definitions for DosQueryRASInfo Index }
|
---|
954 | SIS_MMIOADDR =0;
|
---|
955 | SIS_MEC_TABLE =1;
|
---|
956 | SIS_SYS_LOG =2;
|
---|
957 |
|
---|
958 | {** Session manager support }
|
---|
959 | TYPE
|
---|
960 | PSTARTDATA=^STARTDATA;
|
---|
961 | STARTDATA=RECORD
|
---|
962 | Length:USHORT;
|
---|
963 | Related:USHORT;
|
---|
964 | FgBg:USHORT;
|
---|
965 | TraceOpt:USHORT;
|
---|
966 | PgmTitle:PChar;
|
---|
967 | PgmName:PChar;
|
---|
968 | PgmInputs:PChar;
|
---|
969 | TermQ:PBYTE;
|
---|
970 | Environment:PBYTE;
|
---|
971 | InheritOpt:USHORT;
|
---|
972 | SessionType:USHORT;
|
---|
973 | IconFile:PChar;
|
---|
974 | PgmHandle:ULONG;
|
---|
975 | PgmControl:USHORT;
|
---|
976 | InitXPos:USHORT;
|
---|
977 | InitYPos:USHORT;
|
---|
978 | InitXSize:USHORT;
|
---|
979 | InitYSize:USHORT;
|
---|
980 | Reserved:USHORT;
|
---|
981 | ObjectBuffer:PChar;
|
---|
982 | ObjectBuffLen:ULONG;
|
---|
983 | END;
|
---|
984 |
|
---|
985 | CONST
|
---|
986 | SSF_RELATED_INDEPENDENT =0;
|
---|
987 | SSF_RELATED_CHILD =1;
|
---|
988 |
|
---|
989 | SSF_FGBG_FORE =0;
|
---|
990 | SSF_FGBG_BACK =1;
|
---|
991 |
|
---|
992 | SSF_TRACEOPT_NONE =0;
|
---|
993 | SSF_TRACEOPT_TRACE =1;
|
---|
994 | SSF_TRACEOPT_TRACEALL =2;
|
---|
995 |
|
---|
996 | SSF_INHERTOPT_SHELL =0;
|
---|
997 | SSF_INHERTOPT_PARENT =1;
|
---|
998 |
|
---|
999 | { note that these types are identical to those in pmshl.h for PROG_* }
|
---|
1000 | SSF_TYPE_DEFAULT =0;
|
---|
1001 | SSF_TYPE_FULLSCREEN =1;
|
---|
1002 | SSF_TYPE_WINDOWABLEVIO =2;
|
---|
1003 | SSF_TYPE_PM =3;
|
---|
1004 | SSF_TYPE_VDM =4;
|
---|
1005 | SSF_TYPE_GROUP =5;
|
---|
1006 | SSF_TYPE_DLL =6;
|
---|
1007 | SSF_TYPE_WINDOWEDVDM =7;
|
---|
1008 | SSF_TYPE_PDD =8;
|
---|
1009 | SSF_TYPE_VDD =9;
|
---|
1010 |
|
---|
1011 | { note that these flags are identical to those in pmshl.h for SHE_* }
|
---|
1012 | SSF_CONTROL_VISIBLE =$0000;
|
---|
1013 | SSF_CONTROL_INVISIBLE =$0001;
|
---|
1014 | SSF_CONTROL_MAXIMIZE =$0002;
|
---|
1015 | SSF_CONTROL_MINIMIZE =$0004;
|
---|
1016 | SSF_CONTROL_NOAUTOCLOSE =$0008;
|
---|
1017 | SSF_CONTROL_SETPOS =$8000;
|
---|
1018 |
|
---|
1019 | TYPE
|
---|
1020 | PSTATUSDATA=^STATUSDATA;
|
---|
1021 | STATUSDATA=RECORD
|
---|
1022 | Length:USHORT;
|
---|
1023 | SelectInd:USHORT;
|
---|
1024 | BondInd:USHORT;
|
---|
1025 | END;
|
---|
1026 |
|
---|
1027 | { SelectInd and BondInd paramater values for DosSetSession }
|
---|
1028 | CONST
|
---|
1029 | SET_SESSION_UNCHANGED =0;
|
---|
1030 | SET_SESSION_SELECTABLE =1;
|
---|
1031 | SET_SESSION_NON_SELECTABLE =2;
|
---|
1032 | SET_SESSION_BOND =1;
|
---|
1033 | SET_SESSION_NO_BOND =2;
|
---|
1034 |
|
---|
1035 | { TargetOption (scope) parameter values for DosStopSession }
|
---|
1036 | STOP_SESSION_SPECIFIED =0;
|
---|
1037 | STOP_SESSION_ALL =1;
|
---|
1038 |
|
---|
1039 | { AppType returned in by DosQueryAppType in pFlags as follows }
|
---|
1040 | CONST
|
---|
1041 | FAPPTYP_NOTSPEC =$0000;
|
---|
1042 | FAPPTYP_NOTWINDOWCOMPAT =$0001;
|
---|
1043 | FAPPTYP_WINDOWCOMPAT =$0002;
|
---|
1044 | FAPPTYP_WINDOWAPI =$0003;
|
---|
1045 | FAPPTYP_BOUND =$0008;
|
---|
1046 | FAPPTYP_DLL =$0010;
|
---|
1047 | FAPPTYP_DOS =$0020;
|
---|
1048 | FAPPTYP_PHYSDRV =$0040; { physical device driver }
|
---|
1049 | FAPPTYP_VIRTDRV =$0080; { virtual device driver }
|
---|
1050 | FAPPTYP_PROTDLL =$0100; { 'protected memory' dll }
|
---|
1051 | FAPPTYP_WINDOWSREAL =$0200; { Windows real mode app }
|
---|
1052 | FAPPTYP_WINDOWSPROT =$0400; { Windows protect mode app }
|
---|
1053 | FAPPTYP_WINDOWSPROT31 =$1000; { Windows 3.1 protect mode app }
|
---|
1054 | FAPPTYP_32BIT =$4000;
|
---|
1055 | FAPPTYP_EXETYPE =FAPPTYP_WINDOWAPI;
|
---|
1056 |
|
---|
1057 | FAPPTYP_RESERVED =NOT (FAPPTYP_WINDOWAPI | FAPPTYP_BOUND |
|
---|
1058 | FAPPTYP_DLL | FAPPTYP_DOS |
|
---|
1059 | FAPPTYP_PHYSDRV | FAPPTYP_VIRTDRV |
|
---|
1060 | FAPPTYP_PROTDLL | FAPPTYP_32BIT);
|
---|
1061 |
|
---|
1062 | EAT_APPTYP_PMAPI =$00; { Uses PM API }
|
---|
1063 | EAT_APPTYP_DOS =$01; { DOS APP }
|
---|
1064 | EAT_APPTYP_PMW =$02; { Window compatible }
|
---|
1065 | EAT_APPTYP_NOPMW =$03; { Not Window compatible }
|
---|
1066 | EAT_APPTYP_EXETYPE =$03; { EXE type mask }
|
---|
1067 | EAT_APPTYP_RESERVED =NOT EAT_APPTYP_EXETYPE;
|
---|
1068 |
|
---|
1069 | CONST
|
---|
1070 | DEVINFO_PRINTER =0; { Number of printers attached }
|
---|
1071 | DEVINFO_RS232 =1; { Number of RS232 ports }
|
---|
1072 | DEVINFO_FLOPPY =2; { Number of diskette drives }
|
---|
1073 | DEVINFO_COPROCESSOR =3; { Presence of math coprocessor }
|
---|
1074 | DEVINFO_SUBMODEL =4; { PC Submodel Type }
|
---|
1075 | DEVINFO_MODEL =5; { PC Model Type }
|
---|
1076 | DEVINFO_ADAPTER =6; { Primary display adapter type }
|
---|
1077 |
|
---|
1078 |
|
---|
1079 | CONST
|
---|
1080 | INFO_COUNT_PARTITIONABLE_DISKS =1; { # of partitionable disks }
|
---|
1081 | INFO_GETIOCTLHANDLE =2; { Obtain handle }
|
---|
1082 | INFO_FREEIOCTLHANDLE =3; { Release handle }
|
---|
1083 |
|
---|
1084 |
|
---|
1085 |
|
---|
1086 | {** Data structures used with named pipes **}
|
---|
1087 | TYPE
|
---|
1088 | HPIPE=LHANDLE;
|
---|
1089 |
|
---|
1090 |
|
---|
1091 | PAVAILDATA=^AVAILDATA;
|
---|
1092 | AVAILDATA=RECORD
|
---|
1093 | cbpipe:USHORT; { bytes left in the pipe }
|
---|
1094 | cbmessage:USHORT; { bytes left in the current message }
|
---|
1095 | END;
|
---|
1096 |
|
---|
1097 | PPIPEINFO=^PIPEINFO;
|
---|
1098 | PIPEINFO=RECORD
|
---|
1099 | cbOut:USHORT; { length of outgoing I/O buffer }
|
---|
1100 | cbIn:USHORT; { length of incoming I/O buffer }
|
---|
1101 | cbMaxInst:BYTE; { maximum number of instances }
|
---|
1102 | cbCurInst:BYTE; { current number of instances }
|
---|
1103 | cbName:BYTE; { length of pipe name }
|
---|
1104 | szName:CHAR; { start of name }
|
---|
1105 | END;
|
---|
1106 |
|
---|
1107 | PPIPESEMSTATE=^PIPESEMSTATE;
|
---|
1108 | PIPESEMSTATE=RECORD
|
---|
1109 | fStatus:BYTE; { type of record, 0 = EOI, 1 = read ok, }
|
---|
1110 | { 2 = write ok, 3 = pipe closed }
|
---|
1111 | fFlag:BYTE; { additional info, 01 = waiting thread }
|
---|
1112 | usKey:USHORT; { user's key value }
|
---|
1113 | usAvail:USHORT;{ available data/space if status = 1/2 }
|
---|
1114 | END;
|
---|
1115 |
|
---|
1116 | CONST
|
---|
1117 | NP_INDEFINITE_WAIT =-1;
|
---|
1118 | NP_DEFAULT_WAIT =0;
|
---|
1119 |
|
---|
1120 | { DosPeekNmPipe() pipe states }
|
---|
1121 |
|
---|
1122 | NP_STATE_DISCONNECTED =$0001;
|
---|
1123 | NP_STATE_LISTENING =$0002;
|
---|
1124 | NP_STATE_CONNECTED =$0003;
|
---|
1125 | NP_STATE_CLOSING =$0004;
|
---|
1126 |
|
---|
1127 | { DosCreateNPipe open modes }
|
---|
1128 |
|
---|
1129 | NP_ACCESS_INBOUND =$0000;
|
---|
1130 | NP_ACCESS_OUTBOUND =$0001;
|
---|
1131 | NP_ACCESS_DUPLEX =$0002;
|
---|
1132 | NP_INHERIT =$0000;
|
---|
1133 | NP_NOINHERIT =$0080;
|
---|
1134 | NP_WRITEBEHIND =$0000;
|
---|
1135 | NP_NOWRITEBEHIND =$4000;
|
---|
1136 |
|
---|
1137 | { DosCreateNPipe and DosQueryNPHState state }
|
---|
1138 |
|
---|
1139 | NP_READMODE_BYTE =$0000;
|
---|
1140 | NP_READMODE_MESSAGE =$0100;
|
---|
1141 | NP_TYPE_BYTE =$0000;
|
---|
1142 | NP_TYPE_MESSAGE =$0400;
|
---|
1143 | NP_END_CLIENT =$0000;
|
---|
1144 | NP_END_SERVER =$4000;
|
---|
1145 | NP_WAIT =$0000;
|
---|
1146 | NP_NOWAIT =$8000;
|
---|
1147 | NP_UNLIMITED_INSTANCES =$00FF;
|
---|
1148 |
|
---|
1149 | { values in fStatus }
|
---|
1150 | CONST
|
---|
1151 | NPSS_EOI =0; { End Of Information }
|
---|
1152 | NPSS_RDATA =1; { read data available }
|
---|
1153 | NPSS_WSPACE =2; { write space available }
|
---|
1154 | NPSS_CLOSE =3; { pipe in CLOSING state }
|
---|
1155 |
|
---|
1156 | { values in npss_flag }
|
---|
1157 | NPSS_WAIT =$01; { waiting thread on end of pipe }
|
---|
1158 |
|
---|
1159 | { defined bits in pipe mode }
|
---|
1160 | NP_NBLK =$8000; { non-blocking read/write }
|
---|
1161 | NP_SERVER =$4000; { set if server end }
|
---|
1162 | NP_WMESG =$0400; { write messages }
|
---|
1163 | NP_RMESG =$0100; { read as messages }
|
---|
1164 | NP_ICOUNT =$00FF; { instance count field }
|
---|
1165 |
|
---|
1166 |
|
---|
1167 | {Named pipes may be in one of several states depending on the actions
|
---|
1168 | * that have been taken on it by the server end and client end. The
|
---|
1169 | * following state/action table summarizes the valid state transitions:
|
---|
1170 | *
|
---|
1171 | * Current state Action Next state
|
---|
1172 | *
|
---|
1173 | * <none> server DosMakeNmPipe DISCONNECTED
|
---|
1174 | * DISCONNECTED server connect LISTENING
|
---|
1175 | * LISTENING client open CONNECTED
|
---|
1176 | * CONNECTED server disconn DISCONNECTED
|
---|
1177 | * CONNECTED client close CLOSING
|
---|
1178 | * CLOSING server disconn DISCONNECTED
|
---|
1179 | * CONNECTED server close CLOSING
|
---|
1180 | * <any other> server close <pipe deallocated>
|
---|
1181 | *
|
---|
1182 | * If a server disconnects his end of the pipe, the client end will enter a
|
---|
1183 | * special state in which any future operations (except close) on the file
|
---|
1184 | * descriptor associated with the pipe will return an error.
|
---|
1185 | }
|
---|
1186 |
|
---|
1187 | {
|
---|
1188 | * Values for named pipe state
|
---|
1189 | }
|
---|
1190 |
|
---|
1191 | NP_DISCONNECTED =1; { after pipe creation or Disconnect }
|
---|
1192 | NP_LISTENING =2; { after DosNmPipeConnect }
|
---|
1193 | NP_CONNECTED =3; { after Client open }
|
---|
1194 | NP_CLOSING =4; { after Client or Server close }
|
---|
1195 |
|
---|
1196 |
|
---|
1197 | { DosProfile ordinal number }
|
---|
1198 | CONST
|
---|
1199 | PROF_ORDINAL =133;
|
---|
1200 |
|
---|
1201 | { DosProfile usType }
|
---|
1202 |
|
---|
1203 | PROF_SYSTEM =0;
|
---|
1204 | PROF_USER =1;
|
---|
1205 | PROF_USEDD =2;
|
---|
1206 | PROF_KERNEL =4;
|
---|
1207 | PROF_VERBOSE =8;
|
---|
1208 | PROF_ENABLE =16;
|
---|
1209 |
|
---|
1210 | { DosProfile usFunc }
|
---|
1211 |
|
---|
1212 | PROF_ALLOC =0;
|
---|
1213 | PROF_CLEAR =1;
|
---|
1214 | PROF_ON =2;
|
---|
1215 | PROF_OFF =3;
|
---|
1216 | PROF_DUMP =4;
|
---|
1217 | PROF_FREE =5;
|
---|
1218 |
|
---|
1219 | { DosProfile tic count granularity (DWORD) }
|
---|
1220 |
|
---|
1221 | PROF_SHIFT =2;
|
---|
1222 |
|
---|
1223 | { DosProfile module name string length }
|
---|
1224 |
|
---|
1225 | PROF_MOD_NAME_SIZE =10;
|
---|
1226 |
|
---|
1227 | { DosProfile error code for end of data }
|
---|
1228 |
|
---|
1229 | PROF_END_OF_DATA =13;
|
---|
1230 |
|
---|
1231 |
|
---|
1232 | TYPE
|
---|
1233 | HVDD=LHANDLE;
|
---|
1234 |
|
---|
1235 |
|
---|
1236 | IMPORTS
|
---|
1237 |
|
---|
1238 | FUNCTION DosBeep(freq,dur:ULONG):APIRET;
|
---|
1239 | APIENTRY; 'DOSCALLS' index 286;
|
---|
1240 | FUNCTION DosExit(action,result:ULONG):APIRET;
|
---|
1241 | APIENTRY; 'DOSCALLS' index 234;
|
---|
1242 | FUNCTION DosCreateThread(VAR aptid:TID;pfn:POINTER;param:POINTER;flag:ULONG;
|
---|
1243 | cbStack:ULONG):APIRET;
|
---|
1244 | APIENTRY; 'DOSCALLS' index 311;
|
---|
1245 | FUNCTION DosResumeThread(atid:TID):APIRET;
|
---|
1246 | APIENTRY; 'DOSCALLS' index 237;
|
---|
1247 | FUNCTION DosSuspendThread(atid:TID):APIRET;
|
---|
1248 | APIENTRY; 'DOSCALLS' index 238;
|
---|
1249 | FUNCTION DosGetInfoBlocks(VAR pptib:PTIB;VAR pppib:PPIB):APIRET;
|
---|
1250 | APIENTRY; 'DOSCALLS' index 312;
|
---|
1251 | FUNCTION DosKillThread(atid:TID):APIRET;
|
---|
1252 | APIENTRY; 'DOSCALLS' index 111;
|
---|
1253 | FUNCTION DosWaitChild(action,option:ULONG;VAR pres:RESULTCODES;
|
---|
1254 | VAR appid:PID;apid:PID):APIRET;
|
---|
1255 | APIENTRY; 'DOSCALLS' index 280;
|
---|
1256 | FUNCTION DosWaitThread(VAR aptid:TID;option:ULONG):APIRET;
|
---|
1257 | APIENTRY; 'DOSCALLS' index 349;
|
---|
1258 | FUNCTION DosSleep(msec:ULONG):APIRET;
|
---|
1259 | APIENTRY; 'DOSCALLS' index 229;
|
---|
1260 | FUNCTION DosDebug(VAR apdbgbuf:TDBGBUF):APIRET;
|
---|
1261 | APIENTRY; 'DOSCALLS' index 317;
|
---|
1262 | FUNCTION DosEnterCritSec:APIRET;
|
---|
1263 | APIENTRY; 'DOSCALLS' index 232;
|
---|
1264 | FUNCTION DosExitCritSec:APIRET;
|
---|
1265 | APIENTRY; 'DOSCALLS' index 233;
|
---|
1266 | FUNCTION DosExitList(ordercode:ULONG;pfn:POINTER):APIRET;
|
---|
1267 | APIENTRY; 'DOSCALLS' index 296;
|
---|
1268 | FUNCTION DosExecPgm(pObjname:POINTER;cbObjname:LONG;execFlag:ULONG;
|
---|
1269 | VAR pArg,pEnv:CSTRING;VAR pRes:RESULTCODES;
|
---|
1270 | CONST pName:CSTRING):APIRET;
|
---|
1271 | APIENTRY; 'DOSCALLS' index 283;
|
---|
1272 | FUNCTION DosSetPriority(scope,aclass:ULONG;delta:LONG;PorTid:ULONG):APIRET;
|
---|
1273 | APIENTRY; 'DOSCALLS' index 236;
|
---|
1274 | FUNCTION DosKillProcess(action:ULONG;apid:PID):APIRET;
|
---|
1275 | APIENTRY; 'DOSCALLS' index 235;
|
---|
1276 | FUNCTION DosSetFileLocks(ahFile:HFILE;VAR pflUnlock,pflLock:FILELOCK;
|
---|
1277 | timeout,flags:ULONG):APIRET;
|
---|
1278 | APIENTRY; 'DOSCALLS' index 428;
|
---|
1279 | FUNCTION DosProtectSetFileLocks(ahFile:HFILE;VAR pflUnlock,pflLock:FILELOCK;
|
---|
1280 | timeout,flags:ULONG;
|
---|
1281 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1282 | APIENTRY; 'DOSCALLS' index 639;
|
---|
1283 | FUNCTION DosCancelLockRequest(ahFile:HFILE;VAR pflLock:FILELOCK):APIRET;
|
---|
1284 | APIENTRY; 'DOSCALLS' index 429;
|
---|
1285 | FUNCTION DosOpen(pszFileName:CSTRING;VAR pHf:HFILE;VAR pulAction:ULONG;
|
---|
1286 | cbFile,ulAttribute,fsOpenFlags,fsOpenMode:ULONG;
|
---|
1287 | VAR apeaop2:EAOP2):APIRET;
|
---|
1288 | APIENTRY; 'DOSCALLS' index 273;
|
---|
1289 | FUNCTION DosProtectOpen(pszFileName:CSTRING;VAR phf:HFILE;VAR pulAction:ULONG;
|
---|
1290 | cbFile,ulAttribute,fsOpenFlags,fsOpenMode:ULONG;
|
---|
1291 | VAR apeaop2:EAOP2;
|
---|
1292 | VAR pfhFileHandleLockID:FHLOCK):APIRET;
|
---|
1293 | APIENTRY; 'DOSCALLS' index 637;
|
---|
1294 | FUNCTION DosClose(ahFile:HFILE):APIRET;
|
---|
1295 | APIENTRY; 'DOSCALLS' index 257;
|
---|
1296 | FUNCTION DosProtectClose(ahFile:HFILE;fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1297 | APIENTRY; 'DOSCALLS' index 638;
|
---|
1298 | FUNCTION DosRead(ahFile:HFILE;VAR pBuffer;cbRead:ULONG;
|
---|
1299 | VAR pcbActual:ULONG):APIRET;
|
---|
1300 | APIENTRY; 'DOSCALLS' index 281;
|
---|
1301 | FUNCTION DosProtectRead(ahFile:HFILE;VAR pBuffer;cbRead:ULONG;
|
---|
1302 | VAR pcbActual:ULONG;fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1303 | APIENTRY; 'DOSCALLS' index 641;
|
---|
1304 | FUNCTION DosWrite(ahFile:HFILE;CONST pBuffer;cbWrite:ULONG;
|
---|
1305 | VAR pcbActual:ULONG):APIRET;
|
---|
1306 | APIENTRY; 'DOSCALLS' index 282;
|
---|
1307 | FUNCTION DosProtectWrite(ahFile:HFILE;VAR pBuffer;cbWrite:ULONG;
|
---|
1308 | VAR pcbActual:ULONG;
|
---|
1309 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1310 | APIENTRY; 'DOSCALLS' index 642;
|
---|
1311 | FUNCTION DosDelete(VAR pszFile:CSTRING):APIRET;
|
---|
1312 | APIENTRY; 'DOSCALLS' index 259;
|
---|
1313 | FUNCTION DosForceDelete(VAR pszFile:CSTRING):APIRET;
|
---|
1314 | APIENTRY; 'DOSCALLS' index 110;
|
---|
1315 | FUNCTION DosDupHandle(ahFile:HFILE;VAR apHfile:HFILE):APIRET;
|
---|
1316 | APIENTRY; 'DOSCALLS' index 260;
|
---|
1317 | FUNCTION DosQueryFHState(ahFile:HFILE;VAR pMode:ULONG):APIRET;
|
---|
1318 | APIENTRY; 'DOSCALLS' index 276;
|
---|
1319 | FUNCTION DosProtectQueryFHState(ahFile:HFILE;VAR pMode:ULONG;
|
---|
1320 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1321 | APIENTRY; 'DOSCALLS' index 645;
|
---|
1322 | FUNCTION DosSetFHState(ahFile:HFILE;mode:ULONG):APIRET;
|
---|
1323 | APIENTRY; 'DOSCALLS' index 221;
|
---|
1324 | FUNCTION DosProtectSetFHState(ahFile:HFILE;mode:ULONG;
|
---|
1325 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1326 | APIENTRY; 'DOSCALLS' index 644;
|
---|
1327 | FUNCTION DosQueryHType(ahFile:HFILE;VAR pType,pAttr:ULONG):APIRET;
|
---|
1328 | APIENTRY; 'DOSCALLS' index 224;
|
---|
1329 | FUNCTION DosFindFirst(VAR pszFileSpec:CSTRING;VAR aphdir:HDIR;flAttribute:ULONG;
|
---|
1330 | VAR pfindbuf;cbBuf:ULONG;VAR pcFileNames:ULONG;
|
---|
1331 | ulInfoLevel:ULONG):APIRET;
|
---|
1332 | APIENTRY; 'DOSCALLS' index 264;
|
---|
1333 | FUNCTION DosFindNext(ahDir:HDIR;VAR pfindbuf;cbfindbuf:ULONG;
|
---|
1334 | VAR pcFilenames:ULONG):APIRET;
|
---|
1335 | APIENTRY; 'DOSCALLS' index 265;
|
---|
1336 | FUNCTION DosFindClose(ahDir:HDIR):APIRET;
|
---|
1337 | APIENTRY; 'DOSCALLS' index 263;
|
---|
1338 | FUNCTION DosFSAttach(VAR pszDevice:CSTRING;VAR pszFilesystem:CSTRING;VAR pData;
|
---|
1339 | cbData:ULONG;flag:ULONG):APIRET;
|
---|
1340 | APIENTRY; 'DOSCALLS' index 269;
|
---|
1341 | FUNCTION DosQueryFSAttach(VAR pszDeviceName:CSTRING;ulOrdinal,ulFSAInfoLevel:ULONG;
|
---|
1342 | VAR pfsqb:FSQBUFFER2;
|
---|
1343 | VAR pcbBuffLength:ULONG):APIRET;
|
---|
1344 | APIENTRY; 'DOSCALLS' index 277;
|
---|
1345 | FUNCTION DosFSCtl(VAR pData;cbData:ULONG;VAR pcbData:ULONG;VAR pParms;
|
---|
1346 | cbParms:ULONG;VAR pcbParms:ULONG;afunction:ULONG;
|
---|
1347 | VAR pszRoute:CSTRING;ahFile:HFILE;method:ULONG):APIRET;
|
---|
1348 | APIENTRY; 'DOSCALLS' index 285;
|
---|
1349 | FUNCTION DosSetFileSize(ahFile:HFILE;cbSize:ULONG):APIRET;
|
---|
1350 | APIENTRY; 'DOSCALLS' index 272;
|
---|
1351 | FUNCTION DosProtectSetFileSize(ahFile:HFILE;cbSize:ULONG;
|
---|
1352 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1353 | APIENTRY; 'DOSCALLS' index 640;
|
---|
1354 | FUNCTION DosResetBuffer(ahFile:HFILE):APIRET;
|
---|
1355 | APIENTRY; 'DOSCALLS' index 254;
|
---|
1356 | FUNCTION DosSetFilePtr(ahFile:HFILE;ib:LONG;method:ULONG;
|
---|
1357 | VAR ibActual:ULONG):APIRET;
|
---|
1358 | APIENTRY; 'DOSCALLS' index 256;
|
---|
1359 | FUNCTION DosProtectSetFilePtr(ahFile:HFILE;ib:LONG;method:ULONG;
|
---|
1360 | VAR ibActual:ULONG;
|
---|
1361 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1362 | APIENTRY; 'DOSCALLS' index 621;
|
---|
1363 | FUNCTION DosMove(VAR pszOld,pszNew:CSTRING):APIRET;
|
---|
1364 | APIENTRY; 'DOSCALLS' index 271;
|
---|
1365 | FUNCTION DosCopy(VAR pszOld,pszNew:CSTRING;option:ULONG):APIRET;
|
---|
1366 | APIENTRY; 'DOSCALLS' index 258;
|
---|
1367 | FUNCTION DosEditName(metalevel:ULONG;VAR pszSource,pszEdit:CSTRING;
|
---|
1368 | VAR pszTarget;cbTarget:ULONG):APIRET;
|
---|
1369 | APIENTRY; 'DOSCALLS' index 261;
|
---|
1370 | FUNCTION DosCreateDir(pszDirName:CSTRING;VAR apeaop2:EAOP2):APIRET;
|
---|
1371 | APIENTRY; 'DOSCALLS' index 270;
|
---|
1372 | FUNCTION DosDeleteDir(pszDir:CSTRING):APIRET;
|
---|
1373 | APIENTRY; 'DOSCALLS' index 226;
|
---|
1374 | FUNCTION DosSetDefaultDisk(disknum:ULONG):APIRET;
|
---|
1375 | APIENTRY; 'DOSCALLS' index 220;
|
---|
1376 | FUNCTION DosQueryCurrentDisk(VAR pdisknum,plogical:ULONG):APIRET;
|
---|
1377 | APIENTRY; 'DOSCALLS' index 275;
|
---|
1378 | FUNCTION DosSetCurrentDir(pszDir:CSTRING):APIRET;
|
---|
1379 | APIENTRY; 'DOSCALLS' index 255;
|
---|
1380 | FUNCTION DosQueryCurrentDirAPI(disknum:ULONG;VAR pBuf;
|
---|
1381 | VAR pcbBuf:ULONG):APIRET;
|
---|
1382 | APIENTRY; 'DOSCALLS' index 274;
|
---|
1383 | FUNCTION DosQueryFSInfo(disknum,infolevel:ULONG;VAR pBuf;
|
---|
1384 | cbBuf:ULONG):APIRET;
|
---|
1385 | APIENTRY; 'DOSCALLS' index 278;
|
---|
1386 | FUNCTION DosSetFSInfo(disknum,infolevel:ULONG;VAR pBuf;
|
---|
1387 | cbBuf:ULONG):APIRET;
|
---|
1388 | APIENTRY; 'DOSCALLS' index 222;
|
---|
1389 | FUNCTION DosQueryVerify(VAR apBool:ULONG):APIRET;
|
---|
1390 | APIENTRY; 'DOSCALLS' index 225;
|
---|
1391 | FUNCTION DosSetVerify(apBool:ULONG):APIRET;
|
---|
1392 | APIENTRY; 'DOSCALLS' index 210;
|
---|
1393 | FUNCTION DosSetMaxFH(cFH:ULONG):APIRET;
|
---|
1394 | APIENTRY; 'DOSCALLS' index 209;
|
---|
1395 | FUNCTION DosSetRelMaxFH(VAR pcbReqCount:LONG;
|
---|
1396 | VAR pcbCurMaxFH:ULONG):APIRET;
|
---|
1397 | APIENTRY; 'DOSCALLS' index 382;
|
---|
1398 | FUNCTION DosQueryFileInfo(hf:HFILE;ulInfoLevel:ULONG;
|
---|
1399 | VAR pInfo;cbInfoBuf:ULONG):APIRET;
|
---|
1400 | APIENTRY; 'DOSCALLS' index 279;
|
---|
1401 | FUNCTION DosProtectQueryFileInfo(hf:HFILE;ulInfoLevel:ULONG;
|
---|
1402 | VAR pInfo;cbInfoBuf:ULONG;
|
---|
1403 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1404 | APIENTRY; 'DOSCALLS' index 646;
|
---|
1405 | FUNCTION DosSetFileInfo(hf:HFILE;ulInfoLevel:ULONG;VAR pInfoBuf;
|
---|
1406 | cbInfoBuf:ULONG):APIRET;
|
---|
1407 | APIENTRY; 'DOSCALLS' index 218;
|
---|
1408 | FUNCTION DosProtectSetFileInfo(hf:HFILE;ulInfoLevel:ULONG;VAR pInfoBuf;
|
---|
1409 | cbInfoBuf:ULONG;
|
---|
1410 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1411 | APIENTRY; 'DOSCALLS' index 643;
|
---|
1412 | FUNCTION DosQueryPathInfo(VAR pszPathName:CSTRING;ulInfoLevel:ULONG;VAR pInfoBuf;
|
---|
1413 | cbInfoBuf:ULONG):APIRET;
|
---|
1414 | APIENTRY; 'DOSCALLS' index 223;
|
---|
1415 | FUNCTION DosSetPathInfo(pszPathName:CSTRING;ulInfoLevel:ULONG;VAR pInfoBuf;
|
---|
1416 | cbInfoBuf,flOptions:ULONG):APIRET;
|
---|
1417 | APIENTRY; 'DOSCALLS' index 219;
|
---|
1418 | FUNCTION DosShutdown(ulReserved:ULONG):APIRET;
|
---|
1419 | APIENTRY; 'DOSCALLS' index 415;
|
---|
1420 | FUNCTION DosEnumAttribute(ulRefType:ULONG;VAR pvFile;ulEntry:ULONG;
|
---|
1421 | VAR pvBuf;cbBuf:ULONG;VAR pulCount:ULONG;
|
---|
1422 | ulInfoLevel:ULONG):APIRET;
|
---|
1423 | APIENTRY; 'DOSCALLS' index 372;
|
---|
1424 | FUNCTION DosProtectEnumAttribute(ulRefType:ULONG;VAR pvFile;
|
---|
1425 | ulEntry:ULONG;VAR pvBuf;cbBuf:ULONG;
|
---|
1426 | VAR pulCount:ULONG;ulInfoLevel:ULONG;
|
---|
1427 | fhFileHandleLockID:FHLOCK):APIRET;
|
---|
1428 | APIENTRY; 'DOSCALLS' index 636;
|
---|
1429 | FUNCTION DosAllocMem(VAR ppb:POINTER;cb,flag:ULONG):APIRET;
|
---|
1430 | APIENTRY; 'DOSCALLS' index 299;
|
---|
1431 | FUNCTION DosFreeMem(pb:POINTER):APIRET;
|
---|
1432 | APIENTRY; 'DOSCALLS' index 304;
|
---|
1433 | FUNCTION DosSetMem(pb:POINTER;cb,flag:ULONG):APIRET;
|
---|
1434 | APIENTRY; 'DOSCALLS' index 305;
|
---|
1435 | FUNCTION DosGiveSharedMem(pb:POINTER;apid:PID;flag:ULONG):APIRET;
|
---|
1436 | APIENTRY; 'DOSCALLS' index 303;
|
---|
1437 | FUNCTION DosGetSharedMem(pb:POINTER;flag:ULONG):APIRET;
|
---|
1438 | APIENTRY; 'DOSCALLS' index 302;
|
---|
1439 | FUNCTION DosGetNamedSharedMem(VAR ppb:POINTER;pszName:CSTRING;
|
---|
1440 | flag:ULONG):APIRET;
|
---|
1441 | APIENTRY; 'DOSCALLS' index 301;
|
---|
1442 | FUNCTION DosAllocSharedMem(VAR ppb:POINTER;VAR pszName:CSTRING;
|
---|
1443 | cb,flag:ULONG):APIRET;
|
---|
1444 | APIENTRY; 'DOSCALLS' index 300;
|
---|
1445 | FUNCTION DosQueryMem(pb:POINTER;VAR pcb,pFlag:ULONG):APIRET;
|
---|
1446 | APIENTRY; 'DOSCALLS' index 306;
|
---|
1447 | FUNCTION DosSubAllocMem(pbBase:POINTER;VAR ppb:POINTER;
|
---|
1448 | cb:ULONG):APIRET;
|
---|
1449 | APIENTRY; 'DOSCALLS' index 345;
|
---|
1450 | FUNCTION DosSubFreeMem(pbBase:POINTER;pb:POINTER;cb:ULONG):APIRET;
|
---|
1451 | APIENTRY; 'DOSCALLS' index 346;
|
---|
1452 | FUNCTION DosSubSetMem(pbBase:POINTER;flag,cb:ULONG):APIRET;
|
---|
1453 | APIENTRY; 'DOSCALLS' index 344;
|
---|
1454 | FUNCTION DosSubUnsetMem(pbBase:POINTER):APIRET;
|
---|
1455 | APIENTRY; 'DOSCALLS' index 347;
|
---|
1456 | FUNCTION DosCreateEventSem(VAR pszName:CSTRING;VAR aphev:HEV;flAttr:ULONG;
|
---|
1457 | fState:BOOL):APIRET;
|
---|
1458 | APIENTRY; 'DOSCALLS' index 324;
|
---|
1459 | FUNCTION DosOpenEventSem (VAR pszName:CSTRING;VAR aphev:HEV):APIRET;
|
---|
1460 | APIENTRY; 'DOSCALLS' index 325;
|
---|
1461 | FUNCTION DosCloseEventSem(ahev:HEV):APIRET;
|
---|
1462 | APIENTRY; 'DOSCALLS' index 326;
|
---|
1463 | FUNCTION DosResetEventSem(ahev:HEV;VAR pulPostCt:ULONG):APIRET;
|
---|
1464 | APIENTRY; 'DOSCALLS' index 327;
|
---|
1465 | FUNCTION DosPostEventSem(ahev:HEV):APIRET;
|
---|
1466 | APIENTRY; 'DOSCALLS' index 328;
|
---|
1467 | FUNCTION DosWaitEventSem(ahev:HEV;ulTimeout:ULONG):APIRET;
|
---|
1468 | APIENTRY; 'DOSCALLS' index 329;
|
---|
1469 | FUNCTION DosQueryEventSem(ahev:HEV;VAR pulPostCt:ULONG):APIRET;
|
---|
1470 | APIENTRY; 'DOSCALLS' index 330;
|
---|
1471 | FUNCTION DosCreateMutexSem(pszName:CSTRING;VAR aphmtx:HMTX;flAttr:ULONG;
|
---|
1472 | fState:BOOL):APIRET;
|
---|
1473 | APIENTRY; 'DOSCALLS' index 331;
|
---|
1474 | FUNCTION DosOpenMutexSem (pszName:CSTRING;VAR phmtx:HMTX):APIRET;
|
---|
1475 | APIENTRY; 'DOSCALLS' index 332;
|
---|
1476 | FUNCTION DosCloseMutexSem (ahmtx:HMTX):APIRET;
|
---|
1477 | APIENTRY; 'DOSCALLS' index 333;
|
---|
1478 | FUNCTION DosRequestMutexSem(ahmtx:HMTX;ulTimeout:ULONG):APIRET;
|
---|
1479 | APIENTRY; 'DOSCALLS' index 334;
|
---|
1480 | FUNCTION DosReleaseMutexSem(ahmtx:HMTX):APIRET;
|
---|
1481 | APIENTRY; 'DOSCALLS' index 335;
|
---|
1482 | FUNCTION DosQueryMutexSem(ahmtx:HMTX;VAR appid:PID;VAR aptid:TID;
|
---|
1483 | VAR pulCount:ULONG):APIRET;
|
---|
1484 | APIENTRY; 'DOSCALLS' index 336;
|
---|
1485 | FUNCTION DosCreateMuxWaitSem(VAR pszName:CSTRING;VAR aphmux:HMUX;cSemRec:ULONG;
|
---|
1486 | VAR pSemRec;flAttr:ULONG):APIRET;
|
---|
1487 | APIENTRY; 'DOSCALLS' index 337;
|
---|
1488 | FUNCTION DosOpenMuxWaitSem(VAR pszName:CSTRING;VAR aphmux:HMUX):APIRET;
|
---|
1489 | APIENTRY; 'DOSCALLS' index 338;
|
---|
1490 | FUNCTION DosCloseMuxWaitSem(ahmux:HMUX):APIRET;
|
---|
1491 | APIENTRY; 'DOSCALLS' index 339;
|
---|
1492 | FUNCTION DosWaitMuxWaitSem(ahmux:HMUX;ulTimeout:ULONG;
|
---|
1493 | VAR pulUser:ULONG):APIRET;
|
---|
1494 | APIENTRY; 'DOSCALLS' index 340;
|
---|
1495 | FUNCTION DosAddMuxWaitSem(ahmux:HMUX;VAR pSemRec:SEMRECORD):APIRET;
|
---|
1496 | APIENTRY; 'DOSCALLS' index 341;
|
---|
1497 | FUNCTION DosDeleteMuxWaitSem(ahmux:HMUX;ahSem:HSEM):APIRET;
|
---|
1498 | APIENTRY; 'DOSCALLS' index 342;
|
---|
1499 | FUNCTION DosQueryMuxWaitSem(ahmux:HMUX;VAR pcSemRec:ULONG;
|
---|
1500 | VAR pSemRec:SEMRECORD;
|
---|
1501 | VAR pflAttr:ULONG):APIRET;
|
---|
1502 | APIENTRY; 'DOSCALLS' index 343;
|
---|
1503 | FUNCTION DosGetDateTime(VAR pdt:DATETIME):APIRET;
|
---|
1504 | APIENTRY; 'DOSCALLS' index 230;
|
---|
1505 | FUNCTION DosSetDateTime(VAR pdt:DATETIME):APIRET;
|
---|
1506 | APIENTRY; 'DOSCALLS' index 292;
|
---|
1507 | FUNCTION DosAsyncTimer(msec:ULONG;ahsem:HSEM;VAR aphtimer:HTIMER):APIRET;
|
---|
1508 | APIENTRY; 'DOSCALLS' index 350;
|
---|
1509 | FUNCTION DosStartTimer(msec:ULONG;ahsem:HSEM;VAR aphtimer:HTIMER):APIRET;
|
---|
1510 | APIENTRY; 'DOSCALLS' index 351;
|
---|
1511 | FUNCTION DosStopTimer(ahtimer:HTIMER):APIRET;
|
---|
1512 | APIENTRY; 'DOSCALLS' index 290;
|
---|
1513 | FUNCTION DosLoadModule(pszName:CSTRING;cbName:ULONG;pszModname:CSTRING;
|
---|
1514 | VAR phmod:HMODULE):APIRET;
|
---|
1515 | APIENTRY; 'DOSCALLS' index 318;
|
---|
1516 | FUNCTION DosFreeModule(hmod:HMODULE):APIRET;
|
---|
1517 | APIENTRY; 'DOSCALLS' index 322;
|
---|
1518 | FUNCTION DosQueryProcAddr(hmod:HMODULE;ordinal:ULONG;VAR pszName:CSTRING;
|
---|
1519 | VAR ppfn:POINTER):APIRET;
|
---|
1520 | APIENTRY; 'DOSCALLS' index 321;
|
---|
1521 | FUNCTION DosQueryModuleHandle(VAR pszModname:CSTRING;VAR phmod:HMODULE):APIRET;
|
---|
1522 | APIENTRY; 'DOSCALLS' index 319;
|
---|
1523 | FUNCTION DosQueryModuleName(hmod:HMODULE;cbName:ULONG;VAR apch):APIRET;
|
---|
1524 | APIENTRY; 'DOSCALLS' index 320;
|
---|
1525 | FUNCTION DosQueryProcType(hmod:HMODULE;ordinal:ULONG;VAR pszName:CSTRING;
|
---|
1526 | VAR pulproctype:ULONG):APIRET;
|
---|
1527 | APIENTRY; 'DOSCALLS' index 586;
|
---|
1528 | FUNCTION DosGetResource(hmod:HMODULE;idType,idName:ULONG;
|
---|
1529 | VAR ppb:POINTER):APIRET;
|
---|
1530 | APIENTRY; 'DOSCALLS' index 352;
|
---|
1531 | FUNCTION DosFreeResource(pb:POINTER):APIRET;
|
---|
1532 | APIENTRY; 'DOSCALLS' index 353;
|
---|
1533 | FUNCTION DosQueryResourceSize(hmod:HMODULE;idt,idn:ULONG;
|
---|
1534 | VAR pulsize:ULONG):APIRET;
|
---|
1535 | APIENTRY; 'DOSCALLS' index 572;
|
---|
1536 | FUNCTION DosQueryCtryInfo(cb:ULONG;VAR pcc:COUNTRYCODE;VAR pci:COUNTRYINFO;
|
---|
1537 | VAR pcbActual:ULONG):APIRET;
|
---|
1538 | APIENTRY; 'NLS' index 5;
|
---|
1539 | FUNCTION DosQueryDBCSEnv(cb:ULONG;VAR pcc:COUNTRYCODE;
|
---|
1540 | VAR pBuf):APIRET;
|
---|
1541 | APIENTRY; 'NLS' index 6;
|
---|
1542 | FUNCTION DosMapCase(cb:ULONG;VAR pcc:COUNTRYCODE;VAR apch):APIRET;
|
---|
1543 | APIENTRY; 'NLS' index 7;
|
---|
1544 | FUNCTION DosQueryCollate(cb:ULONG;VAR pcc:COUNTRYCODE;
|
---|
1545 | VAR apch;VAR pcch:ULONG):APIRET;
|
---|
1546 | APIENTRY; 'NLS' index 8;
|
---|
1547 | FUNCTION DosQueryCp(cb:ULONG;VAR arCP,pcCP:ULONG):APIRET;
|
---|
1548 | APIENTRY; 'DOSCALLS' index 291;
|
---|
1549 | FUNCTION DosSetProcessCp(cp:ULONG):APIRET;
|
---|
1550 | APIENTRY; 'DOSCALLS' index 289;
|
---|
1551 | FUNCTION DosSetExceptionHandler(VAR PERegrec:EXCEPTIONREGISTRATIONRECORD):APIRET;
|
---|
1552 | APIENTRY; 'DOSCALLS' index 354;
|
---|
1553 | FUNCTION DosUnsetExceptionHandler(VAR PERegRec:EXCEPTIONREGISTRATIONRECORD):APIRET;
|
---|
1554 | APIENTRY; 'DOSCALLS' index 355;
|
---|
1555 | FUNCTION DosRaiseException(VAR Pexcept:EXCEPTIONREPORTRECORD):APIRET;
|
---|
1556 | APIENTRY; 'DOSCALLS' index 356;
|
---|
1557 | FUNCTION DosSendSignalException(apid:PID;exception:ULONG):APIRET;
|
---|
1558 | APIENTRY; 'DOSCALLS' index 379;
|
---|
1559 | FUNCTION DosUnwindException(VAR pHandler:EXCEPTIONREGISTRATIONRECORD;
|
---|
1560 | VAR pTargetIP;
|
---|
1561 | VAR pERepRec:EXCEPTIONREPORTRECORD):APIRET;
|
---|
1562 | APIENTRY; 'DOSCALLS' index 357;
|
---|
1563 | FUNCTION DosSetSignalExceptionFocus(flag:BOOL;VAR pulTimes:ULONG):APIRET;
|
---|
1564 | APIENTRY; 'DOSCALLS' index 378;
|
---|
1565 | FUNCTION DosEnterMustComplete(VAR pulNesting:ULONG):APIRET;
|
---|
1566 | APIENTRY; 'DOSCALLS' index 380;
|
---|
1567 | FUNCTION DosExitMustComplete(VAR pulNesting:ULONG):APIRET;
|
---|
1568 | APIENTRY; 'DOSCALLS' index 381;
|
---|
1569 | FUNCTION DosAcknowledgeSignalException(ulSignalNum:ULONG):APIRET;
|
---|
1570 | APIENTRY; 'DOSCALLS' index 418;
|
---|
1571 | FUNCTION DosCreatePipe(VAR phfRead,phfWrite:HFILE;cb:ULONG):APIRET;
|
---|
1572 | APIENTRY; 'DOSCALLS' index 239;
|
---|
1573 | FUNCTION DosCloseQueue(hq:HQUEUE):APIRET;
|
---|
1574 | APIENTRY; 'QUECALLS' index 11;
|
---|
1575 | FUNCTION DosCreateQueue(VAR phq:HQUEUE;priority:ULONG;VAR pszName:CSTRING):APIRET;
|
---|
1576 | APIENTRY; 'QUECALLS' index 16;
|
---|
1577 | FUNCTION DosOpenQueue(VAR appid:PID;VAR phq:HQUEUE;VAR pszName:CSTRING):APIRET;
|
---|
1578 | APIENTRY; 'QUECALLS' index 15;
|
---|
1579 | FUNCTION DosPeekQueue(hq:HQUEUE;VAR pRequest:REQUESTDATA;VAR pcbData:ULONG;
|
---|
1580 | VAR ppbuf;VAR element:ULONG;nowait:BOOL;
|
---|
1581 | VAR ppriority;hsem:HEV):APIRET;
|
---|
1582 | APIENTRY; 'QUECALLS' index 13;
|
---|
1583 | FUNCTION DosPurgeQueue(hq:HQUEUE):APIRET;
|
---|
1584 | APIENTRY; 'QUECALLS' index 10;
|
---|
1585 | FUNCTION DosQueryQueue(hq:HQUEUE;VAR pcbEntries:ULONG):APIRET;
|
---|
1586 | APIENTRY; 'QUECALLS' index 12;
|
---|
1587 | FUNCTION DosReadQueue(hq:HQUEUE;VAR pRequest:REQUESTDATA;VAR pcbData:ULONG;
|
---|
1588 | VAR ppbuf;element:ULONG;wait:BOOL;
|
---|
1589 | VAR ppriority;hsem:HEV):APIRET;
|
---|
1590 | APIENTRY; 'QUECALLS' index 9;
|
---|
1591 | FUNCTION DosWriteQueue(hq:HQUEUE;request,cbData:ULONG;VAR pbData;
|
---|
1592 | priority:ULONG):APIRET;
|
---|
1593 | APIENTRY; 'QUECALLS' index 14;
|
---|
1594 | FUNCTION DosErrorAPI(error:ULONG):APIRET;
|
---|
1595 | APIENTRY; 'DOSCALLS' index 212;
|
---|
1596 | FUNCTION DosErrClass(code:ULONG;VAR pClass,pAction,pLocus:ULONG):APIRET;
|
---|
1597 | APIENTRY; 'DOSCALLS' index 211;
|
---|
1598 | FUNCTION DosInsertMessage(VAR pTable;cTable:ULONG;VAR pszMsg:CSTRING;cbMsg:ULONG;
|
---|
1599 | VAR pBuf;cbBuf:ULONG;VAR pcbMsg:ULONG):APIRET;
|
---|
1600 | APIENTRY; 'MSG' index 4;
|
---|
1601 | FUNCTION DosPutMessage(ahfile:HFILE;cbMsg:ULONG;VAR pBuf):APIRET;
|
---|
1602 | APIENTRY; 'MSG' index 5;
|
---|
1603 | FUNCTION DosQuerySysInfo(iStart,iLast:ULONG;VAR pBuf;cbBuf:ULONG):APIRET;
|
---|
1604 | APIENTRY; 'DOSCALLS' index 348;
|
---|
1605 | FUNCTION DosScanEnv(VAR pszName:CSTRING;VAR ppszValue:PCHAR):APIRET;
|
---|
1606 | APIENTRY; 'DOSCALLS' index 227;
|
---|
1607 | FUNCTION DosSearchPath(flag:ULONG;VAR pszPathOrName,pszFilename:CSTRING;
|
---|
1608 | VAR pBuf;cbBuf:ULONG):APIRET;
|
---|
1609 | APIENTRY; 'DOSCALLS' index 228;
|
---|
1610 | FUNCTION DosQueryRASInfo(index:ULONG;VAR Addr:POINTER):APIRET;
|
---|
1611 | APIENTRY; 'DOSCALLS' index 112;
|
---|
1612 | FUNCTION DosStartSession(VAR psd:STARTDATA;VAR pidSession:ULONG;
|
---|
1613 | VAR appid:PID):APIRET;
|
---|
1614 | APIENTRY; 'SESMGR' index 37;
|
---|
1615 | FUNCTION DosSetSession(idSession:ULONG;VAR psd:STATUSDATA):APIRET;
|
---|
1616 | APIENTRY; 'SESMGR' index 39;
|
---|
1617 | FUNCTION DosSelectSessionAPI(idSession:ULONG):APIRET;
|
---|
1618 | APIENTRY; 'SESMGR' index 38;
|
---|
1619 | FUNCTION DosStopSession(scope,idSession:ULONG):APIRET;
|
---|
1620 | APIENTRY; 'SESMGR' index 40;
|
---|
1621 | FUNCTION DosQueryAppType(CONST pszName:CSTRING;VAR pFlags:ULONG):APIRET;
|
---|
1622 | APIENTRY; 'DOSCALLS' index 323;
|
---|
1623 | FUNCTION DosDevConfig(VAR pdevinfo;item:ULONG):APIRET;
|
---|
1624 | APIENTRY; 'DOSCALLS' index 231;
|
---|
1625 | FUNCTION DosDevIOCtl(hDevice:HFILE;category,afunction:ULONG;
|
---|
1626 | VAR pParams;cbParmLenMax:ULONG;VAR pcbParmLen:ULONG;
|
---|
1627 | VAR pData;cbDataLenMax:ULONG;VAR pcbDataLen:ULONG):APIRET;
|
---|
1628 | APIENTRY; 'DOSCALLS' index 284;
|
---|
1629 | FUNCTION DosPhysicalDisk(afunction:ULONG;VAR pBuf;cbBuf:ULONG;
|
---|
1630 | VAR pParams;cbParams:ULONG):APIRET;
|
---|
1631 | APIENTRY; 'DOSCALLS' index 287;
|
---|
1632 | FUNCTION DosCallNPipe(VAR pszName:CSTRING;VAR pInbuf;cbIn:ULONG;VAR pOutbuf;
|
---|
1633 | cbOut:ULONG;VAR pcbActual:ULONG;msec:ULONG):APIRET;
|
---|
1634 | APIENTRY; 'DOSCALLS' index 240;
|
---|
1635 | FUNCTION DosConnectNPipe(ahpipe:HPIPE):APIRET;
|
---|
1636 | APIENTRY; 'DOSCALLS' index 241;
|
---|
1637 | FUNCTION DosDisConnectNPipe(ahpipe:HPIPE):APIRET;
|
---|
1638 | APIENTRY; 'DOSCALLS' index 242;
|
---|
1639 | FUNCTION DosCreateNPipe(VAR pszName:CSTRING;VAR apHpipe:HPIPE;openmode,pipemode,
|
---|
1640 | cbInbuf,cbOutbuf,msec:ULONG):APIRET;
|
---|
1641 | APIENTRY; 'DOSCALLS' index 243;
|
---|
1642 | FUNCTION DosPeekNPipe(ahpipe:HPIPE;VAR pBuf;cbBuf:ULONG;VAR pcbActual:ULONG;
|
---|
1643 | VAR pAvail:AVAILDATA;VAR pState:ULONG):APIRET;
|
---|
1644 | APIENTRY; 'DOSCALLS' index 244;
|
---|
1645 | FUNCTION DosQueryNPHState(ahpipe:HPIPE;VAR pState:ULONG):APIRET;
|
---|
1646 | APIENTRY; 'DOSCALLS' index 245;
|
---|
1647 | FUNCTION DosQueryNPipeInfo(ahpipe:HPIPE;infolevel:ULONG;VAR pBuf;
|
---|
1648 | cbBuf:ULONG):APIRET;
|
---|
1649 | APIENTRY; 'DOSCALLS' index 248;
|
---|
1650 | FUNCTION DosQueryNPipeSemState(ahsem:HSEM;VAR pnpss:PIPESEMSTATE;
|
---|
1651 | cbBuf:ULONG):APIRET;
|
---|
1652 | APIENTRY; 'DOSCALLS' index 249;
|
---|
1653 | FUNCTION DosRawReadNPipe(VAR pszName:CSTRING;cb:ULONG;VAR pLen:ULONG;
|
---|
1654 | VAR pBuf):APIRET;
|
---|
1655 | APIENTRY; 'DOSCALLS' index 246;
|
---|
1656 | FUNCTION DosRawWriteNPipe(VAR pszName:CSTRING;cb:ULONG):APIRET;
|
---|
1657 | APIENTRY; 'DOSCALLS' index 247;
|
---|
1658 | FUNCTION DosSetNPHState(ahpipe:HPIPE;state:ULONG):APIRET;
|
---|
1659 | APIENTRY; 'DOSCALLS' index 250;
|
---|
1660 | FUNCTION DosSetNPipeSem(ahpipe:HPIPE;ahsem:HSEM;key:ULONG):APIRET;
|
---|
1661 | APIENTRY; 'DOSCALLS' index 251;
|
---|
1662 | FUNCTION DosTransactNPipe(ahpipe:HPIPE;VAR pOutbuf;cbOut:ULONG;
|
---|
1663 | VAR pInbuf;cbIn:ULONG;VAR pcbRead:ULONG):APIRET;
|
---|
1664 | APIENTRY; 'DOSCALLS' index 252;
|
---|
1665 | FUNCTION DosWaitNPipe(VAR pszName:CSTRING;msec:ULONG):APIRET;
|
---|
1666 | APIENTRY; 'DOSCALLS' index 253;
|
---|
1667 | FUNCTION DosTmrQueryFreq(VAR pulTmrFreq:ULONG):APIRET;
|
---|
1668 | APIENTRY; 'DOSCALLS' index 362;
|
---|
1669 | FUNCTION DosTmrQueryTime(VAR pqwTmrTime):APIRET;
|
---|
1670 | APIENTRY; 'DOSCALLS' index 363;
|
---|
1671 | FUNCTION DosRegisterPerfCtrs(VAR pbDataBlk;VAR pbTextBlk;
|
---|
1672 | flFlags:ULONG):APIRET;
|
---|
1673 | APIENTRY; 'DOSCALLS' index 367;
|
---|
1674 | FUNCTION DosOpenVDD(VAR pszVDD:CSTRING;VAR aphvdd:HVDD):APIRET;
|
---|
1675 | APIENTRY; 'DOSCALLS' index 308;
|
---|
1676 | FUNCTION DosRequestVDD(ahvdd:HVDD;asgid:SGID;cmd,cbInput:ULONG;VAR pInput;
|
---|
1677 | cbOutput:ULONG;VAR pOutput):APIRET;
|
---|
1678 | APIENTRY; 'DOSCALLS' index 309;
|
---|
1679 | FUNCTION DosCloseVDD(ahvdd:HVDD):APIRET;
|
---|
1680 | APIENTRY; 'DOSCALLS' index 310;
|
---|
1681 | FUNCTION DosQueryDOSProperty(asgid:SGID;VAR pszName:CSTRING;cb:ULONG;VAR apch):APIRET;
|
---|
1682 | APIENTRY; 'DOSCALLS' index 373;
|
---|
1683 | FUNCTION DosSetDOSProperty(asgid:SGID;VAR pszName:CSTRING;cb:ULONG;pch:CSTRING):APIRET;
|
---|
1684 | APIENTRY; 'DOSCALLS' index 374;
|
---|
1685 |
|
---|
1686 | END; {IMPORTS}
|
---|
1687 |
|
---|
1688 |
|
---|
1689 | {OS/2 API errors ??}
|
---|
1690 |
|
---|
1691 | {exception instance is deleted if pBuf crosses 64K boundary}
|
---|
1692 | FUNCTION DosQueryCurrentDir(disknum:LONGWORD;VAR pBuf;
|
---|
1693 | VAR pcbBuf:LONGWORD):LONGWORD;
|
---|
1694 |
|
---|
1695 | {ds and es are zeroed under some circumstances}
|
---|
1696 | FUNCTION DosSelectSession(idSession:ULONG):APIRET;
|
---|
1697 |
|
---|
1698 | {additional parameter required in redirected function}
|
---|
1699 | FUNCTION DosQueryMessageCP(VAR pb;cb:ULONG;VAR pszFilename:CSTRING;
|
---|
1700 | VAR cbBuf:ULONG):APIRET;
|
---|
1701 |
|
---|
1702 | {additional parameter required in redirected function}
|
---|
1703 | FUNCTION DosGetMessage(VAR pTable;cTable:ULONG; VAR pBuf;cbBuf,msgnumber:ULONG;
|
---|
1704 | CONST pszFile:CSTRING;VAR pcbMsg:ULONG):APIRET;
|
---|
1705 |
|
---|
1706 |
|
---|
1707 | IMPLEMENTATION
|
---|
1708 |
|
---|
1709 |
|
---|
1710 | FUNCTION DosQueryCurrentDir(disknum:LONGWORD;VAR pBuf;
|
---|
1711 | VAR pcbBuf:LONGWORD):LONGWORD;
|
---|
1712 | BEGIN
|
---|
1713 | //a bug in OS/2 ??
|
---|
1714 | //exception instance is deleted if pBuf crosses 64K boundary
|
---|
1715 | ASM
|
---|
1716 | XOR EAX,EAX
|
---|
1717 | DB $64,$FF,$30 //PUSHD FS:[EAX]
|
---|
1718 | END;
|
---|
1719 | Result := DosQueryCurrentDirAPI(disknum,pBuf,pcbBuf);
|
---|
1720 | ASM
|
---|
1721 | XOR EAX,EAX
|
---|
1722 | DB $64,$8F,$00 //POPD FS:[EAX]
|
---|
1723 | END;
|
---|
1724 | END;
|
---|
1725 |
|
---|
1726 |
|
---|
1727 | FUNCTION DosSelectSession(idSession:ULONG):APIRET;
|
---|
1728 | BEGIN
|
---|
1729 | //a bug in OS/2 ???
|
---|
1730 | //DS and ES are sometimes set to 0 selectors !
|
---|
1731 | ASM
|
---|
1732 | DB $1E,06 //PUSH DS PUSH ES
|
---|
1733 | END;
|
---|
1734 | Result := DosSelectSessionAPI(idSession);
|
---|
1735 | ASM
|
---|
1736 | DB 07,$1F //POP ES POP DS
|
---|
1737 | END;
|
---|
1738 | END;
|
---|
1739 |
|
---|
1740 |
|
---|
1741 |
|
---|
1742 |
|
---|
1743 | IMPORTS
|
---|
1744 |
|
---|
1745 | FUNCTION DosIQueryMessageCP(VAR pb;cb:ULONG;VAR pszFilename:CSTRING;
|
---|
1746 | VAR cbBuf:ULONG;Signature:POINTER):APIRET;
|
---|
1747 | APIENTRY; 'MSG' index 8;
|
---|
1748 | FUNCTION DosTrueGetMessage(Signature:POINTER;VAR pTable;cTable:ULONG;
|
---|
1749 | VAR pBuf;cbBuf,msgnumber:ULONG;
|
---|
1750 | CONST pszFile:CSTRING;VAR pcbMsg:ULONG):APIRET;
|
---|
1751 | APIENTRY; 'MSG' index 6;
|
---|
1752 |
|
---|
1753 | END; {IMPORTS}
|
---|
1754 |
|
---|
1755 | VAR
|
---|
1756 | MagicHeaderAddress:POINTER;
|
---|
1757 | MagicEndAddress:POINTER;
|
---|
1758 |
|
---|
1759 | {start of _MSGSEG32 segment}
|
---|
1760 | ASSEMBLER
|
---|
1761 | BseDos.!MagicHeaderStart PROC NEAR32
|
---|
1762 | DB $0FF
|
---|
1763 | DB $4D,$53,$47,$53,$45,$47,$33,$32, 0 //'MSGSEG32'
|
---|
1764 | DD $8001
|
---|
1765 | DD @BseDos.!MAGICHEADEREND
|
---|
1766 | BseDos.!MagicHeaderStart ENDP
|
---|
1767 | END;
|
---|
1768 |
|
---|
1769 | FUNCTION DosGetMessage(VAR pTable;cTable:ULONG; VAR pBuf;cbBuf,msgnumber:ULONG;
|
---|
1770 | CONST pszFile:CSTRING;VAR pcbMsg:ULONG):APIRET;
|
---|
1771 | BEGIN
|
---|
1772 | Result := DosTrueGetMessage(MagicHeaderAddress,pTable,cTable,
|
---|
1773 | pBuf,cbBuf,msgnumber,pszFile,pcbMsg);
|
---|
1774 | END;
|
---|
1775 |
|
---|
1776 |
|
---|
1777 | FUNCTION DosQueryMessageCP(VAR pb;cb:ULONG;VAR pszFilename:CSTRING;
|
---|
1778 | VAR cbBuf:ULONG):APIRET;
|
---|
1779 | BEGIN
|
---|
1780 | Result := DosIQueryMessageCP(pb,cb,pszFileName,cbBuf,MagicEndAddress);
|
---|
1781 | END;
|
---|
1782 |
|
---|
1783 | ASSEMBLER
|
---|
1784 | BseDos.!MagicHeaderEnd PROC NEAR32
|
---|
1785 | DD $0FFFF0000
|
---|
1786 | BseDos.!MagicHeaderEnd ENDP
|
---|
1787 | END;
|
---|
1788 |
|
---|
1789 | BEGIN
|
---|
1790 | ASM
|
---|
1791 | MOV EAX,@BseDos.!MagicHeaderStart
|
---|
1792 | MOV BseDos.MagicHeaderAddress,EAX
|
---|
1793 | MOV EAX,@BseDos.!MagicHeaderEnd
|
---|
1794 | MOV BseDos.MagicEndAddress,EAX
|
---|
1795 | END;
|
---|
1796 | END.
|
---|