#ifndef settings_H #define settings_H /************************************************************************/ enum{ PLANAR, CHUNKY, HICOLOR, TRUECOLOR, TRUEALPHA, MAXMODES }; /************************************************************************/ #define SETTINGSNAMEMAXCHARS 30 #define BOARDNAMEMAXCHARS 30 struct P96MonitorInfo { UBYTE Name[32]; // Name des Monitortyps, z.B. "NEC P750" ULONG HSyncMin; // Minimal unterst�tzte Horizontalfrequenz in Hz ULONG HSyncMax; // Maximal unterst�tzte Horizontalfrequenz in Hz UWORD VSyncMin; // Minimal unterst�tzte Vertikalfrequenz in Hz UWORD VSyncMax; // Maximal unterst�tzte Vertikalfrequenz in Hz ULONG Flags; // Siehe unten }; #define MIB_DPMS_StandBy (0) // Monitor unterst�tzt DPMS-Level "stand-by". // Dieses Feature ist optional, nicht jeder // DPMS-f�hige Monitor mu� es unterst�tzen. // Aktivierung: hsync aus, vsync an #define MIB_DPMS_Suspend (1) // Monitor unterst�tzt DPMS-Level "suspend". // Dieses Feature ist Pflicht, jeder // DPMS-f�hige Monitor mu� es unterst�tzen. // Aktivierung: hsync an, vsync aus #define MIB_DPMS_ActiveOff (2) // Monitor unterst�tzt DPMS-Level "active off". // Dieses Feature ist Pflicht, jeder // DPMS-f�hige Monitor mu� es unterst�tzen. // Aktivierung: hsync aus, vsync aus #define MIF_DPMS_StandBy (1UL << MIB_DPMS_StandBy) #define MIF_DPMS_Suspend (1UL << MIB_DPMS_Suspend) #define MIF_DPMS_ActiveOff (1UL << MIB_DPMS_ActiveOff) struct Settings{ struct Node Node; struct MinList Resolutions; ULONG BoardType; // a value discribing assignment to nth board local to boardtype // to be used for reassignment when boards are added or removed. UWORD LocalOrdering; WORD LastSelected; char NameField[SETTINGSNAMEMAXCHARS]; char *BoardName; struct P96MonitorInfo *MonitorInfo; }; #define MAXRESOLUTIONNAMELENGTH 22 /******************************** * only used within rtg.library * ********************************/ struct LibResolution{ struct Node Node; char P96ID[6]; char Name[MAXRESOLUTIONNAMELENGTH]; ULONG DisplayID; UWORD Width; UWORD Height; UWORD Flags; struct ModeInfo *Modes[MAXMODES]; struct BoardInfo *BoardInfo; struct LibResolution *HashChain; }; /***************************** * only used within MoniTool * *****************************/ struct Resolution{ struct Node Node; struct MinList ModeInfos; ULONG DisplayID; UWORD Width; UWORD Height; BOOL Active; WORD LastSelected; UWORD Flags; char Name[MAXRESOLUTIONNAMELENGTH]; }; #define P96B_FAMILY 0 // obsolete (Resolution is an entire family) #define P96B_PUBLIC 1 // Resolution should be added to the public #define P96B_MONITOOL 2 #define P96B_CHECKME 15 // Resolution has been attached to another board // by AttachSettings without being checked against // hardware limits #define P96F_FAMILY (1<