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