74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.80 2002/12/12 18:29:10 eich Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Copyright (c) 1997 by The XFree86 Project, Inc.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * This file contains declarations for private XFree86 functions and variables,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * and definitions of private macros.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * "private" means not available to video drivers.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _XF86PRIV_H
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XF86PRIV_H
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include "xf86Privstr.h"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include "propertyst.h"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Parameters set ONLY from the command line options
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * The global state of these things is held in xf86InfoRec (when appropriate).
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern const char *xf86ConfigFile;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86AllowMouseOpenFail;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XF86VIDMODE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86VidModeDisabled;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86VidModeAllowNonLocal;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XF86MISC
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86MiscModInDevDisabled;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86MiscModInDevAllowNonLocal;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86fpFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86coFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86sFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86bsEnableFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86bsDisableFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86silkenMouseDisableFlag;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char *xf86LayoutName;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char *xf86ScreenName;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char *xf86PointerName;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char *xf86KeyboardName;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef KEEPBPP
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86Bpp;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86FbBpp;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86Depth;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Pix24Flags xf86Pix24;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern rgb xf86Weight;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86FlipPixels;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86BestRefresh;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Gamma xf86Gamma;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern char *xf86ServerName;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86ShowUnresolved;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Other parameters */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern xf86InfoRec xf86Info;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern const char *xf86InputDeviceList;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern const char *xf86ModulePath;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern MessageType xf86ModPathFrom;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern const char *xf86LogFile;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern MessageType xf86LogFileFrom;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86LogFileWasOpened;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern serverLayoutRec xf86ConfigLayout;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Pix24Flags xf86ConfigPix24;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern unsigned short xf86MouseCflags[];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86SupportedMouseTypes[];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86NumMouseTypes;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef XFree86LOADER
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DriverPtr *xf86DriverList;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern ModuleInfoPtr *xf86ModuleInfoList;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86NumModuleInfos;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#else
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DriverPtr xf86DriverList[];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86NumDrivers;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86Resetting;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86Initialising;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86ProbeFailed;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86NumScreens;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern pciVideoPtr *xf86PciVideoInfo;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern xf86CurrentAccessRec xf86CurrentAccess;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern const char *xf86VisualNames[];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86Verbose; /* verbosity level */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int xf86LogVerbose; /* log file verbosity level */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86ProbeOnly;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern Bool xf86DoProbe;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef DEFAULT_VERBOSE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DEFAULT_VERBOSE 0
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef DEFAULT_LOG_VERBOSE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DEFAULT_LOG_VERBOSE 3
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef DEFAULT_DPI
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DEFAULT_DPI 75
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DEFAULT_UNRESOLVED TRUE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define DEFAULT_BEST_REFRESH FALSE
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Function Prototypes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _NO_XF86_PROTOTYPES
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Beta.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void xf86CheckBeta(int extraDays, char *key);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Bus.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86BusProbe(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86ChangeBusIndex(int oldIndex, int newIndex);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86AccessInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86AccessEnter(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86AccessLeave(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86EntityInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86EntityEnter(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86EntityLeave(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86AccessLeaveState(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86FindPrimaryDevice(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* new RAC */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86ResourceBrokerInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86PostProbe(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86ClearEntityListForScreen(int scrnIndex);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86AddDevToEntity(int entityIndex, GDevPtr dev);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void xf86PostPreInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern void xf86PostScreenInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern memType getValidBIOSBase(PCITAG tag, int num);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int pciTestMultiDeviceCard(int bus, int dev, int func, PCITAG** pTag);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Config.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncBool xf86PathIsAbsolute(const char *path);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncBool xf86PathIsSafe(const char *path);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86DefaultModes */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern DisplayModeRec xf86DefaultModes [];
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86DoScanPci.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid DoScanPci(int argc, char **argv, int i);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86DoProbe.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid DoProbeArgs(int argc, char **argv, int i);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid DoProbe(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid DoConfigure(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Events.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86PostKbdEvent(unsigned key);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86PostMseEvent(DeviceIntPtr device, int buttons, int dx, int dy);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86Wakeup(pointer blockData, int err, pointer pReadmask);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86SigHandler(int signo);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef MEMDEBUG
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86SigMemDebug(int signo);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86HandlePMEvents(int fd, pointer data);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern int (*xf86PMGetEventFromOs)(int fd,pmEvent *events,int num);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncextern pmWait (*xf86PMConfirmEventToOs)(int fd,pmEvent event);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86GrabServerCallback(CallbackListPtr *, pointer, pointer);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Helper.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86LogInit(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86CloseLog(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid OsVendorVErrorF(const char *f, va_list args);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Init.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncBool xf86LoadModules(char **list, pointer *optlist);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Io.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86KbdBell(int percent, DeviceIntPtr pKeyboard, pointer ctrl,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync int unused);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86KbdLeds(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86UpdateKbdLeds(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86KbdCtrl(DevicePtr pKeyboard, KeybdCtrl *ctrl);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86InitKBD(Bool init);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncint xf86KbdProc(DeviceIntPtr pKeyboard, int what);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Kbd.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86KbdGetMapping(KeySymsPtr pKeySyms, CARD8 *pModMap);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86Lock.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifdef USE_XF86_SERVERLOCK
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86UnlockServer(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* xf86XKB.c */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsyncvoid xf86InitXkb(void);
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _NO_XF86_PROTOTYPES */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _XF86PRIV_H */