INCLUDE mdinc.INC

BUFFINFO	STRUC
Buff	DD	?
Buff_Flags	DD	?
EntrySize	DW	?
ArrayEntries	DW	?
InIndex	DW	?
OutIndex	DW	?
BUFFINFO	ENDS

pBUFFINFO struc
	dd ?
pBUFFINFO ends


PERMONINFO	STRUC
BufferI	DD	?
BufferO	DD	?
R0Buff	DD	?
NextMon	DD	?
PrevMon	DD	?
WriteSemHandle	DB	SIZE HKSEM DUP (?)
ReadSemHandle	DB	SIZE HKSEM DUP (?)
MonPID	DW	?
PERMONINFO	ENDS

pPERMONINFO struc
	dd ?
pPERMONINFO ends


PERCHAININFO	STRUC
NextChain	DD	?
First_Monitor	DD	?
Last_Monitor	DD	?
Last_FIRST_Monitor	DD	?
Last_LAST_Monitor	DD	?
FFBuff	DD	?
FinalBuff	DD	?
ChainSemHandle	DB	SIZE HKSEM DUP (?)
FFWriteSemHandle	DB	SIZE HKSEM DUP (?)
dev_notify	DD	?
dev_buff	DB	SIZE FarPtr DUP (?)
handle	DW	?
dd_buff_length	DW	?
Chain_Flags	DB	?
PERCHAININFO	ENDS

pPERCHAININFO struc
	dd ?
pPERCHAININFO ends

ppPERCHAININFO struc
	dd ?
ppPERCHAININFO ends


HEADSTRUC	STRUC
FirstChain	DD	?
HeadSemHandle	DB	SIZE HKSEM DUP (?)
HEADSTRUC	ENDS

DEREG_IN_PROGRESS	EQU	01H 
FLUSH_IN_PROGRESS	EQU	(DEREG_IN_PROGRESS  SHL  1 )
FULL_ARRAY	EQU	01H 
INFINITE_TIMEOUT	EQU	-1 
MINFFBUFF	EQU	128 
MAXFFBUFF	EQU	8 *1024 
FFBUFFMULTIPLIER	EQU	32 
ERROR_FROM_VMLOCK	EQU	7 
ERROR_FROM_1ST_CREATESEM	EQU	6 
ERROR_FROM_2ND_CREATESEM	EQU	5 
ERROR_FROM_3RD_CREATESEM	EQU	4 
ERROR_FROM_1ST_ALLOC	EQU	3 
ERROR_FROM_2ND_ALLOC	EQU	2 
ERROR_FROM_3RD_ALLOC	EQU	1 
PF_SPECIAL_ADDER	EQU	3 
PF_DEFAULT	EQU	0 
PF_FIRST	EQU	1 
PF_LAST	EQU	2 
PF_DEFAULT_SPECIAL	EQU	(PF_SPECIAL_ADDER+PF_DEFAULT)
PF_FIRST_SPECIAL	EQU	(PF_SPECIAL_ADDER+PF_FIRST  )
PF_LAST_SPECIAL	EQU	(PF_SPECIAL_ADDER+PF_LAST   )
FIRST_TIME	EQU	01H 
WF_WAIT_INFINITE	EQU	0    
WF_NOWAIT	EQU	1    
WF_WAIT_TIMED	EQU	2    
WF_CALLED_FROM_DHFLUSH	EQU	80H    
TRY_AGAIN	EQU	ERROR_CANNOT_COPY
MYERROR_FORCE_A_FAULT	EQU	ERROR_PROTECTION_VIOLATION
VB_LENGTH	EQU	01H 
VB_WRITE_ACCESS	EQU	(VB_LENGTH  SHL  1 )
