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