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