744 lines
16 KiB
C
744 lines
16 KiB
C
/* $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)
|
|
*/
|
|
|
|
/*
|
|
* SpeedUp routines which are not dependent on the screen virtual resolution
|
|
*/
|
|
#ifndef SPEEDUP_ANYWIDTH
|
|
#define SPEEDUP_ANYWIDTH (SPEEDUP_FILLRECT | SPEEDUP_BITBLT | \
|
|
SPEEDUP_LINE | SPEEDUP_FILLBOX)
|
|
#endif
|
|
|
|
/*
|
|
* SpeedUp routines which are not dependent on ET4000
|
|
*/
|
|
#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;
|
|
|
|
#ifdef XINPUT
|
|
#define MOUSE_DEV(dev) (MouseDevPtr) PRIVATE(dev)
|
|
#else
|
|
#define MOUSE_DEV(dev) (MouseDevPtr) (dev)->public.devicePrivate
|
|
#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
|
|
);
|
|
|
|
/* 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 xf86Block(
|
|
#if NeedFunctionPrototypes
|
|
pointer blockData,
|
|
OSTimePtr pTimeout,
|
|
pointer pReadmask
|
|
#endif
|
|
);
|
|
|
|
void xf86Wakeup(
|
|
#if NeedFunctionPrototypes
|
|
pointer blockData,
|
|
int err,
|
|
pointer pReadmask
|
|
#endif
|
|
);
|
|
|
|
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
|
|
);
|
|
|
|
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
|
|
);
|
|
|
|
int xf86MseProc(
|
|
#if NeedFunctionPrototypes
|
|
DeviceIntPtr pPointer,
|
|
int what
|
|
#endif
|
|
);
|
|
|
|
void xf86MseEvents(
|
|
#if NeedFunctionPrototypes
|
|
MouseDevPtr mouse
|
|
#endif
|
|
);
|
|
|
|
CARD32 GetTimeInMillis(
|
|
#if NeedFunctionPrototypes
|
|
void
|
|
#endif
|
|
);
|
|
|
|
void OsVendorInit(
|
|
#if NeedFunctionPrototypes
|
|
void
|
|
#endif
|
|
);
|
|
|
|
/* xf86_Mouse.c */
|
|
Bool xf86MouseSupported(
|
|
#if NeedFunctionPrototypes
|
|
int mousetype
|
|
#endif
|
|
);
|
|
|
|
void xf86SetupMouse(
|
|
#if NeedFunctionPrototypes
|
|
MouseDevPtr mouse
|
|
#endif
|
|
);
|
|
|
|
void xf86MouseProtocol(
|
|
#if NeedFunctionPrototypes
|
|
DeviceIntPtr device,
|
|
unsigned char *rBuf,
|
|
int nBytes
|
|
#endif
|
|
);
|
|
|
|
#ifdef XINPUT
|
|
void xf86MouseCtrl(
|
|
#if NeedFunctionPrototypes
|
|
DeviceIntPtr device,
|
|
PtrCtrl *ctrl
|
|
#endif
|
|
);
|
|
#endif
|
|
|
|
/* xf86_PnPMouse.c */
|
|
int xf86GetPnPMouseProtocol(
|
|
#if NeedFunctionPrototypes
|
|
MouseDevPtr mouse
|
|
#endif
|
|
);
|
|
|
|
/* xf86Kbd.c */
|
|
Bool LegalModifier(
|
|
#if NeedFunctionPrototypes
|
|
unsigned int key,
|
|
DevicePtr pDev
|
|
#endif
|
|
);
|
|
|
|
void xf86KbdGetMapping(
|
|
#if NeedFunctionPrototypes
|
|
KeySymsPtr pKeySyms,
|
|
CARD8 *pModMap
|
|
#endif
|
|
);
|
|
#endif /* _NO_XF86_PROTOTYPES */
|
|
|
|
/* End of Prototypes */
|
|
|
|
#endif /* _XF86_H */
|
|
|
|
|