#ifndef GMD_TYPEDEFS
#define GMD_TYPEDEFS

/*
 *
 *  typedefs.h
 *
 *
 * Gary Duncan ;   04 May 96 
 *
 */


#include <limits.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <stdarg.h>
#include <ctype.h>

#include <clib/amigaguide_protos.h>
#include <clib/icon_protos.h>
#include <clib/alib_protos.h>
#include <clib/exec_protos.h>
#include <clib/gadtools_protos.h>
#include <clib/graphics_protos.h>
#include <clib/intuition_protos.h>
#include <clib/dos_protos.h>
#include <clib/expansion_protos.h>
#include <clib/asl_protos.h>
#include <clib/commodities_protos.h>
#include <clib/wb_protos.h>
#include <clib/diskfont_protos.h>
#include <clib/utility_protos.h>
#include <clib/translator_protos.h>
#include <clib/iffparse_protos.h>
#include <clib/macros.h>
#include <clib/layers_protos.h>
#include <clib/keymap_protos.h>

#include <datatypes/datatypesclass.h>

#include <devices/audio.h>
#include <devices/input.h>
#include <devices/inputevent.h>
#include <devices/timer.h>
#include <devices/trackdisk.h>
#include <devices/narrator.h>
#include <devices/prtbase.h>
#include <devices/printer.h>

#include <diskfont/diskfont.h>

#include <dos/exall.h>
#include <dos/rdargs.h>
#include <dos/dostags.h>
#include <dos/dosextens.h>
#include <dos/filehandler.h>

#include <exec/alerts.h>
#include <exec/devices.h>
#include <exec/execbase.h>
#include <exec/interrupts.h>
#include <exec/io.h>
#include <exec/memory.h>
#include <exec/types.h>
#include <exec/tasks.h>

#include <graphics/displayinfo.h>
#include <graphics/gfx.h>
#include <graphics/gfxbase.h>
#include <graphics/gfxmacros.h>
#include <graphics/text.h>

#include <hardware/cia.h>
#include <hardware/intbits.h>
#include <hardware/custom.h>

#include <intuition/classes.h>
#include <intuition/classusr.h>
#include <intuition/gadgetclass.h>
#include <intuition/imageclass.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <intuition/preferences.h>

#include <libraries/dos.h>
#include <libraries/dosextens.h>
#include <libraries/expansionbase.h>
#include <libraries/configregs.h>
#include <libraries/gadtools.h>
#include <libraries/asl.h>
#include <libraries/commodities.h>
#include <libraries/diskfont.h>
#include <libraries/translator.h>
#include <libraries/iffparse.h>
#include <libraries/amigaguide.h>

#include <proto/exec.h>

#include <workbench/startup.h>
#include <workbench/workbench.h>

 
typedef BOOL 			BOOLEAN;
typedef BPTR			LOCK;
typedef struct AmigaGuideBase	AMIGAGUIDEBASE;
typedef struct NewAmigaGuide	NEWAMIGAGUIDE;
typedef struct AmigaGuideMsg	AMIGAGUIDEMSG;
typedef struct AppIcon	 	APPICON;
typedef struct AppMessage	APPMESSAGE;
typedef struct AreaInfo 	AREAINFO;
typedef struct AvailFonts 	AVAILFONTS;
typedef struct AvailFontsHeader	AVAILFONTSHEADER;
typedef struct BitMap		BITMAP;
typedef struct BoolInfo 	BOOLINFO;
typedef struct BootBlock	BOOTBLOCK;
typedef struct Border		BORDER;
typedef struct ClipboardUnitPartial CLIPBOARDUNITPARTIAL;
typedef struct ClipboardHandle  CLIPBOARDHANDLE;
typedef struct ClipRect 	CLIPRECT;
typedef struct ClockData	CLOCKDATA;
typedef struct ColorMap 	COLORMAP;
typedef struct CommandLineInterface COMMANDLINEINTERFACE;
typedef struct ConfigDev 	CONFIGDEV;
typedef struct ConUnit		CONUNIT;
typedef struct copinit		COPINIT;
typedef struct DateStamp	DATESTAMP;
typedef struct DateTime		DATETIME;
typedef struct Device		DEVICE;
typedef struct DeviceList	DEVICELIST;
typedef struct DeviceNode	DEVICENODE;
typedef struct DimensionInfo	DIMENSIONINFO;
typedef struct DiskObject	DISKOBJECT;
typedef struct DisplayInfo	DISPLAYINFO; 
typedef struct DosEnvec		DOSENVEC;	
typedef struct DosLibrary	DOSLIBRARY;
typedef struct DosInfo		DOSINFO;
typedef struct DosList		DOSLIST;
typedef struct EasyStruct	EASYSTRUCT;
typedef struct EClockVal	ECLOCKVAL;
typedef struct ExAllControl 	EXALLCONTROL;
typedef struct ExAllData 	EXALLDATA;
typedef struct ExecBase 	EXECBASE;
typedef struct ExpansionBase	EXPANSIONBASE;
typedef struct ExpansionRom	EXPANSIONROM;
typedef struct FileInfoBlock	FILEINFOBLOCK;
typedef struct FileLock 	FILELOCK;
typedef struct FileSysStartupMsg 	FILESYSSTARTUPMSG;
typedef struct FileRequester	FILEREQUESTER;
typedef struct Gadget		GADGET;
typedef struct GadgetInfo	GADGETINFO;
typedef struct GfxBase		GFXBASE;
typedef struct GListEnv 	GLISTENV;
typedef struct IBox		IBOX;
typedef struct IFFHandle	IFFHANDLE;
typedef struct Image		IMAGE;
typedef struct InputEvent	INPUTEVENT;
typedef struct InfoData		INFODATA;
typedef struct Interrupt	INTERRUPT;
typedef struct IntuiMessage	INTUIMESSAGE;
typedef struct IntuiText	INTUITEXT;
typedef struct IntuitionBase	INTUITIONBASE;
typedef struct IOAudio		IOAUDIO;
typedef struct IOClipReq	IOCLIPREQ;
typedef struct IODRPReq		IODRPREQ;
typedef struct IOExtSer 	IOEXTSER;
typedef struct IOPrtCmdReq	IOPRTCMDREQ;
typedef struct IORequest 	IOREQUEST;
typedef struct IOStdReq 	IOSTDREQ;
typedef struct Layer		LAYER;
typedef struct Layer_Info	LAYER_INFO;
typedef struct LayersBase	LAYERSBASE;
typedef struct Library		LIBRARY;
typedef struct List		LIST;
typedef struct Manufacturer	MANUFACTURER; 
typedef struct MemChunk		MEMCHUNK;
typedef struct MemEntry 	MEMENTRY;
typedef struct MemHeader	MEMHEADER;
typedef struct MemList		MEMLIST;
typedef struct Menu		MENU;
typedef struct MenuItem 	MENUITEM;
typedef struct Message		MESSAGE;
typedef struct MinList		MINLIST;
typedef struct MinNode		MINNODE;
typedef struct MsgPort		MSGPORT;
typedef struct narrator_rb	NARRATOR_RB;
typedef struct NameInfo		NAMEINFO; 
typedef struct NewBroker	NEWBROKER;
typedef struct NewGadget	NEWGADGET;
typedef struct NewMenu		NEWMENU;
typedef struct NewScreen	NEWSCREEN;
typedef struct NewWindow	NEWWINDOW;
typedef struct Node		NODE;
typedef struct PartitionBlock	PARTITIONBLOCK;
typedef struct PenPair		PENPAIR;
typedef struct Point		POINT;
typedef struct Preferences	PREFERENCES;
typedef struct PrinterData	PRINTERDATA;
typedef struct PrinterExtendedData PRINTEREXTENDEDDATA;
typedef struct Process		PROCESS;
typedef struct PropInfo 	PROPINFO;
typedef struct PubScreenNode	PUBSCREENNODE; 
typedef struct RastPort 	RASTPORT;
typedef struct RDArgs	 	RDARGS;
typedef struct Rectangle	RECTANGLE;
typedef struct Region		REGION;
typedef struct Remember 	REMEMBER;
typedef struct Requester	REQUESTER;
typedef struct RigidDiskBlock	RIGIDDISKBLOCK;
typedef struct RootNode		ROOTNODE;
typedef struct SatisfyMsg	SATISFYMSG;
typedef struct Screen		SCREEN;
typedef struct Semaphore	SEMAPHORE;
typedef struct SignalSemaphore	SIGNALSEMAPHORE;
typedef struct stat		STAT;
typedef struct StringInfo	STRINGINFO;
typedef struct TagItem		TAGITEM;
typedef struct Task		TASK;
typedef struct TextAttr 	TEXTATTR;
typedef struct TextFont 	TEXTFONT;
typedef struct timerequest	TIMEREQUEST;
typedef struct timeval		TIMEVAL;
typedef struct TimerBase	TIMERBASE;
typedef struct TmpRas		TMPRAS;
typedef struct tm		TM;
typedef struct Unit		UNIT;
typedef struct View		VIEW;
typedef struct ViewPort 	VIEWPORT;
typedef struct Window		WINDOW;
typedef struct WBArg		WBARG;
typedef struct WBStartup	WBSTARTUP;
typedef struct WorkbenchBase	WORKBENCHBASE;
typedef struct XRef		XREF;


typedef struct
{
  char days;
  char *months;
} DM;

#endif
