]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/XCOPY/DOS.EQU

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / XCOPY / DOS.EQU
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