d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsync/*
d908c6ebe24341414484885c4a686811c2434755vboxsync * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
d908c6ebe24341414484885c4a686811c2434755vboxsync *
d908c6ebe24341414484885c4a686811c2434755vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
d908c6ebe24341414484885c4a686811c2434755vboxsync * copy of this software and associated documentation files (the "Software"),
5919c19d2c00175ecdc3444ba21b465b46a3bd0cvboxsync * to deal in the Software without restriction, including without limitation
d908c6ebe24341414484885c4a686811c2434755vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
d908c6ebe24341414484885c4a686811c2434755vboxsync * and/or sell copies of the Software, and to permit persons to whom the
d908c6ebe24341414484885c4a686811c2434755vboxsync * Software is furnished to do so, subject to the following conditions:
d908c6ebe24341414484885c4a686811c2434755vboxsync *
d908c6ebe24341414484885c4a686811c2434755vboxsync * The above copyright notice and this permission notice shall be included in
d908c6ebe24341414484885c4a686811c2434755vboxsync * all copies or substantial portions of the Software.
d908c6ebe24341414484885c4a686811c2434755vboxsync *
d908c6ebe24341414484885c4a686811c2434755vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
d908c6ebe24341414484885c4a686811c2434755vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
d908c6ebe24341414484885c4a686811c2434755vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
d908c6ebe24341414484885c4a686811c2434755vboxsync * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
d908c6ebe24341414484885c4a686811c2434755vboxsync * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
d908c6ebe24341414484885c4a686811c2434755vboxsync * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
d908c6ebe24341414484885c4a686811c2434755vboxsync * OTHER DEALINGS IN THE SOFTWARE.
d908c6ebe24341414484885c4a686811c2434755vboxsync *
d908c6ebe24341414484885c4a686811c2434755vboxsync * Except as contained in this notice, the name of the copyright holder(s)
d908c6ebe24341414484885c4a686811c2434755vboxsync * and author(s) shall not be used in advertising or otherwise to promote
d908c6ebe24341414484885c4a686811c2434755vboxsync * the sale, use or other dealings in this Software without prior written
d908c6ebe24341414484885c4a686811c2434755vboxsync * authorization from the copyright holder(s) and author(s).
d908c6ebe24341414484885c4a686811c2434755vboxsync */
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsync/*
d908c6ebe24341414484885c4a686811c2434755vboxsync * This file contains definitions of the private XFree86 data structures/types.
d908c6ebe24341414484885c4a686811c2434755vboxsync * None of the data structures here should be used by video drivers.
d908c6ebe24341414484885c4a686811c2434755vboxsync */
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsync#ifndef _XF86PRIVSTR_H
d908c6ebe24341414484885c4a686811c2434755vboxsync#define _XF86PRIVSTR_H
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsync#include "xf86str.h"
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsynctypedef enum {
d908c6ebe24341414484885c4a686811c2434755vboxsync LogNone,
d908c6ebe24341414484885c4a686811c2434755vboxsync LogFlush,
d908c6ebe24341414484885c4a686811c2434755vboxsync LogSync
d908c6ebe24341414484885c4a686811c2434755vboxsync} Log;
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsynctypedef enum {
d908c6ebe24341414484885c4a686811c2434755vboxsync XF86_GlxVisualsMinimal,
d908c6ebe24341414484885c4a686811c2434755vboxsync XF86_GlxVisualsTypical,
d908c6ebe24341414484885c4a686811c2434755vboxsync XF86_GlxVisualsAll,
d908c6ebe24341414484885c4a686811c2434755vboxsync} XF86_GlxVisuals;
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsync/*
d908c6ebe24341414484885c4a686811c2434755vboxsync * xf86InfoRec contains global parameters which the video drivers never
d908c6ebe24341414484885c4a686811c2434755vboxsync * need to access. Global parameters which the video drivers do need
d908c6ebe24341414484885c4a686811c2434755vboxsync * should be individual globals.
d908c6ebe24341414484885c4a686811c2434755vboxsync */
d908c6ebe24341414484885c4a686811c2434755vboxsync
d908c6ebe24341414484885c4a686811c2434755vboxsynctypedef struct {
d908c6ebe24341414484885c4a686811c2434755vboxsync int consoleFd;
d908c6ebe24341414484885c4a686811c2434755vboxsync int vtno;
d908c6ebe24341414484885c4a686811c2434755vboxsync
7d0ab2d066e2858ff314ac827ab51f03bb2d4334vboxsync /* event handler part */
5919c19d2c00175ecdc3444ba21b465b46a3bd0cvboxsync int lastEventTime;
d908c6ebe24341414484885c4a686811c2434755vboxsync Bool vtRequestsPending;
d908c6ebe24341414484885c4a686811c2434755vboxsync#ifdef sun
d908c6ebe24341414484885c4a686811c2434755vboxsync int vtPendingNum;
d908c6ebe24341414484885c4a686811c2434755vboxsync#endif
d908c6ebe24341414484885c4a686811c2434755vboxsync Bool dontVTSwitch;
d908c6ebe24341414484885c4a686811c2434755vboxsync Bool autoVTSwitch;
d908c6ebe24341414484885c4a686811c2434755vboxsync Bool ShareVTs;
d908c6ebe24341414484885c4a686811c2434755vboxsync Bool dontZap;
Bool dontZoom;
Bool notrapSignals; /* don't exit cleanly - die at fault */
Bool caughtSignal;
/* graphics part */
ScreenPtr currentScreen;
#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__)
int consType; /* Which console driver? */
#endif
/* Other things */
Bool allowMouseOpenFail;
Bool vidModeEnabled; /* VidMode extension enabled */
Bool vidModeAllowNonLocal; /* allow non-local VidMode
* connections */
Bool miscModInDevEnabled; /* Allow input devices to be
* changed */
Bool miscModInDevAllowNonLocal;
Bool useSIGIO; /* Use SIGIO for handling
input device events */
Pix24Flags pixmap24;
MessageType pix24From;
Bool pmFlag;
Log log;
Bool disableRandR;
MessageType randRFrom;
Bool aiglx;
MessageType aiglxFrom;
XF86_GlxVisuals glxVisuals;
MessageType glxVisualsFrom;
Bool useDefaultFontPath;
MessageType useDefaultFontPathFrom;
Bool ignoreABI;
Bool forceInputDevices; /* force xorg.conf or built-in input devices */
Bool autoAddDevices; /* Whether to succeed NIDR, or ignore. */
Bool autoEnableDevices; /* Whether to enable, or let the client
* control. */
Bool dri2;
MessageType dri2From;
Bool autoAddGPU;
} xf86InfoRec, *xf86InfoPtr;
#ifdef DPMSExtension
/* Private info for DPMS */
typedef struct {
CloseScreenProcPtr CloseScreen;
Bool Enabled;
int Flags;
} DPMSRec, *DPMSPtr;
#endif
#ifdef XF86VIDMODE
/* Private info for Video Mode Extentsion */
typedef struct {
DisplayModePtr First;
DisplayModePtr Next;
int Flags;
CloseScreenProcPtr CloseScreen;
} VidModeRec, *VidModePtr;
#endif
/* Information for root window properties. */
typedef struct _RootWinProp {
struct _RootWinProp *next;
char *name;
Atom type;
short format;
long size;
pointer data;
} RootWinProp, *RootWinPropPtr;
/* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */
#define XLED1 ((unsigned long) 0x00000001)
#define XLED2 ((unsigned long) 0x00000002)
#define XLED3 ((unsigned long) 0x00000004)
#define XLED4 ((unsigned long) 0x00000008)
#define XCAPS ((unsigned long) 0x20000000)
#define XNUM ((unsigned long) 0x40000000)
#define XSCR ((unsigned long) 0x80000000)
#define XCOMP ((unsigned long) 0x00008000)
/* BSD console driver types (consType) */
#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__)
#define PCCONS 0
#define CODRV011 1
#define CODRV01X 2
#define SYSCONS 8
#define PCVT 16
#define WSCONS 32
#endif
#endif /* _XF86PRIVSTR_H */