a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/*
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Copyright (c) 1997-2001 by The XFree86 Project, Inc.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * copy of this software and associated documentation files (the "Software"),
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * to deal in the Software without restriction, including without limitation
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * and/or sell copies of the Software, and to permit persons to whom the
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Software is furnished to do so, subject to the following conditions:
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * The above copyright notice and this permission notice shall be included in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * all copies or substantial portions of the Software.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * OTHER DEALINGS IN THE SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Except as contained in this notice, the name of the copyright holder(s)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * and author(s) shall not be used in advertising or otherwise to promote
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * the sale, use or other dealings in this Software without prior written
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * authorization from the copyright holder(s) and author(s).
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Private procs. Public procs are in xf86Parser.h and xf86Optrec.h */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* exported functions are/were used by the X Server, and need to be
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * made public when installing libxf86config */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Device.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfDevicePtr xf86parseDeviceSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printDeviceSection(FILE * cf, XF86ConfDevicePtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeDeviceList(XF86ConfDevicePtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86validateDevice(XF86ConfigPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Files.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfFilesPtr xf86parseFilesSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeFiles(XF86ConfFilesPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Flags.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfFlagsPtr xf86parseFlagsSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printServerFlagsSection(FILE * f, XF86ConfFlagsPtr flags);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeFlags(XF86ConfFlagsPtr flags);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Input.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfInputPtr xf86parseInputSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printInputSection(FILE * f, XF86ConfInputPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeInputList(XF86ConfInputPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86validateInput(XF86ConfigPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* InputClass.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfInputClassPtr xf86parseInputClassSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printInputClassSection(FILE * f, XF86ConfInputClassPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeInputClassList(XF86ConfInputClassPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* OutputClass.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfOutputClassPtr xf86parseOutputClassSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printOutputClassSection(FILE * f, XF86ConfOutputClassPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeOutputClassList(XF86ConfOutputClassPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Layout.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfLayoutPtr xf86parseLayoutSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printLayoutSection(FILE * cf, XF86ConfLayoutPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeLayoutList(XF86ConfLayoutPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86validateLayout(XF86ConfigPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Module.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfModulePtr xf86parseModuleSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printModuleSection(FILE * cf, XF86ConfModulePtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT XF86LoadPtr xf86addNewLoadDirective(XF86LoadPtr head,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync const char *name, int type,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync XF86OptionPtr opts);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeModules(XF86ConfModulePtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Monitor.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfMonitorPtr xf86parseMonitorSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfModesPtr xf86parseModesSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printMonitorSection(FILE * cf, XF86ConfMonitorPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printModesSection(FILE * cf, XF86ConfModesPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86freeMonitorList(XF86ConfMonitorPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeModesList(XF86ConfModesPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86validateMonitor(XF86ConfigPtr p, XF86ConfScreenPtr screen);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Pointer.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfInputPtr xf86parsePointerSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Screen.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfScreenPtr xf86parseScreenSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printScreenSection(FILE * cf, XF86ConfScreenPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86freeScreenList(XF86ConfScreenPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeDisplayList(XF86ConfDisplayPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeModeList(XF86ModePtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86validateScreen(XF86ConfigPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Vendor.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfVendorPtr xf86parseVendorSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeVendorList(XF86ConfVendorPtr p);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printVendorSection(FILE * cf, XF86ConfVendorPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeVendorSubList(XF86ConfVendSubPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Video.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfVideoAdaptorPtr xf86parseVideoAdaptorSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86printVideoAdaptorSection(FILE * cf, XF86ConfVideoAdaptorPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86freeVideoAdaptorList(XF86ConfVideoAdaptorPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* scan.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86getToken(xf86ConfigSymTabRec * tab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86getSubToken(char **comment);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint xf86getSubTokenWithTab(char **comment, xf86ConfigSymTabRec * tab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid xf86unGetToken(int token);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncchar *xf86tokenString(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86parseError(const char *format, ...)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync_X_ATTRIBUTE_PRINTF(1, 2);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86validationError(const char *format, ...)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync_X_ATTRIBUTE_PRINTF(1, 2);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86setSection(const char *section);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncint
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86getStringToken(xf86ConfigSymTabRec * tab);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* write.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* DRI.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfDRIPtr
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86parseDRISection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86printDRISection(FILE * cf, XF86ConfDRIPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86freeDRI(XF86ConfDRIPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Extensions.c */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncXF86ConfExtensionsPtr
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86parseExtensionsSection(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86printExtensionsSection(FILE * cf, XF86ConfExtensionsPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86freeExtensions(XF86ConfExtensionsPtr ptr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifdef HAVE_XORG_CONFIG_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#include <xorg-config.h>
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#ifndef HAVE_XORG_CONFIG_H
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Externally provided functions */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncErrorF(const char *f, ...);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncvoid
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncVErrorF(const char *f, va_list args);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif