105b261ecSmrg 205b261ecSmrg/* 305b261ecSmrg * Copyright (c) 1997-2003 by The XFree86 Project, Inc. 405b261ecSmrg * 505b261ecSmrg * Permission is hereby granted, free of charge, to any person obtaining a 605b261ecSmrg * copy of this software and associated documentation files (the "Software"), 705b261ecSmrg * to deal in the Software without restriction, including without limitation 805b261ecSmrg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 905b261ecSmrg * and/or sell copies of the Software, and to permit persons to whom the 1005b261ecSmrg * Software is furnished to do so, subject to the following conditions: 1105b261ecSmrg * 1205b261ecSmrg * The above copyright notice and this permission notice shall be included in 1305b261ecSmrg * all copies or substantial portions of the Software. 1405b261ecSmrg * 1505b261ecSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1605b261ecSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1705b261ecSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 1805b261ecSmrg * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 1905b261ecSmrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 2005b261ecSmrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 2105b261ecSmrg * OTHER DEALINGS IN THE SOFTWARE. 2205b261ecSmrg * 2305b261ecSmrg * Except as contained in this notice, the name of the copyright holder(s) 2405b261ecSmrg * and author(s) shall not be used in advertising or otherwise to promote 2505b261ecSmrg * the sale, use or other dealings in this Software without prior written 2605b261ecSmrg * authorization from the copyright holder(s) and author(s). 2705b261ecSmrg */ 2805b261ecSmrg 2905b261ecSmrg/* 3005b261ecSmrg * This file contains definitions of the private XFree86 data structures/types. 3105b261ecSmrg * None of the data structures here should be used by video drivers. 3235c4bbdfSmrg */ 3305b261ecSmrg 3405b261ecSmrg#ifndef _XF86PRIVSTR_H 3505b261ecSmrg#define _XF86PRIVSTR_H 3605b261ecSmrg 3705b261ecSmrg#include "xf86str.h" 3805b261ecSmrg 394642e01fSmrgtypedef enum { 404642e01fSmrg XF86_GlxVisualsMinimal, 414642e01fSmrg XF86_GlxVisualsTypical, 424642e01fSmrg XF86_GlxVisualsAll, 434642e01fSmrg} XF86_GlxVisuals; 444642e01fSmrg 4505b261ecSmrg/* 4605b261ecSmrg * xf86InfoRec contains global parameters which the video drivers never 4705b261ecSmrg * need to access. Global parameters which the video drivers do need 4805b261ecSmrg * should be individual globals. 4905b261ecSmrg */ 5005b261ecSmrg 5105b261ecSmrgtypedef struct { 5235c4bbdfSmrg int consoleFd; 5335c4bbdfSmrg int vtno; 5405b261ecSmrg 5505b261ecSmrg /* event handler part */ 5635c4bbdfSmrg int lastEventTime; 5735c4bbdfSmrg Bool vtRequestsPending; 581b5d61b8Smrg#ifdef __sun 5935c4bbdfSmrg int vtPendingNum; 606747b715Smrg#endif 6135c4bbdfSmrg Bool dontVTSwitch; 6235c4bbdfSmrg Bool autoVTSwitch; 6335c4bbdfSmrg Bool ShareVTs; 6435c4bbdfSmrg Bool dontZap; 6535c4bbdfSmrg Bool dontZoom; 6605b261ecSmrg 6705b261ecSmrg /* graphics part */ 6835c4bbdfSmrg ScreenPtr currentScreen; 6905b261ecSmrg#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__) 7035c4bbdfSmrg int consType; /* Which console driver? */ 7105b261ecSmrg#endif 7205b261ecSmrg 7305b261ecSmrg /* Other things */ 7435c4bbdfSmrg Bool allowMouseOpenFail; 7535c4bbdfSmrg Bool vidModeEnabled; /* VidMode extension enabled */ 7635c4bbdfSmrg Bool vidModeAllowNonLocal; /* allow non-local VidMode 7735c4bbdfSmrg * connections */ 7835c4bbdfSmrg Bool miscModInDevEnabled; /* Allow input devices to be 7935c4bbdfSmrg * changed */ 8035c4bbdfSmrg Bool miscModInDevAllowNonLocal; 8135c4bbdfSmrg Bool pmFlag; 8235c4bbdfSmrg MessageType iglxFrom; 8335c4bbdfSmrg XF86_GlxVisuals glxVisuals; 8435c4bbdfSmrg MessageType glxVisualsFrom; 8535c4bbdfSmrg 8635c4bbdfSmrg Bool useDefaultFontPath; 8735c4bbdfSmrg Bool ignoreABI; 8835c4bbdfSmrg 8935c4bbdfSmrg Bool forceInputDevices; /* force xorg.conf or built-in input devices */ 9035c4bbdfSmrg Bool autoAddDevices; /* Whether to succeed NIDR, or ignore. */ 9135c4bbdfSmrg Bool autoEnableDevices; /* Whether to enable, or let the client 9235c4bbdfSmrg * control. */ 9335c4bbdfSmrg 9435c4bbdfSmrg Bool dri2; 9535c4bbdfSmrg MessageType dri2From; 9635c4bbdfSmrg 9735c4bbdfSmrg Bool autoAddGPU; 981b5d61b8Smrg const char *debug; 99ed6184dfSmrg Bool autoBindGPU; 10005b261ecSmrg} xf86InfoRec, *xf86InfoPtr; 10105b261ecSmrg 10205b261ecSmrg/* ISC's cc can't handle ~ of UL constants, so explicitly type cast them. */ 10305b261ecSmrg#define XLED1 ((unsigned long) 0x00000001) 10405b261ecSmrg#define XLED2 ((unsigned long) 0x00000002) 10505b261ecSmrg#define XLED3 ((unsigned long) 0x00000004) 10605b261ecSmrg#define XLED4 ((unsigned long) 0x00000008) 10705b261ecSmrg#define XCAPS ((unsigned long) 0x20000000) 10805b261ecSmrg#define XNUM ((unsigned long) 0x40000000) 10905b261ecSmrg#define XSCR ((unsigned long) 0x80000000) 11005b261ecSmrg#define XCOMP ((unsigned long) 0x00008000) 11105b261ecSmrg 11205b261ecSmrg/* BSD console driver types (consType) */ 11305b261ecSmrg#if defined(CSRG_BASED) || defined(__FreeBSD_kernel__) 11405b261ecSmrg#define PCCONS 0 11505b261ecSmrg#define CODRV011 1 11605b261ecSmrg#define CODRV01X 2 11705b261ecSmrg#define SYSCONS 8 11805b261ecSmrg#define PCVT 16 11905b261ecSmrg#define WSCONS 32 12005b261ecSmrg#endif 12105b261ecSmrg 12235c4bbdfSmrg/* Root window property to tell clients whether our VT is currently active. 12335c4bbdfSmrg * Name chosen to match the "XFree86_VT" property. */ 12435c4bbdfSmrg#define HAS_VT_ATOM_NAME "XFree86_has_VT" 12535c4bbdfSmrg 12635c4bbdfSmrg#endif /* _XF86PRIVSTR_H */ 127