xf86Privstr.h revision 6747b715
1 2/* 3 * Copyright (c) 1997-2003 by The XFree86 Project, Inc. 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice shall be included in 13 * all copies or substantial portions of the Software. 14 * 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 18 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 21 * OTHER DEALINGS IN THE SOFTWARE. 22 * 23 * Except as contained in this notice, the name of the copyright holder(s) 24 * and author(s) shall not be used in advertising or otherwise to promote 25 * the sale, use or other dealings in this Software without prior written 26 * authorization from the copyright holder(s) and author(s). 27 */ 28 29/* 30 * This file contains definitions of the private XFree86 data structures/types. 31 * None of the data structures here should be used by video drivers. 32 */ 33 34#ifndef _XF86PRIVSTR_H 35#define _XF86PRIVSTR_H 36 37#include "xf86str.h" 38 39typedef enum { 40 LogNone, 41 LogFlush, 42 LogSync 43} Log; 44 45typedef enum { 46 XF86_GlxVisualsMinimal, 47 XF86_GlxVisualsTypical, 48 XF86_GlxVisualsAll, 49} XF86_GlxVisuals; 50 51/* 52 * xf86InfoRec contains global parameters which the video drivers never 53 * need to access. Global parameters which the video drivers do need 54 * should be individual globals. 55 */ 56 57typedef struct { 58 int consoleFd; 59 int vtno; 60 Bool vtSysreq; 61 62 /* event handler part */ 63 int lastEventTime; 64 Bool vtRequestsPending; 65#ifdef sun 66 int vtPendingNum; 67#endif 68 Bool dontVTSwitch; 69 Bool dontZap; 70 Bool dontZoom; 71 Bool notrapSignals; /* don't exit cleanly - die at fault */ 72 Bool caughtSignal; 73 74 /* graphics part */ 75 ScreenPtr currentScreen; 76#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__) 77 int screenFd; /* fd for memory mapped access to 78 * vga card */ 79 int consType; /* Which console driver? */ 80#endif 81 82 /* Other things */ 83 Bool allowMouseOpenFail; 84 Bool vidModeEnabled; /* VidMode extension enabled */ 85 Bool vidModeAllowNonLocal; /* allow non-local VidMode 86 * connections */ 87 Bool miscModInDevEnabled; /* Allow input devices to be 88 * changed */ 89 Bool miscModInDevAllowNonLocal; 90 Bool useSIGIO; /* Use SIGIO for handling 91 input device events */ 92 Pix24Flags pixmap24; 93 MessageType pix24From; 94#ifdef SUPPORT_PC98 95 Bool pc98; 96#endif 97 Bool pmFlag; 98 Log log; 99 Bool kbdCustomKeycodes; 100 Bool disableRandR; 101 MessageType randRFrom; 102 Bool aiglx; 103 MessageType aiglxFrom; 104 XF86_GlxVisuals glxVisuals; 105 MessageType glxVisualsFrom; 106 107 Bool useDefaultFontPath; 108 MessageType useDefaultFontPathFrom; 109 Bool ignoreABI; 110 111 Bool allowEmptyInput; /* Allow the server to start with no input 112 * devices. */ 113 Bool autoAddDevices; /* Whether to succeed NIDR, or ignore. */ 114 Bool autoEnableDevices; /* Whether to enable, or let the client 115 * control. */ 116 117 Bool dri2; 118 MessageType dri2From; 119} xf86InfoRec, *xf86InfoPtr; 120 121#ifdef DPMSExtension 122/* Private info for DPMS */ 123typedef struct { 124 CloseScreenProcPtr CloseScreen; 125 Bool Enabled; 126 int Flags; 127} DPMSRec, *DPMSPtr; 128#endif 129 130#ifdef XF86VIDMODE 131/* Private info for Video Mode Extentsion */ 132typedef struct { 133 DisplayModePtr First; 134 DisplayModePtr Next; 135 int Flags; 136 CloseScreenProcPtr CloseScreen; 137} VidModeRec, *VidModePtr; 138#endif 139 140/* Information for root window properties. */ 141typedef struct _RootWinProp { 142 struct _RootWinProp * next; 143 char * name; 144 Atom type; 145 short format; 146 long size; 147 pointer data; 148} RootWinProp, *RootWinPropPtr; 149 150/* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */ 151#define XLED1 ((unsigned long) 0x00000001) 152#define XLED2 ((unsigned long) 0x00000002) 153#define XLED3 ((unsigned long) 0x00000004) 154#define XLED4 ((unsigned long) 0x00000008) 155#define XCAPS ((unsigned long) 0x20000000) 156#define XNUM ((unsigned long) 0x40000000) 157#define XSCR ((unsigned long) 0x80000000) 158#define XCOMP ((unsigned long) 0x00008000) 159 160/* BSD console driver types (consType) */ 161#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__) 162#define PCCONS 0 163#define CODRV011 1 164#define CODRV01X 2 165#define SYSCONS 8 166#define PCVT 16 167#define WSCONS 32 168#endif 169 170#endif /* _XF86PRIVSTR_H */ 171