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