Initial commit
[xorg_rtime.git] / xorg-server-1.4 / hw / xfree86 / common / xf86Privstr.h
blob09ebb071751114b28465fc63c56ac0da8debd9a6
2 /*
3 * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
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:
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
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.
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).
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 */
34 #ifndef _XF86PRIVSTR_H
35 #define _XF86PRIVSTR_H
37 #include "xf86Pci.h"
38 #include "xf86str.h"
40 /* PCI probe flags */
42 typedef enum {
43 PCIProbe1 = 0,
44 PCIProbe2,
45 PCIForceConfig1,
46 PCIForceConfig2,
47 PCIForceNone,
48 PCIOsConfig
49 } PciProbeType;
51 typedef enum {
52 LogNone,
53 LogFlush,
54 LogSync
55 } Log;
57 typedef enum {
58 SKNever,
59 SKWhenNeeded,
60 SKAlways
61 } SpecialKeysInDDX;
64 * xf86InfoRec contains global parameters which the video drivers never
65 * need to access. Global parameters which the video drivers do need
66 * should be individual globals.
69 typedef struct {
70 int consoleFd;
71 int vtno;
72 char * vtinit;
73 Bool vtSysreq;
74 SpecialKeysInDDX ddxSpecialKeys;
76 /* mouse part */
77 DeviceIntPtr pMouse;
78 #ifdef XINPUT
79 pointer mouseLocal;
80 #endif
82 /* event handler part */
83 int lastEventTime;
84 Bool vtRequestsPending;
85 Bool inputPending;
86 Bool dontVTSwitch;
87 Bool dontZap;
88 Bool dontZoom;
89 Bool notrapSignals; /* don't exit cleanly - die at fault */
90 Bool caughtSignal;
92 /* graphics part */
93 Bool sharedMonitor;
94 ScreenPtr currentScreen;
95 #if defined(CSRG_BASED) || defined(__FreeBSD_kernel__)
96 int screenFd; /* fd for memory mapped access to
97 * vga card */
98 int consType; /* Which console driver? */
99 #endif
101 /* Other things */
102 Bool allowMouseOpenFail;
103 Bool vidModeEnabled; /* VidMode extension enabled */
104 Bool vidModeAllowNonLocal; /* allow non-local VidMode
105 * connections */
106 Bool miscModInDevEnabled; /* Allow input devices to be
107 * changed */
108 Bool miscModInDevAllowNonLocal;
109 PciProbeType pciFlags;
110 Pix24Flags pixmap24;
111 MessageType pix24From;
112 #if defined(i386) || defined(__i386__)
113 Bool pc98;
114 #endif
115 Bool pmFlag;
116 Log log;
117 int estimateSizesAggressively;
118 Bool kbdCustomKeycodes;
119 Bool disableRandR;
120 MessageType randRFrom;
121 Bool aiglx;
122 MessageType aiglxFrom;
123 Bool useDefaultFontPath;
124 MessageType useDefaultFontPathFrom;
125 Bool ignoreABI;
126 struct {
127 Bool disabled; /* enable/disable deactivating
128 * grabs or closing the
129 * connection to the grabbing
130 * client */
131 ClientPtr override; /* client that disabled
132 * grab deactivation.
134 Bool allowDeactivate;
135 Bool allowClosedown;
136 ServerGrabInfoRec server;
137 } grabInfo;
139 Bool allowEmptyInput; /* Allow the server to start with no input
140 * devices. */
141 Bool autoAddDevices; /* Whether to succeed NIDR, or ignore. */
142 Bool autoEnableDevices; /* Whether to enable, or let the client
143 * control. */
144 } xf86InfoRec, *xf86InfoPtr;
146 #ifdef DPMSExtension
147 /* Private info for DPMS */
148 typedef struct {
149 CloseScreenProcPtr CloseScreen;
150 Bool Enabled;
151 int Flags;
152 } DPMSRec, *DPMSPtr;
153 #endif
155 #ifdef XF86VIDMODE
156 /* Private info for Video Mode Extentsion */
157 typedef struct {
158 DisplayModePtr First;
159 DisplayModePtr Next;
160 int Flags;
161 CloseScreenProcPtr CloseScreen;
162 } VidModeRec, *VidModePtr;
163 #endif
165 /* Information for root window properties. */
166 typedef struct _RootWinProp {
167 struct _RootWinProp * next;
168 char * name;
169 Atom type;
170 short format;
171 long size;
172 pointer data;
173 } RootWinProp, *RootWinPropPtr;
175 /* private resource types */
176 #define ResNoAvoid ResBios
178 /* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */
179 #define XLED1 ((unsigned long) 0x00000001)
180 #define XLED2 ((unsigned long) 0x00000002)
181 #define XLED3 ((unsigned long) 0x00000004)
182 #define XLED4 ((unsigned long) 0x00000008)
183 #define XCAPS ((unsigned long) 0x20000000)
184 #define XNUM ((unsigned long) 0x40000000)
185 #define XSCR ((unsigned long) 0x80000000)
186 #define XCOMP ((unsigned long) 0x00008000)
188 /* BSD console driver types (consType) */
189 #if defined(CSRG_BASED) || defined(__FreeBSD_kernel__)
190 #define PCCONS 0
191 #define CODRV011 1
192 #define CODRV01X 2
193 #define SYSCONS 8
194 #define PCVT 16
195 #define WSCONS 32
196 #endif
198 #endif /* _XF86PRIVSTR_H */