Listing: 1 (*# call(reg_saved => (si, di, ds, st1, st2), 2 reg_param => (), 3 near_call => off, 4 ds_eq_ss => off) *) 5 (*# name(prefix => none) *) 6 (*# module(implementation=>off, init_code => off) *) 7 (*# data(near_ptr => off) *) 8 9 DEFINITION MODULE FAPI; 10 (* 11 * 12 * $Header: D:/logfiles/masters/fapi.jpv 1.0 17 Mar 1991 18:23:16 coleb $ 13 * 14 *) 15 16 17 (*/NOMODINIT*) 18 19 20 (**************************************************************************\ 21 * 22 * OS/2 Common Definitions 23 * 24 \***************************************************************************) 25 26 IMPORT SYSTEM; 27 28 TYPE 29 SHANDLE = CARDINAL; 30 31 TYPE 32 LHANDLE = SYSTEM.ADDRESS; ***** ^ not supported yet 33 34 35 TYPE 36 UCHAR = SYSTEM.BYTE; ***** ^ not supported yet 37 (*uch *) 38 TYPE 39 USHORT = CARDINAL; 40 (*us *) 41 TYPE 42 ULONG = LONGINT; 43 (*ul *) 44 TYPE 45 UINT = CARDINAL; 46 (*ui *) 47 TYPE 48 BYTE = SYSTEM.BYTE; ***** ^ not supported yet 49 (*b *) 50 51 (*define NULL pointer value *) 52 53 (*Echo the format of the ifdefs that stdio.h uses *) 54 CONST NULL = SYSTEM.ADDRESS(VAL(LONGINT, 0)); ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet 55 56 TYPE 57 HFILE = SHANDLE; 58 (*hf *) 59 TYPE 60 PHFILE = POINTER TO HFILE; ***** ^ not supported yet 61 62 TYPE 63 PSZ = POINTER TO SYSTEM.BYTE; ***** ^ not supported yet 64 65 TYPE 66 NPSZ = POINTER TO SYSTEM.BYTE; ***** ^ not supported yet 67 68 TYPE 69 PCH = SYSTEM.ADDRESS; ***** ^ not supported yet 70 71 TYPE 72 NPCH = POINTER TO SYSTEM.BYTE; ***** ^ not supported yet 73 74 TYPE 75 PFN = PROCEDURE(); ***** ^ not supported yet 76 77 TYPE 78 NPFN = PROCEDURE(); ***** ^ not supported yet 79 80 TYPE 81 PPFN = POINTER TO PFN; ***** ^ not supported yet 82 83 TYPE 84 PBYTE = POINTER TO BYTE; ***** ^ not supported yet 85 86 TYPE 87 NPBYTE = POINTER TO BYTE; ***** ^ not supported yet 88 89 TYPE 90 PCHAR = POINTER TO CHAR; ***** ^ not supported yet 91 92 TYPE 93 PPCHAR = POINTER TO PCHAR; ***** ^ not supported yet 94 95 TYPE 96 PSHORT = POINTER TO INTEGER; ***** ^ not supported yet 97 98 TYPE 99 PLONG = POINTER TO LONGINT; ***** ^ not supported yet 100 101 TYPE 102 PINT = POINTER TO INTEGER; ***** ^ not supported yet 103 104 TYPE 105 PUCHAR = POINTER TO UCHAR; ***** ^ not supported yet 106 107 TYPE 108 PUSHORT = POINTER TO USHORT; ***** ^ not supported yet 109 110 TYPE 111 PULONG = POINTER TO ULONG; ***** ^ not supported yet 112 113 TYPE 114 PUINT = POINTER TO UINT; ***** ^ not supported yet 115 116 TYPE 117 PVOID = SYSTEM.ADDRESS; ***** ^ not supported yet 118 119 TYPE 120 BOOL = BOOLEAN; 121 (*f *) 122 TYPE 123 PBOOL = POINTER TO BOOL; ***** ^ not supported yet 124 125 TYPE 126 SEL = CARDINAL; 127 (*sel *) 128 TYPE 129 PSEL = POINTER TO SEL; ***** ^ not supported yet 130 131 132 (** Common Error definitions ****) 133 TYPE 134 ERRORID = ULONG; 135 (*errid *) 136 TYPE 137 PERRORID = POINTER TO ERRORID; ***** ^ not supported yet 138 139 140 (*Severity codes *) 141 CONST SEVERITY_NOERROR = 0000H; 142 143 CONST SEVERITY_WARNING = 0004H; 144 145 CONST SEVERITY_ERROR = 0008H; 146 147 CONST SEVERITY_SEVERE = 000CH; 148 149 CONST SEVERITY_UNRECOVERABLE = 0010H; 150 151 152 (*Base component error values *) 153 CONST WINERR_BASE = 1000H; 154 (*Window Manager *) 155 CONST GPIERR_BASE = 2000H; 156 (*Graphics Presentation Interface *) 157 CONST DEVERR_BASE = 3000H; 158 (*Device Manager *) 159 CONST SPLERR_BASE = 4000H; 160 (*Spooler *) 161 162 (** Common types used across components *) 163 164 (** Common DOS types *) 165 TYPE 166 HMODULE = USHORT; 167 (*hmod *) 168 TYPE 169 PHMODULE = POINTER TO HMODULE; ***** ^ not supported yet 170 171 TYPE 172 PID = USHORT; 173 (*pid *) 174 TYPE 175 PPID = POINTER TO PID; ***** ^ not supported yet 176 177 TYPE 178 TID = USHORT; 179 (*tid *) 180 TYPE 181 PTID = POINTER TO TID; ***** ^ not supported yet 182 183 TYPE 184 HSEM = SYSTEM.ADDRESS; ***** ^ not supported yet 185 (*hsem *) 186 TYPE 187 PHSEM = POINTER TO HSEM; ***** ^ not supported yet 188 189 190 (** Common SUP types *) 191 TYPE 192 HAB = LHANDLE; 193 (*hab *) 194 TYPE 195 PHAB = POINTER TO HAB; ***** ^ not supported yet 196 197 198 (** Common GPI/DEV types *) 199 TYPE 200 HPS = LHANDLE; 201 (*hps *) 202 TYPE 203 PHPS = POINTER TO HPS; ***** ^ not supported yet 204 205 TYPE 206 HDC = LHANDLE; 207 (*hdc *) 208 TYPE 209 PHDC = POINTER TO HDC; ***** ^ not supported yet 210 211 TYPE 212 HRGN = LHANDLE; 213 (*hrgn *) 214 TYPE 215 PHRGN = POINTER TO HRGN; ***** ^ not supported yet 216 217 TYPE 218 HBITMAP = LHANDLE; 219 (*hbm *) 220 TYPE 221 PHBITMAP = POINTER TO HBITMAP; ***** ^ not supported yet 222 223 TYPE 224 HMF = LHANDLE; 225 (*hmf *) 226 TYPE 227 PHMF = POINTER TO HMF; ***** ^ not supported yet 228 229 TYPE 230 COLOR = LONGINT; 231 232 (*clr *) 233 TYPE 234 PCOLOR = POINTER TO COLOR; ***** ^ not supported yet 235 236 TYPE _POINTL = RECORD(*ptl *) 237 x: LONGINT; 238 y: LONGINT; 239 END; ***** ^ not supported yet 240 TYPE POINTL = _POINTL; 241 242 TYPE 243 PPOINTL = POINTER TO POINTL; ***** ^ not supported yet 244 245 TYPE 246 NPPOINTL = POINTER TO POINTL; ***** ^ not supported yet 247 248 TYPE _POINTS = RECORD(*pts *) 249 x: INTEGER; 250 y: INTEGER; 251 END; ***** ^ not supported yet 252 TYPE POINTS = _POINTS; 253 254 TYPE 255 PPOINTS = POINTER TO POINTS; ***** ^ not supported yet 256 257 TYPE _RECTL = RECORD(*rcl *) 258 xLeft: LONGINT; 259 yBottom: LONGINT; 260 xRight: LONGINT; 261 yTop: LONGINT; 262 END; ***** ^ not supported yet 263 TYPE RECTL = _RECTL; 264 265 TYPE 266 PRECTL = POINTER TO RECTL; ***** ^ not supported yet 267 268 TYPE 269 NPRECTL = POINTER TO RECTL; ***** ^ not supported yet 270 271 TYPE 272 STR8 = ARRAY [0 .. ((8) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 273 (*str8 *) 274 TYPE 275 PSTR8 = POINTER TO STR8; ***** ^ not supported yet 276 277 278 (** common DEV/SPL types *) 279 280 (*structure for Device Driver data *) 281 TYPE _DRIVDATA = RECORD(*driv *) 282 cb: LONGINT; 283 lVersion: LONGINT; 284 szDeviceName: ARRAY [0 .. ((32) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 285 abGeneralData: ARRAY [0 .. ((1) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 286 END; ***** ^ not supported yet 287 TYPE DRIVDATA = _DRIVDATA; 288 289 TYPE 290 PDRIVDATA = POINTER TO DRIVDATA; ***** ^ not supported yet 291 292 293 (*array indices for array parameter for DevOpenDC, SplQmOpen or SplQpOpen *) 294 CONST ADDRESS = 0; 295 296 CONST DRIVER_NAME = 1; 297 298 CONST DRIVER_DATA = 2; 299 300 CONST DATA_TYPE = 3; 301 302 CONST COMMENT = 4; 303 304 CONST PROC_NAME = 5; 305 306 CONST PROC_PARAMS = 6; 307 308 CONST SPL_PARAMS = 7; 309 310 CONST NETWORK_PARAMS = 8; 311 312 313 (*structure definition as an alternative of the array parameter *) 314 TYPE _DEVOPENSTRUC = RECORD(*dop *) 315 pszLogAddress: PSZ; 316 pszDriverName: PSZ; 317 pdriv: PDRIVDATA; 318 pszDataType: PSZ; 319 pszComment: PSZ; 320 pszQueueProcName: PSZ; 321 pszQueueProcParams: PSZ; 322 pszSpoolerParams: PSZ; 323 pszNetworkParams: PSZ; 324 END; ***** ^ not supported yet 325 TYPE DEVOPENSTRUC = _DEVOPENSTRUC; 326 327 TYPE 328 PDEVOPENSTRUC = POINTER TO DEVOPENSTRUC; ***** ^ not supported yet 329 330 331 (** common AVIO/GPI types *) 332 333 (*values of fsSelection field of FATTRS structure *) 334 CONST FATTR_SEL_ITALIC = 0001H; 335 336 CONST FATTR_SEL_UNDERSCORE = 0002H; 337 338 CONST FATTR_SEL_OUTLINE = 0008H; 339 (*Hollow Outline Font *) 340 CONST FATTR_SEL_STRIKEOUT = 0010H; 341 342 CONST FATTR_SEL_BOLD = 0020H; 343 344 345 (*values of fsType field of FATTRS structure *) 346 CONST FATTR_TYPE_KERNING = 0004H; 347 348 CONST FATTR_TYPE_MBCS = 0008H; 349 350 CONST FATTR_TYPE_DBCS = 0010H; 351 352 CONST FATTR_TYPE_ANTIALIASED = 0020H; 353 354 355 (*values of fsFontUse field of FATTRS structure *) 356 CONST FATTR_FONTUSE_NOMIX = 0002H; 357 358 CONST FATTR_FONTUSE_OUTLINE = 0004H; 359 360 CONST FATTR_FONTUSE_TRANSFORMABLE = 0008H; 361 362 363 (*size for fields in the font structures *) 364 CONST FACESIZE = 32; 365 366 367 (*font struct for Vio/GpiCreateLogFont *) 368 TYPE _FATTRS = RECORD(*fat *) 369 usRecordLength: USHORT; 370 fsSelection: USHORT; 371 lMatch: LONGINT; 372 szFacename: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 373 idRegistry: USHORT; 374 usCodePage: USHORT; 375 lMaxBaselineExt: LONGINT; 376 lAveCharWidth: LONGINT; 377 fsType: USHORT; 378 fsFontUse: USHORT; 379 END; ***** ^ not supported yet 380 TYPE FATTRS = _FATTRS; 381 382 TYPE 383 PFATTRS = POINTER TO FATTRS; ***** ^ not supported yet 384 385 386 (*values of fsType field of FONTMETRICS structure *) 387 CONST FM_TYPE_FIXED = 0001H; 388 389 CONST FM_TYPE_LICENSED = 0002H; 390 391 CONST FM_TYPE_KERNING = 0004H; 392 393 CONST FM_TYPE_DBCS = 0010H; 394 395 CONST FM_TYPE_MBCS = 0018H; 396 397 CONST FM_TYPE_64K = 8000H; 398 399 400 (*values of fsDefn field of FONTMETRICS structure *) 401 CONST FM_DEFN_OUTLINE = 0001H; 402 403 CONST FM_DEFN_GENERIC = 8000H; 404 405 406 (*values of fsSelection field of FONTMETRICS structure *) 407 CONST FM_SEL_ITALIC = 0001H; 408 409 CONST FM_SEL_UNDERSCORE = 0002H; 410 411 CONST FM_SEL_NEGATIVE = 0004H; 412 413 CONST FM_SEL_OUTLINE = 0008H; 414 (*Hollow Outline Font *) 415 CONST FM_SEL_STRIKEOUT = 0010H; 416 417 CONST FM_SEL_BOLD = 0020H; 418 419 420 (*values of fsCapabilities field of FONTMETRICS structure *) 421 CONST FM_CAP_NOMIX = 0001H; 422 423 424 (*font metrics returned by GpiQueryFonts and others *) 425 TYPE _FONTMETRICS = RECORD(*fm *) 426 szFamilyname: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 427 szFacename: ARRAY [0 .. ((FACESIZE) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 428 idRegistry: USHORT; 429 usCodePage: USHORT; 430 lEmHeight: LONGINT; 431 lXHeight: LONGINT; 432 lMaxAscender: LONGINT; 433 lMaxDescender: LONGINT; 434 lLowerCaseAscent: LONGINT; 435 lLowerCaseDescent: LONGINT; 436 lInternalLeading: LONGINT; 437 lExternalLeading: LONGINT; 438 lAveCharWidth: LONGINT; 439 lMaxCharInc: LONGINT; 440 lEmInc: LONGINT; 441 lMaxBaselineExt: LONGINT; 442 sCharSlope: INTEGER; 443 sInlineDir: INTEGER; 444 sCharRot: INTEGER; 445 usWeightClass: USHORT; 446 usWidthClass: USHORT; 447 sXDeviceRes: INTEGER; 448 sYDeviceRes: INTEGER; 449 sFirstChar: INTEGER; 450 sLastChar: INTEGER; 451 sDefaultChar: INTEGER; 452 sBreakChar: INTEGER; 453 sNominalPointSize: INTEGER; 454 sMinimumPointSize: INTEGER; 455 sMaximumPointSize: INTEGER; 456 fsType: USHORT; 457 fsDefn: USHORT; 458 fsSelection: USHORT; 459 fsCapabilities: USHORT; 460 lSubscriptXSize: LONGINT; 461 lSubscriptYSize: LONGINT; 462 lSubscriptXOffset: LONGINT; 463 lSubscriptYOffset: LONGINT; 464 lSuperscriptXSize: LONGINT; 465 lSuperscriptYSize: LONGINT; 466 lSuperscriptXOffset: LONGINT; 467 lSuperscriptYOffset: LONGINT; 468 lUnderscoreSize: LONGINT; 469 lUnderscorePosition: LONGINT; 470 lStrikeoutSize: LONGINT; 471 lStrikeoutPosition: LONGINT; 472 sKerningPairs: INTEGER; 473 sFamilyClass: INTEGER; 474 lMatch: LONGINT; 475 END; ***** ^ not supported yet 476 TYPE FONTMETRICS = _FONTMETRICS; 477 478 TYPE 479 PFONTMETRICS = POINTER TO FONTMETRICS; ***** ^ not supported yet 480 481 482 (** Common WIN types *) 483 TYPE 484 HWND = LHANDLE; 485 (*hwnd *) 486 TYPE 487 PHWND = POINTER TO HWND; ***** ^ not supported yet 488 489 TYPE _WRECT = RECORD(*wrc *) 490 xLeft: INTEGER; 491 dummy1: INTEGER; 492 yBottom: INTEGER; 493 dummy2: INTEGER; 494 xRight: INTEGER; 495 dummy3: INTEGER; 496 yTop: INTEGER; 497 dummy4: INTEGER; 498 END; ***** ^ not supported yet 499 TYPE WRECT = _WRECT; 500 501 TYPE 502 PWRECT = POINTER TO WRECT; ***** ^ not supported yet 503 504 TYPE 505 NPWRECT = POINTER TO WRECT; ***** ^ not supported yet 506 507 TYPE _WPOINT = RECORD(*wpt *) 508 x: INTEGER; 509 dummy1: INTEGER; 510 y: INTEGER; 511 dummy2: INTEGER; 512 END; ***** ^ not supported yet 513 TYPE WPOINT = _WPOINT; 514 515 TYPE 516 PWPOINT = POINTER TO WPOINT; ***** ^ not supported yet 517 518 TYPE 519 NPWPOINT = POINTER TO WPOINT; ***** ^ not supported yet 520 521 522 (** General services *) 523 PROCEDURE DOSBEEP ( 524 usFrequency: USHORT; 525 usDuration: USHORT): USHORT; 526 527 528 (** Process and Thread support *) 529 PROCEDURE DOSEXIT ( 530 fTerminate: USHORT; 531 usExitCode: USHORT); 532 533 534 (*DosExit fTerminate *) 535 CONST EXIT_THREAD = 0; 536 537 CONST EXIT_PROCESS = 1; 538 539 TYPE _PIDINFO = RECORD(*pidi *) 540 pid: PID; 541 tid: TID; 542 pidParent: PID; 543 END; ***** ^ not supported yet 544 TYPE PIDINFO = _PIDINFO; 545 546 TYPE 547 PPIDINFO = POINTER TO PIDINFO; ***** ^ not supported yet 548 549 PROCEDURE DOSSLEEP ( 550 ulTime: ULONG): USHORT; 551 552 553 (*codeTerminate values (also passed to ExitList routines) *) 554 CONST TC_EXIT = 0; 555 556 CONST TC_HARDERROR = 1; 557 558 CONST TC_TRAP = 2; 559 560 CONST TC_KILLPROCESS = 3; 561 562 TYPE _RESULTCODES = RECORD 563 codeTerminate: USHORT; 564 codeResult: USHORT; 565 END; ***** ^ not supported yet 566 567 TYPE RESULTCODES = _RESULTCODES; 568 569 TYPE PRESULTCODES = POINTER TO RESULTCODES; ***** ^ not supported yet 570 571 PROCEDURE DOSEXECPGM ( 572 pchFailName: PCHAR; 573 cbFailName: INTEGER; 574 fExecFlags: USHORT; 575 pszArgs: PSZ; 576 pszEnv: PSZ; 577 prescResults: PRESULTCODES; 578 pszPgmName: PSZ): USHORT; 579 580 581 (*DosExecPgm fExecFlags *) 582 CONST EXEC_SYNC = 0; 583 584 CONST EXEC_ASYNC = 1; 585 586 CONST EXEC_ASYNCRESULT = 2; 587 588 CONST EXEC_TRACE = 3; 589 590 CONST EXEC_BACKGROUND = 4; 591 592 PROCEDURE DOSGETPID ( 593 ppidInfo: PPIDINFO): USHORT; 594 595 596 597 (** InfoSeg support *) 598 599 (*Global Information Segment *) 600 TYPE _GINFOSEG = RECORD(*gis *) 601 time: ULONG; 602 msecs: ULONG; 603 hour: UCHAR; 604 minutes: UCHAR; 605 seconds: UCHAR; 606 hundredths: UCHAR; 607 timezone: USHORT; 608 cusecTimerInterval: USHORT; 609 day: UCHAR; 610 month: UCHAR; 611 year: USHORT; 612 weekday: UCHAR; 613 uchMajorVersion: UCHAR; 614 uchMinorVersion: UCHAR; 615 chRevisionLetter: UCHAR; 616 sgCurrent: UCHAR; 617 sgMax: UCHAR; 618 cHugeShift: UCHAR; 619 fProtectModeOnly: UCHAR; 620 pidForeground: USHORT; 621 fDynamicSched: UCHAR; 622 csecMaxWait: UCHAR; 623 cmsecMinSlice: USHORT; 624 cmsecMaxSlice: USHORT; 625 bootdrive: USHORT; 626 amecRAS: ARRAY [0 .. ((32) - 1)] OF UCHAR; ***** ^ not supported yet ***** ^ not supported yet 627 csgWindowableVioMax: UCHAR; 628 csgPMMax: UCHAR; 629 END; ***** ^ not supported yet 630 TYPE GINFOSEG = _GINFOSEG; 631 632 TYPE 633 PGINFOSEG = POINTER TO GINFOSEG; ***** ^ not supported yet 634 635 636 (*Local Information Segment *) 637 TYPE _LINFOSEG = RECORD(*lis *) 638 pidCurrent: PID; 639 pidParent: PID; 640 prtyCurrent: USHORT; 641 tidCurrent: TID; 642 sgCurrent: USHORT; 643 rfProcStatus: UCHAR; 644 dummy1: UCHAR; 645 fForeground: BOOL; 646 typeProcess: UCHAR; 647 dummy2: UCHAR; 648 selEnvironment: SEL; 649 offCmdLine: USHORT; 650 cbDataSegment: USHORT; 651 cbStack: USHORT; 652 cbHeap: USHORT; 653 hmod: HMODULE; 654 selDS: SEL; 655 END; ***** ^ not supported yet 656 TYPE LINFOSEG = _LINFOSEG; 657 658 TYPE 659 PLINFOSEG = POINTER TO LINFOSEG; ***** ^ not supported yet 660 661 662 (*Process Type codes (local information segment typeProcess field) *) 663 CONST PT_FULLSCREEN = 0; 664 (*Full screen application *) 665 CONST PT_REALMODE = 1; 666 (*Real mode process *) 667 CONST PT_WINDOWABLEVIO = 2; 668 (*VIO windowable application *) 669 CONST PT_PM = 3; 670 (*Presentation Manager application *) 671 CONST PT_DETACHED = 4; 672 (*Detached application *) 673 674 (*Process Status Flag definitions (local info seg rfProcStatus field) *) 675 CONST PS_EXITLIST = 1; 676 (*Thread is in exitlist routine *) 677 678 679 (* 680 * CCHMAXPATH is the maximum fully qualified path name length including 681 * the drive letter, colon, backslashes and terminating NULL. 682 *) 683 CONST CCHMAXPATH = 260; 684 685 686 (* 687 * CCHMAXPATHCOMP is the maximum individual path component name length 688 * including a terminating NULL. 689 *) 690 CONST CCHMAXPATHCOMP = 256; 691 692 693 (** File manager *) 694 695 (*DosChgFilePtr() file position codes *) 696 CONST FILE_BEGIN = 0000H; 697 (*relative to beginning of file *) 698 CONST FILE_CURRENT = 0001H; 699 (*relative to current fptr position*) 700 CONST FILE_END = 0002H; 701 (*relative to end of file *) 702 703 (*DosFindFirst/Next Directory handle types *) 704 CONST HDIR_SYSTEM = 0001H; 705 (*Use system handle (1) *) 706 CONST HDIR_CREATE = 0FFFFH; 707 (*Allocate a new, unused handle *) 708 709 (*Append to existing file, don't replace*) 710 711 (*DosOpen/DosQFHandState/DosQueryFileInfo et al file attributes; also*) 712 (*known as Dos File Mode bits... *) 713 CONST FILE_NORMAL = 0000H; 714 CONST FILE_READONLY = 0001H; 715 CONST FILE_HIDDEN = 0002H; 716 CONST FILE_SYSTEM = 0004H; 717 CONST FILE_DIRECTORY = 0010H; 718 CONST FILE_ARCHIVED = 0020H; 719 720 721 (*DosOpen() actions *) 722 CONST FILE_EXISTED = 0001H; 723 724 CONST FILE_CREATED = 0002H; 725 726 CONST FILE_TRUNCATED = 0003H; 727 728 729 (*DosOpen() open flags *) 730 CONST FILE_OPEN = 0001H; 731 732 CONST FILE_TRUNCATE = 0002H; 733 734 CONST FILE_CREATE = 0010H; 735 736 737 (*applies if file already exists *) 738 CONST OPEN_ACTION_FAIL_IF_EXISTS = 0000H; 739 (*---- ---- ---- 0000 *) 740 CONST OPEN_ACTION_OPEN_IF_EXISTS = 0001H; 741 (*---- ---- ---- 0001 *) 742 CONST OPEN_ACTION_REPLACE_IF_EXISTS = 0002H; 743 (*---- ---- ---- 0010 *) 744 745 (*applies if file does not exist *) 746 CONST OPEN_ACTION_FAIL_IF_NEW = 0000H; 747 (*---- ---- 0000 ---- *) 748 CONST OPEN_ACTION_CREATE_IF_NEW = 0010H; 749 (*---- ---- 0001 ---- *) 750 751 (*DosOpen/DosSetFHandState flags *) 752 CONST OPEN_ACCESS_READONLY = 0000H; 753 (*---- ---- ---- -000 *) 754 CONST OPEN_ACCESS_WRITEONLY = 0001H; 755 (*---- ---- ---- -001 *) 756 CONST OPEN_ACCESS_READWRITE = 0002H; 757 (*---- ---- ---- -010 *) 758 CONST OPEN_SHARE_DENYREADWRITE = 0010H; 759 (*---- ---- -001 ---- *) 760 CONST OPEN_SHARE_DENYWRITE = 0020H; 761 (*---- ---- -010 ---- *) 762 CONST OPEN_SHARE_DENYREAD = 0030H; 763 (*---- ---- -011 ---- *) 764 CONST OPEN_SHARE_DENYNONE = 0040H; 765 (*---- ---- -100 ---- *) 766 CONST OPEN_FLAGS_NOINHERIT = 0080H; 767 (*---- ---- 1--- ---- *) 768 CONST OPEN_FLAGS_NO_LOCALITY = 0000H; 769 (*---- -000 ---- ---- *) 770 CONST OPEN_FLAGS_SEQUENTIAL = 0100H; 771 (*---- -001 ---- ---- *) 772 CONST OPEN_FLAGS_RANDOM = 0200H; 773 (*---- -010 ---- ---- *) 774 CONST OPEN_FLAGS_RANDOMSEQUENTIAL = 0300H; 775 (*---- -011 ---- ---- *) 776 CONST OPEN_FLAGS_NO_CACHE = 1000H; 777 (*---1 ---- ---- ---- *) 778 CONST OPEN_FLAGS_FAIL_ON_ERROR = 2000H; 779 (*--1- ---- ---- ---- *) 780 CONST OPEN_FLAGS_WRITE_THROUGH = 4000H; 781 (*-1-- ---- ---- ---- *) 782 CONST OPEN_FLAGS_DASD = 8000H; 783 (*1--- ---- ---- ---- *) 784 785 CONST SEARCH_PATH = 0000H; 786 787 CONST SEARCH_CUR_DIRECTORY = 0001H; 788 789 CONST SEARCH_ENVIRONMENT = 0002H; 790 791 CONST SEARCH_IGNORENETERRS = 0004H; 792 793 794 (* 795 * DosFileIO 796 *) 797 798 (*File IO command words *) 799 CONST FIO_LOCK = 0; 800 (*Lock Files *) 801 CONST FIO_UNLOCK = 1; 802 (*Unlock Files *) 803 CONST FIO_SEEK = 2; 804 (*Seek (set file ptr) *) 805 CONST FIO_READ = 3; 806 (*File Read *) 807 CONST FIO_WRITE = 4; 808 (*File Write *) 809 810 (*Lock Sharing Modes *) 811 CONST FIO_NOSHARE = 0; 812 (*None *) 813 CONST FIO_SHAREREAD = 1; 814 (*Read-Only *) 815 TYPE _FIOLOCKCMD = RECORD(*FLC FileLockCmd prefix *) 816 usCmd: USHORT;(*Cmd = FIO_LOCK *) 817 cLockCnt: USHORT;(*Lock records that follow *) 818 cTimeOut: ULONG;(*in Msec *) 819 END; ***** ^ not supported yet 820 TYPE FIOLOCKCMD = _FIOLOCKCMD; 821 822 TYPE 823 PFIOLOCKCMD = POINTER TO FIOLOCKCMD; ***** ^ not supported yet 824 825 TYPE _FIOLOCKREC = RECORD(*FLR FileLockRecord *) 826 fShare: USHORT;(*FIO_NOSHARE or FIO_SHAREREAD *) 827 cbStart: ULONG;(*Starting offset for lock region *) 828 cbLength: ULONG;(*Length of lock region *) 829 END; ***** ^ not supported yet 830 TYPE FIOLOCKREC = _FIOLOCKREC; 831 832 TYPE 833 PFIOLOCKREC = POINTER TO FIOLOCKREC; ***** ^ not supported yet 834 835 TYPE _FIOUNLOCKCMD = RECORD(*FUC FileUnlockCmd prefix *) 836 usCmd: USHORT;(*Cmd = FIO_UNLOCK *) 837 cUnlockCnt: USHORT;(*Unlock records that follow *) 838 END; ***** ^ not supported yet 839 TYPE FIOUNLOCKCMD = _FIOUNLOCKCMD; 840 841 TYPE 842 PFIOUNLOCKCMD = POINTER TO FIOUNLOCKCMD; ***** ^ not supported yet 843 844 TYPE _FIOUNLOCKREC = RECORD(*FUR FileUnlockRecord *) 845 cbStart: ULONG;(*Starting offset for unlock region *) 846 cbLength: ULONG;(*Length of unlock region *) 847 END; ***** ^ not supported yet 848 TYPE FIOUNLOCKREC = _FIOUNLOCKREC; 849 850 TYPE 851 PFIOUNLOCKREC = POINTER TO FIOUNLOCKREC; ***** ^ not supported yet 852 853 TYPE _FIOSEEKCMD = RECORD(*FSC Seek command structure *) 854 usCmd: USHORT;(*Cmd = FIO_SEEK *) 855 fsMethod: USHORT;(*One of&gml FPM_BEGINNING, FPM_CURRENT, *) 856 (*or FPM_END *) 857 cbDistance: ULONG;(*Byte offset for seek *) 858 cbNewPosition: ULONG;(*Bytes from start of file after seek *) 859 END; ***** ^ not supported yet 860 TYPE FIOSEEKCMD = _FIOSEEKCMD; 861 862 TYPE 863 PFIOSEEKCMD = POINTER TO FIOSEEKCMD; ***** ^ not supported yet 864 865 TYPE _FIOREADWRITE = RECORD(*FRWC Read&Write command structure *) 866 usCmd: USHORT;(*Cmd = FIO_READ or FIO_WRITE *) 867 pbBuffer: PVOID;(*Pointer to data buffer *) 868 cbBufferLen: USHORT;(*Bytes in buffer or max size *) 869 cbActualLen: USHORT;(*Bytes actually read/written *) 870 END; ***** ^ not supported yet 871 TYPE FIOREADWRITE = _FIOREADWRITE; 872 873 TYPE 874 PFIOREADWRITE = POINTER TO FIOREADWRITE; ***** ^ not supported yet 875 876 877 (** 878 * EA Info Levels & Find First/Next 879 * API's: DosFindFirst, DosQueryFileInfo, DosQueryPathInfo, DosSetFileInfo 880 *) 881 882 (*File info levels : All listed API's *) 883 CONST FIL_STANDARD = 1; 884 (*Info level 1, standard file info *) 885 CONST FIL_QUERYEASIZE = 2; 886 (*Level 2, return Full EA size *) 887 CONST FIL_QUERYEASFROMLIST = 3; 888 (*Level 3, return requested EA's *) 889 890 (*File info levels: Dos...PathInfo only *) 891 CONST FIL_QUERYFULLNAME = 5; 892 (*Level 5, return fully qualified *) 893 (* name of file *) 894 CONST FIL_NAMEISVALID = 6; 895 (*Level 6, check validity of *) 896 (*file/path name for this FSD *) 897 898 (*DosFindNotifyFirst() *) 899 CONST FNOTIL_STANDARD = 1; 900 (*Find-Notify Info level 1&gml Return *) 901 (*standard directory change info *) 902 903 (*DosQueryFSAttach() *) 904 905 (*Information level types (defines method of query) *) 906 CONST FSAIL_QUERYNAME = 1; 907 (*Return data for a Drive or Device *) 908 CONST FSAIL_DEVNUMBER = 2; 909 (*Return data for Ordinal Device # *) 910 CONST FSAIL_DRVNUMBER = 3; 911 (*Return data for Ordinal Drive # *) 912 913 (*Item types (from data structure item "iType") *) 914 CONST FSAT_CHARDEV = 1; 915 (*Resident character device *) 916 CONST FSAT_PSEUDODEV = 2; 917 (*Pusedu-character device *) 918 CONST FSAT_LOCALDRV = 3; 919 (*Local drive *) 920 CONST FSAT_REMOTEDRV = 4; 921 (*Remote drive attached to FSD *) 922 923 (*Data structure for QFSAttach *) 924 TYPE _FSQBUFFER = RECORD(*fsqbf *) 925 iType: USHORT;(*Item type *) 926 cbName: USHORT;(*Length of item name, sans NULL *) 927 szName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*ASCIIZ item name *) ***** ^ not supported yet ***** ^ not supported yet 928 cbFSDName: USHORT;(*Length of FSD name, sans NULL *) 929 szFSDName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*ASCIIZ FSD name *) ***** ^ not supported yet ***** ^ not supported yet 930 cbFSAData: USHORT;(*Length of FSD Attach data returned *) 931 rgFSAData: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*FSD Attach data from FSD *) ***** ^ not supported yet ***** ^ not supported yet 932 END; ***** ^ not supported yet 933 TYPE FSQBUFFER = _FSQBUFFER; 934 935 TYPE 936 PFSQBUFFER = POINTER TO FSQBUFFER; ***** ^ not supported yet 937 938 939 (* 940 * File System Drive Information&gml DosQFSInfo DosSetFSInfo 941 *) 942 943 (*FS Drive Info Levels *) 944 CONST FSIL_ALLOC = 1; 945 (*Drive allocation info (Query only) *) 946 CONST FSIL_VOLSER = 2; 947 (*Drive Volume/Serial information *) 948 949 (*HANDTYPE values *) 950 CONST HANDTYPE_FILE = 0000H; 951 952 CONST HANDTYPE_DEVICE = 0001H; 953 954 CONST HANDTYPE_PIPE = 0002H; 955 956 CONST HANDTYPE_NETWORK = 8000H; 957 958 959 (*DosQHandType() *) 960 961 (*Handle classes (low 8 bits of Handle Type) *) 962 CONST FHT_DISKFILE = 0000H; 963 (*Disk file handle *) 964 CONST FHT_CHRDEV = 0001H; 965 (*Character device handle *) 966 CONST FHT_PIPE = 0002H; 967 (*Pipe handle *) 968 969 (*Handle bits (high 8 bits of Handle Type) *) 970 CONST FHB_DSKREMOTE = 8000H; 971 (*Remote disk *) 972 CONST FHB_CHRDEVREMOTE = 8001H; 973 (*Remote character device *) 974 CONST FHB_PIPEREMOTE = 8002H; 975 (*Remote pipe *) 976 977 (*File time and date types *) 978 TYPE FTIME = CARDINAL; 979 TYPE FDATE = CARDINAL; 980 981 TYPE 982 PFDATE = POINTER TO FDATE; ***** ^ not supported yet 983 984 TYPE _FILEFINDBUF = RECORD(*findbuf *) 985 fdateCreation: FDATE; 986 ftimeCreation: FTIME; 987 fdateLastAccess: FDATE; 988 ftimeLastAccess: FTIME; 989 fdateLastWrite: FDATE; 990 ftimeLastWrite: FTIME; 991 cbFile: ULONG; 992 cbFileAlloc: ULONG; 993 attrFile: USHORT; 994 cchName: UCHAR; 995 achName: ARRAY [0 .. ((CCHMAXPATHCOMP) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 996 END; ***** ^ not supported yet 997 TYPE FILEFINDBUF = _FILEFINDBUF; 998 999 TYPE 1000 PFILEFINDBUF = POINTER TO FILEFINDBUF; ***** ^ not supported yet 1001 1002 TYPE _FILEFINDBUF2 = RECORD(*findbuf2 *) 1003 fdateCreation: FDATE; 1004 ftimeCreation: FTIME; 1005 fdateLastAccess: FDATE; 1006 ftimeLastAccess: FTIME; 1007 fdateLastWrite: FDATE; 1008 ftimeLastWrite: FTIME; 1009 cbFile: ULONG; 1010 cbFileAlloc: ULONG; 1011 attrFile: USHORT; 1012 cbList: ULONG; 1013 cchName: UCHAR; 1014 achName: ARRAY [0 .. ((CCHMAXPATHCOMP) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1015 END; ***** ^ not supported yet 1016 TYPE FILEFINDBUF2 = _FILEFINDBUF2; 1017 1018 TYPE 1019 PFILEFINDBUF2 = POINTER TO FILEFINDBUF2; ***** ^ not supported yet 1020 1021 1022 (*extended attribute structures *) 1023 TYPE _GEA = RECORD(*gea *) 1024 cbName: BYTE;(*name length not including NULL *) 1025 szName: ARRAY [0 .. ((1) - 1)] OF CHAR;(*attribute name *) ***** ^ not supported yet ***** ^ not supported yet 1026 END; ***** ^ not supported yet 1027 TYPE GEA = _GEA; 1028 1029 TYPE 1030 PGEA = POINTER TO GEA; ***** ^ not supported yet 1031 1032 TYPE _GEALIST = RECORD(*geal *) 1033 cbList: ULONG;(*total bytes of structure inc full list *) 1034 list: ARRAY [0 .. ((1) - 1)] OF GEA;(*variable length GEA structures *) ***** ^ not supported yet ***** ^ not supported yet 1035 END; ***** ^ not supported yet 1036 TYPE GEALIST = _GEALIST; 1037 1038 TYPE 1039 PGEALIST = POINTER TO GEALIST; ***** ^ not supported yet 1040 1041 TYPE _FEA = RECORD(*fea *) 1042 fEA: BYTE;(*flags *) 1043 cbName: BYTE;(*name length not including NULL *) 1044 cbValue: USHORT;(*value length *) 1045 END; ***** ^ not supported yet 1046 TYPE FEA = _FEA; 1047 1048 TYPE 1049 PFEA = POINTER TO FEA; ***** ^ not supported yet 1050 1051 1052 (*flags for _FEA.fEA *) 1053 CONST FEA_NEEDEA = 80H; 1054 (*need EA bit *) 1055 TYPE _FEALIST = RECORD(*feal *) 1056 cbList: ULONG;(*total bytes of structure inc full list *) 1057 list: ARRAY [0 .. ((1) - 1)] OF FEA;(*variable length FEA structures *) ***** ^ not supported yet ***** ^ not supported yet 1058 END; ***** ^ not supported yet 1059 TYPE FEALIST = _FEALIST; 1060 1061 TYPE 1062 PFEALIST = POINTER TO FEALIST; ***** ^ not supported yet 1063 1064 TYPE _EAOP = RECORD(*eaop *) 1065 fpGEAList: PGEALIST;(*general EA list *) 1066 fpFEAList: PFEALIST;(*full EA list *) 1067 oError: ULONG; 1068 END; ***** ^ not supported yet 1069 TYPE EAOP = _EAOP; 1070 1071 TYPE 1072 PEAOP = POINTER TO EAOP; ***** ^ not supported yet 1073 1074 1075 (* 1076 * Equates for EA types 1077 * 1078 * Values 0xFFFE thru 0x8000 are reserved. 1079 * Values 0x0000 thru 0x7fff are user definable. 1080 * Value 0xFFFC is not used 1081 *) 1082 CONST EAT_BINARY = 0FFFEH; 1083 (*length preceeded binary *) 1084 CONST EAT_ASCII = 0FFFDH; 1085 (*length preceeded ASCII *) 1086 CONST EAT_BITMAP = 0FFFBH; 1087 (*length preceeded bitmap *) 1088 CONST EAT_METAFILE = 0FFFAH; 1089 (*length preceeded metafile *) 1090 CONST EAT_ICON = 0FFF9H; 1091 (*length preceeded icon *) 1092 CONST EAT_EA = 0FFEEH; 1093 (*length preceeded ASCII extended attribute *) 1094 (*name of associated data (#include)*) 1095 CONST EAT_MVMT = 0FFDFH; 1096 (*multi-valued, multi-typed field *) 1097 CONST EAT_MVST = 0FFDEH; 1098 (*multi-valued, single-typed field *) 1099 CONST EAT_ASN1 = 0FFDDH; 1100 (*ASN.1 field *) 1101 1102 PROCEDURE DOSOPEN ( 1103 pszFname: PSZ; 1104 phfOpen: PHFILE; 1105 pusAction: PUSHORT; 1106 ulFSize: ULONG; 1107 usAttr: USHORT; 1108 fsOpenFlags: USHORT; 1109 fsOpenMode: USHORT; 1110 ulReserved: ULONG): USHORT; 1111 1112 PROCEDURE DOSCLOSE ( 1113 hf: HFILE): USHORT; 1114 1115 PROCEDURE DOSREAD ( 1116 hf: HFILE; 1117 pBuf: PVOID; 1118 cbBuf: USHORT; 1119 pcbBytesRead: PUSHORT): USHORT; 1120 1121 PROCEDURE DOSWRITE ( 1122 hf: HFILE; 1123 bBuf: PVOID; 1124 cbBuf: USHORT; 1125 pcbBytesWritten: PUSHORT): USHORT; 1126 1127 1128 (*File time and date types *) 1129 TYPE _FILESTATUS = RECORD(*fsts *) 1130 fdateCreation: FDATE; 1131 ftimeCreation: FTIME; 1132 fdateLastAccess: FDATE; 1133 ftimeLastAccess: FTIME; 1134 fdateLastWrite: FDATE; 1135 ftimeLastWrite: FTIME; 1136 cbFile: ULONG; 1137 cbFileAlloc: ULONG; 1138 attrFile: USHORT; 1139 END; ***** ^ not supported yet 1140 TYPE FILESTATUS = _FILESTATUS; 1141 1142 TYPE 1143 PFILESTATUS = POINTER TO FILESTATUS; ***** ^ not supported yet 1144 1145 TYPE _FILESTATUS2 = RECORD(*fsts2 *) 1146 fdateCreation: FDATE; 1147 ftimeCreation: FTIME; 1148 fdateLastAccess: FDATE; 1149 ftimeLastAccess: FTIME; 1150 fdateLastWrite: FDATE; 1151 ftimeLastWrite: FTIME; 1152 cbFile: ULONG; 1153 cbFileAlloc: ULONG; 1154 attrFile: USHORT; 1155 cbList: ULONG; 1156 END; ***** ^ not supported yet 1157 TYPE FILESTATUS2 = _FILESTATUS2; 1158 1159 TYPE 1160 PFILESTATUS2 = POINTER TO FILESTATUS2; ***** ^ not supported yet 1161 1162 TYPE _FSALLOCATE = RECORD(*fsalloc *) 1163 ulReserved: ULONG; 1164 cSectorUnit: ULONG; 1165 cUnit: ULONG; 1166 cUnitAvail: ULONG; 1167 cbSector: USHORT; 1168 END; ***** ^ not supported yet 1169 TYPE FSALLOCATE = _FSALLOCATE; 1170 1171 TYPE 1172 PFSALLOCATE = POINTER TO FSALLOCATE; ***** ^ not supported yet 1173 1174 TYPE _VOLUMELABEL = RECORD(*vol *) 1175 cch: BYTE; 1176 szVolLabel: ARRAY [0 .. ((12) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1177 END; ***** ^ not supported yet 1178 TYPE VOLUMELABEL = _VOLUMELABEL; 1179 1180 TYPE 1181 PVOLUMELABEL = POINTER TO VOLUMELABEL; ***** ^ not supported yet 1182 1183 TYPE _FSINFO = RECORD(*fsinf *) 1184 ulVSN: ULONG; 1185 vol: VOLUMELABEL; 1186 END; ***** ^ not supported yet 1187 TYPE FSINFO = _FSINFO; 1188 1189 TYPE 1190 PFSINFO = POINTER TO FSINFO; ***** ^ not supported yet 1191 1192 TYPE _FILELOCK = RECORD(*flock *) 1193 lOffset: LONGINT; 1194 lRange: LONGINT; 1195 END; ***** ^ not supported yet 1196 TYPE FILELOCK = _FILELOCK; 1197 1198 TYPE 1199 PFILELOCK = POINTER TO FILELOCK; ***** ^ not supported yet 1200 1201 TYPE 1202 HDIR = SHANDLE; 1203 (*hdir *) 1204 TYPE 1205 PHDIR = POINTER TO HDIR; ***** ^ not supported yet 1206 1207 PROCEDURE DOSDELETE ( 1208 pszFName: PSZ; 1209 ulReserverd: ULONG): USHORT; 1210 1211 PROCEDURE DOSDUPHANDLE ( 1212 hfOld: HFILE; 1213 phfNew: PHFILE): USHORT; 1214 1215 PROCEDURE DOSQFHANDSTATE ( 1216 hf: HFILE; 1217 pfsOpenMode: PUSHORT): USHORT; 1218 1219 PROCEDURE DOSSETFHANDSTATE ( 1220 hf: HFILE; 1221 fsState: USHORT): USHORT; 1222 1223 PROCEDURE DOSQHANDTYPE ( 1224 hf: HFILE; 1225 pfsType: PUSHORT; 1226 pusDevAttr: PUSHORT): USHORT; 1227 1228 PROCEDURE DOSFINDFIRST ( 1229 pszFSpec: PSZ; 1230 phdir: PHDIR; 1231 usAttr: USHORT; 1232 pffb: PFILEFINDBUF; 1233 cbBuf: USHORT; 1234 pcSearch: PUSHORT; 1235 ulReserved: ULONG): USHORT; 1236 1237 PROCEDURE DOSFINDNEXT ( 1238 hdir: HDIR; 1239 pffb: PFILEFINDBUF; 1240 cbBuf: USHORT; 1241 pcSearch: PUSHORT): USHORT; 1242 1243 PROCEDURE DOSFINDCLOSE ( 1244 hdir: HDIR): USHORT; 1245 1246 PROCEDURE DOSNEWSIZE ( 1247 hf: HFILE; 1248 ulNewSize: ULONG): USHORT; 1249 1250 PROCEDURE DOSBUFRESET ( 1251 hf: HFILE): USHORT; 1252 1253 PROCEDURE DOSCHGFILEPTR ( 1254 hf: HFILE; 1255 lOffset: LONGINT; 1256 fsMethod: USHORT; 1257 pulNewOffset: PULONG): USHORT; 1258 1259 PROCEDURE DOSFILELOCKS ( 1260 hf: HFILE; 1261 pUnlock: PLONG; 1262 pLock: PLONG): USHORT; 1263 1264 PROCEDURE DOSMOVE ( 1265 pszOld: PSZ; 1266 pszNew: PSZ; 1267 ulReserved: ULONG): USHORT; 1268 1269 PROCEDURE DOSMKDIR ( 1270 pszDirName: PSZ; 1271 usReserved: ULONG): USHORT; 1272 1273 PROCEDURE DOSRMDIR ( 1274 pszDir: PSZ; 1275 ulReserved: ULONG): USHORT; 1276 1277 PROCEDURE DOSSELECTDISK ( 1278 usDrvNum: USHORT): USHORT; 1279 1280 PROCEDURE DOSQCURDISK ( 1281 pusDrvNum: PUSHORT; 1282 pulLogDrvMap: PULONG): USHORT; 1283 1284 PROCEDURE DOSCHDIR ( 1285 pszDir: PSZ; 1286 ulReserved: ULONG): USHORT; 1287 1288 PROCEDURE DOSQCURDIR ( 1289 usDrvNum: USHORT; 1290 pszPathBuf: PBYTE; 1291 pcbPathBuf: PUSHORT): USHORT; 1292 1293 PROCEDURE DOSQFSINFO ( 1294 usDrvNum: USHORT; 1295 usInfoLevel: USHORT; 1296 pbInfo: PBYTE; 1297 cbInfo: USHORT): USHORT; 1298 1299 PROCEDURE DOSSETFSINFO ( 1300 usDrvNum: USHORT; 1301 usInfoLevel: USHORT; 1302 pBuf: PBYTE; 1303 cbBuf: USHORT): USHORT; 1304 1305 PROCEDURE DOSQVERIFY ( 1306 pfVerifyOn: PBOOL): USHORT; 1307 1308 PROCEDURE DOSSETVERIFY ( 1309 fVerify: USHORT): USHORT; 1310 1311 PROCEDURE DOSQFILEINFO ( 1312 hf: HFILE; 1313 usInfoLevel: USHORT; 1314 pInfoBuf: PVOID; 1315 cbInfoBuf: USHORT): USHORT; 1316 1317 PROCEDURE DOSSETFILEINFO ( 1318 hf: HFILE; 1319 usInfoLevel: USHORT; 1320 pInfoBuf: PBYTE; 1321 cbInfoBuf: USHORT): USHORT; 1322 1323 1324 PROCEDURE DOSQFILEMODE ( 1325 pszFName: PSZ; 1326 pusAttr: PUSHORT; 1327 ulReserved: ULONG): USHORT; 1328 1329 PROCEDURE DOSSETFILEMODE ( 1330 pszFName: PSZ; 1331 usAttr: USHORT; 1332 ulReserved: ULONG): USHORT; 1333 1334 1335 (*constants for DosEnumAttribute() *) 1336 CONST ENUMEA_REFTYPE_FHANDLE = 0; 1337 1338 CONST ENUMEA_REFTYPE_PATH = 1; 1339 1340 CONST ENUMEA_LEVEL_NO_VALUE = VAL(LONGINT, 1); ***** ^ undeclared identifier ***** ^ not supported yet 1341 1342 PROCEDURE DOSENUMATTRIBUTE (): USHORT; 1343 1344 1345 (*ENUMEA_LEVEL_NO_VALUE info returned from DosEnumAttribute *) 1346 TYPE _DENA1 = RECORD(*dena *) 1347 reserved: UCHAR;(*0 *) 1348 cbName: UCHAR;(*length of name exculding NULL *) 1349 cbValue: USHORT;(*length of value *) 1350 szName: ARRAY [0 .. ((1) - 1)] OF UCHAR;(*variable length asciiz name *) ***** ^ not supported yet ***** ^ not supported yet 1351 END; ***** ^ not supported yet 1352 TYPE DENA1 = _DENA1; 1353 1354 TYPE 1355 PDENA1 = POINTER TO DENA1; ***** ^ not supported yet 1356 1357 1358 (** Memory management *) 1359 PROCEDURE DOSALLOCSEG ( 1360 cbSize: USHORT; 1361 pSel: PSEL; 1362 fsAlloc: USHORT): USHORT; 1363 1364 PROCEDURE DOSREALLOCSEG ( 1365 cbNewSize: USHORT; 1366 sel: SEL): USHORT; 1367 1368 PROCEDURE DOSFREESEG ( 1369 sel: SEL): USHORT; 1370 1371 PROCEDURE DOSSIZESEG ( 1372 sel: SEL; 1373 pcbSize: PULONG): USHORT; 1374 1375 1376 (*Segment attribute flags (used with DosAllocSeg) *) 1377 CONST SEG_NONSHARED = 0000H; 1378 1379 CONST SEG_GIVEABLE = 0001H; 1380 1381 CONST SEG_GETTABLE = 0002H; 1382 1383 CONST SEG_DISCARDABLE = 0004H; 1384 1385 CONST SEG_SIZEABLE = 0008H; 1386 1387 PROCEDURE DOSALLOCHUGE ( 1388 cSegs: USHORT; 1389 cbPartialSeg: USHORT; 1390 psel: PSEL; 1391 cMaxSegs: USHORT; 1392 fsAlloc: USHORT): USHORT; 1393 1394 PROCEDURE DOSREALLOCHUGE ( 1395 cSegs: USHORT; 1396 cbPartialSeg: USHORT; 1397 sel: SEL): USHORT; 1398 1399 PROCEDURE DOSGETHUGESHIFT ( 1400 pusShiftCount: PUSHORT): USHORT; 1401 1402 PROCEDURE DOSCREATECSALIAS ( 1403 selDS: SEL; 1404 pselCS: PSEL): USHORT; 1405 1406 PROCEDURE DOSSUBALLOC ( 1407 sel: SEL; 1408 pusOffset: PUSHORT; 1409 cb: USHORT): USHORT; 1410 1411 PROCEDURE DOSSUBFREE ( 1412 sel: SEL; 1413 offBlock: USHORT; 1414 cb: USHORT): USHORT; 1415 1416 PROCEDURE DOSSUBSET ( 1417 sel: SEL; 1418 fFlags: USHORT; 1419 cbNew: USHORT): USHORT; 1420 1421 1422 (** Time support *) 1423 TYPE _DATETIME = RECORD(*date *) 1424 hours: UCHAR; 1425 minutes: UCHAR; 1426 seconds: UCHAR; 1427 hundredths: UCHAR; 1428 day: UCHAR; 1429 month: UCHAR; 1430 year: USHORT; 1431 timezone: INTEGER; 1432 weekday: UCHAR; 1433 END; ***** ^ not supported yet 1434 TYPE DATETIME = _DATETIME; 1435 1436 TYPE 1437 PDATETIME = POINTER TO DATETIME; ***** ^ not supported yet 1438 1439 PROCEDURE DOSGETDATETIME ( 1440 pdatetime: PDATETIME): USHORT; 1441 1442 PROCEDURE DOSSETDATETIME ( 1443 pdatetime: PDATETIME): USHORT; 1444 1445 1446 (** Resource support *) 1447 1448 (*Predefined resource types *) 1449 CONST RT_POINTER = 1; 1450 (*mouse pointer shape *) 1451 CONST RT_BITMAP = 2; 1452 (*bitmap *) 1453 CONST RT_MENU = 3; 1454 (*menu template *) 1455 CONST RT_DIALOG = 4; 1456 (*dialog template *) 1457 CONST RT_STRING = 5; 1458 (*string tables *) 1459 CONST RT_FONTDIR = 6; 1460 (*font directory *) 1461 CONST RT_FONT = 7; 1462 (*font *) 1463 CONST RT_ACCELTABLE = 8; 1464 (*accelerator tables *) 1465 CONST RT_RCDATA = 9; 1466 (*binary data *) 1467 CONST RT_MESSAGE = 10; 1468 (*error mesage tables *) 1469 CONST RT_DLGINCLUDE = 11; 1470 (*dialog include file name *) 1471 CONST RT_VKEYTBL = 12; 1472 (*key to vkey tables *) 1473 CONST RT_KEYTBL = 13; 1474 (*key to UGL tables *) 1475 CONST RT_CHARTBL = 14; 1476 1477 CONST RT_DISPLAYINFO = 15; 1478 (*screen display information *) 1479 CONST RT_FKASHORT = 16; 1480 (*function key area short form *) 1481 CONST RT_FKALONG = 17; 1482 (*function key area long form *) 1483 CONST RT_HELPTABLE = 18; 1484 1485 CONST RT_HELPSUBTABLE = 19; 1486 1487 CONST RT_FDDIR = 20; 1488 1489 CONST RT_FD = 21; 1490 1491 CONST RT_MAX = 22; 1492 (*1st unused Resource Type *) 1493 1494 (** NLS Support *) 1495 TYPE _COUNTRYCODE = RECORD(*ctryc *) 1496 country: USHORT; 1497 codepage: USHORT; 1498 END; ***** ^ not supported yet 1499 TYPE COUNTRYCODE = _COUNTRYCODE; 1500 1501 TYPE 1502 PCOUNTRYCODE = POINTER TO COUNTRYCODE; ***** ^ not supported yet 1503 1504 1505 (*fsDateFmt *) 1506 CONST DATEFMT_MM_DD_YY = 0000H; 1507 1508 CONST DATEFMT_DD_MM_YY = 0001H; 1509 1510 CONST DATEFMT_YY_MM_DD = 0002H; 1511 1512 1513 (*fsCurrencyFmt *) 1514 CONST CURRENCY_FOLLOW = 0001H; 1515 1516 CONST CURRENCY_SPACE = 0002H; 1517 1518 CONST CURRENCY_DECIMAL = 0004H; 1519 1520 TYPE _COUNTRYINFO = RECORD(*ctryi *) 1521 country: USHORT; 1522 codepage: USHORT; 1523 fsDateFmt: USHORT; 1524 szCurrency: ARRAY [0 .. ((5) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1525 szThousandsSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1526 szDecimal: ARRAY [0 .. ((2) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1527 szDateSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1528 szTimeSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1529 fsCurrencyFmt: UCHAR; 1530 cDecimalPlace: UCHAR; 1531 fsTimeFmt: UCHAR; 1532 abReserved1: ARRAY [0 .. ((2) - 1)] OF USHORT; ***** ^ not supported yet ***** ^ not supported yet 1533 szDataSeparator: ARRAY [0 .. ((2) - 1)] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 1534 abReserved2: ARRAY [0 .. ((5) - 1)] OF USHORT; ***** ^ not supported yet ***** ^ not supported yet 1535 END; ***** ^ not supported yet 1536 TYPE COUNTRYINFO = _COUNTRYINFO; 1537 1538 TYPE 1539 PCOUNTRYINFO = POINTER TO COUNTRYINFO; ***** ^ not supported yet 1540 1541 PROCEDURE DOSGETCTRYINFO ( 1542 cbBuf: USHORT; 1543 pctryc: PCOUNTRYCODE; 1544 pctryi: PCOUNTRYINFO; 1545 pcbCtryInfo: PUSHORT): USHORT; 1546 1547 PROCEDURE DOSGETDBCSEV ( 1548 cbBuf: USHORT; 1549 pctryc: PCOUNTRYCODE; 1550 pchBuf: PCHAR): USHORT; 1551 1552 PROCEDURE DOSCASEMAP ( 1553 usLen: USHORT; 1554 pctryc: PCOUNTRYCODE; 1555 pchStr: PCHAR): USHORT; 1556 1557 PROCEDURE DOSGETCOLLATE ( 1558 cbBuf: USHORT; 1559 pctryc: PCOUNTRYCODE; 1560 pchBuf: PCHAR; 1561 pcbTable: PUSHORT): USHORT; 1562 1563 PROCEDURE DOSGETCP ( 1564 cbBuf: USHORT; 1565 pBuf: PUSHORT; 1566 pcbCodePgLst: PUSHORT): USHORT; 1567 1568 PROCEDURE DOSSETCP ( 1569 usCodePage: USHORT; 1570 usReserved: USHORT): USHORT; 1571 1572 1573 (** Signal support *) 1574 1575 (*Signal Numbers for DosSetSigHandler *) 1576 CONST SIG_CTRLC = 1; 1577 (*Control C *) 1578 1579 (* (UNDEFINED) 2 reserved for future use *) 1580 CONST SIG_KILLPROCESS = 3; 1581 (*Program Termination *) 1582 CONST SIG_CTRLBREAK = 4; 1583 (*Control Break *) 1584 CONST SIG_PFLG_A = 5; 1585 (*Process Flag A *) 1586 CONST SIG_PFLG_B = 6; 1587 (*Process Flag B *) 1588 CONST SIG_PFLG_C = 7; 1589 (*Process Flag C *) 1590 CONST SIG_CSIGNALS = 8; 1591 (*number of signals plus one *) 1592 1593 (*Signal actions *) 1594 CONST SIGA_KILL = 0; 1595 1596 CONST SIGA_IGNORE = 1; 1597 1598 CONST SIGA_ACCEPT = 2; 1599 1600 CONST SIGA_ERROR = 3; 1601 1602 CONST SIGA_ACKNOWLEDGE = 4; 1603 1604 1605 (*DosHoldSignal constants *) 1606 CONST HLDSIG_ENABLE = 0; 1607 1608 CONST HLDSIG_DISABLE = 1; 1609 1610 1611 TYPE 1612 PFNSIGHANDLER = PROCEDURE(); ***** ^ not supported yet 1613 PPFNSIGHANDLER = POINTER TO PFNSIGHANDLER; ***** ^ not supported yet 1614 1615 PROCEDURE DOSSETSIGHANDLER ( 1616 pfnSigHandler: PFNSIGHANDLER; 1617 ppfnPrev: PPFNSIGHANDLER; 1618 pfAction: PUSHORT; 1619 fAction: USHORT; 1620 usSigNum: USHORT): USHORT; 1621 1622 PROCEDURE DOSHOLDSIGNAL ( 1623 fDisable: USHORT): USHORT; 1624 1625 (*DosQSysInfo index *) 1626 CONST Q_MAX_PATH_LENGTH = 0; 1627 (*index for query max path length *) 1628 1629 (*DosError() error-handling types *) 1630 CONST HARDERROR_ENABLE = 0001H; 1631 1632 CONST HARDERROR_DISABLE = 0000H; 1633 1634 CONST EXCEPTION_ENABLE = 0000H; 1635 1636 CONST EXCEPTION_DISABLE = 0002H; 1637 1638 1639 (*DosSetVec vectors *) 1640 CONST VECTOR_DIVIDE_BY_ZERO = 0000H; 1641 1642 CONST VECTOR_OVERFLOW = 0004H; 1643 1644 CONST VECTOR_OUTOFBOUNDS = 0005H; 1645 1646 CONST VECTOR_INVALIDOPCODE = 0006H; 1647 1648 CONST VECTOR_NO_EXTENSION = 0007H; 1649 1650 CONST VECTOR_EXTENSION_ERROR = 0010H; 1651 1652 1653 (*DosGetMachineMode() machine modes *) 1654 CONST MODE_REAL = 0000H; 1655 1656 CONST MODE_PROTECTED = 0001H; 1657 1658 PROCEDURE DOSERROR ( 1659 fEnable: USHORT): USHORT; 1660 1661 PROCEDURE DOSSETVEC ( 1662 usVecNum: USHORT; 1663 pfnFun: PFN; 1664 ppfnPrev: PPFN): USHORT; 1665 1666 PROCEDURE DOSERRCLASS ( 1667 usErrCode: USHORT; 1668 pusClass: PUSHORT; 1669 pfsAction: PUSHORT; 1670 pusLocus: PUSHORT): USHORT; 1671 1672 PROCEDURE DOSINSMESSAGE ( 1673 ppchVTable: PPCHAR; 1674 usVCount: USHORT; 1675 pszMsg: PSZ; 1676 cbMsg: USHORT; 1677 pchBuf: PCHAR; 1678 cbBuf: USHORT; 1679 pcbMsg: PUSHORT): USHORT; 1680 1681 PROCEDURE DOSPUTMESSAGE ( 1682 hf: HFILE; 1683 cbMsg: USHORT; 1684 pchMsg: PCHAR): USHORT; 1685 1686 PROCEDURE DOSGETENV ( 1687 pselEnv: PUSHORT; 1688 pOffsetCmd: PUSHORT): USHORT; 1689 1690 PROCEDURE DOSGETVERSION ( 1691 pVer: PUSHORT); 1692 1693 PROCEDURE DOSGETMACHINEMODE ( 1694 pMachMode: PBYTE): USHORT; 1695 1696 1697 (** Session manager support *) 1698 1699 1700 TYPE 1701 HKBD = SHANDLE; 1702 1703 TYPE 1704 PHKBD = POINTER TO HKBD; ***** ^ not supported yet 1705 1706 CONST KR_KBDCHARIN = 00000001H; 1707 1708 CONST KR_KBDPEEK = 00000002H; 1709 1710 CONST KR_KBDFLUSHBUFFER = 00000004H; 1711 1712 CONST KR_KBDGETSTATUS = 00000008H; 1713 1714 CONST KR_KBDSETSTATUS = 00000010H; 1715 1716 CONST KR_KBDSTRINGIN = 00000020H; 1717 1718 CONST KR_KBDOPEN = 00000040H; 1719 1720 CONST KR_KBDCLOSE = 00000080H; 1721 1722 CONST KR_KBDGETFOCUS = 00000100H; 1723 1724 CONST KR_KBDFREEFOCUS = 00000200H; 1725 1726 CONST KR_KBDGETCP = 00000400H; 1727 1728 CONST KR_KBDSETCP = 00000800H; 1729 1730 CONST KR_KBDXLATE = 00001000H; 1731 1732 CONST KR_KBDSETCUSTXT = 00002000H; 1733 1734 CONST IO_WAIT = 0; 1735 1736 CONST IO_NOWAIT = 1; 1737 1738 1739 (*KBDKEYINFO structure, for KbdCharIn and KbdPeek *) 1740 TYPE _KBDKEYINFO = RECORD(*kbci *) 1741 chChar: UCHAR; 1742 chScan: UCHAR; 1743 fbStatus: UCHAR; 1744 bNlsShift: UCHAR; 1745 fsState: USHORT; 1746 time: ULONG; 1747 END; ***** ^ not supported yet 1748 TYPE KBDKEYINFO = _KBDKEYINFO; 1749 1750 TYPE 1751 PKBDKEYINFO = POINTER TO KBDKEYINFO; ***** ^ not supported yet 1752 1753 PROCEDURE KBDCHARIN ( 1754 pkbci: PKBDKEYINFO; 1755 fWait: USHORT; 1756 hkbd: HKBD): USHORT; 1757 1758 PROCEDURE KBDPEEK ( 1759 pkbci: PKBDKEYINFO; 1760 hkbd: HKBD): USHORT; 1761 1762 1763 (*structure for KbdStringIn() *) 1764 TYPE _STRINGINBUF = RECORD(*kbsi *) 1765 cb: USHORT; 1766 cchIn: USHORT; 1767 END; ***** ^ not supported yet 1768 TYPE STRINGINBUF = _STRINGINBUF; 1769 1770 TYPE 1771 PSTRINGINBUF = POINTER TO STRINGINBUF; ***** ^ not supported yet 1772 1773 PROCEDURE KBDSTRINGIN ( 1774 pch: PCH; 1775 pchIn: PSTRINGINBUF; 1776 fsWait: USHORT; 1777 hkbd: HKBD): USHORT; 1778 1779 PROCEDURE KBDFLUSHBUFFER ( 1780 hkbd: HKBD): USHORT; 1781 1782 1783 (*KBDINFO.fsMask *) 1784 CONST KEYBOARD_ECHO_ON = 0001H; 1785 1786 CONST KEYBOARD_ECHO_OFF = 0002H; 1787 1788 CONST KEYBOARD_BINARY_MODE = 0004H; 1789 1790 CONST KEYBOARD_ASCII_MODE = 0008H; 1791 1792 CONST KEYBOARD_MODIFY_STATE = 0010H; 1793 1794 CONST KEYBOARD_MODIFY_INTERIM = 0020H; 1795 1796 CONST KEYBOARD_MODIFY_TURNAROUND = 0040H; 1797 1798 CONST KEYBOARD_2B_TURNAROUND = 0080H; 1799 1800 CONST KEYBOARD_SHIFT_REPORT = 0100H; 1801 1802 1803 (*KBDINFO.fsState/KBDKEYINFO.fsState/KBDTRANS.fsState *) 1804 CONST RIGHTSHIFT = 0001H; 1805 1806 CONST LEFTSHIFT = 0002H; 1807 1808 CONST CONTROL = 0004H; 1809 1810 CONST ALT = 0008H; 1811 1812 CONST SCROLLLOCK_ON = 0010H; 1813 1814 CONST NUMLOCK_ON = 0020H; 1815 1816 CONST CAPSLOCK_ON = 0040H; 1817 1818 CONST INSERT_ON = 0080H; 1819 1820 CONST LEFTCONTROL = 0100H; 1821 1822 CONST LEFTALT = 0200H; 1823 1824 CONST RIGHTCONTROL = 0400H; 1825 1826 CONST RIGHTALT = 0800H; 1827 1828 CONST SCROLLLOCK = 1000H; 1829 1830 CONST NUMLOCK = 2000H; 1831 1832 CONST CAPSLOCK = 4000H; 1833 1834 CONST SYSREQ = 8000H; 1835 1836 1837 (*KBDINFO structure, for KbdSet/GetStatus *) 1838 TYPE _KBDINFO = RECORD(*kbst *) 1839 cb: USHORT; 1840 fsMask: USHORT; 1841 chTurnAround: USHORT; 1842 fsInterim: USHORT; 1843 fsState: USHORT; 1844 END; ***** ^ not supported yet 1845 TYPE KBDINFO = _KBDINFO; 1846 1847 TYPE 1848 PKBDINFO = POINTER TO KBDINFO; ***** ^ not supported yet 1849 1850 PROCEDURE KBDSETSTATUS ( 1851 pkbdinfo: PKBDINFO; 1852 hkbd: HKBD): USHORT; 1853 1854 PROCEDURE KBDGETSTATUS ( 1855 pkbdinfo: PKBDINFO; 1856 hdbd: HKBD): USHORT; 1857 1858 1859 (*KBDTRANS.fbStatus *) 1860 CONST SHIFT_KEY_IN = 01H; 1861 1862 CONST CONVERSION_REQUEST = 20H; 1863 1864 CONST FINAL_CHAR_IN = 40H; 1865 1866 CONST INTERIM_CHAR_IN = 80H; 1867 1868 CONST KEYBOARD_AT_COMPATABLE = 0001H; 1869 1870 CONST KEYBOARD_ENHANCED_101 = 0AB41H; 1871 1872 CONST KEYBOARD_ENHANCED_102 = 0AB41H; 1873 1874 CONST KEYBOARD_ENHANCED_122 = 0AB85H; 1875 1876 CONST KEYBOARD_SPACESAVER = 0AB54H; 1877 1878 1879 TYPE 1880 HVIO = SHANDLE; 1881 1882 TYPE 1883 PHVIO = POINTER TO HVIO; ***** ^ not supported yet 1884 1885 1886 (*first parameter registration constants *) 1887 CONST VR_VIOGETCURPOS = 00000001H; 1888 1889 CONST VR_VIOGETCURTYPE = 00000002H; 1890 1891 CONST VR_VIOGETMODE = 00000004H; 1892 1893 CONST VR_VIOGETBUF = 00000008H; 1894 1895 CONST VR_VIOGETPHYSBUF = 00000010H; 1896 1897 CONST VR_VIOSETCURPOS = 00000020H; 1898 1899 CONST VR_VIOSETCURTYPE = 00000040H; 1900 1901 CONST VR_VIOSETMODE = 00000080H; 1902 1903 CONST VR_VIOSHOWBUF = 00000100H; 1904 1905 CONST VR_VIOREADCHARSTR = 00000200H; 1906 1907 CONST VR_VIOREADCELLSTR = 00000400H; 1908 1909 CONST VR_VIOWRTNCHAR = 00000800H; 1910 1911 CONST VR_VIOWRTNATTR = 00001000H; 1912 1913 CONST VR_VIOWRTNCELL = 00002000H; 1914 1915 CONST VR_VIOWRTTTY = 00004000H; 1916 1917 CONST VR_VIOWRTCHARSTR = 00008000H; 1918 1919 CONST VR_VIOWRTCHARSTRATT = 00010000H; 1920 1921 CONST VR_VIOWRTCELLSTR = 00020000H; 1922 1923 CONST VR_VIOSCROLLUP = 00040000H; 1924 1925 CONST VR_VIOSCROLLDN = 00080000H; 1926 1927 CONST VR_VIOSCROLLLF = 00100000H; 1928 1929 CONST VR_VIOSCROLLRT = 00200000H; 1930 1931 CONST VR_VIOSETANSI = 00400000H; 1932 1933 CONST VR_VIOGETANSI = 00800000H; 1934 1935 CONST VR_VIOPRTSC = 01000000H; 1936 1937 CONST VR_VIOSCRLOCK = 02000000H; 1938 1939 CONST VR_VIOSCRUNLOCK = 04000000H; 1940 1941 CONST VR_VIOSAVREDRAWWAIT = 08000000H; 1942 1943 CONST VR_VIOSAVREDRAWUNDO = 10000000H; 1944 1945 CONST VR_VIOPOPUP = 20000000H; 1946 1947 CONST VR_VIOENDPOPUP = 40000000H; 1948 1949 CONST VR_VIOPRTSCTOGGLE = 80000000H; 1950 1951 1952 (*second parameter registration constants *) 1953 CONST VR_VIOMODEWAIT = 00000001H; 1954 1955 CONST VR_VIOMODEUNDO = 00000002H; 1956 1957 CONST VR_VIOGETFONT = 00000004H; 1958 1959 CONST VR_VIOGETCONFIG = 00000008H; 1960 1961 CONST VR_VIOSETCP = 00000010H; 1962 1963 CONST VR_VIOGETCP = 00000020H; 1964 1965 CONST VR_VIOSETFONT = 00000040H; 1966 1967 CONST VR_VIOGETSTATE = 00000080H; 1968 1969 CONST VR_VIOSETSTATE = 00000100H; 1970 1971 PROCEDURE VIOGETCURPOS ( 1972 pusRow: PUSHORT; 1973 pusColumn: PUSHORT; 1974 hvio: HVIO): USHORT; 1975 1976 PROCEDURE VIOSETCURPOS ( 1977 usRow: USHORT; 1978 usColumn: USHORT; 1979 hvio: HVIO): USHORT; 1980 1981 1982 (*structure for VioSet/GetCurType() *) 1983 TYPE _VIOCURSORINFO = RECORD(*vioci *) 1984 yStart: USHORT; 1985 cEnd: USHORT; 1986 cx: USHORT; 1987 attr: USHORT; 1988 END; ***** ^ not supported yet 1989 TYPE VIOCURSORINFO = _VIOCURSORINFO; 1990 1991 TYPE 1992 PVIOCURSORINFO = POINTER TO VIOCURSORINFO; ***** ^ not supported yet 1993 1994 PROCEDURE VIOGETCURTYPE ( 1995 pvioCursorInfo: PVIOCURSORINFO; 1996 hvio: HVIO): USHORT; 1997 1998 PROCEDURE VIOSETCURTYPE ( 1999 pvioCursorInfo: PVIOCURSORINFO; 2000 hvio: HVIO): USHORT; 2001 2002 2003 (*VIOMODEINFO.color constants *) 2004 CONST COLORS_2 = 0001H; 2005 2006 CONST COLORS_4 = 0002H; 2007 2008 CONST COLORS_16 = 0004H; 2009 2010 2011 (*structure for VioSet/GetMode() *) 2012 TYPE _VIOMODEINFO = RECORD(*viomi *) 2013 cb: USHORT; 2014 fbType: UCHAR; 2015 color: UCHAR; 2016 col: USHORT; 2017 row: USHORT; 2018 hres: USHORT; 2019 vres: USHORT; 2020 fmt_ID: UCHAR; 2021 attrib: UCHAR; 2022 buf_addr: ULONG; 2023 buf_length: ULONG; 2024 full_length: ULONG; 2025 partial_length: ULONG; 2026 ext_data_addr: PCH; 2027 END; ***** ^ not supported yet 2028 TYPE VIOMODEINFO = _VIOMODEINFO; 2029 2030 TYPE 2031 PVIOMODEINFO = POINTER TO VIOMODEINFO; ***** ^ not supported yet 2032 2033 CONST VGMT_OTHER = 01H; 2034 2035 CONST VGMT_GRAPHICS = 02H; 2036 2037 CONST VGMT_DISABLEBURST = 04H; 2038 2039 PROCEDURE VIOGETMODE ( 2040 pvioModeInfo: PVIOMODEINFO; 2041 hvio: HVIO): USHORT; 2042 2043 PROCEDURE VIOSETMODE ( 2044 pvioModeInfo: PVIOMODEINFO; 2045 hvio: HVIO): USHORT; 2046 2047 2048 (*structure for VioGetPhysBuf() *) 2049 TYPE _VIOPHYSBUF = RECORD(*viopb *) 2050 pBuf: PBYTE; 2051 cb: ULONG; 2052 asel: ARRAY [0 .. ((1) - 1)] OF SEL; ***** ^ not supported yet ***** ^ not supported yet 2053 END; ***** ^ not supported yet 2054 TYPE VIOPHYSBUF = _VIOPHYSBUF; 2055 2056 TYPE 2057 PVIOPHYSBUF = POINTER TO VIOPHYSBUF; ***** ^ not supported yet 2058 2059 PROCEDURE VIOGETPHYSBUF ( 2060 pvioPhysBuf: PVIOPHYSBUF; 2061 usReserved: USHORT): USHORT; 2062 2063 PROCEDURE VIOREADCELLSTR ( 2064 pchCellStr: PCH; 2065 pcb: PUSHORT; 2066 usRow: USHORT; 2067 usColumn: USHORT; 2068 hvio: HVIO): USHORT; 2069 2070 PROCEDURE VIOREADCHARSTR ( 2071 pchCellStr: PCH; 2072 pcb: PUSHORT; 2073 usRow: USHORT; 2074 usColumn: USHORT; 2075 hvio: HVIO): USHORT; 2076 2077 PROCEDURE VIOWRTCELLSTR ( 2078 pchCellStr: PCH; 2079 cb: USHORT; 2080 usRow: USHORT; 2081 usColumn: USHORT; 2082 hvio: HVIO): USHORT; 2083 2084 PROCEDURE VIOWRTCHARSTR ( 2085 pchStr: PCH; 2086 cb: USHORT; 2087 usRow: USHORT; 2088 usColumn: USHORT; 2089 hvio: HVIO): USHORT; 2090 2091 PROCEDURE VIOSCROLLDN ( 2092 usTopRow: USHORT; 2093 usLeftCol: USHORT; 2094 usBotRow: USHORT; 2095 usRightCol: USHORT; 2096 cbLines: USHORT; 2097 pCell: PBYTE; 2098 hvio: HVIO): USHORT; 2099 2100 PROCEDURE VIOSCROLLUP ( 2101 usTopRow: USHORT; 2102 usLeftCol: USHORT; 2103 usBotRow: USHORT; 2104 usRightCol: USHORT; 2105 cbLines: USHORT; 2106 pCell: PBYTE; 2107 hvio: HVIO): USHORT; 2108 2109 PROCEDURE VIOSCROLLLF ( 2110 usTopRow: USHORT; 2111 usLeftCol: USHORT; 2112 usBotRow: USHORT; 2113 usRightCol: USHORT; 2114 cbCol: USHORT; 2115 pCell: PBYTE; 2116 hvio: HVIO): USHORT; 2117 2118 PROCEDURE VIOSCROLLRT ( 2119 usTopRow: USHORT; 2120 usLeftCol: USHORT; 2121 usBotRow: USHORT; 2122 usRightCol: USHORT; 2123 cbCol: USHORT; 2124 pCell: PBYTE; 2125 hvio: HVIO): USHORT; 2126 2127 PROCEDURE VIOWRTNATTR ( 2128 pAttr: PBYTE; 2129 cb: USHORT; 2130 usRow: USHORT; 2131 usColumn: USHORT; 2132 hvio: HVIO): USHORT; 2133 2134 PROCEDURE VIOWRTNCELL ( 2135 pCell: PBYTE; 2136 cb: USHORT; 2137 usRow: USHORT; 2138 usColumn: USHORT; 2139 hvio: HVIO): USHORT; 2140 2141 PROCEDURE VIOWRTNCHAR ( 2142 pchChar: PCH; 2143 cb: USHORT; 2144 usRow: USHORT; 2145 usColumn: USHORT; 2146 hvio: HVIO): USHORT; 2147 2148 PROCEDURE VIOWRTTTY ( 2149 pch: PCH; 2150 cb: USHORT; 2151 hvio: HVIO): USHORT; 2152 2153 PROCEDURE VIOWRTCHARSTRATT ( 2154 pch: PCH; 2155 cb: USHORT; 2156 usRow: USHORT; 2157 usColumn: USHORT; 2158 pAttr: PBYTE; 2159 hvio: HVIO): USHORT; 2160 2161 CONST ANSI_ON = 1; 2162 2163 CONST ANSI_OFF = 0; 2164 2165 CONST VSRWI_SAVEANDREDRAW = 0; 2166 2167 CONST VSRWI_REDRAW = 1; 2168 2169 CONST VSRWN_SAVE = 0; 2170 2171 CONST VSRWN_REDRAW = 1; 2172 2173 CONST UNDOI_GETOWNER = 0; 2174 2175 CONST UNDOI_RELEASEOWNER = 1; 2176 2177 CONST UNDOK_ERRORCODE = 0; 2178 2179 CONST UNDOK_TERMINATE = 1; 2180 2181 CONST VMWR_POPUP = 0; 2182 2183 CONST VMWN_POPUP = 0; 2184 2185 CONST LOCKIO_NOWAIT = 0; 2186 2187 CONST LOCKIO_WAIT = 1; 2188 2189 CONST LOCK_SUCCESS = 0; 2190 2191 CONST LOCK_FAIL = 1; 2192 2193 PROCEDURE VIOSCRLOCK ( 2194 fWait: USHORT; 2195 pfNotLocked: PUCHAR; 2196 hvio: HVIO): USHORT; 2197 2198 PROCEDURE VIOSCRUNLOCK ( 2199 hvio: HVIO): USHORT; 2200 2201 CONST VP_NOWAIT = 0000H; 2202 2203 CONST VP_WAIT = 0001H; 2204 2205 CONST VP_OPAQUE = 0000H; 2206 2207 CONST VP_TRANSPARENT = 0002H; 2208 2209 2210 (*structure for VioGetConfig() *) 2211 2212 (*VIOCONFIGINFO.adapter constants *) 2213 CONST DISPLAY_MONOCHROME = 0000H; 2214 2215 CONST DISPLAY_CGA = 0001H; 2216 2217 CONST DISPLAY_EGA = 0002H; 2218 2219 CONST DISPLAY_VGA = 0003H; 2220 2221 CONST DISPLAY_8514A = 0007H; 2222 2223 2224 (*VIOCONFIGINFO.display constants *) 2225 CONST MONITOR_MONOCHROME = 0000H; 2226 2227 CONST MONITOR_COLOR = 0001H; 2228 2229 CONST MONITOR_ENHANCED = 0002H; 2230 2231 CONST MONITOR_8503 = 0003H; 2232 2233 CONST MONITOR_851X_COLOR = 0004H; 2234 2235 CONST MONITOR_8514 = 0009H; 2236 2237 TYPE _VIOCONFIGINFO = RECORD(*vioin *) 2238 cb: USHORT; 2239 adapter: USHORT; 2240 display: USHORT; 2241 cbMemory: ULONG; 2242 Configuration: USHORT; 2243 VDHVersion: USHORT; 2244 Flags: USHORT; 2245 HWBufferSize: ULONG; 2246 FullSaveSize: ULONG; 2247 PartSaveSize: ULONG; 2248 EMAdaptersOFF: USHORT; 2249 EMDisplaysOFF: USHORT; 2250 END; ***** ^ not supported yet 2251 TYPE VIOCONFIGINFO = _VIOCONFIGINFO; 2252 2253 TYPE 2254 PVIOCONFIGINFO = POINTER TO VIOCONFIGINFO; ***** ^ not supported yet 2255 2256 PROCEDURE VIOGETCONFIG ( 2257 usConfigId: USHORT; 2258 pvioin: PVIOCONFIGINFO; 2259 hvio: HVIO): USHORT; 2260 2261 2262 (*structure for VioGet/SetFont() *) 2263 TYPE _VIOFONTINFO = RECORD(*viofi *) 2264 cb: USHORT; 2265 type: USHORT; 2266 cxCell: USHORT; 2267 cyCell: USHORT; 2268 pbData: PVOID; 2269 cbData: USHORT; 2270 END; ***** ^ not supported yet 2271 TYPE VIOFONTINFO = _VIOFONTINFO; 2272 2273 TYPE 2274 PVIOFONTINFO = POINTER TO VIOFONTINFO; ***** ^ not supported yet 2275 2276 CONST VGFI_GETCURFONT = 0; 2277 2278 CONST VGFI_GETROMFONT = 1; 2279 2280 PROCEDURE VIOGETFONT ( 2281 pviofi: PVIOFONTINFO; 2282 hvio: HVIO): USHORT; 2283 2284 PROCEDURE VIOSETFONT ( 2285 pviofi: PVIOFONTINFO; 2286 hvio: HVIO): USHORT; 2287 2288 TYPE _VIOPALSTATE = RECORD(*viopal *) 2289 cb: USHORT; 2290 type: USHORT; 2291 iFirst: USHORT; 2292 acolor: ARRAY [0 .. ((1) - 1)] OF USHORT; ***** ^ not supported yet ***** ^ not supported yet 2293 END; ***** ^ not supported yet 2294 TYPE VIOPALSTATE = _VIOPALSTATE; 2295 2296 TYPE 2297 PVIOPALSTATE = POINTER TO VIOPALSTATE; ***** ^ not supported yet 2298 2299 TYPE _VIOOVERSCAN = RECORD(*vioos *) 2300 cb: USHORT; 2301 type: USHORT; 2302 color: USHORT; 2303 END; ***** ^ not supported yet 2304 TYPE VIOOVERSCAN = _VIOOVERSCAN; 2305 2306 TYPE 2307 PVIOOVERSCAN = POINTER TO VIOOVERSCAN; ***** ^ not supported yet 2308 2309 TYPE _VIOINTENSITY = RECORD(*vioint *) 2310 cb: USHORT; 2311 type: USHORT; 2312 fs: USHORT; 2313 END; ***** ^ not supported yet 2314 TYPE VIOINTENSITY = _VIOINTENSITY; 2315 2316 TYPE 2317 PVIOINTENSITY = POINTER TO VIOINTENSITY; ***** ^ not supported yet 2318 2319 TYPE _VIOCOLORREG = RECORD(*viocreg *) 2320 cb: USHORT; 2321 type: USHORT; 2322 firstcolorreg: USHORT; 2323 numcolorregs: USHORT; 2324 colorregaddr: PCH; 2325 END; ***** ^ not supported yet 2326 TYPE VIOCOLORREG = _VIOCOLORREG; 2327 2328 TYPE 2329 PVIOCOLORREG = POINTER TO VIOCOLORREG; ***** ^ not supported yet 2330 2331 TYPE _VIOSETULINELOC = RECORD(*viouline *) 2332 cb: USHORT; 2333 type: USHORT; 2334 scanline: USHORT; 2335 END; ***** ^ not supported yet 2336 TYPE VIOSETULINELOC = _VIOSETULINELOC; 2337 2338 TYPE 2339 PVIOSETULINELOC = POINTER TO VIOSETULINELOC; ***** ^ not supported yet 2340 2341 TYPE _VIOSETTARGET = RECORD(*viosett *) 2342 cb: USHORT; 2343 type: USHORT; 2344 defaultalgorithm: USHORT; 2345 END; ***** ^ not supported yet 2346 TYPE VIOSETTARGET = _VIOSETTARGET; 2347 2348 TYPE 2349 PVIOSETTARGET = POINTER TO VIOSETTARGET; ***** ^ not supported yet 2350 2351 PROCEDURE VIOGETSTATE ( 2352 pState: PVOID; 2353 hvio: HVIO): USHORT; 2354 2355 PROCEDURE VIOSETSTATE ( 2356 pState: PVOID; 2357 hvio: HVIO): USHORT; 2358 2359 2360 (** Device support *) 2361 2362 (*************************************************************************\ 2363 * 2364 * OS/2 Structures and constants for use with DosDevIOCtl 2365 * 2366 \**************************************************************************) 2367 2368 2369 (*Input and Output Control Categories *) 2370 CONST IOCTL_ASYNC = 0001H; 2371 2372 CONST IOCTL_SCR_AND_PTRDRAW = 0003H; 2373 2374 CONST IOCTL_KEYBOARD = 0004H; 2375 2376 CONST IOCTL_PRINTER = 0005H; 2377 2378 CONST IOCTL_LIGHTPEN = 0006H; 2379 2380 CONST IOCTL_POINTINGDEVICE = 0007H; 2381 2382 CONST IOCTL_DISK = 0008H; 2383 2384 CONST IOCTL_PHYSICALDISK = 0009H; 2385 2386 CONST IOCTL_MONITOR = 000AH; 2387 2388 CONST IOCTL_GENERAL = 000BH; 2389 2390 2391 (*Serial-Device Control *) 2392 CONST ASYNC_SETBAUDRATE = 0041H; 2393 2394 CONST ASYNC_SETLINECTRL = 0042H; 2395 2396 CONST ASYNC_TRANSMITIMM = 0044H; 2397 2398 CONST ASYNC_SETBREAKOFF = 0045H; 2399 2400 CONST ASYNC_SETMODEMCTRL = 0046H; 2401 2402 CONST ASYNC_SETBREAKON = 004BH; 2403 2404 CONST ASYNC_STOPTRANSMIT = 0047H; 2405 2406 CONST ASYNC_STARTTRANSMIT = 0048H; 2407 2408 CONST ASYNC_SETDCBINFO = 0053H; 2409 2410 CONST ASYNC_GETBAUDRATE = 0061H; 2411 2412 CONST ASYNC_GETLINECTRL = 0062H; 2413 2414 CONST ASYNC_GETCOMMSTATUS = 0064H; 2415 2416 CONST ASYNC_GETLINESTATUS = 0065H; 2417 2418 CONST ASYNC_GETMODEMOUTPUT = 0066H; 2419 2420 CONST ASYNC_GETMODEMINPUT = 0067H; 2421 2422 CONST ASYNC_GETINQUECOUNT = 0068H; 2423 2424 CONST ASYNC_GETOUTQUECOUNT = 0069H; 2425 2426 CONST ASYNC_GETCOMMERROR = 006DH; 2427 2428 CONST ASYNC_GETCOMMEVENT = 0072H; 2429 2430 CONST ASYNC_GETDCBINFO = 0073H; 2431 2432 2433 (*Screen/Pointer-Draw Control *) 2434 CONST SCR_ALLOCLDT = 0070H; 2435 2436 CONST SCR_DEALLOCLDT = 0071H; 2437 2438 CONST PTR_GETPTRDRAWADDRESS = 0072H; 2439 2440 CONST SCR_ALLOCLDTOFF = 0075H; 2441 2442 2443 (*Keyboard Control *) 2444 CONST KBD_SETTRANSTABLE = 0050H; 2445 2446 CONST KBD_SETINPUTMODE = 0051H; 2447 2448 CONST KBD_SETINTERIMFLAG = 0052H; 2449 2450 CONST KBD_SETSHIFTSTATE = 0053H; 2451 2452 CONST KBD_SETTYPAMATICRATE = 0054H; 2453 2454 CONST KBD_SETFGNDSCREENGRP = 0055H; 2455 2456 CONST KBD_SETSESMGRHOTKEY = 0056H; 2457 2458 CONST KBD_SETFOCUS = 0057H; 2459 2460 CONST KBD_SETKCB = 0058H; 2461 2462 CONST KBD_SETNLS = 005CH; 2463 2464 CONST KBD_CREATE = 005DH; 2465 2466 CONST KBD_DESTROY = 005EH; 2467 2468 CONST KBD_GETINPUTMODE = 0071H; 2469 2470 CONST KBD_GETINTERIMFLAG = 0072H; 2471 2472 CONST KBD_GETSHIFTSTATE = 0073H; 2473 2474 CONST KBD_READCHAR = 0074H; 2475 2476 CONST KBD_PEEKCHAR = 0075H; 2477 2478 CONST KBD_GETSESMGRHOTKEY = 0076H; 2479 2480 CONST KBD_GETKEYBDTYPE = 0077H; 2481 2482 CONST KBD_GETCODEPAGEID = 0078H; 2483 2484 CONST KBD_XLATESCAN = 0079H; 2485 2486 2487 (*Printer Control *) 2488 CONST PRT_SETFRAMECTL = 0042H; 2489 2490 CONST PRT_SETINFINITERETRY = 0044H; 2491 2492 CONST PRT_INITPRINTER = 0046H; 2493 2494 CONST PRT_ACTIVATEFONT = 0048H; 2495 2496 CONST PRT_GETFRAMECTL = 0062H; 2497 2498 CONST PRT_GETINFINITERETRY = 0064H; 2499 2500 CONST PRT_GETPRINTERSTATUS = 0066H; 2501 2502 CONST PRT_QUERYACTIVEFONT = 0069H; 2503 2504 CONST PRT_VERIFYFONT = 006AH; 2505 2506 2507 (*Disk/Diskette Control *) 2508 CONST DSK_LOCKDRIVE = 0000H; 2509 2510 CONST DSK_UNLOCKDRIVE = 0001H; 2511 2512 CONST DSK_REDETERMINEMEDIA = 0002H; 2513 2514 CONST DSK_SETLOGICALMAP = 0003H; 2515 2516 CONST DSK_BLOCKREMOVABLE = 0020H; 2517 2518 CONST DSK_GETLOGICALMAP = 0021H; 2519 2520 CONST DSK_SETDEVICEPARAMS = 0043H; 2521 2522 CONST DSK_WRITETRACK = 0044H; 2523 2524 CONST DSK_FORMATVERIFY = 0045H; 2525 2526 CONST DSK_GETDEVICEPARAMS = 0063H; 2527 2528 CONST DSK_READTRACK = 0064H; 2529 2530 CONST DSK_VERIFYTRACK = 0065H; 2531 2532 2533 (*Physical-Disk Control *) 2534 CONST PDSK_LOCKPHYSDRIVE = 0000H; 2535 2536 CONST PDSK_UNLOCKPHYSDRIVE = 0001H; 2537 2538 CONST PDSK_WRITEPHYSTRACK = 0044H; 2539 2540 CONST PDSK_GETPHYSDEVICEPARAMS = 0063H; 2541 2542 CONST PDSK_READPHYSTRACK = 0064H; 2543 2544 CONST PDSK_VERIFYPHYSTRACK = 0065H; 2545 2546 2547 (*Character-Monitor Control *) 2548 CONST MON_REGISTERMONITOR = 0040H; 2549 2550 2551 (*General Device Control *) 2552 CONST DEV_FLUSHINPUT = 0001H; 2553 2554 CONST DEV_FLUSHOUTPUT = 0002H; 2555 2556 CONST DEV_QUERYMONSUPPORT = 0060H; 2557 2558 2559 (*ASYNC_GETCOMMERROR, ASYNC_SETBREAKOFF, ASYNC_SETBREAKON, 2560 * ASYNC_SETMODEMCTRL 2561 *) 2562 CONST RX_QUE_OVERRUN = 0001H; 2563 2564 CONST RX_HARDWARE_OVERRUN = 0002H; 2565 2566 CONST PARITY_ERROR = 0004H; 2567 2568 CONST FRAMING_ERROR = 0008H; 2569 2570 2571 (*ASYNC_GETCOMMEVENT *) 2572 CONST CHAR_RECEIVED = 0001H; 2573 2574 CONST LAST_CHAR_SENT = 0004H; 2575 2576 CONST CTS_CHANGED = 0008H; 2577 2578 CONST DSR_CHANGED = 0010H; 2579 2580 CONST DCD_CHANGED = 0020H; 2581 2582 CONST BREAK_DETECTED = 0040H; 2583 2584 CONST ERROR_OCCURRED = 0080H; 2585 2586 CONST RI_DETECTED = 0100H; 2587 2588 2589 (*ASYNC_GETCOMMSTATUS *) 2590 CONST TX_WAITING_FOR_CTS = 0001H; 2591 2592 CONST TX_WAITING_FOR_DSR = 0002H; 2593 2594 CONST TX_WAITING_FOR_DCD = 0004H; 2595 2596 CONST TX_WAITING_FOR_XON = 0008H; 2597 2598 CONST TX_WAITING_TO_SEND_XON = 0010H; 2599 2600 CONST TX_WAITING_WHILE_BREAK_ON = 0020H; 2601 2602 CONST TX_WAITING_TO_SEND_IMM = 0040H; 2603 2604 CONST RX_WAITING_FOR_DSR = 0080H; 2605 2606 2607 (*ASYNC_GETLINESTATUS *) 2608 CONST WRITE_REQUEST_QUEUED = 0001H; 2609 2610 CONST DATA_IN_TX_QUE = 0002H; 2611 2612 CONST HARDWARE_TRANSMITTING = 0004H; 2613 2614 CONST CHAR_READY_TO_SEND_IMM = 0008H; 2615 2616 CONST WAITING_TO_SEND_XON = 0010H; 2617 2618 CONST WAITING_TO_SEND_XOFF = 0020H; 2619 2620 2621 (*ASYNC_GETMODEMINPUT *) 2622 CONST CTS_ON = 10H; 2623 2624 CONST DSR_ON = 20H; 2625 2626 CONST RI_ON = 40H; 2627 2628 CONST DCD_ON = 80H; 2629 2630 2631 (*DSK_SETDEVICEPARAMS *) 2632 CONST BUILD_BPB_FROM_MEDIUM = 00H; 2633 2634 CONST REPLACE_BPB_FOR_DEVICE = 01H; 2635 2636 CONST REPLACE_BPB_FOR_MEDIUM = 02H; 2637 2638 2639 (*KBD_GETINPUTMODE, KBD_PEEKCHAR, KBD_SETINPUTMODE*) 2640 CONST ASCII_MODE = 00H; 2641 2642 CONST BINARY_MODE = 80H; 2643 2644 2645 (*KBD_GETINTERIMFLAG *) 2646 2647 CONST INTERIM_CHAR = 80H; 2648 2649 2650 (*KBD_GETSESMGRHOTKEY *) 2651 CONST HOTKEY_MAX_COUNT = 0000H; 2652 2653 CONST HOTKEY_CURRENT_COUNT = 0001H; 2654 2655 2656 (*KBD_PEEKCHAR *) 2657 CONST KBD_DATA_RECEIVED = 0001H; 2658 2659 CONST KBD_DATA_BINARY = 8000H; 2660 2661 2662 (*KBD_READCHAR *) 2663 CONST KBD_READ_WAIT = 0000H; 2664 2665 CONST KBD_READ_NOWAIT = 8000H; 2666 2667 2668 (*KBD_SETINPUTMODE *) 2669 CONST SHIFT_REPORT_MODE = 01H; 2670 2671 2672 2673 (*PRT_GETPRINTERSTATUS *) 2674 CONST PRINTER_TIMEOUT = 0001H; 2675 2676 CONST PRINTER_IO_ERROR = 0008H; 2677 2678 CONST PRINTER_SELECTED = 0010H; 2679 2680 CONST PRINTER_OUT_OF_PAPER = 0020H; 2681 2682 CONST PRINTER_ACKNOWLEDGED = 0040H; 2683 2684 CONST PRINTER_NOT_BUSY = 0080H; 2685 2686 2687 (*fbCtlHndShake *) 2688 CONST MODE_DTR_CONTROL = 01H; 2689 2690 CONST MODE_DTR_HANDSHAKE = 02H; 2691 2692 CONST MODE_CTS_HANDSHAKE = 08H; 2693 2694 CONST MODE_DSR_HANDSHAKE = 10H; 2695 2696 CONST MODE_DCD_HANDSHAKE = 20H; 2697 2698 CONST MODE_DSR_SENSITIVITY = 40H; 2699 2700 2701 (*fbFlowReplace *) 2702 CONST MODE_AUTO_TRANSMIT = 01H; 2703 2704 CONST MODE_AUTO_RECEIVE = 02H; 2705 2706 CONST MODE_ERROR_CHAR = 04H; 2707 2708 CONST MODE_NULL_STRIPPING = 08H; 2709 2710 CONST MODE_BREAK_CHAR = 10H; 2711 2712 CONST MODE_RTS_CONTROL = 40H; 2713 2714 CONST MODE_RTS_HANDSHAKE = 80H; 2715 2716 CONST MODE_TRANSMIT_TOGGLE = 0C0H; 2717 2718 2719 (*fbTimeout *) 2720 CONST MODE_NO_WRITE_TIMEOUT = 01H; 2721 2722 CONST MODE_READ_TIMEOUT = 02H; 2723 2724 CONST MODE_WAIT_READ_TIMEOUT = 04H; 2725 2726 CONST MODE_NOWAIT_READ_TIMEOUT = 06H; 2727 2728 TYPE _DCBINFO = RECORD(*dcbinf *) 2729 usWriteTimeout: USHORT; 2730 usReadTimeout: USHORT; 2731 fbCtlHndShake: BYTE; 2732 fbFlowReplace: BYTE; 2733 fbTimeout: BYTE; 2734 bErrorReplacementChar: BYTE; 2735 bBreakReplacementChar: BYTE; 2736 bXONChar: BYTE; 2737 bXOFFChar: BYTE; 2738 END; ***** ^ not supported yet 2739 TYPE DCBINFO = _DCBINFO; 2740 2741 TYPE 2742 PDCBINFO = POINTER TO DCBINFO; ***** ^ not supported yet 2743 2744 CONST DEVTYPE_48TPI = 0000H; 2745 2746 CONST DEVTYPE_96TPI = 0001H; 2747 2748 CONST DEVTYPE_35 = 0002H; 2749 2750 CONST DEVTYPE_8SD = 0003H; 2751 2752 CONST DEVTYPE_8DD = 0004H; 2753 2754 CONST DEVTYPE_FIXED = 0005H; 2755 2756 CONST DEVTYPE_TAPE = 0006H; 2757 2758 CONST DEVTYPE_UNKNOWN = 0007H; 2759 2760 TYPE _BIOSPARAMETERBLOCK = RECORD(*bspblk *) 2761 usBytesPerSector: USHORT; 2762 bSectorsPerCluster: BYTE; 2763 usReservedSectors: USHORT; 2764 cFATs: BYTE; 2765 cRootEntries: USHORT; 2766 cSectors: USHORT; 2767 bMedia: BYTE; 2768 usSectorsPerFAT: USHORT; 2769 usSectorsPerTrack: USHORT; 2770 cHeads: USHORT; 2771 cHiddenSectors: ULONG; 2772 cLargeSectors: ULONG; 2773 abReserved: ARRAY [0 .. ((6) - 1)] OF BYTE; ***** ^ not supported yet ***** ^ not supported yet 2774 cCylinders: USHORT; 2775 bDeviceType: BYTE; 2776 fsDeviceAttr: USHORT; 2777 END; ***** ^ not supported yet 2778 TYPE BIOSPARAMETERBLOCK = _BIOSPARAMETERBLOCK; 2779 2780 TYPE 2781 PBIOSPARAMETERBLOCK = POINTER TO BIOSPARAMETERBLOCK; ***** ^ not supported yet 2782 2783 TYPE _SCREENGROUP = RECORD(*scrgrp *) 2784 idScreenGrp: USHORT; 2785 fTerminate: USHORT; 2786 END; ***** ^ not supported yet 2787 TYPE SCREENGROUP = _SCREENGROUP; 2788 2789 TYPE 2790 PSCREENGROUP = POINTER TO SCREENGROUP; ***** ^ not supported yet 2791 2792 TYPE _FRAME = RECORD(*frm *) 2793 bCharsPerLine: BYTE; 2794 bLinesPerInch: BYTE; 2795 END; ***** ^ not supported yet 2796 TYPE FRAME = _FRAME; 2797 2798 TYPE 2799 PFRAME = POINTER TO FRAME; ***** ^ not supported yet 2800 2801 TYPE _KBDTYPE = RECORD(*kbdtyp *) 2802 usType: USHORT; 2803 reserved1: USHORT; 2804 reserved2: USHORT; 2805 END; ***** ^ not supported yet 2806 TYPE KBDTYPE = _KBDTYPE; 2807 2808 TYPE 2809 PKBDTYPE = POINTER TO KBDTYPE; ***** ^ not supported yet 2810 2811 TYPE _LINECONTROL = RECORD(*lnctl *) 2812 bDataBits: BYTE; 2813 bParity: BYTE; 2814 bStopBits: BYTE; 2815 fTransBreak: BYTE; 2816 END; ***** ^ not supported yet 2817 TYPE LINECONTROL = _LINECONTROL; 2818 2819 TYPE 2820 PLINECONTROL = POINTER TO LINECONTROL; ***** ^ not supported yet 2821 2822 2823 (*MODEMSTATUS.fbModemOn, ASYNC_GETMODEMOUTPUT *) 2824 CONST DTR_ON = 01H; 2825 2826 CONST RTS_ON = 02H; 2827 2828 2829 (*MODEMSTATUS.fbModemOff *) 2830 CONST DTR_OFF = 0FEH; 2831 2832 CONST RTS_OFF = 0FDH; 2833 2834 TYPE _MODEMSTATUS = RECORD(*mdmst *) 2835 fbModemOn: BYTE; 2836 fbModemOff: BYTE; 2837 END; ***** ^ not supported yet 2838 TYPE MODEMSTATUS = _MODEMSTATUS; 2839 2840 TYPE 2841 PMODEMSTATUS = POINTER TO MODEMSTATUS; ***** ^ not supported yet 2842 2843 TYPE _RXQUEUE = RECORD(*rxq *) 2844 cch: USHORT; 2845 cb: USHORT; 2846 END; ***** ^ not supported yet 2847 TYPE RXQUEUE = _RXQUEUE; 2848 2849 TYPE 2850 PRXQUEUE = POINTER TO RXQUEUE; ***** ^ not supported yet 2851 2852 TYPE _DEVICEPARAMETERBLOCK = RECORD(*dvpblck *) 2853 reserved1: USHORT; 2854 cCylinders: USHORT; 2855 cHeads: USHORT; 2856 cSectorsPerTrack: USHORT; 2857 reserved2: USHORT; 2858 reserved3: USHORT; 2859 reserved4: USHORT; 2860 reserved5: USHORT; 2861 END; ***** ^ not supported yet 2862 TYPE DEVICEPARAMETERBLOCK = _DEVICEPARAMETERBLOCK; 2863 2864 TYPE 2865 PDEVICEPARAMETERBLOCK = POINTER TO DEVICEPARAMETERBLOCK; ***** ^ not supported yet 2866 2867 TYPE _PTRDRAWFUNCTION = RECORD(*ptrdfnc *) 2868 usReturnCode: USHORT; 2869 pfnDraw: PFN; 2870 pchDataSeg: PCH; 2871 END; ***** ^ not supported yet 2872 TYPE PTRDRAWFUNCTION = _PTRDRAWFUNCTION; 2873 2874 TYPE 2875 PPTRDRAWFUNCTION = POINTER TO PTRDRAWFUNCTION; ***** ^ not supported yet 2876 2877 TYPE _PTRDRAWADDRESS = RECORD(*ptrdaddr *) 2878 reserved: USHORT; 2879 ptrdfnc: PTRDRAWFUNCTION; 2880 END; ***** ^ not supported yet 2881 TYPE PTRDRAWADDRESS = _PTRDRAWADDRESS; 2882 2883 TYPE 2884 PPTRDRAWADDRESS = POINTER TO PTRDRAWADDRESS; ***** ^ not supported yet 2885 2886 TYPE _SHIFTSTATE = RECORD(*shftst *) 2887 fsState: USHORT; 2888 fNLS: BYTE; 2889 END; ***** ^ not supported yet 2890 TYPE SHIFTSTATE = _SHIFTSTATE; 2891 2892 TYPE 2893 PSHIFTSTATE = POINTER TO SHIFTSTATE; ***** ^ not supported yet 2894 2895 2896 TYPE _HOTKEY = RECORD(*htky *) 2897 fsHotKey: USHORT; 2898 uchScancodeMake: UCHAR; 2899 uchScancodeBreak: UCHAR; 2900 idHotKey: USHORT; 2901 END; ***** ^ not supported yet 2902 TYPE HOTKEY = _HOTKEY; 2903 2904 TYPE 2905 PHOTKEY = POINTER TO HOTKEY; ***** ^ not supported yet 2906 2907 TYPE _MONITORPOSITION = RECORD(*mnpos *) 2908 fPosition: USHORT; 2909 index: USHORT; 2910 pbInBuf: ULONG; 2911 offOutBuf: USHORT; 2912 END; ***** ^ not supported yet 2913 TYPE MONITORPOSITION = _MONITORPOSITION; 2914 2915 TYPE 2916 PMONITORPOSITION = POINTER TO MONITORPOSITION; ***** ^ not supported yet 2917 2918 TYPE _RATEDELAY = RECORD(*rtdly *) 2919 usDelay: USHORT; 2920 usRate: USHORT; 2921 END; ***** ^ not supported yet 2922 TYPE RATEDELAY = _RATEDELAY; 2923 2924 TYPE 2925 PRATEDELAY = POINTER TO RATEDELAY; ***** ^ not supported yet 2926 2927 TYPE _CODEPAGEINFO = RECORD(*cpi *) 2928 pbTransTable: PBYTE; 2929 idCodePage: USHORT; 2930 idTable: USHORT; 2931 END; ***** ^ not supported yet 2932 TYPE CODEPAGEINFO = _CODEPAGEINFO; 2933 2934 TYPE 2935 PCODEPAGEINFO = SYSTEM.ADDRESS; ***** ^ not supported yet 2936 2937 TYPE _CPID = RECORD(*cpid *) 2938 idCodePage: USHORT; 2939 Reserved: USHORT; 2940 END; ***** ^ not supported yet 2941 TYPE CPID = _CPID; 2942 2943 TYPE 2944 PCPID = SYSTEM.ADDRESS; ***** ^ not supported yet 2945 2946 TYPE _LDTADDRINFO = RECORD(*ldtaddr *) 2947 pulPhysAddr: PULONG; 2948 cb: USHORT; 2949 END; ***** ^ not supported yet 2950 TYPE LDTADDRINFO = _LDTADDRINFO; 2951 2952 TYPE 2953 PLDTADDRINFO = SYSTEM.ADDRESS; ***** ^ not supported yet 2954 2955 TYPE _PTRDRAWDATA = RECORD(*ptrdd *) 2956 cb: USHORT; 2957 usConfig: USHORT; 2958 usFlag: USHORT; 2959 END; ***** ^ not supported yet 2960 TYPE PTRDRAWDATA = _PTRDRAWDATA; 2961 2962 TYPE 2963 PPTRDRAWDATA = SYSTEM.ADDRESS; ***** ^ not supported yet 2964 2965 2966 (*DosPhysicalDisk() physical disk information *) 2967 CONST INFO_COUNT_PARTITIONABLE_DISKS = 0001H; 2968 2969 CONST INFO_GETIOCTLHANDLE = 0002H; 2970 2971 CONST INFO_FREEIOCTLHANDLE = 0003H; 2972 2973 2974 (*DosDevConfig information requests *) 2975 CONST DEVINFO_PRINTER = 0000H; 2976 2977 CONST DEVINFO_RS232 = 0001H; 2978 2979 CONST DEVINFO_FLOPPY = 0002H; 2980 2981 CONST DEVINFO_COPROCESSOR = 0003H; 2982 2983 CONST DEVINFO_SUBMODEL = 0004H; 2984 2985 CONST DEVINFO_MODEL = 0005H; 2986 2987 CONST DEVINFO_ADAPTER = 0006H; 2988 2989 PROCEDURE DOSDEVCONFIG ( 2990 pDevInfo: PVOID; 2991 usItem: USHORT; 2992 usReserved: USHORT): USHORT; 2993 2994 PROCEDURE DOSDEVIOCTL ( 2995 pData: PVOID; 2996 pParms: PVOID; 2997 usFun: USHORT; 2998 usCategory: USHORT; 2999 hDev: HFILE): USHORT; 3000 3001 CONST NO_ERROR = 0; 3002 3003 CONST ERROR_INVALID_FUNCTION = 1; 3004 3005 CONST ERROR_FILE_NOT_FOUND = 2; 3006 3007 CONST ERROR_PATH_NOT_FOUND = 3; 3008 3009 CONST ERROR_TOO_MANY_OPEN_FILES = 4; 3010 3011 CONST ERROR_ACCESS_DENIED = 5; 3012 3013 CONST ERROR_INVALID_HANDLE = 6; 3014 3015 CONST ERROR_ARENA_TRASHED = 7; 3016 3017 CONST ERROR_NOT_ENOUGH_MEMORY = 8; 3018 3019 CONST ERROR_INVALID_BLOCK = 9; 3020 3021 CONST ERROR_BAD_ENVIRONMENT = 10; 3022 3023 CONST ERROR_BAD_FORMAT = 11; 3024 3025 CONST ERROR_INVALID_ACCESS = 12; 3026 3027 CONST ERROR_INVALID_DATA = 13; 3028 3029 3030 (*14 is reserved *) 3031 CONST ERROR_INVALID_DRIVE = 15; 3032 3033 CONST ERROR_CURRENT_DIRECTORY = 16; 3034 3035 CONST ERROR_NOT_SAME_DEVICE = 17; 3036 3037 CONST ERROR_NO_MORE_FILES = 18; 3038 3039 CONST ERROR_WRITE_PROTECT = 19; 3040 3041 CONST ERROR_BAD_UNIT = 20; 3042 3043 CONST ERROR_NOT_READY = 21; 3044 3045 CONST ERROR_BAD_COMMAND = 22; 3046 3047 CONST ERROR_CRC = 23; 3048 3049 CONST ERROR_BAD_LENGTH = 24; 3050 3051 CONST ERROR_SEEK = 25; 3052 3053 CONST ERROR_NOT_DOS_DISK = 26; 3054 3055 CONST ERROR_SECTOR_NOT_FOUND = 27; 3056 3057 CONST ERROR_OUT_OF_PAPER = 28; 3058 3059 CONST ERROR_WRITE_FAULT = 29; 3060 3061 CONST ERROR_READ_FAULT = 30; 3062 3063 CONST ERROR_GEN_FAILURE = 31; 3064 3065 CONST ERROR_SHARING_VIOLATION = 32; 3066 3067 CONST ERROR_LOCK_VIOLATION = 33; 3068 3069 CONST ERROR_WRONG_DISK = 34; 3070 3071 CONST ERROR_FCB_UNAVAILABLE = 35; 3072 3073 CONST ERROR_SHARING_BUFFER_EXCEEDED = 36; 3074 3075 CONST ERROR_NOT_SUPPORTED = 50; 3076 3077 CONST ERROR_REM_NOT_LIST = 51; 3078 (*Remote computer not listening *) 3079 CONST ERROR_DUP_NAME = 52; 3080 (*Duplicate name on network *) 3081 CONST ERROR_BAD_NETPATH = 53; 3082 (*Network path not found *) 3083 CONST ERROR_NETWORK_BUSY = 54; 3084 (*Network busy *) 3085 CONST ERROR_DEV_NOT_EXIST = 55; 3086 (*Network device no longer exists *) 3087 CONST ERROR_TOO_MANY_CMDS = 56; 3088 (*Net BIOS command limit exceeded *) 3089 CONST ERROR_ADAP_HDW_ERR = 57; 3090 (*Network adapter hardware error *) 3091 CONST ERROR_BAD_NET_RESP = 58; 3092 (*Incorrect response from network *) 3093 CONST ERROR_UNEXP_NET_ERR = 59; 3094 (*Unexpected network error *) 3095 CONST ERROR_BAD_REM_ADAP = 60; 3096 (*Incompatible remote adapter *) 3097 CONST ERROR_PRINTQ_FULL = 61; 3098 (*Print queue full *) 3099 CONST ERROR_NO_SPOOL_SPACE = 62; 3100 (*Not enough space for print file *) 3101 CONST ERROR_PRINT_CANCELLED = 63; 3102 (*Print file was cancelled *) 3103 CONST ERROR_NETNAME_DELETED = 64; 3104 (*Network name was deleted *) 3105 CONST ERROR_NETWORK_ACCESS_DENIED = 65; 3106 (*Access denied *) 3107 CONST ERROR_BAD_DEV_TYPE = 66; 3108 (*Network device type incorrect *) 3109 CONST ERROR_BAD_NET_NAME = 67; 3110 (*Network name not found *) 3111 CONST ERROR_TOO_MANY_NAMES = 68; 3112 (*Network name limit exceeded *) 3113 CONST ERROR_TOO_MANY_SESS = 69; 3114 (*Net BIOS session limit exceeded *) 3115 CONST ERROR_SHARING_PAUSED = 70; 3116 (*Sharing temporarily paused *) 3117 CONST ERROR_REQ_NOT_ACCEP = 71; 3118 (*Network request not accepted *) 3119 CONST ERROR_REDIR_PAUSED = 72; 3120 (*Print|disk redirection is paused*) 3121 CONST ERROR_FILE_EXISTS = 80; 3122 3123 CONST ERROR_DUP_FCB = 81; 3124 3125 CONST ERROR_CANNOT_MAKE = 82; 3126 3127 CONST ERROR_FAIL_I24 = 83; 3128 3129 CONST ERROR_OUT_OF_STRUCTURES = 84; 3130 3131 CONST ERROR_ALREADY_ASSIGNED = 85; 3132 3133 CONST ERROR_INVALID_PASSWORD = 86; 3134 3135 CONST ERROR_INVALID_PARAMETER = 87; 3136 3137 CONST ERROR_NET_WRITE_FAULT = 88; 3138 3139 CONST ERROR_NO_PROC_SLOTS = 89; 3140 (*no process slots available *) 3141 CONST ERROR_NOT_FROZEN = 90; 3142 3143 CONST ERR_TSTOVFL = 91; 3144 (*timer service table overflow *) 3145 CONST ERR_TSTDUP = 92; 3146 (*timer service table duplicate *) 3147 CONST ERROR_NO_ITEMS = 93; 3148 (*no items to operate upon *) 3149 CONST ERROR_INTERRUPT = 95; 3150 (*interrupted system call *) 3151 CONST ERROR_DEVICE_IN_USE = 99; 3152 (*Device in use by another thread *) 3153 CONST ERROR_TOO_MANY_SEMAPHORES = 100; 3154 3155 CONST ERROR_EXCL_SEM_ALREADY_OWNED = 101; 3156 3157 CONST ERROR_SEM_IS_SET = 102; 3158 3159 CONST ERROR_TOO_MANY_SEM_REQUESTS = 103; 3160 3161 CONST ERROR_INVALID_AT_INTERRUPT_TIME = 104; 3162 3163 CONST ERROR_SEM_OWNER_DIED = 105; 3164 (*waitsem found owner died *) 3165 CONST ERROR_SEM_USER_LIMIT = 106; 3166 (*too many procs have this sem *) 3167 CONST ERROR_DISK_CHANGE = 107; 3168 3169 CONST ERROR_DRIVE_LOCKED = 108; 3170 (*drive locked by another process*) 3171 CONST ERROR_BROKEN_PIPE = 109; 3172 (*write on pipe with no reader *) 3173 CONST ERROR_OPEN_FAILED = 110; 3174 (*open/created failed due to *) 3175 (*explicit fail command *) 3176 CONST ERROR_BUFFER_OVERFLOW = 111; 3177 (*buffer passed to system call *) 3178 (*is too small to hold return *) 3179 (*data. *) 3180 CONST ERROR_DISK_FULL = 112; 3181 (*not enough space on the disk *) 3182 (*(DOSNEWSIZE/w_NewSize) *) 3183 CONST ERROR_NO_MORE_SEARCH_HANDLES = 113; 3184 (*can't allocate another search *) 3185 (*structure and handle. *) 3186 (*(DOSFINDFIRST/w_FindFirst) *) 3187 CONST ERROR_INVALID_TARGET_HANDLE = 114; 3188 (*Target handle in DOSDUPHANDLE *) 3189 (*is invalid *) 3190 CONST ERROR_PROTECTION_VIOLATION = 115; 3191 (*Bad user virtual address *) 3192 CONST ERROR_VIOKBD_REQUEST = 116; 3193 3194 CONST ERROR_INVALID_CATEGORY = 117; 3195 (*Category for DEVIOCTL in not *) 3196 (*defined *) 3197 CONST ERROR_INVALID_VERIFY_SWITCH = 118; 3198 (*invalid value passed for *) 3199 (*verify flag *) 3200 CONST ERROR_BAD_DRIVER_LEVEL = 119; 3201 (*DosDevIOCTL looks for a level *) 3202 (*four driver. If the driver *) 3203 (*is not level four we return *) 3204 (*this code *) 3205 CONST ERROR_CALL_NOT_IMPLEMENTED = 120; 3206 (*returned from stub api calls. *) 3207 (*This call will disappear when *) 3208 (*all the api's are implemented. *) 3209 CONST ERROR_SEM_TIMEOUT = 121; 3210 (*Time out happened from the *) 3211 (*semaphore api functions. *) 3212 CONST ERROR_INSUFFICIENT_BUFFER = 122; 3213 (*Some calls require the *) 3214 (*application to pass in a buffer *) 3215 (*filled with data. This error is *) 3216 (*returned if the data buffer is too *) 3217 (*small. For example: DosSetFileInfo *) 3218 (*requires 4 bytes of data. If a *) 3219 (*two byte buffer is passed in then *) 3220 (* this error is returned. *) 3221 (* error_buffer_overflow is used when *) 3222 (* the output buffer is not big enough.*) 3223 CONST ERROR_INVALID_NAME = 123; 3224 (*illegal character or malformed *) 3225 (*file system name *) 3226 CONST ERROR_INVALID_LEVEL = 124; 3227 (*unimplemented level for info *) 3228 (*retrieval or setting *) 3229 CONST ERROR_NO_VOLUME_LABEL = 125; 3230 (*no volume label found with *) 3231 (*DosQFSInfo command *) 3232 CONST ERROR_MOD_NOT_FOUND = 126; 3233 (*w_getprocaddr,w_getmodhandle *) 3234 CONST ERROR_PROC_NOT_FOUND = 127; 3235 (*w_getprocaddr *) 3236 CONST ERROR_WAIT_NO_CHILDREN = 128; 3237 (*CWait finds to children *) 3238 CONST ERROR_CHILD_NOT_COMPLETE = 129; 3239 (*CWait children not dead yet *) 3240 CONST ERROR_DIRECT_ACCESS_HANDLE = 130; 3241 (*handle operation is invalid *) 3242 (*for direct disk access *) 3243 (*handles *) 3244 CONST ERROR_NEGATIVE_SEEK = 131; 3245 (*application tried to seek *) 3246 (*with negitive offset *) 3247 CONST ERROR_SEEK_ON_DEVICE = 132; 3248 (*application tried to seek *) 3249 (*on device or pipe *) 3250 CONST ERROR_IS_JOIN_TARGET = 133; 3251 3252 CONST ERROR_IS_JOINED = 134; 3253 3254 CONST ERROR_IS_SUBSTED = 135; 3255 3256 CONST ERROR_NOT_JOINED = 136; 3257 3258 CONST ERROR_NOT_SUBSTED = 137; 3259 3260 CONST ERROR_JOIN_TO_JOIN = 138; 3261 3262 CONST ERROR_SUBST_TO_SUBST = 139; 3263 3264 CONST ERROR_JOIN_TO_SUBST = 140; 3265 3266 CONST ERROR_SUBST_TO_JOIN = 141; 3267 3268 CONST ERROR_BUSY_DRIVE = 142; 3269 3270 CONST ERROR_SAME_DRIVE = 143; 3271 3272 CONST ERROR_DIR_NOT_ROOT = 144; 3273 3274 CONST ERROR_DIR_NOT_EMPTY = 145; 3275 3276 CONST ERROR_IS_SUBST_PATH = 146; 3277 3278 CONST ERROR_IS_JOIN_PATH = 147; 3279 3280 CONST ERROR_PATH_BUSY = 148; 3281 3282 CONST ERROR_IS_SUBST_TARGET = 149; 3283 3284 CONST ERROR_SYSTEM_TRACE = 150; 3285 (*system trace error *) 3286 CONST ERROR_INVALID_EVENT_COUNT = 151; 3287 (*DosMuxSemWait errors *) 3288 CONST ERROR_TOO_MANY_MUXWAITERS = 152; 3289 3290 CONST ERROR_INVALID_LIST_FORMAT = 153; 3291 3292 CONST ERROR_LABEL_TOO_LONG = 154; 3293 3294 CONST ERROR_TOO_MANY_TCBS = 155; 3295 3296 CONST ERROR_SIGNAL_REFUSED = 156; 3297 3298 CONST ERROR_DISCARDED = 157; 3299 3300 CONST ERROR_NOT_LOCKED = 158; 3301 3302 CONST ERROR_BAD_THREADID_ADDR = 159; 3303 3304 CONST ERROR_BAD_ARGUMENTS = 160; 3305 3306 CONST ERROR_BAD_PATHNAME = 161; 3307 3308 CONST ERROR_SIGNAL_PENDING = 162; 3309 3310 CONST ERROR_UNCERTAIN_MEDIA = 163; 3311 3312 CONST ERROR_MAX_THRDS_REACHED = 164; 3313 3314 CONST ERROR_MONITORS_NOT_SUPPORTED = 165; 3315 3316 CONST ERROR_UNC_DRIVER_NOT_INSTALLED = 166; 3317 3318 3319 (* The following error codes refer to demand loading segments *) 3320 CONST ERROR_LOCK_FAILED = 167; 3321 3322 CONST ERROR_SWAPIO_FAILED = 168; 3323 3324 CONST ERROR_SWAPIN_FAILED = 169; 3325 3326 CONST ERROR_BUSY = 170; 3327 3328 CONST ERROR_INVALID_SEGMENT_NUMBER = 180; 3329 3330 CONST ERROR_INVALID_CALLGATE = 181; 3331 3332 CONST ERROR_INVALID_ORDINAL = 182; 3333 3334 CONST ERROR_ALREADY_EXISTS = 183; 3335 3336 CONST ERROR_NO_CHILD_PROCESS = 184; 3337 3338 CONST ERROR_CHILD_ALIVE_NOWAIT = 185; 3339 3340 CONST ERROR_INVALID_FLAG_NUMBER = 186; 3341 3342 CONST ERROR_SEM_NOT_FOUND = 187; 3343 3344 3345 (*following error codes make loader error messages distinct *) 3346 CONST ERROR_INVALID_STARTING_CODESEG = 188; 3347 3348 CONST ERROR_INVALID_STACKSEG = 189; 3349 3350 CONST ERROR_INVALID_MODULETYPE = 190; 3351 3352 CONST ERROR_INVALID_EXE_SIGNATURE = 191; 3353 3354 CONST ERROR_EXE_MARKED_INVALID = 192; 3355 3356 CONST ERROR_BAD_EXE_FORMAT = 193; 3357 3358 CONST ERROR_ITERATED_DATA_EXCEEDS_64K = 194; 3359 3360 CONST ERROR_INVALID_MINALLOCSIZE = 195; 3361 3362 CONST ERROR_DYNLINK_FROM_INVALID_RING = 196; 3363 3364 CONST ERROR_IOPL_NOT_ENABLED = 197; 3365 3366 CONST ERROR_INVALID_SEGDPL = 198; 3367 3368 CONST ERROR_AUTODATASEG_EXCEEDS_64k = 199; 3369 3370 CONST ERROR_RING2SEG_MUST_BE_MOVABLE = 200; 3371 3372 CONST ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201; 3373 3374 CONST ERROR_INFLOOP_IN_RELOC_CHAIN = 202; 3375 3376 CONST ERROR_ENVVAR_NOT_FOUND = 203; 3377 3378 CONST ERROR_NOT_CURRENT_CTRY = 204; 3379 3380 CONST ERROR_NO_SIGNAL_SENT = 205; 3381 3382 CONST ERROR_FILENAME_EXCED_RANGE = 206; 3383 (*if filename > 8.3 *) 3384 CONST ERROR_RING2_STACK_IN_USE = 207; 3385 (*for FAPI *) 3386 CONST ERROR_META_EXPANSION_TOO_LONG = 208; 3387 (*if "*a" > 8.3 *) 3388 CONST ERROR_INVALID_SIGNAL_NUMBER = 209; 3389 3390 CONST ERROR_THREAD_1_INACTIVE = 210; 3391 3392 CONST ERROR_INFO_NOT_AVAIL = 211; 3393 3394 CONST ERROR_LOCKED = 212; 3395 3396 CONST ERROR_BAD_DYNALINK = 213; 3397 3398 CONST ERROR_TOO_MANY_MODULES = 214; 3399 3400 CONST ERROR_NESTING_NOT_ALLOWED = 215; 3401 3402 CONST ERROR_CANNOT_SHRINK = 216; 3403 (*attempt to shrink ring 2 stack *) 3404 CONST ERROR_ZOMBIE_PROCESS = 217; 3405 3406 CONST ERROR_STACK_IN_HIGH_MEMORY = 218; 3407 3408 CONST ERROR_INVALID_EXITROUTINE_RING = 219; 3409 3410 CONST ERROR_GETBUF_FAILED = 220; 3411 3412 CONST ERROR_FLUSHBUF_FAILED = 221; 3413 3414 CONST ERROR_TRANSFER_TOO_LONG = 222; 3415 3416 CONST ERROR_NO_CHILDREN = 228; 3417 3418 CONST ERROR_INVALID_SCREEN_GROUP = 229; 3419 3420 3421 (* 3422 * Error codes 230 - 249 are reserved 3423 *) 3424 CONST ERROR_BAD_PIPE = 230; 3425 (*Non-existant pipe or bad operation *) 3426 CONST ERROR_PIPE_BUSY = 231; 3427 (*Pipe is busy *) 3428 CONST ERROR_NO_DATA = 232; 3429 (*No data on non-blocking read *) 3430 CONST ERROR_PIPE_NOT_CONNECTED = 233; 3431 (*Pipe was disconnected by server*) 3432 CONST ERROR_MORE_DATA = 234; 3433 (*More data is available *) 3434 CONST ERROR_VC_DISCONNECTED = 240; 3435 3436 CONST ERROR_CIRCULARITY_REQUESTED = 250; 3437 (*When renaming a dir which *) 3438 (*would cause a circularity *) 3439 CONST ERROR_DIRECTORY_IN_CDS = 251; 3440 (*When renaming a dir *) 3441 (*which is "in use" *) 3442 CONST ERROR_INVALID_FSD_NAME = 252; 3443 (*when trying to access *) 3444 (*nonexistent FSD *) 3445 CONST ERROR_INVALID_PATH = 253; 3446 (*bad pseudo device *) 3447 CONST ERROR_INVALID_EA_NAME = 254; 3448 (*Illegal chars in name *) 3449 CONST ERROR_EA_LIST_INCONSISTENT = 255; 3450 (*Size or some field bad *) 3451 CONST ERROR_EA_LIST_TOO_LONG = 256; 3452 (*FEAlist > 64K-1 bytes *) 3453 CONST ERROR_NO_META_MATCH = 257; 3454 (*string doesn't match expression*) 3455 CONST ERROR_FINDNOTIFY_TIMEOUT = 258; 3456 (*FindNotify request timeout *) 3457 CONST ERROR_NO_MORE_ITEMS = 259; 3458 (*QFSAttach ordinal query *) 3459 CONST ERROR_SEARCH_STRUC_REUSED = 260; 3460 (*3xbox findfirst/next search structure reused *) 3461 CONST ERROR_CHAR_NOT_FOUND = 261; 3462 (*can not find character *) 3463 CONST ERROR_TOO_MUCH_STACK = 262; 3464 (*Stack request exceeds sys limit*) 3465 CONST ERROR_INVALID_ATTR = 263; 3466 (*invalid FS_ATTRIBUTE *) 3467 CONST ERROR_INVALID_STARTING_RING = 264; 3468 3469 CONST ERROR_INVALID_DLL_INIT_RING = 265; 3470 3471 CONST ERROR_CANNOT_COPY = 266; 3472 (*doscopy *) 3473 CONST ERROR_DIRECTORY = 267; 3474 (*doscopy *) 3475 CONST ERROR_OPLOCKED_FILE = 268; 3476 3477 CONST ERROR_OPLOCK_THREAD_EXISTS = 269; 3478 3479 3480 (*error codes for DosFindNotify *) 3481 CONST ERROR_VOLUME_CHANGED = 270; 3482 3483 CONST ERROR_FINDNOTIFY_HANDLE_IN_USE = 271; 3484 3485 CONST ERROR_FINDNOTIFY_HANDLE_CLOSED = 272; 3486 3487 CONST ERROR_NOTIFY_OBJECT_REMOVED = 273; 3488 3489 3490 (*Error to indicate that ShutDown already done *) 3491 CONST ERROR_ALREADY_SHUTDOWN = 274; 3492 3493 3494 (*error code for DOSFINDFIRST2/NEXT *) 3495 CONST ERROR_EAS_DIDNT_FIT = 275; 3496 3497 3498 (*error codes for EA file format change *) 3499 CONST ERROR_EA_FILE_CORRUPT = 276; 3500 3501 CONST ERROR_EA_TABLE_FULL = 277; 3502 3503 CONST ERROR_INVALID_EA_HANDLE = 278; 3504 3505 CONST ERROR_NO_CLUSTER = 279; 3506 3507 CONST ERROR_CREATE_EA_FILE = 280; 3508 3509 CONST ERROR_CANNOT_OPEN_EA_FILE = 281; 3510 3511 CONST ERROR_INVALID_PROCID = 303; 3512 3513 CONST ERROR_INVALID_PDELTA = 304; 3514 3515 CONST ERROR_NOT_DESCENDANT = 305; 3516 3517 CONST ERROR_NOT_SESSION_MANAGER = 306; 3518 3519 CONST ERROR_INVALID_PCLASS = 307; 3520 3521 CONST ERROR_INVALID_SCOPE = 308; 3522 3523 CONST ERROR_INVALID_THREADID = 309; 3524 3525 CONST ERROR_DOSSUB_SHRINK = 310; 3526 3527 CONST ERROR_DOSSUB_NOMEM = 311; 3528 3529 CONST ERROR_DOSSUB_OVERLAP = 312; 3530 3531 CONST ERROR_DOSSUB_BADSIZE = 313; 3532 3533 CONST ERROR_DOSSUB_BADFLAG = 314; 3534 3535 CONST ERROR_DOSSUB_BADSELECTOR = 315; 3536 3537 CONST ERROR_MR_MSG_TOO_LONG = 316; 3538 3539 CONST ERROR_MR_MID_NOT_FOUND = 317; 3540 3541 CONST ERROR_MR_UN_ACC_MSGF = 318; 3542 3543 CONST ERROR_MR_INV_MSGF_FORMAT = 319; 3544 3545 CONST ERROR_MR_INV_IVCOUNT = 320; 3546 3547 CONST ERROR_MR_UN_PERFORM = 321; 3548 3549 CONST ERROR_TS_WAKEUP = 322; 3550 3551 CONST ERROR_TS_SEMHANDLE = 323; 3552 3553 CONST ERROR_TS_NOTIMER = 324; 3554 3555 CONST ERROR_TS_HANDLE = 326; 3556 3557 CONST ERROR_TS_DATETIME = 327; 3558 3559 CONST ERROR_SYS_INTERNAL = 328; 3560 3561 CONST ERROR_QUE_CURRENT_NAME = 329; 3562 3563 CONST ERROR_QUE_PROC_NOT_OWNED = 330; 3564 3565 CONST ERROR_QUE_PROC_OWNED = 331; 3566 3567 CONST ERROR_QUE_DUPLICATE = 332; 3568 3569 CONST ERROR_QUE_ELEMENT_NOT_EXIST = 333; 3570 3571 CONST ERROR_QUE_NO_MEMORY = 334; 3572 3573 CONST ERROR_QUE_INVALID_NAME = 335; 3574 3575 CONST ERROR_QUE_INVALID_PRIORITY = 336; 3576 3577 CONST ERROR_QUE_INVALID_HANDLE = 337; 3578 3579 CONST ERROR_QUE_LINK_NOT_FOUND = 338; 3580 3581 CONST ERROR_QUE_MEMORY_ERROR = 339; 3582 3583 CONST ERROR_QUE_PREV_AT_END = 340; 3584 3585 CONST ERROR_QUE_PROC_NO_ACCESS = 341; 3586 3587 CONST ERROR_QUE_EMPTY = 342; 3588 3589 CONST ERROR_QUE_NAME_NOT_EXIST = 343; 3590 3591 CONST ERROR_QUE_NOT_INITIALIZED = 344; 3592 3593 CONST ERROR_QUE_UNABLE_TO_ACCESS = 345; 3594 3595 CONST ERROR_QUE_UNABLE_TO_ADD = 346; 3596 3597 CONST ERROR_QUE_UNABLE_TO_INIT = 347; 3598 3599 CONST ERROR_VIO_INVALID_MASK = 349; 3600 3601 CONST ERROR_VIO_PTR = 350; 3602 3603 CONST ERROR_VIO_APTR = 351; 3604 3605 CONST ERROR_VIO_RPTR = 352; 3606 3607 CONST ERROR_VIO_CPTR = 353; 3608 3609 CONST ERROR_VIO_LPTR = 354; 3610 3611 CONST ERROR_VIO_MODE = 355; 3612 3613 CONST ERROR_VIO_WIDTH = 356; 3614 3615 CONST ERROR_VIO_ATTR = 357; 3616 3617 CONST ERROR_VIO_ROW = 358; 3618 3619 CONST ERROR_VIO_COL = 359; 3620 3621 CONST ERROR_VIO_TOPROW = 360; 3622 3623 CONST ERROR_VIO_BOTROW = 361; 3624 3625 CONST ERROR_VIO_RIGHTCOL = 362; 3626 3627 CONST ERROR_VIO_LEFTCOL = 363; 3628 3629 CONST ERROR_SCS_CALL = 364; 3630 3631 CONST ERROR_SCS_VALUE = 365; 3632 3633 CONST ERROR_VIO_WAIT_FLAG = 366; 3634 3635 CONST ERROR_VIO_UNLOCK = 367; 3636 3637 CONST ERROR_SGS_NOT_SESSION_MGR = 368; 3638 3639 CONST ERROR_SMG_INVALID_SGID = 369; 3640 3641 CONST ERROR_SMG_INVALID_SESSION_ID = 369; 3642 3643 CONST ERROR_SMG_NOSG = 370; 3644 3645 CONST ERROR_SMG_NO_SESSIONS = 370; 3646 3647 CONST ERROR_SMG_GRP_NOT_FOUND = 371; 3648 3649 CONST ERROR_SMG_SESSION_NOT_FOUND = 371; 3650 3651 CONST ERROR_SMG_SET_TITLE = 372; 3652 3653 CONST ERROR_KBD_PARAMETER = 373; 3654 3655 CONST ERROR_KBD_NO_DEVICE = 374; 3656 3657 CONST ERROR_KBD_INVALID_IOWAIT = 375; 3658 3659 CONST ERROR_KBD_INVALID_LENGTH = 376; 3660 3661 CONST ERROR_KBD_INVALID_ECHO_MASK = 377; 3662 3663 CONST ERROR_KBD_INVALID_INPUT_MASK = 378; 3664 3665 CONST ERROR_MON_INVALID_PARMS = 379; 3666 3667 CONST ERROR_MON_INVALID_DEVNAME = 380; 3668 3669 CONST ERROR_MON_INVALID_HANDLE = 381; 3670 3671 CONST ERROR_MON_BUFFER_TOO_SMALL = 382; 3672 3673 CONST ERROR_MON_BUFFER_EMPTY = 383; 3674 3675 CONST ERROR_MON_DATA_TOO_LARGE = 384; 3676 3677 CONST ERROR_MOUSE_NO_DEVICE = 385; 3678 3679 CONST ERROR_MOUSE_INV_HANDLE = 386; 3680 3681 CONST ERROR_MOUSE_INV_PARMS = 387; 3682 3683 CONST ERROR_MOUSE_CANT_RESET = 388; 3684 3685 CONST ERROR_MOUSE_DISPLAY_PARMS = 389; 3686 3687 CONST ERROR_MOUSE_INV_MODULE = 390; 3688 3689 CONST ERROR_MOUSE_INV_ENTRY_PT = 391; 3690 3691 CONST ERROR_MOUSE_INV_MASK = 392; 3692 3693 CONST NO_ERROR_MOUSE_NO_DATA = 393; 3694 3695 CONST NO_ERROR_MOUSE_PTR_DRAWN = 394; 3696 3697 CONST ERROR_INVALID_FREQUENCY = 395; 3698 3699 CONST ERROR_NLS_NO_COUNTRY_FILE = 396; 3700 3701 CONST ERROR_NLS_OPEN_FAILED = 397; 3702 3703 CONST ERROR_NLS_NO_CTRY_CODE = 398; 3704 3705 CONST ERROR_NO_COUNTRY_OR_CODEPAGE = 398; 3706 3707 CONST ERROR_NLS_TABLE_TRUNCATED = 399; 3708 3709 CONST ERROR_NLS_BAD_TYPE = 400; 3710 3711 CONST ERROR_NLS_TYPE_NOT_FOUND = 401; 3712 3713 CONST ERROR_VIO_SMG_ONLY = 402; 3714 3715 CONST ERROR_VIO_INVALID_ASCIIZ = 403; 3716 3717 CONST ERROR_VIO_DEREGISTER = 404; 3718 3719 CONST ERROR_VIO_NO_POPUP = 405; 3720 3721 CONST ERROR_VIO_EXISTING_POPUP = 406; 3722 3723 CONST ERROR_KBD_SMG_ONLY = 407; 3724 3725 CONST ERROR_KBD_INVALID_ASCIIZ = 408; 3726 3727 CONST ERROR_KBD_INVALID_MASK = 409; 3728 3729 CONST ERROR_KBD_REGISTER = 410; 3730 3731 CONST ERROR_KBD_DEREGISTER = 411; 3732 3733 CONST ERROR_MOUSE_SMG_ONLY = 412; 3734 3735 CONST ERROR_MOUSE_INVALID_ASCIIZ = 413; 3736 3737 CONST ERROR_MOUSE_INVALID_MASK = 414; 3738 3739 CONST ERROR_MOUSE_REGISTER = 415; 3740 3741 CONST ERROR_MOUSE_DEREGISTER = 416; 3742 3743 CONST ERROR_SMG_BAD_ACTION = 417; 3744 3745 CONST ERROR_SMG_INVALID_CALL = 418; 3746 3747 CONST ERROR_SCS_SG_NOTFOUND = 419; 3748 3749 CONST ERROR_SCS_NOT_SHELL = 420; 3750 3751 CONST ERROR_VIO_INVALID_PARMS = 421; 3752 3753 CONST ERROR_VIO_FUNCTION_OWNED = 422; 3754 3755 CONST ERROR_VIO_RETURN = 423; 3756 3757 CONST ERROR_SCS_INVALID_FUNCTION = 424; 3758 3759 CONST ERROR_SCS_NOT_SESSION_MGR = 425; 3760 3761 CONST ERROR_VIO_REGISTER = 426; 3762 3763 CONST ERROR_VIO_NO_MODE_THREAD = 427; 3764 3765 CONST ERROR_VIO_NO_SAVE_RESTORE_THD = 428; 3766 3767 CONST ERROR_VIO_IN_BG = 429; 3768 3769 CONST ERROR_VIO_ILLEGAL_DURING_POPUP = 430; 3770 3771 CONST ERROR_SMG_NOT_BASESHELL = 431; 3772 3773 CONST ERROR_SMG_BAD_STATUSREQ = 432; 3774 3775 CONST ERROR_QUE_INVALID_WAIT = 433; 3776 3777 CONST ERROR_VIO_LOCK = 434; 3778 3779 CONST ERROR_MOUSE_INVALID_IOWAIT = 435; 3780 3781 CONST ERROR_VIO_INVALID_HANDLE = 436; 3782 3783 CONST ERROR_VIO_ILLEGAL_DURING_LOCK = 437; 3784 3785 CONST ERROR_VIO_INVALID_LENGTH = 438; 3786 3787 CONST ERROR_KBD_INVALID_HANDLE = 439; 3788 3789 CONST ERROR_KBD_NO_MORE_HANDLE = 440; 3790 3791 CONST ERROR_KBD_CANNOT_CREATE_KCB = 441; 3792 3793 CONST ERROR_KBD_CODEPAGE_LOAD_INCOMPL = 442; 3794 3795 CONST ERROR_KBD_INVALID_CODEPAGE_ID = 443; 3796 3797 CONST ERROR_KBD_NO_CODEPAGE_SUPPORT = 444; 3798 3799 CONST ERROR_KBD_FOCUS_REQUIRED = 445; 3800 3801 CONST ERROR_KBD_FOCUS_ALREADY_ACTIVE = 446; 3802 3803 CONST ERROR_KBD_KEYBOARD_BUSY = 447; 3804 3805 CONST ERROR_KBD_INVALID_CODEPAGE = 448; 3806 3807 CONST ERROR_KBD_UNABLE_TO_FOCUS = 449; 3808 3809 CONST ERROR_SMG_SESSION_NON_SELECT = 450; 3810 3811 CONST ERROR_SMG_SESSION_NOT_FOREGRND = 451; 3812 3813 CONST ERROR_SMG_SESSION_NOT_PARENT = 452; 3814 3815 CONST ERROR_SMG_INVALID_START_MODE = 453; 3816 3817 CONST ERROR_SMG_INVALID_RELATED_OPT = 454; 3818 3819 CONST ERROR_SMG_INVALID_BOND_OPTION = 455; 3820 3821 CONST ERROR_SMG_INVALID_SELECT_OPT = 456; 3822 3823 CONST ERROR_SMG_START_IN_BACKGROUND = 457; 3824 3825 CONST ERROR_SMG_INVALID_STOP_OPTION = 458; 3826 3827 CONST ERROR_SMG_BAD_RESERVE = 459; 3828 3829 CONST ERROR_SMG_PROCESS_NOT_PARENT = 460; 3830 3831 CONST ERROR_SMG_INVALID_DATA_LENGTH = 461; 3832 3833 CONST ERROR_SMG_NOT_BOUND = 462; 3834 3835 CONST ERROR_SMG_RETRY_SUB_ALLOC = 463; 3836 3837 CONST ERROR_KBD_DETACHED = 464; 3838 3839 CONST ERROR_VIO_DETACHED = 465; 3840 3841 CONST ERROR_MOU_DETACHED = 466; 3842 3843 CONST ERROR_VIO_FONT = 467; 3844 3845 CONST ERROR_VIO_USER_FONT = 468; 3846 3847 CONST ERROR_VIO_BAD_CP = 469; 3848 3849 CONST ERROR_VIO_NO_CP = 470; 3850 3851 CONST ERROR_VIO_NA_CP = 471; 3852 3853 CONST ERROR_INVALID_CODE_PAGE = 472; 3854 3855 CONST ERROR_CPLIST_TOO_SMALL = 473; 3856 3857 CONST ERROR_CP_NOT_MOVED = 474; 3858 3859 CONST ERROR_MODE_SWITCH_INIT = 475; 3860 3861 CONST ERROR_CODE_PAGE_NOT_FOUND = 476; 3862 3863 CONST ERROR_UNEXPECTED_SLOT_RETURNED = 477; 3864 3865 CONST ERROR_SMG_INVALID_TRACE_OPTION = 478; 3866 3867 CONST ERROR_VIO_INTERNAL_RESOURCE = 479; 3868 3869 CONST ERROR_VIO_SHELL_INIT = 480; 3870 3871 CONST ERROR_SMG_NO_HARD_ERRORS = 481; 3872 3873 CONST ERROR_CP_SWITCH_INCOMPLETE = 482; 3874 3875 CONST ERROR_VIO_TRANSPARENT_POPUP = 483; 3876 3877 CONST ERROR_CRITSEC_OVERFLOW = 484; 3878 3879 CONST ERROR_CRITSEC_UNDERFLOW = 485; 3880 3881 CONST ERROR_VIO_BAD_RESERVE = 486; 3882 3883 CONST ERROR_INVALID_ADDRESS = 487; 3884 3885 CONST ERROR_ZERO_SELECTORS_REQUESTED = 488; 3886 3887 CONST ERROR_NOT_ENOUGH_SELECTORS_AVA = 489; 3888 3889 CONST ERROR_INVALID_SELECTOR = 490; 3890 3891 CONST ERROR_SMG_INVALID_PROGRAM_TYPE = 491; 3892 3893 CONST ERROR_SMG_INVALID_PGM_CONTROL = 492; 3894 3895 CONST ERROR_SMG_INVALID_INHERIT_OPT = 493; 3896 3897 CONST ERROR_VIO_EXTENDED_SG = 494; 3898 3899 CONST ERROR_VIO_NOT_PRES_MGR_SG = 495; 3900 3901 CONST ERROR_VIO_SHIELD_OWNED = 496; 3902 3903 CONST ERROR_VIO_NO_MORE_HANDLES = 497; 3904 3905 CONST ERROR_VIO_SEE_ERROR_LOG = 498; 3906 3907 CONST ERROR_VIO_ASSOCIATED_DC = 499; 3908 3909 CONST ERROR_KBD_NO_CONSOLE = 500; 3910 3911 CONST ERROR_MOUSE_NO_CONSOLE = 501; 3912 3913 CONST ERROR_MOUSE_INVALID_HANDLE = 502; 3914 3915 CONST ERROR_SMG_INVALID_DEBUG_PARMS = 503; 3916 3917 CONST ERROR_KBD_EXTENDED_SG = 504; 3918 3919 CONST ERROR_MOU_EXTENDED_SG = 505; 3920 3921 CONST ERROR_SMG_INVALID_ICON_FILE = 506; 3922 3923 CONST ERROR_USER_DEFINED_BASE = 0FF00H; 3924 3925 CONST ERROR_I24_WRITE_PROTECT = 0; 3926 3927 CONST ERROR_I24_BAD_UNIT = 1; 3928 3929 CONST ERROR_I24_NOT_READY = 2; 3930 3931 CONST ERROR_I24_BAD_COMMAND = 3; 3932 3933 CONST ERROR_I24_CRC = 4; 3934 3935 CONST ERROR_I24_BAD_LENGTH = 5; 3936 3937 CONST ERROR_I24_SEEK = 6; 3938 3939 CONST ERROR_I24_NOT_DOS_DISK = 7; 3940 3941 CONST ERROR_I24_SECTOR_NOT_FOUND = 8; 3942 3943 CONST ERROR_I24_OUT_OF_PAPER = 9; 3944 3945 CONST ERROR_I24_WRITE_FAULT = 10; 3946 3947 CONST ERROR_I24_READ_FAULT = 11; 3948 3949 CONST ERROR_I24_GEN_FAILURE = 12; 3950 3951 CONST ERROR_I24_DISK_CHANGE = 13; 3952 3953 CONST ERROR_I24_WRONG_DISK = 15; 3954 3955 CONST ERROR_I24_UNCERTAIN_MEDIA = 16; 3956 3957 CONST ERROR_I24_CHAR_CALL_INTERRUPTED = 17; 3958 3959 CONST ERROR_I24_NO_MONITOR_SUPPORT = 18; 3960 3961 CONST ERROR_I24_INVALID_PARAMETER = 19; 3962 3963 CONST ERROR_I24_DEVICE_IN_USE = 20; 3964 3965 CONST ALLOWED_FAIL = 0001H; 3966 3967 CONST ALLOWED_ABORT = 0002H; 3968 3969 CONST ALLOWED_RETRY = 0004H; 3970 3971 CONST ALLOWED_IGNORE = 0008H; 3972 3973 CONST ALLOWED_ACKNOWLEDGE = 0010H; 3974 3975 CONST ALLOWED_DISPATCH = 8000H; 3976 3977 CONST I24_OPERATION = 01H; 3978 3979 CONST I24_AREA = 06H; 3980 3981 CONST I24_CLASS = 80H; 3982 3983 3984 (*Values for error CLASS *) 3985 CONST ERRCLASS_OUTRES = 1; 3986 (*Out of Resource *) 3987 CONST ERRCLASS_TEMPSIT = 2; 3988 (*Temporary Situation *) 3989 CONST ERRCLASS_AUTH = 3; 3990 (*Permission problem *) 3991 CONST ERRCLASS_INTRN = 4; 3992 (*Internal System Error *) 3993 CONST ERRCLASS_HRDFAIL = 5; 3994 (*Hardware Failure *) 3995 CONST ERRCLASS_SYSFAIL = 6; 3996 (*System Failure *) 3997 CONST ERRCLASS_APPERR = 7; 3998 (*Application Error *) 3999 CONST ERRCLASS_NOTFND = 8; 4000 (*Not Found *) 4001 CONST ERRCLASS_BADFMT = 9; 4002 (*Bad Format *) 4003 CONST ERRCLASS_LOCKED = 10; 4004 (*Locked *) 4005 CONST ERRCLASS_MEDIA = 11; 4006 (*Media Failure *) 4007 CONST ERRCLASS_ALREADY = 12; 4008 (*Collision with Existing Item *) 4009 CONST ERRCLASS_UNK = 13; 4010 (*Unknown/other *) 4011 CONST ERRCLASS_CANT = 14; 4012 4013 CONST ERRCLASS_TIME = 15; 4014 4015 4016 (*Values for error ACTION *) 4017 CONST ERRACT_RETRY = 1; 4018 (*Retry *) 4019 CONST ERRACT_DLYRET = 2; 4020 (*Delay Retry, retry after pause *) 4021 CONST ERRACT_USER = 3; 4022 (*Ask user to regive information *) 4023 CONST ERRACT_ABORT = 4; 4024 (*abort with clean up *) 4025 CONST ERRACT_PANIC = 5; 4026 (*abort immediately *) 4027 CONST ERRACT_IGNORE = 6; 4028 (*ignore *) 4029 CONST ERRACT_INTRET = 7; 4030 (*Retry after User Intervention *) 4031 4032 (*Values for error LOCUS *) 4033 CONST ERRLOC_UNK = 1; 4034 (*No appropriate value *) 4035 CONST ERRLOC_DISK = 2; 4036 (*Random Access Mass Storage *) 4037 CONST ERRLOC_NET = 3; 4038 (*Network *) 4039 CONST ERRLOC_SERDEV = 4; 4040 (*Serial Device *) 4041 CONST ERRLOC_MEM = 5; 4042 (*Memory *) 4043 4044 (*Abnormal termination codes *) 4045 CONST TC_NORMAL = 0; 4046 4047 CONST TC_HARDERR = 1; 4048 4049 CONST TC_GP_TRAP = 2; 4050 4051 CONST TC_SIGNAL = 3; 4052 4053 CONST ERROR_SWAPPER_NOT_ACTIVE = 32768; 4054 4055 CONST ERROR_INVALID_SWAPID = 32769; 4056 4057 CONST ERROR_IOERR_SWAP_FILE = 32770; 4058 4059 CONST ERROR_SWAP_TABLE_FULL = 32771; 4060 4061 CONST ERROR_SWAP_FILE_FULL = 32772; 4062 4063 CONST ERROR_CANT_INIT_SWAPPER = 32773; 4064 4065 CONST ERROR_SWAPPER_ALREADY_INIT = 32774; 4066 4067 CONST ERROR_PMM_INSUFFICIENT_MEMORY = 32775; 4068 4069 CONST ERROR_PMM_INVALID_FLAGS = 32776; 4070 4071 CONST ERROR_PMM_INVALID_ADDRESS = 32777; 4072 4073 CONST ERROR_PMM_LOCK_FAILED = 32778; 4074 4075 CONST ERROR_PMM_UNLOCK_FAILED = 32779; 4076 4077 CONST ERROR_PMM_MOVE_INCOMPLETE = 32780; 4078 4079 CONST ERROR_UCOM_DRIVE_RENAMED = 32781; 4080 4081 CONST ERROR_UCOM_FILENAME_TRUNCATED = 32782; 4082 4083 CONST ERROR_UCOM_BUFFER_LENGTH = 32783; 4084 4085 CONST ERROR_MON_CHAIN_HANDLE = 32784; 4086 4087 CONST ERROR_MON_NOT_REGISTERED = 32785; 4088 4089 CONST ERROR_SMG_ALREADY_TOP = 32786; 4090 4091 CONST ERROR_PMM_ARENA_MODIFIED = 32787; 4092 4093 CONST ERROR_SMG_PRINTER_OPEN = 32788; 4094 4095 CONST ERROR_PMM_SET_FLAGS_FAILED = 32789; 4096 4097 CONST ERROR_INVALID_DOS_DD = 32790; 4098 4099 CONST ERROR_CPSIO_CODE_PAGE_INVALID = 65026; 4100 4101 CONST ERROR_CPSIO_NO_SPOOLER = 65027; 4102 4103 CONST ERROR_CPSIO_FONT_ID_INVALID = 65028; 4104 4105 CONST ERROR_CPSIO_INTERNAL_ERROR = 65033; 4106 4107 CONST ERROR_CPSIO_INVALID_PTR_NAME = 65034; 4108 4109 CONST ERROR_CPSIO_NOT_ACTIVE = 65037; 4110 4111 CONST ERROR_CPSIO_PID_FULL = 65039; 4112 4113 CONST ERROR_CPSIO_PID_NOT_FOUND = 65040; 4114 4115 CONST ERROR_CPSIO_READ_CTL_SEQ = 65043; 4116 4117 CONST ERROR_CPSIO_READ_FNT_DEF = 65045; 4118 4119 CONST ERROR_CPSIO_WRITE_ERROR = 65047; 4120 4121 CONST ERROR_CPSIO_WRITE_FULL_ERROR = 65048; 4122 4123 CONST ERROR_CPSIO_WRITE_HANDLE_BAD = 65049; 4124 4125 CONST ERROR_CPSIO_SWIT_LOAD = 65074; 4126 4127 CONST ERROR_CPSIO_INV_COMMAND = 65077; 4128 4129 CONST ERROR_CPSIO_NO_FONT_SWIT = 65078; 4130 4131 (* 4132 * _api_init must be called to initialize the DOS implementations 4133 * of the family api routines. 4134 *) 4135 PROCEDURE _api_init (); 4136 4137 END FAPI. ***** ^ not supported yet 253 errors