#ifndef GIMMELIB_STDSTUFF_H
#define GIMMELIB_STDSTUFF_H

#ifndef I_AM_STDSTUFF
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase	    *GfxBase;
extern struct DiskfontBase  *DiskfontBase;
extern struct Device	    *TimerBase;

extern struct MsgPort	    *gimTimerPort;
extern struct timerequest   *gimMasterTR;
extern struct timerequest   *gimSlaveTR;

extern struct MsgPort	    *gimMainPort;
extern SHORT		    gimSubTasks;

extern void		    *gimChainMem;
#endif !I_AM_STDSTUFF


/* handy revision number for gimmeStdStuff() */
#define GSS_REVISION	    33

/* flags for gimmeStdStuff() */
#define GSS_INTUITION	    (1L << 0)       /* IntuitionBase */
#define GSS_GFX 	    (1L << 1)       /* GfxBase */
#define GSS_DISKFONT	    (1L << 2)       /* DiskfontBase */
#define GSS_TIMER	    (1L << 3)       /* timer.device and TimerBase */
#define GSS_SUBTASK	    (1L << 4)       /* gimme.lib subtask mechanism */
#define GSS_MEMCHAIN	    (1L << 15)      /* memory chain */

#define GSS_OPENALL	    (0x000fffffL)   /* open positive things */

/* special bits for gimmeStdStuff() */
#define GSS_DISABLEABORT    (1L << 20)      /* disable ^C */
#define GSS_CLOSEWBENCH     (1L << 21)      /* try to close workbench screen */


/* control flags for getRidOfStdStuff() */
#define GSS_RUTHLESS	    (1L << 25)      /* ignore errors when closing */
#define GSS_ENABLEABORT     (1L << 30)      /* enable ^C */
#define GSS_OPENWBENCH	    (1L << 29)      /* try to open workbench screen */

#define GSS_CLOSEALL	    (GSS_OPENALL)   /* try closing all; stop on error */
#define GSS_KILLALL	    (GSS_CLOSEALL | GSS_RUTHLESS)


#endif !GIMMELIB_STDSTUFF_H

