
/* Do not rely on the size of this structure.
   It may grow in the future! */
   
struct BootResource
	{
	struct Library br_Lib;

	/* This is a semaphore protecting against multitasking attacs
      of the values below.
      You MUST do an ObtainSemaphore() for writing or an
      ObtainSemaphoreShared() for reading!!!!
		Do an ReleaseSemaphore() after you are done.
	*/
	struct SignalSemaphore br_Semaphore;
	ULONG br_Private1;
	ULONG br_Private2;
	ULONG br_Mode; /* See mode flags below */
	ULONG br_Reserved; /* Don't touch! (yet) */
	ULONG br_ChipRed; /*  Reduce ChipMem (amount in bytes) */
	ULONG br_FastRed; /*  Reduce FastMem (amount in bytes) */
	UBYTE br_BootName[32]; /* BootDev, BSTR with NULL termination */
	UBYTE br_RemoveNames[256]; /* Chain of BSTR, terminated with NULL */

	/* Bitfield, defining which of the following monitor specs are valid */

	UWORD br_MonitorFlags;

	/* Specs for the embedded DblNTSC.monitor */
	UWORD br_HBSTRT;
	UWORD br_HBSTOP;
	UWORD br_VBSTRT;
	UWORD br_VBSTOP;
	UWORD br_MINCOL;
	UWORD br_MINROW;
	UWORD br_TOTROWS;
	UWORD br_TOTCLKS;
	UWORD br_BEAMCON0;
	};

/* Flag definitions for br_MonitorFlags, undefined bits are reserved!
   Bit set means that the corresponding value is valid */

#define BRMF_HBSTRT (1L<<0)
#define BRMF_HBSTOP (1L<<1)
#define BRMF_VBSTRT (1L<<2)
#define BRMF_VBSTOP (1L<<3)
#define BRMF_MINCOL (1L<<4)
#define BRMF_MINROW (1L<<5)
#define BRMF_TOTROWS (1L<<6)
#define BRMF_TOTCLKS (1L<<7)
#define BRMF_BEAMCON0 (1L<<8)


/* Flag definitions for br_Mode, undefined bits are reserved */

/* GFX Modes, DEFAULT = all bits unset */
#define BRF_OLD (1L<<0)
#define BRF_ECS (1L<<1)
#define BRF_BEST (1L<<2)

#define BRF_PAL (1L<<3) /* PAL set (ignored if VGA set) */
#define BRF_NOFAST (1L<<4) /* NOFASTMEM set */
#define BRF_NOCACHE (1L<<5) /* CACHE OFF set */
#define BRF_FORCECACHE (1L<<6) /* FORCECACHE set (ignored if CACHE OFF set) */
#define BRF_PATCHALERT (1L<<7) /* Patch DisplayAlert() */
#define BRF_VGA (1L<<8) /* VGA set */
#define BRF_VGAONLY (1L<<9) /* VGAONLY set */
#define BRF_LOADVGA (1L<<10) /* Always load VGA monitor */
#define BRF_BOOTMENU (1L<<11) /* PRIVATE !!! */

