deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/*
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Copyright (c) 1997 Metro Link Incorporated
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * copy of this software and associated documentation files (the "Software"),
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * to deal in the Software without restriction, including without limitation
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * and/or sell copies of the Software, and to permit persons to whom the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Software is furnished to do so, subject to the following conditions:
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * The above copyright notice and this permission notice shall be included in
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * all copies or substantial portions of the Software.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SOFTWARE.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Except as contained in this notice, the name of the Metro Link shall not be
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * used in advertising or otherwise to promote the sale, use or other dealings
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * in this Software without prior written authorization from Metro Link.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/*
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * copy of this software and associated documentation files (the "Software"),
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * to deal in the Software without restriction, including without limitation
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * and/or sell copies of the Software, and to permit persons to whom the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Software is furnished to do so, subject to the following conditions:
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * The above copyright notice and this permission notice shall be included in
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * all copies or substantial portions of the Software.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * OTHER DEALINGS IN THE SOFTWARE.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Except as contained in this notice, the name of the copyright holder(s)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * and author(s) shall not be used in advertising or otherwise to promote
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * the sale, use or other dealings in this Software without prior written
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * authorization from the copyright holder(s) and author(s).
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/*
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * This file contains the external interfaces for the XFree86 configuration
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * file parser.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifdef HAVE_XORG_CONFIG_H
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <xorg-config.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifndef _xf86Parser_h_
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define _xf86Parser_h_
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "xf86Optrec.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define HAVE_PARSER_DECLS
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_logfile;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_rgbpath;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_modulepath;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_inputdevs;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_fontpath;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *file_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfFilesRec, *XF86ConfFilesPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* Values for load_type */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86_LOAD_MODULE 0
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86_LOAD_DRIVER 1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int load_type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *load_name;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr load_opt;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *load_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ignore;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86LoadRec, *XF86LoadPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86LoadPtr mod_load_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mod_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModuleRec, *XF86ConfModulePtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_IMPLICIT_KEYBOARD "Implicit Core Keyboard"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_IMPLICIT_POINTER "Implicit Core Pointer"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_PHSYNC 0x0001
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_NHSYNC 0x0002
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_PVSYNC 0x0004
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_NVSYNC 0x0008
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_INTERLACE 0x0010
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_DBLSCAN 0x0020
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_CSYNC 0x0040
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_PCSYNC 0x0080
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_NCSYNC 0x0100
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_HSKEW 0x0200 /* hskew provided */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_BCAST 0x0400
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_CUSTOM 0x0800 /* timing numbers customized by editor */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define XF86CONF_VSCAN 0x1000
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *ml_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_clock;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_hdisplay;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_hsyncstart;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_hsyncend;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_htotal;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_vdisplay;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_vsyncstart;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_vsyncend;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_vtotal;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_vscan;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_flags;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ml_hskew;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *ml_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModeLineRec, *XF86ConfModeLinePtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vp_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr vp_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vp_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVideoPortRec, *XF86ConfVideoPortPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_vendor;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_board;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_busid;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_driver;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr va_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVideoPortPtr va_port_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_fwdref;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *va_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVideoAdaptorRec, *XF86ConfVideoAdaptorPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_MAX_HSYNC 8
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_MAX_VREFRESH 8
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync float hi, lo;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncparser_range;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int red, green, blue;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncparser_rgb;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *modes_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModeLinePtr mon_modeline_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *modes_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModesRec, *XF86ConfModesPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *ml_modes_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModesPtr ml_modes;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModesLinkRec, *XF86ConfModesLinkPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mon_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mon_vendor;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mon_modelname;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int mon_width; /* in mm */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int mon_height; /* in mm */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModeLinePtr mon_modeline_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int mon_n_hsync;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync parser_range mon_hsync[CONF_MAX_HSYNC];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int mon_n_vrefresh;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync parser_range mon_vrefresh[CONF_MAX_VREFRESH];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync float mon_gamma_red;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync float mon_gamma_green;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync float mon_gamma_blue;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr mon_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModesLinkPtr mon_modes_sect_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mon_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfMonitorRec, *XF86ConfMonitorPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_MAXDACSPEEDS 4
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_MAXCLOCKS 128
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_vendor;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_board;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_chipset;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_busid;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_card;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_driver;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_ramdac;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_dacSpeeds[CONF_MAXDACSPEEDS];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_videoram;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_textclockfreq;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long dev_bios_base;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long dev_mem_base;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long dev_io_base;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_clockchip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_clocks;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_clock[CONF_MAXCLOCKS];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_chipid;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_chiprev;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_irq;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dev_screen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr dev_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dev_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfDeviceRec, *XF86ConfDevicePtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *mode_name;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ModeRec, *XF86ModePtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_frameX0;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_frameY0;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_virtualX;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_virtualY;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_depth;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int disp_bpp;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *disp_visual;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync parser_rgb disp_weight;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync parser_rgb disp_black;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync parser_rgb disp_white;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ModePtr disp_mode_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr disp_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *disp_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfDisplayRec, *XF86ConfDisplayPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr flg_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *flg_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfFlagsRec, *XF86ConfFlagsPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *al_adaptor_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVideoAdaptorPtr al_adaptor;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfAdaptorLinkRec, *XF86ConfAdaptorLinkPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *scrn_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *scrn_obso_driver;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int scrn_defaultdepth;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int scrn_defaultbpp;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int scrn_defaultfbbpp;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *scrn_monitor_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfMonitorPtr scrn_monitor;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *scrn_device_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfDevicePtr scrn_device;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfAdaptorLinkPtr scrn_adaptor_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfDisplayPtr scrn_display_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr scrn_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *scrn_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfScreenRec, *XF86ConfScreenPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *inp_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *inp_driver;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr inp_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *inp_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfInputRec, *XF86ConfInputPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfInputPtr iref_inputdev;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *iref_inputdev_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr iref_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfInputrefRec, *XF86ConfInputrefPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/* Values for adj_where */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_OBSOLETE -1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_ABSOLUTE 0
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_RIGHTOF 1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_LEFTOF 2
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_ABOVE 3
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_BELOW 4
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define CONF_ADJ_RELATIVE 5
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int adj_scrnum;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr adj_screen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_screen_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr adj_top;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_top_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr adj_bottom;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_bottom_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr adj_left;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_left_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr adj_right;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_right_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int adj_where;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int adj_x;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int adj_y;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *adj_refscreen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfAdjacencyRec, *XF86ConfAdjacencyPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *inactive_device_str;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfDevicePtr inactive_device;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfInactiveRec, *XF86ConfInactivePtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *lay_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfAdjacencyPtr lay_adjacency_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfInactivePtr lay_inactive_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfInputrefPtr lay_input_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr lay_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *lay_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfLayoutRec, *XF86ConfLayoutPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vs_name;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vs_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr vs_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vs_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVendSubRec, *XF86ConfVendSubPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vnd_identifier;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr vnd_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVendSubPtr vnd_sub_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *vnd_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVendorRec, *XF86ConfVendorPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GenericListRec list;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int buf_count;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int buf_size;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *buf_flags;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *buf_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfBuffersRec, *XF86ConfBuffersPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dri_group_name;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dri_group;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int dri_mode;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfBuffersPtr dri_buffers_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *dri_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfDRIRec, *XF86ConfDRIPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86OptionPtr ext_option_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *extensions_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfExtensionsRec, *XF86ConfExtensionsPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfFilesPtr conf_files;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModulePtr conf_modules;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfFlagsPtr conf_flags;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVideoAdaptorPtr conf_videoadaptor_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfModesPtr conf_modes_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfMonitorPtr conf_monitor_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfDevicePtr conf_device_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfScreenPtr conf_screen_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfInputPtr conf_input_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfLayoutPtr conf_layout_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVendorPtr conf_vendor_lst;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfDRIPtr conf_dri;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfExtensionsPtr conf_extensions;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *conf_comment;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfigRec, *XF86ConfigPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync{
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int token; /* id of the token */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *name; /* pointer to the LOWERCASED name */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncxf86ConfigSymTabRec, *xf86ConfigSymTabPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/*
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * prototypes for public functions
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern const char *xf86openConfigFile (const char *, const char *,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync const char *);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern void xf86setBuiltinConfig(const char *config[]);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern XF86ConfigPtr xf86readConfigFile (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern void xf86closeConfigFile (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern void xf86freeConfig (XF86ConfigPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int xf86writeConfigFile (const char *, XF86ConfigPtr);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfDevicePtr xf86findDevice(const char *ident, XF86ConfDevicePtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfLayoutPtr xf86findLayout(const char *name, XF86ConfLayoutPtr list);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfMonitorPtr xf86findMonitor(const char *ident, XF86ConfMonitorPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModesPtr xf86findModes(const char *ident, XF86ConfModesPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfModeLinePtr xf86findModeLine(const char *ident, XF86ConfModeLinePtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfScreenPtr xf86findScreen(const char *ident, XF86ConfScreenPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfInputPtr xf86findInput(const char *ident, XF86ConfInputPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfInputPtr xf86findInputByDriver(const char *driver, XF86ConfInputPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVendorPtr xf86findVendor(const char *name, XF86ConfVendorPtr list);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncXF86ConfVideoAdaptorPtr xf86findVideoAdaptor(const char *ident,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XF86ConfVideoAdaptorPtr p);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncGenericListPtr xf86addListItem(GenericListPtr head, GenericListPtr c_new);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint xf86itemNotSublist(GenericListPtr list_1, GenericListPtr list_2);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint xf86pathIsAbsolute(const char *path);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint xf86pathIsSafe(const char *path);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncchar *xf86addComment(char *cur, char *add);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif /* _xf86Parser_h_ */