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