diff options
Diffstat (limited to 'v4.0/src/CMD/XCOPY/DOS.EQU')
| -rw-r--r-- | v4.0/src/CMD/XCOPY/DOS.EQU | 365 |
1 files changed, 365 insertions, 0 deletions
diff --git a/v4.0/src/CMD/XCOPY/DOS.EQU b/v4.0/src/CMD/XCOPY/DOS.EQU new file mode 100644 index 0000000..dcacee7 --- /dev/null +++ b/v4.0/src/CMD/XCOPY/DOS.EQU | |||
| @@ -0,0 +1,365 @@ | |||
| 1 | |||
| 2 | ; | ||
| 3 | ;****************************************************************************** | ||
| 4 | ; DOS Interrupts | ||
| 5 | ; | ||
| 6 | ; REVISION HISTORY: | ||
| 7 | ; | ||
| 8 | ; PTM P00 - WAIT & LOCK to WAITP & LOCKF for MASM errors. DRM 4/23/87 | ||
| 9 | ; | ||
| 10 | ; A000 Version 4.00: add PARSER, System Message Handler, | ||
| 11 | ; Remove the BELL char.,turn off APPEND during TREE | ||
| 12 | ; search,Extended Attribute processing, Uppercasing | ||
| 13 | ; and "Out Of Space" during write to standard out. | ||
| 14 | ; A005 DCR0201 9/11/87 Incorperate new format for EXTENDED | ||
| 15 | ; ATTRIBUTES. | ||
| 16 | ; | ||
| 17 | ;****************************************************************************** | ||
| 18 | ; | ||
| 19 | |||
| 20 | Terminate equ 20h | ||
| 21 | DOS_Function equ 21h | ||
| 22 | Terminate_Address equ 22h | ||
| 23 | CNTRL_BREAK equ 23h | ||
| 24 | Critical_Error equ 24h | ||
| 25 | Disk_Read equ 25h | ||
| 26 | Disk_Write equ 26h | ||
| 27 | Terminate_Stay_Resident equ 27h | ||
| 28 | Printer equ 2Fh | ||
| 29 | CHK_APPEND EQU 0B700H ;AN000; CHECK IF APPEND ACTIVE INT 2FH | ||
| 30 | GET_APPEND EQU 0B706H ;AN000; Read /X status with INT 2FH | ||
| 31 | ; BX = 0 if /X is not active | ||
| 32 | ; BX = 1 if /X is active | ||
| 33 | SET_APPEND EQU 0B707H ;AN000; Set /X status with INT 2FH | ||
| 34 | VER_APPEND EQU 0B702H ;AN019; ASK IF DOS VERSION OF APPEND | ||
| 35 | EXT_OPEN EQU 6C00H ;AN000; Extended Open function code | ||
| 36 | CREATE_FLAG EQU 0112H ;AN005;FUNCTION CONTROL | ||
| 37 | CREATE_ATTR EQU 0 ;AN000;SEARCH/CREATE ATTRIBUTE | ||
| 38 | CREATE_MODE EQU 0002H ;AC021;CREATE MODE | ||
| 39 | OPN_FLAG EQU 0101H ;AN000;OPEN FUNCTION CONTROL | ||
| 40 | OPN_ATTR EQU 0 ;AN000;OPEN ATTRIBUTE | ||
| 41 | OPN_MODE EQU 0000H ;AN000;OPEN MODE (READ) | ||
| 42 | NUL_LIST EQU -1 ;AN005;JUST TO OPEN | ||
| 43 | |||
| 44 | GET_ATTRIB EQU 05702H ;AN000; Get ext. attribute by handle | ||
| 45 | INT_ORDINAL EQU 0 ;AN000;ATTRIBUTE LIST ORDINAL = 0 | ||
| 46 | ALL_ATTR EQU -1 ;AN005;TO SELECT ALL THE ATTRIBUTES | ||
| 47 | SET_ATTRIB EQU 05704H ;AN012; Set ext. attribute by handle | ||
| 48 | ; | ||
| 49 | ;****************************************************************************** | ||
| 50 | ; DOS Function Calls | ||
| 51 | ;****************************************************************************** | ||
| 52 | ; | ||
| 53 | |||
| 54 | Program_Terminate equ 00h | ||
| 55 | Keyboard_Input equ 01h | ||
| 56 | Display_Output equ 02h | ||
| 57 | Auxiliary_Input equ 03h | ||
| 58 | Auxiliary_Output equ 04h | ||
| 59 | Printer_Output equ 05h | ||
| 60 | Direct_Console_IO equ 06h | ||
| 61 | Direct_Input_No_Echo equ 07h | ||
| 62 | Console_Input_No_Echo equ 08h | ||
| 63 | Print_String equ 09h | ||
| 64 | Buffered_Keyboard_Input equ 0Ah | ||
| 65 | Check_Std_Input_Status equ 0Bh | ||
| 66 | Clear_Keyboard_Buffer equ 0Ch | ||
| 67 | Disk_Reset equ 0Dh | ||
| 68 | Select_Disk equ 0Eh | ||
| 69 | FCB_Open equ 0Fh | ||
| 70 | FCB_Close equ 10h | ||
| 71 | Search_First equ 11h | ||
| 72 | Search_Next equ 12h | ||
| 73 | FCB_Delete equ 13h | ||
| 74 | Sequential_Read equ 14h | ||
| 75 | Sequential_Write equ 15h | ||
| 76 | FCB_Create equ 16h | ||
| 77 | FCB_Rename equ 17h | ||
| 78 | Current_Disk equ 19h | ||
| 79 | Set_DTA equ 1Ah | ||
| 80 | Allocation_Info equ 1Bh | ||
| 81 | Allocation_Info_Device equ 1Ch | ||
| 82 | Random_Read equ 21h | ||
| 83 | Random_Write equ 22h | ||
| 84 | File_Size equ 23h | ||
| 85 | Set_Relative_Record equ 24h | ||
| 86 | Set_Interrupt_Vector equ 25h | ||
| 87 | Create_New_PSP equ 26h | ||
| 88 | Random_Block_Read equ 27h | ||
| 89 | Random_Block_Write equ 28h | ||
| 90 | Parse_Filename equ 29h | ||
| 91 | Get_Date equ 2Ah | ||
| 92 | Set_Date equ 2Bh | ||
| 93 | Get_Time equ 2Ch | ||
| 94 | Set_Time equ 2Dh | ||
| 95 | Verify equ 2Eh | ||
| 96 | Verify_Off equ 02h | ||
| 97 | Verify_On equ 01h | ||
| 98 | Set_Verify_On equ 2E01h | ||
| 99 | Get_DTA equ 2Fh | ||
| 100 | DOS_Version equ 30h | ||
| 101 | Terminate_Resident equ 31h | ||
| 102 | Get_Interrupt_Vector equ 35h | ||
| 103 | Get_Disk_Free_Space equ 36h | ||
| 104 | Country_Code equ 38h | ||
| 105 | Mkdir equ 39h | ||
| 106 | Rmdir equ 3Ah | ||
| 107 | Chdir equ 3Bh | ||
| 108 | Create equ 3Ch | ||
| 109 | Open equ 3Dh | ||
| 110 | Read_Only equ 00h | ||
| 111 | Write_Only equ 01h | ||
| 112 | Read_Write equ 02h | ||
| 113 | Read_Only_Exclusive equ 10h | ||
| 114 | Write_Only_Exclusive equ 11h | ||
| 115 | Read_Write_Exclusive equ 12h | ||
| 116 | Read_Only_Deny_Write equ 20h | ||
| 117 | Write_Only_Deny_Write equ 21h | ||
| 118 | Read_Write_Deny_Write equ 22h | ||
| 119 | Read_Only_Deny_Read equ 30h | ||
| 120 | Write_Only_Deny_Read equ 31h | ||
| 121 | Read_Write_Deny_Read equ 32h | ||
| 122 | Read_Only_Deny_None equ 40h | ||
| 123 | Write_Only_Deny_None equ 41h | ||
| 124 | Read_Write_Deny_None equ 42h | ||
| 125 | Close equ 3Eh | ||
| 126 | Read equ 3Fh | ||
| 127 | Write equ 40h | ||
| 128 | Delete equ 41h | ||
| 129 | Lseek equ 42h | ||
| 130 | Lseek_Offset equ 00h | ||
| 131 | Lseek_Plus_Offset equ 01h | ||
| 132 | Lseek_End_Offset equ 02h | ||
| 133 | Chmod equ 43h | ||
| 134 | IOCTL equ 44h | ||
| 135 | Get_Device_Info equ 00h | ||
| 136 | Set_Device_Info equ 01h | ||
| 137 | Read_Channel equ 02h | ||
| 138 | Write_Channel equ 03h | ||
| 139 | Read_Drive_Channel equ 04h | ||
| 140 | Write_Drive_Channel equ 05h | ||
| 141 | Get_Input_Status equ 06h | ||
| 142 | Get_Output_Status equ 07h | ||
| 143 | Is_Removable equ 08h | ||
| 144 | Is_Block_Redirected equ 09h | ||
| 145 | Is_Handle_Redirected equ 0Ah | ||
| 146 | Set_Retry_Count equ 0Bh | ||
| 147 | Dup_Handle equ 45h | ||
| 148 | Force_Dup_Handle equ 46h | ||
| 149 | Get_Current_Directory equ 47h | ||
| 150 | Allocate_Memory equ 48h | ||
| 151 | Free_Memory equ 49h | ||
| 152 | Setblock equ 4Ah | ||
| 153 | Exec equ 4Bh | ||
| 154 | Exit equ 4Ch | ||
| 155 | Waitp equ 4Dh | ||
| 156 | Find_First equ 4Eh | ||
| 157 | norm_attr equ 00h | ||
| 158 | incl_read_attr equ 01h | ||
| 159 | incl_h_attr equ 02h | ||
| 160 | incl_h_s_attr equ 06h | ||
| 161 | incl_h_s_dir_attr equ 16h | ||
| 162 | Find_Next equ 4Fh | ||
| 163 | Get_Verify_Setting equ 54h | ||
| 164 | Rename equ 56h | ||
| 165 | File_Date_Time equ 57h | ||
| 166 | Get_File_Time equ 00h | ||
| 167 | Set_File_Time equ 01h | ||
| 168 | Get_Extended_Error equ 59h | ||
| 169 | Create_Temp equ 5Ah | ||
| 170 | Create_New equ 5Bh | ||
| 171 | File_Access equ 5Ch | ||
| 172 | Lockf equ 00h | ||
| 173 | Unlock equ 01h | ||
| 174 | Get_PSP equ 62h | ||
| 175 | Upper_Case_String equ 6521h ;AN000;GET EXTENDED COUNTRY INFORMATION | ||
| 176 | ; | ||
| 177 | ;****************************************************************************** | ||
| 178 | ; DOS File Handles | ||
| 179 | ;****************************************************************************** | ||
| 180 | ; | ||
| 181 | |||
| 182 | STDIN equ 00h | ||
| 183 | STDOUT equ 01h | ||
| 184 | STDERR equ 02h | ||
| 185 | STDAUX equ 03h | ||
| 186 | STDPRN equ 04h | ||
| 187 | |||
| 188 | |||
| 189 | ; | ||
| 190 | ;****************************************************************************** | ||
| 191 | ; File's attributes in a Directory entry | ||
| 192 | ;****************************************************************************** | ||
| 193 | ; | ||
| 194 | read_only_file equ 01h | ||
| 195 | hidden_file equ 02h | ||
| 196 | system_file equ 04h | ||
| 197 | has_volume_label equ 08h | ||
| 198 | is_subdirectory equ 10h | ||
| 199 | archive_on equ 20h | ||
| 200 | |||
| 201 | ; | ||
| 202 | ;****************************************************************************** | ||
| 203 | ; Return Codes | ||
| 204 | ;****************************************************************************** | ||
| 205 | ; | ||
| 206 | |||
| 207 | Errorlevel_0 equ 0 | ||
| 208 | Errorlevel_1 equ 1 | ||
| 209 | Errorlevel_2 equ 2 | ||
| 210 | Errorlevel_3 equ 3 | ||
| 211 | Errorlevel_4 equ 4 | ||
| 212 | Errorlevel_5 equ 5 | ||
| 213 | Errorlevel_6 equ 6 | ||
| 214 | Errorlevel_7 equ 7 | ||
| 215 | Errorlevel_8 equ 8 | ||
| 216 | |||
| 217 | ; | ||
| 218 | ;****************************************************************************** | ||
| 219 | ; Extended Error Codes | ||
| 220 | ;****************************************************************************** | ||
| 221 | ; | ||
| 222 | |||
| 223 | Error_No_Error equ 00 | ||
| 224 | Error_Invalid_Function equ 01 | ||
| 225 | Error_File_Not_Found equ 02 | ||
| 226 | Error_Path_Not_Found equ 03 | ||
| 227 | Error_No_Handles_Left equ 04 | ||
| 228 | Error_Access_Denied equ 05 | ||
| 229 | Error_Invalid_Handle equ 06 | ||
| 230 | Error_Memory_Blocks_Bad equ 07 | ||
| 231 | Error_Insufficient_Memory equ 08 | ||
| 232 | Error_Inv_Address equ 09 | ||
| 233 | Error_Inv_Environment equ 10 | ||
| 234 | Error_Inv_Format equ 11 | ||
| 235 | Error_Inv_Access_Code equ 12 | ||
| 236 | Error_Inv_Data equ 13 | ||
| 237 | Error_Inv_Drive equ 15 | ||
| 238 | Error_Rmdir_Current_Dir equ 16 | ||
| 239 | Error_Not_Same_Device equ 17 | ||
| 240 | Error_No_More_Files equ 18 | ||
| 241 | Error_Write_Protect equ 19 | ||
| 242 | Error_Unknown_Unit equ 20 | ||
| 243 | Error_Drive_Not_Ready equ 21 | ||
| 244 | Error_Unknown_Command equ 22 | ||
| 245 | Error_Data_Error equ 23 | ||
| 246 | Error_Bad_Request_Len equ 24 | ||
| 247 | Error_Seek_Error equ 25 | ||
| 248 | Error_Unknown_Media_Type equ 26 | ||
| 249 | Error_Sector_Not_Found equ 27 | ||
| 250 | Error_Out_Of_Paper equ 28 | ||
| 251 | Error_Write_Fault equ 29 | ||
| 252 | Error_Read_Fault equ 30 | ||
| 253 | Error_Gerneral_Failure equ 31 | ||
| 254 | Error_Sharing_Violation equ 32 | ||
| 255 | Error_Lock_Violation equ 33 | ||
| 256 | Error_Inv_Disk_Change equ 34 | ||
| 257 | Error_FCB_Unavailable equ 35 | ||
| 258 | Error_File_Exists equ 80 | ||
| 259 | Error_Cannot_Make equ 82 | ||
| 260 | Error_Fail_On_Int24 equ 83 | ||
| 261 | |||
| 262 | ; | ||
| 263 | ;****************************************************************************** | ||
| 264 | ; Extended Error Classes | ||
| 265 | ;****************************************************************************** | ||
| 266 | ; | ||
| 267 | |||
| 268 | Out_Of_Resource equ 1 | ||
| 269 | Temporary equ 2 | ||
| 270 | Authorization equ 3 | ||
| 271 | Internal equ 4 | ||
| 272 | Hardware_Failure equ 5 | ||
| 273 | System_Failure equ 6 | ||
| 274 | Program_Error equ 7 | ||
| 275 | Not_Found equ 8 | ||
| 276 | Bad_Format equ 9 | ||
| 277 | Locked equ 10 | ||
| 278 | Media equ 11 | ||
| 279 | Already_Exists equ 12 | ||
| 280 | Unknown equ 13 | ||
| 281 | |||
| 282 | ; | ||
| 283 | ;***************************************************************************** | ||
| 284 | ; Extended Error Actions | ||
| 285 | ;***************************************************************************** | ||
| 286 | ; | ||
| 287 | |||
| 288 | Retry equ 1 | ||
| 289 | Delay_Retry equ 2 | ||
| 290 | User equ 3 | ||
| 291 | Abort equ 4 | ||
| 292 | Immediate_Exit equ 5 | ||
| 293 | Ignore equ 6 | ||
| 294 | Retry_After_User equ 7 | ||
| 295 | |||
| 296 | ; | ||
| 297 | ;****************************************************************************** | ||
| 298 | ; Extended Error Locus | ||
| 299 | ;****************************************************************************** | ||
| 300 | ; | ||
| 301 | |||
| 302 | Non_Specific equ 1 | ||
| 303 | Block_Device equ 2 | ||
| 304 | Serial_Device equ 4 | ||
| 305 | Memory equ 5 | ||
| 306 | |||
| 307 | ; | ||
| 308 | ;****************************************************************************** | ||
| 309 | ; Internal Program Initialization Errors | ||
| 310 | ;****************************************************************************** | ||
| 311 | ; | ||
| 312 | |||
| 313 | Init_Err_DOS_Ver_1 equ 1 ;Bad DOS version prior to 2.0 | ||
| 314 | Init_Err_DOS_Ver_2 equ 2 ;Bad DOS version 2.0 or above | ||
| 315 | Init_Err_Inv_Drive equ 3 ;Invalid drive specification | ||
| 316 | Init_Err_Inv_Parm equ 4 ;Invalid parameter | ||
| 317 | Init_Err_Inv_Num_Parm equ 5 ;Invalid number of parameters | ||
| 318 | Init_Err_Inv_Path equ 6 ;Invalid path | ||
| 319 | Init_Err_Insuff_Mem equ 7 ;Insufficient memory | ||
| 320 | Init_Err_Inv_Date equ 8 ;Invalid date | ||
| 321 | Init_Err_Inv_Time equ 9 ;Invalid time | ||
| 322 | Init_Err_Inv_Device equ 10 ;Invalid device name | ||
| 323 | Init_Err_Ill_Device equ 11 ;Illegal device name | ||
| 324 | Init_Err_Inv_Filename equ 12 ;Invalid filename | ||
| 325 | |||
| 326 | ; | ||
| 327 | ;****************************************************************************** | ||
| 328 | ; FCB Structure | ||
| 329 | ;****************************************************************************** | ||
| 330 | ; | ||
| 331 | |||
| 332 | FCB STRUC | ||
| 333 | Drive_Number db 0 | ||
| 334 | Filename_FCB db 8 dup(0) | ||
| 335 | Extension db 3 dup(0) | ||
| 336 | Current_Block dw 0 | ||
| 337 | Record_Size dw 0 | ||
| 338 | File_Size_Low_FCB dw 0 | ||
| 339 | File_Size_High_FCB dw 0 | ||
| 340 | File_Date_Time_FCB dw 0 | ||
| 341 | Reserved_FCB db 10 dup(0) | ||
| 342 | Current_Record db 0 | ||
| 343 | Relative_Record_Low dw 0 | ||
| 344 | Relative_Record_High dw 0 | ||
| 345 | FCB ENDS | ||
| 346 | |||
| 347 | |||
| 348 | ; | ||
| 349 | ;****************************************************************************** | ||
| 350 | ; Find First/Next DTA area | ||
| 351 | ;****************************************************************************** | ||
| 352 | ; | ||
| 353 | |||
| 354 | Find_DTA STRUC | ||
| 355 | DTA_Reserved db 21 dup(0) | ||
| 356 | DTA_Attribute db 0 | ||
| 357 | DTA_File_Time dw 0 | ||
| 358 | DTA_File_Date dw 0 | ||
| 359 | DTA_File_Size_Low dw 0 | ||
| 360 | DTA_File_Size_High dw 0 | ||
| 361 | DTA_Filename db 13 dup(0) | ||
| 362 | Find_DTA ENDS | ||
| 363 | |||
| 364 | |||
| 365 | |||