a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
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 * The above copyright notice and this permission notice shall be included in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * all copies or substantial portions of the Software.
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 * 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 * This file contains declarations for public XFree86 functions and variables,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * and definitions of public macros.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * "public" means available to video drivers.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* General parameters */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT DevPrivateKeyRec xf86CreateRootWindowKeyRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define xf86CreateRootWindowKey (&xf86CreateRootWindowKeyRec)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT const unsigned char byte_reversed[256];
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool VTSwitchEnabled; /* kbd driver */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync pScreen->whitePixel = (pScreen->whitePixel) ? 0 : 1; \
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync pScreen->blackPixel = (pScreen->blackPixel) ? 0 : 1; \
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Function Prototypes */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* PCI related */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86CheckPciSlot(const struct pci_device *);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86ClaimPciSlot(struct pci_device *, DriverPtr drvp,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86UnclaimPciSlot(struct pci_device *, GDevPtr dev);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86ParsePciBusString(const char *busID, int *bus,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86ComparePciBusString(const char *busID, int bus,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86IsPrimaryPci(struct pci_device *pPci);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86CheckPciMemBase(struct pci_device *pPci,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT struct pci_device *xf86GetPciInfoForEntity(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86MatchPciInstances(const char *driverName,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define xf86VGAarbiterDeviceDecodes() do {} while (0)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define xf86VGAarbiterWrapFunctions() do {} while (0)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86GetFbInfoForScreen(int scrnIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86ClaimNoSlot(DriverPtr drvp, int chipset, GDevPtr dev,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86DriverHasEntities(DriverPtr drvp);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86AddEntityToScreen(ScrnInfoPtr pScrn, int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetEntityInstanceForScreen(ScrnInfoPtr pScrn,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86GetNumEntityInstances(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT GDevPtr xf86GetDevFromEntity(int entityIndex, int instance);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT EntityInfoPtr xf86GetEntityInfo(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SetEntityFuncs(int entityIndex, EntityProc init,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86IsEntityPrimary(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScrnInfoPtr xf86FindScreenForEntity(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86GetLastScrnFlag(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetLastScrnFlag(int entityIndex, int scrnIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86IsEntityShared(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetEntityShared(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86IsEntitySharable(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetEntitySharable(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86IsPrimInitDone(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetPrimInitDone(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86ClearPrimInitDone(int entityIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86AllocateEntityPrivateIndex(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT DevUnion *xf86GetEntityPrivate(int entityIndex, int privIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT GDevPtr xf86AddBusDeviceToConfigure(const char *driver,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86LockZoom(ScreenPtr pScreen, int lock);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86InitViewport(ScrnInfoPtr pScr);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetViewport(ScreenPtr pScreen, int x, int y);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86ZoomViewport(ScreenPtr pScreen, int zoom);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void *xf86GetPointerScreenFuncs(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool DGAInit(ScreenPtr pScreen, DGAFunctionPtr funcs,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool DGAReInitModes(ScreenPtr pScreen, DGAModePtr modes,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void SetTimeSinceLastInputEvent(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void *xf86AddInputHandler(int fd, InputHandlerProc proc,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86RemoveInputHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86DisableInputHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86EnableInputHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void *xf86AddGeneralHandler(int fd, InputHandlerProc proc,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86RemoveGeneralHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86DisableGeneralHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86EnableGeneralHandler(void *handler);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT InputHandlerProc xf86SetConsoleHandler(InputHandlerProc
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86InterceptSignals(int *signo);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86InterceptSigIll(void (*sigillhandler) (void));
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86ProcessActionEvent(ActionEvent action, void *arg);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86EnableInputDeviceForVTSwitch(InputInfoPtr pInfo);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86DisableInputDeviceForVTSwitch(InputInfoPtr pInfo);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86AddDriver(DriverPtr driver, void *module,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86DeleteDriver(int drvIndex);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScrnInfoPtr xf86AllocateScreen(DriverPtr drv, int flags);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86DeleteScreen(ScrnInfoPtr pScrn);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT int xf86AllocateScrnInfoPrivateIndex(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86AddPixFormat(ScrnInfoPtr pScrn, int depth, int bpp,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int bpp,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86PrintDepthBpp(ScrnInfoPtr scrp);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SetDefaultVisual(ScrnInfoPtr scrp, int visual);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT Bool xf86SetGamma(ScrnInfoPtr scrp, Gamma newGamma);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetDpi(ScrnInfoPtr pScrn, int x, int y);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86SetBlackWhitePixels(ScreenPtr pScreen);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT void xf86EnableDisableFBAccess(ScrnInfoPtr pScrn, Bool enable);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86VDrvMsgVerb(int scrnIndex, MessageType type, int verb,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86DrvMsgVerb(int scrnIndex, MessageType type, int verb,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync const char *format, ...)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86DrvMsg(int scrnIndex, MessageType type, const char *format, ...)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86MsgVerb(MessageType type, int verb, const char *format, ...)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT const char *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86StringToToken(SymTabPtr table, const char *string);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86PrintChipsets(const char *drvname, const char *drvmsg, SymTabPtr chips);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86MatchDevice(const char *drivername, GDevPtr ** driversectlist);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT const char *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT const char *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86LoadDrvSubModule(DriverPtr drv, const char *name);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86LoadSubModule(ScrnInfoPtr pScrn, const char *name);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86FindXvOptions(ScrnInfoPtr pScrn, int adapt_index, const char *port_name,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync const char **adaptor_name, void **adaptor_options);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86GetOS(const char **name, int *major, int *minor, int *teeny);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync EntityProc enter, EntityProc leave, void *private);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT const char *
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ClockRangePtr clockRanges, LookupModeFlags strategy);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode, int flags);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86DeleteMode(DisplayModePtr * modeList, DisplayModePtr mode);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86SetCrtcForModes(ScrnInfoPtr scrp, int adjustFlags);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncxf86RandRSetNewVirtualAndDimensions(ScreenPtr pScreen,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern void xf86ExtensionInit(void);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* convert ScreenPtr to ScrnInfoPtr */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScrnInfoPtr xf86ScreenToScrn(ScreenPtr pScreen);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* convert ScrnInfoPtr to ScreenPtr */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern _X_EXPORT ScreenPtr xf86ScrnToScreen(ScrnInfoPtr pScrn);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _NO_XF86_PROTOTYPES */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define XF86_HAS_SCRN_CONV 1 /* define for drivers to use in api compat */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define XF86_SCRN_INTERFACE 1 /* define for drivers to use in api compat */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* flags passed to xf86 allocate screen */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* Update the internal total dimensions of all ScreenRecs together */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _XF86_H */