	IFND	QUICKDOS_QUICKDOS_I
QUICKDOS_QUICKDOS_I	EQU	1
;--------------------------------------------------
;
;	QuickDOS V1.00
;
;	Written by Alexis WILKE (c) 1994
;
;--------------------------------------------------

	IFND	EXEC_LIBRARIES_I
	INCLUDE	"EXEC/libraries.i"
	ENDC
	IFND	EXEC_LISTS_I
	INCLUDE	"EXEC/lists.i"
	ENDC
	IFND	DOS_DOS_I
	INCLUDE	"DOS/dos.i"
	ENDC

	STRUCTURE	QuickDOS,LIB_SIZE
	APTR		QD_DOSBase
	LONG		QD_Flags
	STRUCT		QD_Files,LH_SIZE	;List of files
	LABEL		QD_SIZEOF

	BITDEF	FQD,FASTONLY,0		;Allocates buffers only in fast memory



	STRUCTURE	QDFile,LN_SIZE
	UBYTE		QDF_Flags
	UBYTE		QDF_pad		;<- this byte is used by the system...
	LONG		QDF_Size
	APTR		QDF_Data	;Null represent an empty file
	ALIGNLONG
	STRUCT		QDF_Info,fib_SIZEOF
	LABEL		QDF_SIZEOF

	BITDEF	FQDF,READ,0		;File needs to be read
	BITDEF	FQDF,READING,1		;File is actually read

	BITDEF	FQDF,WRITE,2		;File needs to be written
	BITDEF	FQDF,WRITING,3		;File is actually written

	BITDEF	FQDF,CHECK,4		;File needs a check-up
	BITDEF	FQDF,CHECKING,5		;File is actually checked

	BITDEF	FQDF,ERROR,7		;Last command generates an error


				;*** Flags for QDOpen function
	BITDEF	QDOF,MEMORY,16		;In memory only (NEWFILE)
	BITDEF	QDOF,SHARED,17		;Let other tasks play with the file
	BITDEF	QDOF,APPEND,18		;Cannot write in existing data (READWRITE)

QDF_UNKNOWN	=	0	;Case the file is not open
QDF_OLDFILE	=	1	;Saved in 'QDFile+LN_TYPE'
QDF_READWRITE	=	2
QDF_NEWFILE	=	3

QDF_DEFREALLOC	=	16*1024		;Default size for realloc purpose

QUICKDOSNAME	MACRO
	dc.b	"quickdos.library",0
	ENDM

INTERNALDEVICE	MACRO
	dc.b	"quickdos:",0
	ENDM

QUICKDOSVERSION		=	1
QUICKDOSRELEASE		=	1
QUICKDOSPRIORITY	=	5

_LVOQDOpen		=	-$1E
_LVOQDClose		=	-$24
_LVOQDRead		=	-$2A
_LVOQDWrite		=	-$30
_LVOQDInfo		=	-$36
_LVOQDFlush		=	-$3C
_LVOQDSeek		=	-$42
_LVOQDDiscard		=	-$48
_LVOQDTell		=	-$4E
_LVOQDForget		=	-$54
_LVOQDCloseAll		=	-$5A
_LVOQDReallocStep	=	-$60
_LVOQDExamine		=	-$66
_LVOQDExNext		=	-$6C
_LVOQDreserved1		=	-$72
_LVOQDSetSize		=	-$78
_LVOQDreserved2		=	-$7E
_LVOQDIoErr		=	-$84
	ENDC		; QUICKDOS_QUICKDOS_I
