summaryrefslogtreecommitdiff
path: root/hw/xfree86/common/xf86.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/common/xf86.h')
-rw-r--r--hw/xfree86/common/xf86.h1080
1 files changed, 372 insertions, 708 deletions
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index ba00913d8..119adc5a6 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -1,743 +1,407 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.47.2.8 1998/02/24 19:05:53 hohndel Exp $ */
-/*
- * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Thomas Roell not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Thomas Roell makes no representations
- * about the suitability of this software for any purpose. It is provided
- * "as is" without express or implied warranty.
- *
- * THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- *
- */
-/* $Xorg: xf86.h,v 1.3 2000/08/17 19:50:28 cpqbld Exp $ */
-
-#ifndef _XF86_H
-#define _XF86_H
-
-#include "misc.h"
-#include "input.h"
-#include "scrnintstr.h"
-
-#include "xf86_Option.h"
-
-/*
- * structure common for all modes
- */
-typedef struct _DispM {
- struct _DispM *prev,*next;
- char *name; /* identifier of this mode */
- /* These are the values that the user sees/provides */
- int Clock; /* pixel clock */
- int HDisplay; /* horizontal timing */
- int HSyncStart;
- int HSyncEnd;
- int HTotal;
- int HSkew;
- int VDisplay; /* vertical timing */
- int VSyncStart;
- int VSyncEnd;
- int VTotal;
- int Flags;
- /* These are the values the hardware uses */
- int SynthClock; /* Actual clock freq to be programmed */
- int CrtcHDisplay;
- int CrtcHSyncStart;
- int CrtcHSyncEnd;
- int CrtcHTotal;
- int CrtcHSkew;
- int CrtcVDisplay;
- int CrtcVSyncStart;
- int CrtcVSyncEnd;
- int CrtcVTotal;
- Bool CrtcHAdjusted;
- Bool CrtcVAdjusted;
- int PrivSize;
- INT32 *Private;
-} DisplayModeRec, *DisplayModePtr;
-
-#define V_PHSYNC 0x0001
-#define V_NHSYNC 0x0002
-#define V_PVSYNC 0x0004
-#define V_NVSYNC 0x0008
-#define V_INTERLACE 0x0010
-#define V_DBLSCAN 0x0020
-#define V_CSYNC 0x0040
-#define V_PCSYNC 0x0080
-#define V_NCSYNC 0x0100
-#define V_HSKEW 0x0200 /* hskew provided */
-#define V_PIXMUX 0x1000
-#define V_DBLCLK 0x2000
-#define V_CLKDIV2 0x4000
-
-/* The monitor description */
-
-#define MAX_HSYNC 8
-#define MAX_VREFRESH 8
-
-typedef struct { float hi, lo; } range;
-
-typedef struct {
- char *id;
- char *vendor;
- char *model;
- float EMPTY;
- int n_hsync;
- range hsync[MAX_HSYNC];
- int n_vrefresh;
- range vrefresh[MAX_VREFRESH];
- DisplayModePtr Modes, Last; /* Start and end of monitor's mode list */
-} MonRec, *MonPtr;
-
-#define MAXCLOCKS 128
-#define MAXDACSPEEDS 4 /* for <= 8, 16, 24, 32bpp */
-
-/* Set default max allowed clock to 90MHz */
-#define DEFAULT_MAX_CLOCK 90000
-
-/*
- * the graphic device
- */
-typedef struct {
- Bool configured;
- int tmpIndex;
- int scrnIndex;
- Bool (* Probe)(
-#if NeedNestedPrototypes
- void
-#endif
-);
- Bool (* Init)(
-#if NeedNestedPrototypes
- int scr_index,
- ScreenPtr pScreen,
- int argc,
- char **argv
-#endif
-);
- int (* ValidMode)(
-#if NeedNestedPrototypes
- DisplayModePtr target,
- Bool verbose,
- int flag
-#endif
-);
- void (* EnterLeaveVT)(
-#if NeedNestedPrototypes
- int,
- int
-#endif
-);
- void (* EnterLeaveMonitor)(
-#if NeedNestedPrototypes
- int
-#endif
-);
- void (* EnterLeaveCursor)(
-#if NeedNestedPrototypes
- int
-#endif
-);
- void (* AdjustFrame)(
-#if NeedNestedPrototypes
- int x,
- int y
-#endif
-);
- Bool (* SwitchMode)(
-#if NeedNestedPrototypes
- DisplayModePtr modes
-#endif
-);
- void (* DPMSSet)(
-#if NeedNestedPrototypes
- int level
-#endif
-);
- void (* PrintIdent)(
-#if NeedNestedPrototypes
- void
-#endif
-);
- int depth;
- xrgb weight;
- int bitsPerPixel;
- int defaultVisual;
- int virtualX,virtualY;
- int displayWidth;
- int frameX0, frameY0, frameX1, frameY1;
- OFlagSet options;
- OFlagSet clockOptions;
- OFlagSet xconfigFlag;
- char *chipset;
- char *ramdac;
- int dacSpeeds[MAXDACSPEEDS];
- int dacSpeedBpp;
- int clocks;
- int clock[MAXCLOCKS];
- int maxClock;
- int videoRam;
- int BIOSbase; /* Base address of video BIOS */
- unsigned long MemBase; /* Frame buffer base address */
- int width, height; /* real display dimensions */
- unsigned long speedup; /* Use SpeedUp code */
- DisplayModePtr modes;
- MonPtr monitor;
- char *clockprog;
- int textclock;
- Bool bankedMono; /* display supports banking for mono server */
- char *name;
- xrgb blackColour;
- xrgb whiteColour;
- int *validTokens;
- char *patchLevel;
- unsigned int IObase; /* AGX - video card I/O reg base */
- unsigned int DACbase; /* AGX - dac I/O reg base */
- unsigned long COPbase; /* AGX - coprocessor memory base */
- unsigned int POSbase; /* AGX - I/O address of POS regs */
- int instance; /* AGX - XGA video card instance number */
- int s3Madjust;
- int s3Nadjust;
- int s3MClk;
- int chipID;
- int chipRev;
- unsigned long VGAbase; /* AGX - 64K aperture memory address */
- int s3RefClk;
- int s3BlankDelay;
- int textClockFreq;
- char *DCConfig;
- char *DCOptions;
- int MemClk; /* General flag used for memory clocking */
- int LCDClk;
-#ifdef XFreeXDGA
- int directMode;
- void (*setBank)(
-#if NeedNestedPrototypes
- int
-#endif
- );
- unsigned long physBase;
- int physSize;
-#endif
-#ifdef XF86SETUP
- void *device; /* This should be GDevPtr, but it causes
- problems with include file order */
-#endif
-} ScrnInfoRec, *ScrnInfoPtr;
-
-typedef struct {
- int token; /* id of the token */
- char *name; /* pointer to the LOWERCASED name */
-} SymTabRec, *SymTabPtr;
-
-#define VGA_DRIVER 1
-#define V256_DRIVER 2
-#define WGA_DRIVER 3
-#define XGA_DRIVER 4
-
-#define ENTER 1
-#define LEAVE 0
-
-/* These are possible return values for xf86CheckMode() and ValidMode() */
-#define MODE_OK 0
-#define MODE_HSYNC 1 /* hsync out of range */
-#define MODE_VSYNC 2 /* vsync out of range */
-#define MODE_BAD 255 /* unspecified reason */
-
-/* These are the possible flags for ValidMode */
-#define MODE_USED 1 /* this mode is really being used in the */
- /* modes line of the Display Subsection */
-#define MODE_SUGGESTED 2 /* this mode is included in the available*/
- /* modes in the Monitor Section */
-#define MODE_VID 3 /* this is called from the VidMode extension */
-
-/* Indicates the level of DPMS support */
-typedef enum {
- DPMSSupportUnknown,
- DPMSNotSupported,
- DPMSFullSupport
-} DPMSSupportStatus;
-
-/* flags for xf86LookupMode */
-#define LOOKUP_DEFAULT 0 /* Use default mode lookup method */
-#define LOOKUP_BEST_REFRESH 1 /* Pick modes with best refresh */
-#define LOOKUP_NO_INTERLACED 2 /* Ignore interlaced modes */
-#define LOOKUP_FORCE_DEFAULT 4 /* Force default lookup method */
-
-#define INTERLACE_REFRESH_WEIGHT 1.5
-
-/* SpeedUp options */
-
-#define SPEEDUP_FILLBOX 1
-#define SPEEDUP_FILLRECT 2
-#define SPEEDUP_BITBLT 4
-#define SPEEDUP_LINE 8
-#define SPEEDUP_TEGBLT8 0x10
-#define SPEEDUP_RECTSTIP 0x20
-
-/*
- * This is the routines where SpeedUp is quicker than fXF86. The problem is
- * that the SpeedUp fillbox is better for drawing vertical and horizontal
- * line segments, and the fXF86 version is significantly better for
- * more general lines
- */
-#define SPEEDUP_BEST (SPEEDUP_FILLRECT | SPEEDUP_BITBLT | \
- SPEEDUP_LINE | SPEEDUP_TEGBLT8 | \
- SPEEDUP_RECTSTIP)
-/*
-#define SPEEDUP_BEST (SPEEDUP_FILLBOX | SPEEDUP_FILLRECT | \
- SPEEDUP_BITBLT | SPEEDUP_LINE | \
- SPEEDUP_TEGBLT8 | SPEEDUP_RECTSTIP)
-*/
+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.169 2003/02/13 10:49:38 eich Exp $ */
/*
- * SpeedUp routines which are not dependent on the screen virtual resolution
+ * Copyright (c) 1997 by The XFree86 Project, Inc.
*/
-#ifndef SPEEDUP_ANYWIDTH
-#define SPEEDUP_ANYWIDTH (SPEEDUP_FILLRECT | SPEEDUP_BITBLT | \
- SPEEDUP_LINE | SPEEDUP_FILLBOX)
-#endif
/*
- * SpeedUp routines which are not dependent on ET4000
+ * This file contains declarations for public XFree86 functions and variables,
+ * and definitions of public macros.
+ *
+ * "public" means available to video drivers.
*/
-#ifndef SPEEDUP_ANYCHIPSET
-#define SPEEDUP_ANYCHIPSET (SPEEDUP_TEGBLT8 | SPEEDUP_RECTSTIP)
-#endif
-
-/* All SpeedUps */
-#define SPEEDUP_ALL (SPEEDUP_FILLBOX | SPEEDUP_FILLRECT | \
- SPEEDUP_BITBLT | SPEEDUP_LINE | \
- SPEEDUP_TEGBLT8 | SPEEDUP_RECTSTIP)
-
-/* SpeedUp flags used if SpeedUp is not in XF86Config */
-#define SPEEDUP_DEFAULT SPEEDUP_ALL
-
-extern Bool xf86VTSema;
-/* Mouse device private record */
-
-#define MSE_MAPTOX (-1)
-#define MSE_MAPTOY (-2)
-#define MSE_MAXBUTTONS 12
-#define MSE_DFLTBUTTONS 3
-
-typedef struct _MouseDevRec {
- DeviceProc mseProc; /* procedure for initializing */
- void (* mseEvents)(
-#if NeedNestedPrototypes
- struct _MouseDevRec *
-#endif
- ); /* proc for processing events */
- DeviceIntPtr device;
- int mseFd;
- char *mseDevice;
- int mseType;
- int mseModel;
- int baudRate;
- int oldBaudRate;
- int sampleRate;
- int lastButtons;
- int threshold, num, den; /* acceleration */
- int buttons; /* # of buttons */
- int emulateState; /* automata state for 2 button mode */
- Bool emulate3Buttons;
- int emulate3Timeout; /* Timeout for 3 button emulation */
- Bool chordMiddle;
- int mouseFlags; /* Flags to Clear after opening mouse dev */
- int truebuttons; /* Arg to maintain before emulate3buttons timer callback */
-
- int resolution;
- int negativeZ;
- int positiveZ;
-#ifndef MOUSE_PROTOCOL_IN_KERNEL
- unsigned char protoPara[7];
-#endif
-
-#ifndef CSRG_BASED
- /* xque part */
- int xquePending; /* was xqueFd, but nothing uses that */
- int xqueSema;
-#endif
-#ifdef XINPUT
- struct _LocalDeviceRec *local;
-#endif
-} MouseDevRec, *MouseDevPtr;
+#ifndef _XF86_H
+#define _XF86_H
-#ifdef XINPUT
-#define MOUSE_DEV(dev) (MouseDevPtr) PRIVATE(dev)
+#include "xf86str.h"
+#include "xf86Opt.h"
+#include <X11/Xfuncproto.h>
+#ifndef IN_MODULE
+#include <stdarg.h>
#else
-#define MOUSE_DEV(dev) (MouseDevPtr) (dev)->public.devicePrivate
+#include "xf86_ansic.h"
+#endif
+
+#include "propertyst.h"
+
+/* General parameters */
+extern int xf86DoConfigure;
+extern Bool xf86DoConfigurePass1;
+extern int xf86ScreenIndex; /* Index into pScreen.devPrivates */
+extern int xf86CreateRootWindowIndex; /* Index into pScreen.devPrivates */
+extern int xf86PixmapIndex;
+extern Bool xf86ResAccessEnter;
+extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
+extern const unsigned char byte_reversed[256];
+extern PropertyPtr *xf86RegisteredPropertiesTable;
+extern ScrnInfoPtr xf86CurrentScreen;
+extern Bool pciSlotClaimed;
+extern Bool isaSlotClaimed;
+extern Bool fbSlotClaimed;
+#ifdef __sparc__
+extern Bool sbusSlotClaimed;
+#endif
+extern confDRIRec xf86ConfigDRI;
+extern Bool xf86inSuspend;
+
+#define XF86SCRNINFO(p) ((ScrnInfoPtr)((p)->devPrivates[xf86ScreenIndex].ptr))
+
+#define XF86FLIP_PIXELS() \
+ do { \
+ if (xf86GetFlipPixels()) { \
+ pScreen->whitePixel = (pScreen->whitePixel) ? 0 : 1; \
+ pScreen->blackPixel = (pScreen->blackPixel) ? 0 : 1; \
+ } \
+ while (0)
+
+#define BOOLTOSTRING(b) ((b) ? "TRUE" : "FALSE")
+
+#define PIX24TOBPP(p) (((p) == Pix24Use24) ? 24 : \
+ (((p) == Pix24Use32) ? 32 : 0))
+
+/* variables for debugging */
+#ifdef BUILDDEBUG
+extern char* xf86p8bit[];
+extern CARD32 xf86DummyVar1;
+extern CARD32 xf86DummyVar2;
+extern CARD32 xf86DummyVar3;
#endif
-/* Global data */
-/* xf86Init.c */
-extern double xf86rGamma, xf86gGamma, xf86bGamma;
-
-#ifdef XF86VIDMODE
-extern Bool xf86VidModeEnabled;
-extern Bool xf86VidModeAllowNonLocal;
-#endif
-#ifdef XF86MISC
-extern Bool xf86MiscModInDevEnabled;
-extern Bool xf86MiscModInDevAllowNonLocal;
-#endif
-
-/* PCI probe flags */
-
-
-typedef enum {
- PCIProbe1 = 0,
- PCIProbe2,
- PCIForceConfig1,
- PCIForceConfig2
-} PciProbeType;
-
-extern PciProbeType xf86PCIFlags;
-
/* Function Prototypes */
#ifndef _NO_XF86_PROTOTYPES
-/* xf86Init.c */
-void InitOutput(
-#if NeedFunctionPrototypes
- ScreenInfo *pScreenInfo,
- int argc,
- char **argv
-#endif
-);
-
-void InitInput(
-#if NeedFunctionPrototypes
- int argc,
- char **argv
-#endif
-);
-
-void ddxGiveUp(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-
-void AbortDDX(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-
-int ddxProcessArgument(
-#if NeedFunctionPrototypes
- int argc,
- char *argv[],
- int i
-#endif
-);
-
-void ddxUseMsg(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-
-/* xf86Config.c */
-unsigned int StrToUL(
-#if NeedFunctionPrototypes
- char *str
-#endif
-);
-
-#ifndef CONFIG_RETURN_TYPE
-#ifdef XF86SETUP
-#define CONFIG_RETURN_TYPE int
-#else
-#define CONFIG_RETURN_TYPE void
-#endif
-#endif
-
-CONFIG_RETURN_TYPE xf86Config(
-#if NeedFunctionPrototypes
- int vtopen
-#endif
-);
-
-CONFIG_RETURN_TYPE configPointerSection(
-#if NeedFunctionPrototypes
- MouseDevPtr /*mouse_dev*/,
- int /*end_tag*/,
- char** /*devicename*/
-#endif
-);
-
-Bool xf86LookupMode(
-#if NeedFunctionPrototypes
- DisplayModePtr target,
- ScrnInfoPtr driver,
- int flags
-#endif
-);
-
-void xf86VerifyOptions(
-#if NeedFunctionPrototypes
- OFlagSet *allowedOptions,
- ScrnInfoPtr driver
-#endif
-);
-
-int xf86CheckMode(
-#if NeedFunctionPrototypes
- ScrnInfoPtr scrp,
- DisplayModePtr dispmp,
- MonPtr monp,
- int verbose
-#endif
-);
-
-int xf86GetNearestClock(
-#if NeedFunctionPrototypes
- ScrnInfoPtr Screen,
- int Frequency
-#endif
-);
-
+/* xf86Bus.c */
+
+Bool xf86CheckPciSlot(int bus, int device, int func);
+int xf86ClaimPciSlot(int bus, int device, int func, DriverPtr drvp,
+ int chipset, GDevPtr dev, Bool active);
+Bool xf86ParsePciBusString(const char *busID, int *bus, int *device,
+ int *func);
+Bool xf86ComparePciBusString(const char *busID, int bus, int device, int func);
+void xf86FormatPciBusNumber(int busnum, char *buffer);
+pciVideoPtr *xf86GetPciVideoInfo(void);
+pciConfigPtr *xf86GetPciConfigInfo(void);
+void xf86SetPciVideo(pciVideoPtr, resType);
+void xf86PrintResList(int verb, resPtr list);
+resPtr xf86AddRangesToList(resPtr list, resRange *pRange, int entityIndex);
+int xf86ClaimIsaSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
+int xf86GetIsaInfoForScreen(int scrnIndex);
+int xf86GetFbInfoForScreen(int scrnIndex);
+Bool xf86ParseIsaBusString(const char *busID);
+int xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
+int xf86ClaimNoSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
+void xf86EnableAccess(ScrnInfoPtr pScrn);
+void xf86SetCurrentAccess(Bool Enable, ScrnInfoPtr pScrn);
+Bool xf86IsPrimaryPci(pciVideoPtr pPci);
+Bool xf86IsPrimaryIsa(void);
+int xf86CheckPciGAType(pciVideoPtr pPci);
+/* new RAC */
+resPtr xf86AddResToList(resPtr rlist, resRange *Range, int entityIndex);
+resPtr xf86JoinResLists(resPtr rlist1, resPtr rlist2);
+resPtr xf86DupResList(const resPtr rlist);
+void xf86FreeResList(resPtr rlist);
+void xf86ClaimFixedResources(resList list, int entityIndex);
+Bool xf86DriverHasEntities(DriverPtr drvp);
+void xf86AddEntityToScreen(ScrnInfoPtr pScrn, int entityIndex);
+void xf86SetEntityInstanceForScreen(ScrnInfoPtr pScrn, int entityIndex,
+ int instance);
+int xf86GetNumEntityInstances(int entityIndex);
+GDevPtr xf86GetDevFromEntity(int entityIndex, int instance);
+void xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn, int entityIndex);
+EntityInfoPtr xf86GetEntityInfo(int entityIndex);
+pciVideoPtr xf86GetPciInfoForEntity(int entityIndex);
+int xf86GetPciEntity(int bus, int dev, int func);
+Bool xf86SetEntityFuncs(int entityIndex, EntityProc init,
+ EntityProc enter, EntityProc leave, pointer);
+void xf86DeallocateResourcesForEntity(int entityIndex, unsigned long type);
+resPtr xf86RegisterResources(int entityIndex, resList list,
+ unsigned long Access);
+Bool xf86CheckPciMemBase(pciVideoPtr pPci, memType base);
+void xf86SetAccessFuncs(EntityInfoPtr pEnt, xf86SetAccessFuncPtr funcs,
+ xf86SetAccessFuncPtr oldFuncs);
+Bool xf86IsEntityPrimary(int entityIndex);
+Bool xf86FixPciResource(int entityIndex, int prt, memType alignment,
+ unsigned long type);
+resPtr xf86ReallocatePciResources(int entityIndex, resPtr pRes);
+resPtr xf86SetOperatingState(resList list, int entityIndex, int mask);
+void xf86EnterServerState(xf86State state);
+resRange xf86GetBlock(unsigned long type, memType size,
+ memType window_start, memType window_end,
+ memType align_mask, resPtr avoid);
+resRange xf86GetSparse(unsigned long type, memType fixed_bits,
+ memType decode_mask, memType address_mask,
+ resPtr avoid);
+memType xf86ChkConflict(resRange *rgp, int entityIndex);
+Bool xf86IsPciDevPresent(int bus, int dev, int func);
+ScrnInfoPtr xf86FindScreenForEntity(int entityIndex);
+Bool xf86NoSharedResources(int screenIndex, resType res);
+resPtr xf86FindIntersectOfLists(resPtr l1, resPtr l2);
+pciVideoPtr xf86FindPciDeviceVendor(CARD16 vendorID, CARD16 deviceID,
+ char n, pciVideoPtr pvp_exclude);
+pciVideoPtr xf86FindPciClass(CARD8 intf, CARD8 subClass, CARD16 class,
+ char n, pciVideoPtr pvp_exclude);
+#ifdef INCLUDE_DEPRECATED
+void xf86EnablePciBusMaster(pciVideoPtr pPci, Bool enable);
+#endif
+void xf86RegisterStateChangeNotificationCallback(xf86StateChangeNotificationCallbackFunc func, pointer arg);
+Bool xf86DeregisterStateChangeNotificationCallback(xf86StateChangeNotificationCallbackFunc func);
+#ifdef async
+Bool xf86QueueAsyncEvent(void (*func)(pointer),pointer arg);
+#endif
+
+int xf86GetLastScrnFlag(int entityIndex);
+void xf86SetLastScrnFlag(int entityIndex, int scrnIndex);
+Bool xf86IsEntityShared(int entityIndex);
+void xf86SetEntityShared(int entityIndex);
+Bool xf86IsEntitySharable(int entityIndex);
+void xf86SetEntitySharable(int entityIndex);
+Bool xf86IsPrimInitDone(int entityIndex);
+void xf86SetPrimInitDone(int entityIndex);
+void xf86ClearPrimInitDone(int entityIndex);
+int xf86AllocateEntityPrivateIndex(void);
+DevUnion *xf86GetEntityPrivate(int entityIndex, int privIndex);
+
+/* xf86Configure.c */
+GDevPtr xf86AddBusDeviceToConfigure(const char *driver, BusType bus,
+ void *busData, int chipset);
+GDevPtr xf86AddDeviceToConfigure(const char *driver, pciVideoPtr pVideo,
+ int chipset);
+
/* xf86Cursor.c */
-void xf86InitViewport(
-#if NeedFunctionPrototypes
- ScrnInfoPtr pScr
-#endif
-);
-
-void xf86SetViewport(
-#if NeedFunctionPrototypes
- ScreenPtr pScreen,
- int x,
- int y
-#endif
-);
-
-void xf86LockZoom(
-#if NeedFunctionPrototypes
- ScreenPtr pScreen,
- int lock
-#endif
-);
-
-void xf86ZoomViewport(
-#if NeedFunctionPrototypes
- ScreenPtr pScreen,
- int zoom
-#endif
-);
-
-/* xf86Dl.c */
-void*
-xf86LoadModule(
-#if NeedFunctionPrototypes
- const char * file,
- const char * path
-#endif
-);
-
-/* xf86Events.c */
-int TimeSinceLastInputEvent(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-
-void SetTimeSinceLastInputEvent(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-
-void ProcessInputEvents(
-#if NeedFunctionPrototypes
- void
-#endif
-);
-void xf86PostKbdEvent(
-#if NeedFunctionPrototypes
- unsigned key
-#endif
-);
-
-void xf86PostMseEvent(
-#if NeedFunctionPrototypes
- DeviceIntPtr device,
- int buttons,
- int dx,
- int dy
-#endif
-);
+void xf86LockZoom(ScreenPtr pScreen, int lock);
+void xf86InitViewport(ScrnInfoPtr pScr);
+void xf86SetViewport(ScreenPtr pScreen, int x, int y);
+void xf86ZoomViewport(ScreenPtr pScreen, int zoom);
+Bool xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode);
+void *xf86GetPointerScreenFuncs(void);
+void xf86InitOrigins(void);
+void xf86ReconfigureLayout(void);
+
+/* xf86DPMS.c */
-void xf86Block(
-#if NeedFunctionPrototypes
- pointer blockData,
- OSTimePtr pTimeout,
- pointer pReadmask
-#endif
-);
+Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags);
-void xf86Wakeup(
-#if NeedFunctionPrototypes
- pointer blockData,
- int err,
- pointer pReadmask
-#endif
-);
+/* xf86DGA.c */
-void xf86SigHandler(
-#if NeedFunctionPrototypes
- int signo
-#endif
-);
-
-/* xf86Io.c */
-void xf86KbdBell(
-#if NeedFunctionPrototypes
- int percent,
- DeviceIntPtr pKeyboard,
- pointer ctrl,
- int unused
-#endif
-);
-
-void xf86KbdLeds(
-#if NeedFunctionPrototypes
- void
-#endif
-);
+Bool DGAInit(ScreenPtr pScreen, DGAFunctionPtr funcs, DGAModePtr modes,
+ int num);
+xf86SetDGAModeProc xf86SetDGAMode;
-void xf86KbdCtrl(
-#if NeedFunctionPrototypes
- DevicePtr pKeyboard,
- KeybdCtrl *ctrl
-#endif
-);
-
-void xf86InitKBD(
-#if NeedFunctionPrototypes
- Bool init
-#endif
-);
-
-int xf86KbdProc(
-#if NeedFunctionPrototypes
- DeviceIntPtr pKeyboard,
- int what
-#endif
-);
-
-void xf86MseCtrl(
-#if NeedFunctionPrototypes
- DevicePtr pPointer,
- PtrCtrl *ctrl
-#endif
-);
-
-int GetMotionEvents(
-#if NeedFunctionPrototypes
- DeviceIntPtr,
- xTimecoord *,
- unsigned long,
- unsigned long,
- ScreenPtr
-#endif
-);
+/* xf86Events.c */
-int xf86MseProc(
-#if NeedFunctionPrototypes
- DeviceIntPtr pPointer,
- int what
-#endif
-);
+void SetTimeSinceLastInputEvent(void);
+pointer xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data);
+int xf86RemoveInputHandler(pointer handler);
+void xf86DisableInputHandler(pointer handler);
+void xf86EnableInputHandler(pointer handler);
+void xf86InterceptSignals(int *signo);
+Bool xf86EnableVTSwitch(Bool new);
+Bool xf86CommonSpecialKey(int key, Bool down, int modifiers);
+void xf86ProcessActionEvent(ActionEvent action, void *arg);
+
+/* xf86Helper.c */
+
+void xf86AddDriver(DriverPtr driver, pointer module, int flags);
+void xf86DeleteDriver(int drvIndex);
+ScrnInfoPtr xf86AllocateScreen(DriverPtr drv, int flags);
+void xf86DeleteScreen(int scrnIndex, int flags);
+int xf86AllocateScrnInfoPrivateIndex(void);
+Bool xf86AddPixFormat(ScrnInfoPtr pScrn, int depth, int bpp, int pad);
+Bool xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int bpp, int fbbpp,
+ int depth24flags);
+void xf86PrintDepthBpp(ScrnInfoPtr scrp);
+Bool xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask);
+Bool xf86SetDefaultVisual(ScrnInfoPtr scrp, int visual);
+Bool xf86SetGamma(ScrnInfoPtr scrp, Gamma newGamma);
+void xf86SetDpi(ScrnInfoPtr pScrn, int x, int y);
+void xf86SetBlackWhitePixels(ScreenPtr pScreen);
+void xf86EnableDisableFBAccess(int scrnIndex, Bool enable);
+void xf86VDrvMsgVerb(int scrnIndex, MessageType type, int verb,
+ const char *format, va_list args);
+void xf86DrvMsgVerb(int scrnIndex, MessageType type, int verb,
+ const char *format, ...);
+void xf86DrvMsg(int scrnIndex, MessageType type, const char *format, ...);
+void xf86MsgVerb(MessageType type, int verb, const char *format, ...);
+void xf86Msg(MessageType type, const char *format, ...);
+void xf86ErrorFVerb(int verb, const char *format, ...);
+void xf86ErrorF(const char *format, ...);
+const char *xf86TokenToString(SymTabPtr table, int token);
+int xf86StringToToken(SymTabPtr table, const char *string);
+void xf86ShowClocks(ScrnInfoPtr scrp, MessageType from);
+void xf86PrintChipsets(const char *drvname, const char *drvmsg,
+ SymTabPtr chips);
+int xf86MatchDevice(const char *drivername, GDevPtr **driversectlist);
+int xf86MatchPciInstances(const char *driverName, int vendorID,
+ SymTabPtr chipsets, PciChipsets *PCIchipsets,
+ GDevPtr *devList, int numDevs, DriverPtr drvp,
+ int **foundEntities);
+int xf86MatchIsaInstances(const char *driverName, SymTabPtr chipsets,
+ IsaChipsets *ISAchipsets, DriverPtr drvp,
+ FindIsaDevProc FindIsaDevice, GDevPtr *devList,
+ int numDevs, int **foundEntities);
+void xf86GetClocks(ScrnInfoPtr pScrn, int num,
+ Bool (*ClockFunc)(ScrnInfoPtr, int),
+ void (*ProtectRegs)(ScrnInfoPtr, Bool),
+ void (*BlankScreen)(ScrnInfoPtr, Bool),
+ IOADDRESS vertsyncreg, int maskval,
+ int knownclkindex, int knownclkvalue);
+void xf86SetPriority(Bool up);
+const char *xf86GetVisualName(int visual);
+int xf86GetVerbosity(void);
+Pix24Flags xf86GetPix24(void);
+int xf86GetDepth(void);
+rgb xf86GetWeight(void);
+Gamma xf86GetGamma(void);
+Bool xf86GetFlipPixels(void);
+const char *xf86GetServerName(void);
+Bool xf86ServerIsExiting(void);
+Bool xf86ServerIsResetting(void);
+Bool xf86ServerIsInitialising(void);
+Bool xf86ServerIsOnlyDetecting(void);
+Bool xf86ServerIsOnlyProbing(void);
+Bool xf86CaughtSignal(void);
+Bool xf86GetVidModeAllowNonLocal(void);
+Bool xf86GetVidModeEnabled(void);
+Bool xf86GetModInDevAllowNonLocal(void);
+Bool xf86GetModInDevEnabled(void);
+Bool xf86GetAllowMouseOpenFail(void);
+Bool xf86IsPc98(void);
+void xf86DisableRandR(void);
+CARD32 xf86GetVersion(void);
+CARD32 xf86GetModuleVersion(pointer module);
+pointer xf86LoadDrvSubModule(DriverPtr drv, const char *name);
+pointer xf86LoadSubModule(ScrnInfoPtr pScrn, const char *name);
+pointer xf86LoadOneModule(char *name, pointer optlist);
+void xf86UnloadSubModule(pointer mod);
+Bool xf86LoaderCheckSymbol(const char *name);
+void xf86LoaderReqSymLists(const char **, ...);
+void xf86LoaderReqSymbols(const char *, ...);
+void xf86LoaderRefSymLists(const char **, ...);
+void xf86LoaderRefSymbols(const char *, ...);
+void xf86SetBackingStore(ScreenPtr pScreen);
+void xf86SetSilkenMouse(ScreenPtr pScreen);
+int xf86NewSerialNumber(WindowPtr p, pointer unused);
+pointer xf86FindXvOptions(int scrnIndex, int adapt_index, char *port_name,
+ char **adaptor_name, pointer *adaptor_options);
+void xf86GetOS(const char **name, int *major, int *minor, int *teeny);
+ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag,
+ int entityIndex,PciChipsets *p_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+ScrnInfoPtr xf86ConfigIsaEntity(ScrnInfoPtr pScrn, int scrnFlag,
+ int entityIndex, IsaChipsets *i_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+ScrnInfoPtr xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag,
+ int entityIndex, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+/* Obsolete! don't use */
+Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn,
+ int entityIndex,PciChipsets *p_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+/* Obsolete! don't use */
+Bool xf86ConfigActiveIsaEntity(ScrnInfoPtr pScrn,
+ int entityIndex, IsaChipsets *i_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+void xf86ConfigPciEntityInactive(EntityInfoPtr pEnt, PciChipsets *p_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+void xf86ConfigIsaEntityInactive(EntityInfoPtr pEnt, IsaChipsets *i_chip,
+ resList res, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+void xf86ConfigFbEntityInactive(EntityInfoPtr pEnt, EntityProc init,
+ EntityProc enter, EntityProc leave,
+ pointer private);
+Bool xf86IsScreenPrimary(int scrnIndex);
+int xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
+ int format, unsigned long len,
+ pointer value);
+Bool xf86IsUnblank(int mode);
+
+#ifdef XFree86LOADER
+void xf86AddModuleInfo(ModuleInfoPtr info, pointer module);
+void xf86DeleteModuleInfo(int idx);
+#endif
+
+/* xf86Debug.c */
+#ifdef BUILDDEBUG
+ void xf86Break1(void);
+void xf86Break2(void);
+void xf86Break3(void);
+CARD8 xf86PeekFb8(CARD8 *p);
+CARD16 xf86PeekFb16(CARD16 *p);
+CARD32 xf86PeekFb32(CARD32 *p);
+void xf86PokeFb8(CARD8 *p, CARD8 v);
+void xf86PokeFb16(CARD16 *p, CARD16 v);
+void xf86PokeFb32(CARD16 *p, CARD32 v);
+CARD8 xf86PeekMmio8(pointer Base, unsigned long Offset);
+CARD16 xf86PeekMmio16(pointer Base, unsigned long Offset);
+CARD32 xf86PeekMmio32(pointer Base, unsigned long Offset);
+void xf86PokeMmio8(pointer Base, unsigned long Offset, CARD8 v);
+void xf86PokeMmio16(pointer Base, unsigned long Offset, CARD16 v);
+void xf86PokeMmio32(pointer Base, unsigned long Offset, CARD32 v);
+extern void xf86SPTimestamp(xf86TsPtr* timestamp, char* string);
+extern void xf86STimestamp(xf86TsPtr* timestamp);
+#endif
+
+/* xf86Init.c */
-void xf86MseEvents(
-#if NeedFunctionPrototypes
- MouseDevPtr mouse
-#endif
-);
+PixmapFormatPtr xf86GetPixFormat(ScrnInfoPtr pScrn, int depth);
+int xf86GetBppFromDepth(ScrnInfoPtr pScrn, int depth);
-CARD32 GetTimeInMillis(
-#if NeedFunctionPrototypes
- void
-#endif
-);
+/* xf86Mode.c */
-void OsVendorInit(
-#if NeedFunctionPrototypes
- void
-#endif
-);
+int xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
+ int DivFactor, int MulFactor, int *divider);
+const char *xf86ModeStatusToString(ModeStatus status);
+ModeStatus xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
+ ClockRangePtr clockRanges, LookupModeFlags strategy);
+ModeStatus xf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor);
+ModeStatus xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
+ ClockRangePtr clockRanges,
+ LookupModeFlags strategy,
+ int maxPitch, int virtualX,
+ int virtualY);
+ModeStatus xf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
+ int flags);
+int xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
+ char **modeNames, ClockRangePtr clockRanges,
+ int *linePitches, int minPitch, int maxPitch,
+ int minHeight, int maxHeight, int pitchInc,
+ int virtualX, int virtualY, int apertureSize,
+ LookupModeFlags strategy);
+void xf86DeleteMode(DisplayModePtr *modeList, DisplayModePtr mode);
+void xf86PruneDriverModes(ScrnInfoPtr scrp);
+void xf86SetCrtcForModes(ScrnInfoPtr scrp, int adjustFlags);
+void xf86PrintModes(ScrnInfoPtr scrp);
+void xf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges);
-/* xf86_Mouse.c */
-Bool xf86MouseSupported(
-#if NeedFunctionPrototypes
- int mousetype
-#endif
-);
+/* xf86Option.c */
-void xf86SetupMouse(
-#if NeedFunctionPrototypes
- MouseDevPtr mouse
-#endif
-);
+void xf86CollectOptions(ScrnInfoPtr pScrn, pointer extraOpts);
-void xf86MouseProtocol(
-#if NeedFunctionPrototypes
- DeviceIntPtr device,
- unsigned char *rBuf,
- int nBytes
-#endif
-);
-#ifdef XINPUT
-void xf86MouseCtrl(
-#if NeedFunctionPrototypes
- DeviceIntPtr device,
- PtrCtrl *ctrl
-#endif
-);
+/* xf86RandR.c */
+#ifdef RANDR
+Bool xf86RandRInit (ScreenPtr pScreen);
+void xf86RandRSetInitialMode (ScreenPtr pScreen);
#endif
-/* xf86_PnPMouse.c */
-int xf86GetPnPMouseProtocol(
-#if NeedFunctionPrototypes
- MouseDevPtr mouse
-#endif
-);
+/* xf86VidModeExtentionInit.c */
-/* xf86Kbd.c */
-Bool LegalModifier(
-#if NeedFunctionPrototypes
- unsigned int key,
- DevicePtr pDev
-#endif
-);
+Bool VidModeExtensionInit(ScreenPtr pScreen);
-void xf86KbdGetMapping(
-#if NeedFunctionPrototypes
- KeySymsPtr pKeySyms,
- CARD8 *pModMap
-#endif
-);
#endif /* _NO_XF86_PROTOTYPES */
-/* End of Prototypes */
-
#endif /* _XF86_H */
-
-