/* Floppy Base include file */

#include "FBaseGST.h"

#define REG(x) register __ ## x
#define ASM    __asm
#define SAVEDS __saveds

/* Data Structures */

#define MAXKEYS   32
#define MAXKEYLEN 16

struct Record {
	struct Node    Node;
	struct Record *Next;
	struct Record *Parent;
	struct Record *Sub;
	STRPTR         FName;
	STRPTR         FRem;
	ULONG          Size;
	UWORD          Flags;
	UWORD          Depth;
	LONGBITS       Keys;
	ULONG          Unique;
};
typedef struct Record RECORD;

#define RECORD_DIRECTORY 1
#define RECORD_ROOT      2

struct Floppy {
	struct Node  Node;
	struct List  Records;
	RECORD      *HeadRecord;
};
typedef struct Floppy FLOPPY;

/* MUI stuff */

extern struct Library *IntuitionBase,*UtilityBase,*GfxBase,*DOSBase,*IconBase,*IFFParseBase;
extern struct Library *MUIMasterBase;

#ifndef MAKE_ID
#define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
#endif
