Annotation of os2sdk/startup/msdos.inc, revision 1.1.1.1

1.1       root        1: ;***
                      2: ;msdos.inc - MS-DOS definitions for C runtime
                      3: ;
                      4: ;      Copyright (c) 1987, Microsoft Corporation.  All rights reserved.
                      5: ;
                      6: ;Purpose:
                      7: ;      This file contains the MS-DOS definitions (DOS function request
                      8: ;      numbers, flags, etc) used by the C runtime.
                      9: ;
                     10: ;*******************************************************************************
                     11: 
                     12: 
                     13: ;_NFILE                equ     20              ; maximum # files per process
                     14: 
                     15: STACKSLOP equ  256             ; stack slop for interrupt overhead
                     16: 
                     17: 
                     18: ;      __osfile flag values for DOS file handles
                     19: 
                     20: FOPEN  equ     01H             ; file handle open
                     21: FEOFLAG        equ     02H             ; end of file has been encountered
                     22: FCRLF  equ     04H             ; CR-LF across read buffer (in text mode)
                     23: FPIPE  equ     08H             ; file handle refers to a pipe
                     24: FRDONLY        equ     10H             ; file handle associated with read only file
                     25: FAPPEND        equ     20H             ; file handle opened O_APPEND
                     26: FDEV   equ     40H             ; file handle refers to device
                     27: FTEXT  equ     80H             ; file handle is in text mode
                     28: 
                     29: 
                     30: callos MACRO   func
                     31: ifnb   <func>
                     32:        mov     ah,DOS_&func
                     33: endif
                     34:        int     DOS
                     35:        ENDM
                     36: 
                     37: 
                     38: DOS    equ     21H             ; MS-DOS interrupt
                     39: 
                     40: DOS_exit equ   00000H          ; exit offset           (PSP:0000)
                     41: DOS_maxpara equ        00002H          ; maximum paragraph     (PSP:0002)
                     42: DOS_envp equ   0002cH          ; environment address   (PSP:002c)
                     43: DOS_cmdline equ        00080H          ; command line offset   (PSP:0080)
                     44: 
                     45: DOS_kill       equ     00H             ; terminate
                     46: DOS_echoread   equ     01H             ; read keyboard and echo
                     47: DOS_display    equ     02H             ; display character
                     48: DOS_auxinput   equ     03H             ; auxiliary input
                     49: DOS_auxoutput  equ     04H             ; auxiliary output
                     50: DOS_print      equ     05H             ; print character
                     51: DOS_conio      equ     06H             ; direct console i/o
                     52: DOS_coninput   equ     07H             ; direct console input
                     53: DOS_readkbd    equ     08H             ; read keyboard
                     54: DOS_message    equ     09H             ; display string
                     55: DOS_bufkbdin   equ     0aH             ; buffered keyboard input
                     56: DOS_kbdstatus  equ     0bH             ; check keyboard status
                     57: DOS_flshread   equ     0cH             ; flush buffer and read keyboard
                     58: DOS_diskreset  equ     0dH             ; disk reset
                     59: DOS_selectdisk equ     0eH             ; select default disk
                     60: DOS_fcbopen    equ     0fH             ; open file with fcb
                     61: DOS_fcbclose   equ     10H             ; close file with fcb
                     62: DOS_fcbfirst   equ     11H             ; search for first entry with fcb
                     63: DOS_fcbnext    equ     12H             ; search for next entry with fcb
                     64: DOS_fcbdelete  equ     13H             ; delete file with fcb
                     65: DOS_fcbsread   equ     14H             ; sequential read with fcb
                     66: DOS_fcbswrite  equ     15H             ; sequential write with fcb
                     67: DOS_fcbcreate  equ     16H             ; create file with fcb
                     68: DOS_fcbrename  equ     17H             ; rename file with fcb
                     69: DOS_currentd   equ     19H             ; current default disk
                     70: DOS_setDMA     equ     1aH             ; set DMA
                     71: DOS_fcbrread   equ     21H             ; random read with fcb
                     72: DOS_fcbrwrite  equ     22H             ; random write with fcb
                     73: DOS_fcbsize    equ     23H             ; file size with fcb
                     74: DOS_fcbsetrec  equ     24H             ; set relative record with fcb
                     75: DOS_setvector  equ     25H             ; set interrupt vector
                     76: DOS_fcbbread   equ     27H             ; random block read with fcb
                     77: DOS_fcbbwrite  equ     28H             ; random block write with fcb
                     78: DOS_fcbparse   equ     29H             ; parse file name with fcb
                     79: DOS_getdate    equ     2aH             ; get date
                     80: DOS_setdate    equ     2bH             ; set date
                     81: DOS_gettime    equ     2cH             ; get time
                     82: DOS_settime    equ     2dH             ; set time
                     83: DOS_verify     equ     2eH             ; set/reset verify flag
                     84: DOS_getDMA     equ     2fH             ; get DMA
                     85: DOS_version    equ     30H             ; get version number
                     86: DOS_keep       equ     31H             ; keep process
                     87: DOS_cntlc      equ     33H             ; Cntl-C check
                     88: DOS_getvector  equ     35H             ; get interrupt vector
                     89: DOS_getdskspc  equ     36H             ; get disk free space
                     90: DOS_country    equ     38H             ; get country dependent info
                     91: DOS_mkdir      equ     39H             ; make subdirectory
                     92: DOS_rmdir      equ     3aH             ; remove subdirectory
                     93: DOS_chdir      equ     3bH             ; change subdirectory
                     94: DOS_create     equ     3cH             ; create pathname
                     95: DOS_open       equ     3dH             ; open pathname
                     96: DOS_close      equ     3eH             ; close file handle
                     97: DOS_read       equ     3fH             ; read from file handle
                     98: DOS_write      equ     40H             ; write from file handle
                     99: DOS_delete     equ     41H             ; delete pathname
                    100: DOS_lseek      equ     42H             ; move file pointer
                    101: DOS_filemode   equ     43H             ; get/set attributes of pathname
                    102: DOS_ioctl      equ     44H             ; ioctl for devices
                    103: DOS_dup                equ     45H             ; duplicate file handle
                    104: DOS_forcedup   equ     46H             ; force duplicate file handle
                    105: DOS_curdir     equ     47H             ; get current directory
                    106: DOS_allocmem   equ     48H             ; allocate memory block
                    107: DOS_freemem    equ     49H             ; free memory block
                    108: DOS_setmem     equ     4aH             ; set size of memory block
                    109: DOS_exec       equ     4bH             ; load and execute program
                    110: DOS_terminate  equ     4cH             ; terminate process with errorcode
                    111: DOS_wait       equ     4dH             ; get child process return code
                    112: DOS_findfirst  equ     4eH             ; find first file match
                    113: DOS_findnext   equ     4fH             ; find next file match
                    114: DOS_getverify  equ     54H             ; return current verify flag
                    115: DOS_rename     equ     56H             ; rename pathname
                    116: DOS_filedate   equ     57H             ; get/set file handle date/time
                    117: DOS_createnew  equ     5BH             ; create new file
                    118: DOS_locking    equ     5CH             ; file record locking/unlocking
                    119: DOS_sleep      equ     89H             ; delay process execution
                    120: 
                    121: 
                    122: ;      DOS error codes
                    123: 
                    124: doserr MACRO   num,name,text
                    125: name   equ     num
                    126:        ENDM
                    127: 
                    128: doserr 1,      E_ifunc,        <invalid function code>
                    129: doserr 2,      E_nofile,       <file not found>
                    130: doserr 3,      E_nopath,       <path not found>
                    131: doserr 4,      E_toomany,      <too many open files>
                    132: doserr 5,      E_access,       <access denied>
                    133: doserr 6,      E_ihandle,      <invalid handle>
                    134: doserr 7,      E_arena,        <arena trashed>
                    135: doserr 8,      E_nomem,        <not enough memory>
                    136: doserr 9,      E_iblock,       <invalid block>
                    137: doserr 10,     E_badenv,       <bad environment>
                    138: doserr 11,     E_badfmt,       <bad format>
                    139: doserr 12,     E_iaccess,      <invalid access code>
                    140: doserr 13,     E_idata,        <invalid data>
                    141: doserr 14,     E_unknown,      <??? unknown error ???>
                    142: doserr 15,     E_idrive,       <invalid drive>
                    143: doserr 16,     E_curdir,       <current directory>
                    144: doserr 17,     E_difdev,       <not same device>
                    145: doserr 18,     E_nomore,       <no more files>
                    146: doserr 19,     E_maxerr2,      <unknown error - Version 2.0>
                    147: 
                    148: ; the following errors can occur only in DOS 3.0
                    149: 
                    150: doserr 32,     E_sharerr,      <sharing violation>
                    151: doserr 33,     E_lockerr,      <locking violation>
                    152: doserr 34,     E_maxerr3,      <unknown error - Version 3.0>
                    153: 
                    154: 
                    155: ;      DOS file attributes
                    156: 
                    157: A_ro   equ     01H             ; read-only file
                    158: A_h    equ     02H             ; hidden
                    159: A_s    equ     04H             ; system
                    160: A_v    equ     08H             ; volume ID
                    161: A_d    equ     10H             ; directory
                    162: A_a    equ     20H             ; archive
                    163: 
                    164: A_mod  equ     A_ro+A_h+A_s+A_a ; modifiable attributes
                    165: 
                    166: ;      OS/2 file creation bits
                    167: 
                    168: F_CREATFLAG equ 10h
                    169: F_OPENFLAG equ 01h
                    170: F_TRUNCFLAG equ 02H
                    171: 
                    172: ;      OS/2 device mask
                    173: 
                    174: IS_DEV equ 1
                    175: IS_PIPE equ 2
                    176: 
                    177: ;      end of msdos.inc
                    178: ;-----------------------------------------------------------------------

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.