BREAK <Current directory list structure>
 
PMPATHLEN	EQU	(257  + 3 )   
RMPATHLEN	EQU	PMPATHLEN   
MAXPATHLEN	EQU	PMPATHLEN
MAXCOMPLEN	EQU	255          
IF (RMPATHLEN NE PMPATHLEN)
    %out ERROR - RMPATHLEN is not equal to PMPATHLEN
    .ERR
ENDIF

PMDIRSTRLEN	EQU	PMPATHLEN   
RMDIRSTRLEN	EQU	(64 +3 )      
INT21_47_SUCCESS	EQU	0100H   
NUMDRIVE	EQU	26           
SPECCDDWORKAREASIZE	EQU	8       
CDDWORKAREASIZE	EQU	8       
.errnz  (not (CDDWORKAREASIZE ge SPECCDDWORKAREASIZE))
 

cdfsi	STRUC
cdi_hVPB	DW	?
cdi_end	DW	?
cdi_flags	DB	?
cdi_text	DB	PMDIRSTRLEN DUP (?)
cdfsi	ENDS

CDI_END_ROOT	EQU	2                
.errnz (SIZE cdfsi - cdi_text - PMDIRSTRLEN)
 

cdfsd	STRUC
cdd_work	DB	CDDWORKAREASIZE DUP (?)
cdfsd	ENDS


curdir	STRUC
cd_handle	DW	?
cd_pid	DW	?
cd_refcnt	DW	?
cd_flags	DB	?
cd_devptr	DD	?
cd_OwnerFSC	DW	?
cd_fsd	DB	SIZE cdfsd DUP (?)
cd_fsi	DB	SIZE cdfsi DUP (?)
curdir	ENDS

.errnz (SIZE curdir - cd_fsi - SIZE cdfsi)
 

cddFATFS	STRUC
cddFAT_id	DW	?
cddFATFS	ENDS

CD_ISNET	EQU	80H             
CD_INUSE	EQU	40H             
CD_SPLICE	EQU	20H             
CD_JOIN	EQU	CD_SPLICE       
CD_LOCAL	EQU	10H             
CD_ISPSEUDOCHAR	EQU	08H             
CD_ISUNC	EQU	04H             
CDI_ISVALID	EQU	80H           
CDI_ISROOT	EQU	40H           
CDI_MEDIASWAPPED	EQU	20H           
CHDIR_SET	EQU	0                
CHDIR_VERIFY	EQU	1                
CHDIR_FREE	EQU	2                
