diff options
Diffstat (limited to 'v4.0/src/CMD/COMP/COMPEQ.INC')
| -rw-r--r-- | v4.0/src/CMD/COMP/COMPEQ.INC | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/v4.0/src/CMD/COMP/COMPEQ.INC b/v4.0/src/CMD/COMP/COMPEQ.INC new file mode 100644 index 0000000..5272927 --- /dev/null +++ b/v4.0/src/CMD/COMP/COMPEQ.INC | |||
| @@ -0,0 +1,184 @@ | |||
| 1 | ;***************************************************************************** | ||
| 2 | ; | ||
| 3 | ; MODULE: compeq.inc | ||
| 4 | ; | ||
| 5 | ; Modification History: | ||
| 6 | ; | ||
| 7 | ; version author date comment | ||
| 8 | ; ------- ------ ---- ------- | ||
| 9 | ; V4.0 Bill L. 9/17/87 moved equates from comp2.sal to here! | ||
| 10 | ; | ||
| 11 | ;***************************************************************************** | ||
| 12 | if1 ;AN000; | ||
| 13 | %OUT INCLUDING COMPEQ.INC... ;AN000; | ||
| 14 | endif ;AN000; | ||
| 15 | |||
| 16 | EAISBINARY equ 02h ;extended attribute is a binary integer ;AN001; | ||
| 17 | EASYSTEM equ 8000h ;extended attr. is system defined ;AN001; | ||
| 18 | |||
| 19 | VERSION EQU 00H ;DOS VERSION, =00H (NOT USED) ;AN000; | ||
| 20 | NUL EQU 00H ;END OF STRING (ASCIIZ) MARKER ;AN000; | ||
| 21 | ONE_PARM EQU 01H ;ONLY PARSE ONE PARAMETER ;AN000; | ||
| 22 | ZERO_PARM_CT EQU 00H ;ORDINAL # BEFORE PARSING FIRST PARM. ;AN000; | ||
| 23 | FIRST_PARM_CT EQU 01H ;ORDINAL # AFTER PARSING FIRST PARM. ;AN000; | ||
| 24 | TRICK_PARM_CT EQU 02H ;TRICK PARSER SO THAT FILENAME GOES TO PATH2 ;AN000; | ||
| 25 | ;INSTEAD OF PATH1 ;AN000; | ||
| 26 | YES EQU 01H ;A VALID YES RESPONSE EQUALS 1 ;AN000; | ||
| 27 | KEYB_INP_CLR EQU 0C1H ; does an INT 21H fuction 0CH, 01H ;AN000; | ||
| 28 | KEYB_INPUT EQU 0FFH ;DO A READ ON CLEAR KEYBOARD ;AN000; | ||
| 29 | INPUT_LEN EQU 127 ;LENGTH OF INPUT BUFFER ON BUFFERED INPUT ;AN000; | ||
| 30 | KEYIN EQU 01H ;WAIT FOR KEYBOARD INPUT TO AL ;AN000; | ||
| 31 | DISP_OUT EQU 02H ;DL = CHAR TO BE DISPLAYED TO STD OUT ;AN000; | ||
| 32 | DIRECT_IO EQU 06H ;DUMBY CALL, USED IN CLEARING KEYBOARD ;AN000; | ||
| 33 | BUFFD_KEYBD EQU 0AH ;BUFFERED KEYBOARD INPUT TO DX ;AN000; | ||
| 34 | IN_STAT EQU 0BH ;check keyboard status ;AC210; | ||
| 35 | CLEAR_KEYBD EQU 0CH ;CLEAR KEYB, DO KEYB FUNC IN AL ;AN000; | ||
| 36 | FCBOpen equ 0FH ;fcb open ;AN000; | ||
| 37 | FCBCLOSE EQU 10H ;FCB CLOSE FILE ;AN000; | ||
| 38 | SearchF equ 11H ;FCB Search function call ;AN000; | ||
| 39 | SEARCHN EQU 12H ;FCB SEARCH NEXT ;AN000; | ||
| 40 | SetDTA equ 1AH ;Set DTA ;AN000; | ||
| 41 | DEFDRV equ 19H ;get default drive ;AN000; | ||
| 42 | YESNO_CHECK EQU 23H ;CHECK (Y/N) RESPONSE ON INPUT (EXTENDED COUNTRY INFO) ;AN000; | ||
| 43 | SETVECTOR equ 25H ;set interrupt vector in AL to DS:DX ;AN000; | ||
| 44 | FCBRndBlkRead equ 27H ;Read function call ;AN000; | ||
| 45 | PARSE_FILENAME EQU 29H ;PARSE FILENAME ;AN000; | ||
| 46 | GETVER equ 30H ;get dos version ;AN000; | ||
| 47 | CHDIR equ 3BH ;CHDIR function call ;AN000; | ||
| 48 | HandleOpen equ 3DH ;Handle open function call ;AN000; | ||
| 49 | HANDLECLOSE EQU 3EH ;HANDLE CLOSE FUNCTION CALL ;AN000; | ||
| 50 | Write equ 40H ;Write function call ;AN000; | ||
| 51 | CURDIR equ 47H ;get current directory for drive in [dl] ;AN000; | ||
| 52 | RET_FN EQU 4CH ;"RETURN TO DOS" NOT REMAIN RESIDENT ;AN000; | ||
| 53 | GET_EXT_CNTRY_INFO EQU 65H ;EXTENED COUNTRY INFO DOS CALL ;AN000; | ||
| 54 | |||
| 55 | STDOUT equ 0001H ;Standard output device ;AN000; | ||
| 56 | STDERR equ 0002H ;Standard error device ;AN000; | ||
| 57 | |||
| 58 | ReadOnlyAccess equ 00H ;Access code for Handle Open function call ;AN000; | ||
| 59 | |||
| 60 | CPSW_CHECK EQU 33H ;CODE PAGE SWITCHING CONTROL ;AN000; | ||
| 61 | GET_CPSW_STATE EQU 03H ;AL=3, GET STATE TO DL ;AN000; | ||
| 62 | SET_CPSW_STATE EQU 04H ;AL=4, SET STATE FROM DL ;AN000; | ||
| 63 | CPSW_OFF EQU 00H ; DL=0, OFF ;AN000; | ||
| 64 | CPSW_ON EQU 01H ; DL=1, ON ;AN000; | ||
| 65 | CPSW EQU 40H ;IN CPSW_ORIG: ON, CPSW=ON ;AN000; | ||
| 66 | ZERO_CP EQU 00H ; A ZERO CODE PAGE ;AN000; | ||
| 67 | |||
| 68 | ; EXTENDED OPEN EQUATES ; LOOK ;AN000; | ||
| 69 | NO_ATTR_LIST EQU 00H ;NO ATTRIBUTE LIST NEEDED || ;AN000; | ||
| 70 | OPEN_MODE EQU 82H ;OPEN MODE FOR EXTENDED OPEN || ;AN000; | ||
| 71 | FUNC_CNTRL EQU 0101H ;FUNCTION CONTROL FOR EXTENDED OPEN || ;AN000; | ||
| 72 | EXT_OPEN_RD EQU 00H ;READ MODE ON EXTENDED OPEN \/ ;AN000; | ||
| 73 | EXT_OPEN EQU 6CH ;EXTENDED OPEN ;AN000; | ||
| 74 | ;AL=FUNCTION CONTROL, IN FORMAT=CE ;AN000; | ||
| 75 | ; C=DOES NOT EXIST ACTION: ;AN000; | ||
| 76 | ; 0=FAIL, 1=CREATE ;AN000; | ||
| 77 | ; E=EXISTS ACTION ;AN000; | ||
| 78 | ; 0=FAIL, 1=OPEN, 2=REPLACE/OPEN ;AN000; | ||
| 79 | ;BX=OPEN MODE, FORMAT=0WF00000ISSS0AAA ;AN000; | ||
| 80 | ; AAA=ACCESS CODE: 0=READ, 1=WRITE ;AN000; | ||
| 81 | ; 2=READ/WRITE, 4=EXECUTE (UNDOC) ;AN000; | ||
| 82 | ; 7=FCB (UNDOC) ;AN000; | ||
| 83 | ; SSS=SHARING MODE: 0=COMPATIBILITY ;AN000; | ||
| 84 | ; 1=DENY READ/WRITE, 2=DENY WRITE ;AN000; | ||
| 85 | ; 2=DENY READ, 3=DENY NONE ;AN000; | ||
| 86 | ; I=0, PASS HANDLE TO CHILD, 1=NO INHERIT ;AN000; | ||
| 87 | ; F=0, INT 24H, 1=RETURN ERROR ;AN000; | ||
| 88 | ;ON THIS OPEN AND ANY IO TO THIS HANDLE ;AN000; | ||
| 89 | ; W=0, NO COMMIT, 1=AUTO-COMMIT ON WRITE ;AN000; | ||
| 90 | ;CX=SCARCH/CREATE ATTRIBUTE ;AN000; | ||
| 91 | ;DX=FUNCTION CONTROL, 0000000C NNNNEEEE ;AN000; | ||
| 92 | ; NNNN=DOES NOT EXIST ACTION: ;AN000; | ||
| 93 | ; 0=FAIL,1=CREATE ;AN000; | ||
| 94 | ; EEEE=DOES EXIST ACTION: ;AN000; | ||
| 95 | ; 0=FAIL,1=OPEN,2=REPLACE/OPEN ;AN000; | ||
| 96 | ; C=CODEPAGE ACTION: ;AN000; | ||
| 97 | ; 0=VALIDATE, 1=NO CHECK CODE PAGE ;AN000; | ||
| 98 | ;DS:SI=PARM LIST: ;AN000; | ||
| 99 | ; DD POINT TO NAME TO OPEN ;AN000; | ||
| 100 | ; DB NUMBER OF ADDITIONAL PARMS ;AN000; | ||
| 101 | ; DB 1 IO MODE ;AN000; | ||
| 102 | ; DB IOMODE ;AN000; | ||
| 103 | ; ???0H=UNSPECIFIED (DEFAULT) ;AN000; | ||
| 104 | ; ???1H=MAINLY SEQUENTIAL ;AN000; | ||
| 105 | ; ???2H=MAINLY RANDOM ;AN000; | ||
| 106 | ; ???3H=RANDOM WITH LOCALITY ;AN000; | ||
| 107 | ; ???=RESERVED (SET TO ZERO) ;AN000; | ||
| 108 | ;ES:DI=EXTENTED ATTR LIST ;AN000; | ||
| 109 | |||
| 110 | ;OUTPUT: CY SET ON ERROR ;AN000; | ||
| 111 | ; AX=HANDLE ;AN000; | ||
| 112 | ; CX=ACTION TAKEN: 1=FILE OPENED, ;AN000; | ||
| 113 | ; 2=FILE CREATED/OPENED, ;AN000; | ||
| 114 | ; 3=FILE REPLACED/OPENED ;AN000; | ||
| 115 | |||
| 116 | EXT_ATTR_LIST EQU 57H ;FUNCTION # : EXTENDED ATTR LIST ;AN000; | ||
| 117 | GET_EXT_ATTR_LIST EQU 02H ;SUB-FUNC. # : GET EXTENDED ATTR TO LIST ;AN000; | ||
| 118 | ;BX=HANDLE ;AN000; | ||
| 119 | ;ES:DI=LIST ;AN000; | ||
| 120 | ;CY SET IF ERROR ;AN000; | ||
| 121 | |||
| 122 | |||
| 123 | EXTERROR EQU 59H ;EXTENDED ERROR ;AN000; | ||
| 124 | ;BX = 40 VERSION NUMBER (FOR 3.40) ;AN000; | ||
| 125 | ;OUTPUT: ;AN000; | ||
| 126 | ;AX=EXTENDED ERROR ;AN000; | ||
| 127 | ;BH=ERROR CLASS ;AN000; | ||
| 128 | ;BL=SUGGESTED ACTION ;AN000; | ||
| 129 | ;CH=LOCUS ;AN000; | ||
| 130 | |||
| 131 | ; ERRORLEVEL RETURN CODES, PASSED IN "EXITFL" ;AN000; | ||
| 132 | EXOK EQU 0 ;NORMAL RETURN CODE, NO PROBLEM ;AN000; | ||
| 133 | EXCB EQU 1 ;CONTROL BREAK EXIT ;AN000; | ||
| 134 | EXVER EQU 1 ;BAD DOS VERSION OR OTHER ;AN000; | ||
| 135 | ; SYSLOADMSG DIFFICULTY ;AN000; | ||
| 136 | |||
| 137 | ; VALUES FOR THE MSG_DESC CONTROL BLOCK ;AN000; | ||
| 138 | NO_SUBS EQU 0 ;NO VARIABLE FIELDS IN MESSAGE ;AN000; | ||
| 139 | ONE_SUBS EQU 1 ;ONE VARIABLE FIELD IN MESSAGE ;AN000; | ||
| 140 | TWO_SUBS EQU 2 ;TWO VARIABLE FIELDS IN MESSAGE ;AN000; | ||
| 141 | THREE_SUBS EQU 3 ;THREE VARIABLE FIELDS IN MESSAGE ;AN000; | ||
| 142 | CLASS_1 EQU 1 ;CLASS 1 (DOS EXTENDED ERRORS) ;AN000; | ||
| 143 | CLASS_2 EQU 2 ;CLASS 2 (PARSE ERRORS) ;AN000; | ||
| 144 | CLASS_A EQU -1 ;CLASS A TYPE MESSAGE ;AN000; | ||
| 145 | |||
| 146 | ;***************************** ;AN000; | ||
| 147 | ; Message Retriever structures ;AN000; | ||
| 148 | ;***************************** ;AN000; | ||
| 149 | |||
| 150 | msg_desc struc ;AN000; | ||
| 151 | msg_num dw 0 ;MESSAGE NUMBER (TO AX) ;AN000; | ||
| 152 | msg_handle dw STDOUT ;HANDLE OF OUTPUT DEVICE (TO BX) ;AN000; | ||
| 153 | msg_sublist dw 0 ;POINTER TO SUBLIST (TO SI) ;AN000; | ||
| 154 | msg_count dw 0 ;SUBSTITUTION COUNT (TO CX) ;AN000; | ||
| 155 | msg_class dw CLASS_A shl 8 ;MESSAGE CLASS (IN HIGH BYTE, TO DH) ;AN000; | ||
| 156 | ;LOW BYTE HAS 0 (FUNCTION "NO INPUT", TO DL) ;AN000; | ||
| 157 | msg_input dw ? ;######EXTRA WORD - ONLY FOR MESSAGES WITH BUFFERED INPUT ;AN000; | ||
| 158 | ;######OTHERWISE THIS WORD IS NOT VALID AS PART OF THE STRUCT ;AN000; | ||
| 159 | ;POINTER TO INPUT BUFFER ;AN000; | ||
| 160 | msg_desc ends ;AN000; | ||
| 161 | |||
| 162 | MAX_0 equ 0 ;MAXIMUM WIDTH OF STRING FIELD (0=NO LIMIT) ;AN000; | ||
| 163 | PAD_BLK equ " " ;CHAR FOR PAD FIELD ;AN000; | ||
| 164 | |||
| 165 | |||
| 166 | sublist struc ;AN000; | ||
| 167 | sub_size db 11 ;SUBLIST SIZE (POINTER TO NEXT SUBLIST) ;AN000; | ||
| 168 | sub_res db 0 ;RESERVED ;AN000; | ||
| 169 | ;NEXT FIELD IS TO BE USED AS A DOUBLE WORD ;AN000; | ||
| 170 | sub_value dw 0 ;TIME, DATE, OR PTR TO DATA ITEM ;AN000; | ||
| 171 | sub_value_seg dw 0 ;SEG ID OF PTR ;AN000; | ||
| 172 | ;(ABOVE FIELD MUST BE FILLED AT EXECUTION TIME ;AN000; | ||
| 173 | ; IF THIS IS A .COM FILE) ;AN000; | ||
| 174 | sub_id db 0 ;N OF %N ;AN000; | ||
| 175 | sub_flags db 0 ;DATA TYPE FLAGS ;AN000; | ||
| 176 | sub_max_width db MAX_0 ;MAXIMUM FIELD WIDTH (0=UNLIMITED) ;AN000; | ||
| 177 | sub_min_width db 0 ;MINIMUM FIELD WIDTH ;AN000; | ||
| 178 | sub_pad_char db PAD_BLK ;CHARACTER FOR PAD FIELD ;AN000; | ||
| 179 | ; CAN BE " ", "0" OR ",". ;AN000; | ||
| 180 | ; "," CAUSES INSERTION OF THE ACTIVE ;AN000; | ||
| 181 | ; THOUSANDS SEPARATOR BETWEEN EVERY 3 DIGITS. ;AN000; | ||
| 182 | sublist ends ;AN000; | ||
| 183 | |||
| 184 | ;end of COMPEQ.INC ;AN000; | ||