
/*
 * TYPEDEFS.H
 *
 *	Feel free to add extern's that should be stuck in here... send
 *	me the additions!
 */

#ifndef LOCAL_TYPEDEFS_H
#define LOCAL_TYPEDEFS_H

#define LALIGN(ptr)  ((void *)(((long)ptr + 3) & ~3))
#define ARYSIZE(ary)    (sizeof(ary)/sizeof((ary)[0]))
#define ARYEND(ary)     ((ary) + ARYSIZE(ary))

typedef unsigned char	ubyte;
typedef unsigned short	uword;
typedef unsigned long	ulong;

typedef struct MsgPort		PORT;
typedef struct Message		MSG;
typedef struct List		LIST;
typedef struct Node		NODE;
typedef struct MinList		MLIST;
typedef struct MinNode		MNODE;
typedef struct Device		DEV;
typedef struct Library		LIB;
typedef struct ExecBase 	EXECBASE;
typedef struct SignalSemaphore	SIGSEM;
typedef struct Semaphore	SEM;
typedef struct MemEntry 	MEMENTRY;
typedef struct MemList		MEMLIST;
typedef struct MemHeader	MEMHEADER;
typedef struct Interrupt	INTERRUPT;
typedef struct Custom		CUST;

#define WINSTD	(WINDOWSIZING|WINDOWDRAG|WINDOWDEPTH|WINDOWCLOSE)

typedef struct BoolInfo 	BOOLINFO;
typedef struct Border		BORDER;
typedef struct Gadget		GADGET;
typedef struct Image		IMAGE;
typedef struct IntuiMessage	IMESS;
typedef struct IntuiText	ITEXT;
typedef struct Menu		MENU;
typedef struct MenuItem 	ITEM;
typedef struct NewScreen	NS;
typedef struct NewWindow	NW;
typedef struct Preferences	PREFS;
typedef struct PropInfo 	PROPINFO;
typedef struct Remember 	REMEMBER;
typedef struct Requester	REQUESTER;
typedef struct Screen		SCR;
typedef struct StringInfo	STRINGINFO;
typedef struct Window		WIN;

typedef struct copinit		COPINIT;

typedef struct GListEnv 	GLISTENV;
typedef struct GadgetInfo	GADGETINFO;
typedef struct IBox		IBOX;
typedef struct IntuitionBase	IBASE;
typedef struct PenPair		PENPAIR;
typedef struct Point		POINT;

typedef struct IOAudio		IOAUD;

typedef struct BootBlock	BOOTBLOCK;

typedef struct IOClipReq	    IOCLIPREQ;
typedef struct ClipboardUnitPartial CLIPUNIT;
typedef struct SatisfyMsg	    SATISFYMSG;

typedef struct ConUnit		CONUNIT;
typedef struct IOStdReq 	IOSTD;
typedef struct IOStdReq 	IOCON;
typedef struct IOExtSer 	IOSER;

typedef struct InputEvent	IE;

typedef struct TextAttr 	TA;
typedef struct TextFont 	FONT;
typedef struct Layer		LAYER;
typedef struct Layer_Info	LAYERINFO;
typedef struct Region		REGION;
typedef struct ClipRect 	CLIPRECT;
typedef struct BitMap		BM;
typedef struct RastPort 	RP;
typedef struct TmpRas		TMPRAS;
typedef struct AreaInfo 	AREAINFO;
typedef struct View		VIEW;
typedef struct ViewPort 	VP;
typedef struct ColorMap 	CM;
typedef struct GfxBase		GFXBASE;

typedef struct Process		PROC;
typedef struct Task		TASK;
typedef struct FileInfoBlock	FIB;
typedef struct FileLock 	LOCK;
typedef struct DateStamp	DATESTAMP;

typedef struct timeval		TV;
typedef struct timerequest	IOT;

typedef struct PrinterData	PD;
typedef struct PrinterExtendedData PED;


/*
 *  Intuition
 */

extern WIN	*OpenWindow();
extern SCR	*OpenScreen();
extern void	*AllocRemember();
extern void	*ItemAddress();
extern PREFS	*GetPrefs();
extern PREFS	*GetDefPrefs();
extern VIEW	*ViewAddress();
extern VP	*ViewPortAddress();

/*
 *  Graphics
 */

extern void	*AllocRaster();
extern TMPRAS	*InitTmpRas();
extern AREAINFO *InitArea();

/*
 *  Exec / Exec-Support
 */

extern char	*GetDEnv();
extern void	*GetMsg(), *RemHead(), *RemTail();
extern void	*GetHead(), *GetTail(), *GetSucc(), *GetPred();
extern void	*GetHeadOff(), *GetTailOff(), *GetSuccOff(), *GetPredOff();
extern void	*OpenLibrary();

extern SIGSEM	*FindSemaphore();
extern void	*AllocMem();
extern void	*AllocEntry();
extern PORT	*FindPort();
extern PORT	*CreatePort();
extern TASK	*CreateTask();
extern INTERRUPT *SetIntVector();
extern PROC	*CreateProc();
extern void	*FindTask();    /*  task or proc    */
extern LIB	*MakeLibrary();

extern FONT	*OpenFont();
extern FONT	*OpenDiskFont();

extern void	*malloc();

extern void	*FindName2();

#endif


