]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/INC/CURDIR.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / INC / CURDIR.INC
1 ; SCCSID = @(#)curdir.asm 1.1 85/04/10
2 ; SCCSID = @(#)curdir.asm 1.1 85/04/10
3 BREAK <Current directory list structure>
4 ;----+----+----+----+----+----+----+----+----+----+----+----+----+----+----;
5 ; C A V E A T P R O G R A M M E R ;
6 ; ;
7 ; CDS items are used bu the internal routines to store cluster numbers and ;
8 ; network identifiers for each logical name. The ID field is used dually, ;
9 ; both as net ID and for a cluster number for local devices. In the case ;
10 ; of local devices, the cluster number will be -1 if there is a potential ;
11 ; of the disk being changed or if the path must be recracked. The END ;
12 ; field is the location of the end of the definition. No .. is allowed ;
13 ; past this point ;
14
15 DIRSTRLEN EQU 64+3 ; Max length in bytes of directory strings
16 TEMPLEN EQU DIRSTRLEN*2
17
18 curdir_list STRUC
19 curdir_text DB DIRSTRLEN DUP (?) ; text of assignment and curdir
20 curdir_flags DW ? ; various flags
21 curdir_devptr DD ? ; local pointer to DPB or net device
22 curdir_ID DW ? ; cluster of current dir (net ID)
23 DW ?
24 curdir_user_word DW ?
25 curdir_end DW ? ; end of assignment
26 curdir_type DB ? ; IFS drive (2=ifs, 4=netuse)
27 curdir_ifs_hdr DD ? ; Ptr to File System Header
28 curdir_fsda DB 2 DUP (?) ; File System Dependent Data Area
29 curdir_list ENDS
30
31 curdirLen EQU Size curdir_list ; Needed for screwed up
32 ; ASM87 which doesn't allow
33 ; Size directive as a macro
34 ; argument
35 curdir_netID EQU DWORD PTR curdir_ID
36
37 ;Flag word masks
38 curdir_isnet EQU 1000000000000000B
39 curdir_isifs EQU 1000000000000000B ; DOS 4.00
40 curdir_inuse EQU 0100000000000000B
41 curdir_splice EQU 0010000000000000B
42 curdir_local EQU 0001000000000000B
43 ; ;
44 ; C A V E A T P R O G R A M M E R ;
45 ;----+----+----+----+----+----+----+----+----+----+----+----+----+----+----;