#define ATSTART	0
#define	BUFFER_SIZE	20*1024

struct dfbFile {
	UWORD	fb_Length;
	UBYTE	fb_Min;
	UBYTE	fb_Hour;
	UBYTE	fb_Day;
	UBYTE	fb_Month;
	UWORD	fb_Year;
	ULONG	fb_FileSize;
	UWORD	fb_Section;
	UWORD	fb_Down;
	UBYTE	fb_Status;
	UBYTE	fb_Pad;
	ULONG	fb_Future;
	UWORD	fb_NameLen;
	UWORD	fb_DescLen;
	UWORD	fb_UploaderLen;
	UWORD	fb_AliasLen;
	char	*fb_Name;
	char	*fb_Desc;
	char	*fb_Uploader;
	char	*fb_Alias;
};		

struct	dfbFileBase {
	ULONG	of_Filehandle;		/* File handle of dfbdata:dfb.data */
	UWORD	of_Length;			/* Length of node just read (0 if at start) */
 	UWORD	of_Nextlength;		/* Length of next file node (0 if at last) */
	ULONG	of_Entry;			/* Node # of NEXT file node (this does not count nodes marked with ASTALAVISTA) */
	ULONG	of_Files;			/* Number of files in file base */
	APTR	of_preferences;		/* Pointer to current preferences data */

	struct	dfbFile of_temp;		/* Internal data/free ram space */
    char	of_prefree[1*4];	
	char	of_free[33*4];	
	char	of_morefree[6*4];
	char	of_otherfree[33*4];
	ULONG	of_pointer;
	ULONG	of_pointer2;
	char	of_display[30];		/* For DisplayNode function */
	char	of_small[100];
	char	of_lastfree[32];

	ULONG	of_nodesize;		/* How many bytes in of_nodes are used */
	ULONG	of_where;			/* Where are we ? */

	char	of_nodes[BUFFER_SIZE];
								/* 20K for node data */

	ULONG	of_colpointer;		/* Pointer to colour table, if you want */
};
