xf86.h 16.5 KB
Newer Older
1
/*
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
 * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 *
 * Except as contained in this notice, the name of the copyright holder(s)
 * and author(s) shall not be used in advertising or otherwise to promote
 * the sale, use or other dealings in this Software without prior written
 * authorization from the copyright holder(s) and author(s).
26 27 28
 */

/*
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
29 30 31 32
 * This file contains declarations for public XFree86 functions and variables,
 * and definitions of public macros.
 *
 * "public" means available to video drivers.
33 34
 */

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
35 36
#ifndef _XF86_H
#define _XF86_H
37

38 39 40 41 42 43
#if HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#elif HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
44 45 46 47
#include "xf86str.h"
#include "xf86Opt.h"
#include <X11/Xfuncproto.h>
#include <stdarg.h>
Alan Hourihane's avatar
Alan Hourihane committed
48 49 50
#ifdef RANDR
#include <X11/extensions/randr.h>
#endif
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
51 52 53 54

#include "propertyst.h"

/* General parameters */
55 56 57
extern _X_EXPORT int xf86DoConfigure;
extern _X_EXPORT int xf86DoShowOptions;
extern _X_EXPORT Bool xf86DoConfigurePass1;
58 59 60 61 62 63 64

extern _X_EXPORT DevPrivateKeyRec xf86ScreenKeyRec;
#define xf86ScreenKey (&xf86ScreenKeyRec)

extern _X_EXPORT DevPrivateKeyRec xf86CreateRootWindowKeyRec;
#define xf86CreateRootWindowKey (&xf86CreateRootWindowKeyRec)

65 66 67
extern _X_EXPORT ScrnInfoPtr *xf86Screens;	/* List of pointers to ScrnInfoRecs */
extern _X_EXPORT const unsigned char byte_reversed[256];
extern _X_EXPORT Bool fbSlotClaimed;
68
#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
69
extern _X_EXPORT Bool sbusSlotClaimed;
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
70
#endif
71 72 73 74
extern _X_EXPORT confDRIRec xf86ConfigDRI;
extern _X_EXPORT Bool xf86DRI2Enabled(void);

extern _X_EXPORT Bool VTSwitchEnabled;	/* kbd driver */
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
75

76 77
#define XF86SCRNINFO(p) ((ScrnInfoPtr)dixLookupPrivate(&(p)->devPrivates, \
						       xf86ScreenKey))
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
78 79 80 81 82 83 84 85 86 87 88 89 90
#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))

91 92 93
/* Function Prototypes */
#ifndef _NO_XF86_PROTOTYPES

94
/* PCI related */
95
#ifdef XSERVER_LIBPCIACCESS
96 97
#include <pciaccess.h>
extern _X_EXPORT Bool pciSlotClaimed;
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
98

99 100 101
extern _X_EXPORT Bool xf86CheckPciSlot(const struct pci_device *);
extern _X_EXPORT int xf86ClaimPciSlot(struct pci_device *, DriverPtr drvp,
                                      int chipset, GDevPtr dev, Bool active);
102
extern _X_EXPORT void xf86UnclaimPciSlot(struct pci_device *);
103 104 105 106
extern _X_EXPORT Bool xf86ParsePciBusString(const char *busID, int *bus,
                                            int *device, int *func);
extern _X_EXPORT Bool xf86ComparePciBusString(const char *busID, int bus,
                                              int device, int func);
107
extern _X_EXPORT void xf86FormatPciBusNumber(int busnum, char *buffer);
108 109 110 111 112 113 114 115 116 117 118 119 120 121
extern _X_EXPORT Bool xf86IsPrimaryPci(struct pci_device * pPci);
extern _X_EXPORT Bool xf86CheckPciMemBase(struct pci_device * pPci,
                                          memType base);
extern _X_EXPORT struct pci_device * xf86GetPciInfoForEntity(int entityIndex);
extern _X_EXPORT int xf86MatchPciInstances(const char *driverName,
        int vendorID, SymTabPtr chipsets, PciChipsets *PCIchipsets,
        GDevPtr *devList, int numDevs, DriverPtr drvp, int **foundEntities);
extern _X_EXPORT ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
        int scrnFlag, int entityIndex,PciChipsets *p_chip, void *dummy,
        EntityProc init, EntityProc enter, EntityProc leave, pointer private);
/* Obsolete! don't use */
extern _X_EXPORT Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn,
        int entityIndex,PciChipsets *p_chip, void *dummy, EntityProc init,
        EntityProc enter, EntityProc leave, pointer private);
122 123 124 125 126 127 128 129 130
#else
#define xf86VGAarbiterInit() do {} while (0)
#define xf86VGAarbiterFini() do {} while (0)
#define xf86VGAarbiterLock(x) do {} while (0)
#define xf86VGAarbiterUnlock(x) do {} while (0)
#define xf86VGAarbiterScrnInit(x) do {} while (0)
#define xf86VGAarbiterDeviceDecodes() do {} while (0)
#define xf86VGAarbiterWrapFunctions() do {} while (0)
#endif
131 132 133

/* xf86Bus.c */

134 135 136 137 138 139
extern _X_EXPORT int  xf86GetFbInfoForScreen(int scrnIndex);
extern _X_EXPORT int xf86ClaimFbSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
extern _X_EXPORT int xf86ClaimNoSlot(DriverPtr drvp, int chipset, GDevPtr dev, Bool active);
extern _X_EXPORT Bool xf86DriverHasEntities(DriverPtr drvp);
extern _X_EXPORT void xf86AddEntityToScreen(ScrnInfoPtr pScrn, int entityIndex);
extern _X_EXPORT void xf86SetEntityInstanceForScreen(ScrnInfoPtr pScrn, int entityIndex,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
140
				    int instance);
141 142 143 144 145
extern _X_EXPORT int xf86GetNumEntityInstances(int entityIndex);
extern _X_EXPORT GDevPtr xf86GetDevFromEntity(int entityIndex, int instance);
extern _X_EXPORT void xf86RemoveEntityFromScreen(ScrnInfoPtr pScrn, int entityIndex);
extern _X_EXPORT EntityInfoPtr xf86GetEntityInfo(int entityIndex);
extern _X_EXPORT Bool xf86SetEntityFuncs(int entityIndex, EntityProc init,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
146
			EntityProc enter, EntityProc leave, pointer);
147 148 149 150 151 152 153 154 155 156 157 158 159 160
extern _X_EXPORT Bool xf86IsEntityPrimary(int entityIndex);
extern _X_EXPORT ScrnInfoPtr xf86FindScreenForEntity(int entityIndex);

extern _X_EXPORT int xf86GetLastScrnFlag(int entityIndex);
extern _X_EXPORT void xf86SetLastScrnFlag(int entityIndex, int scrnIndex);
extern _X_EXPORT Bool xf86IsEntityShared(int entityIndex);
extern _X_EXPORT void xf86SetEntityShared(int entityIndex);
extern _X_EXPORT Bool xf86IsEntitySharable(int entityIndex);
extern _X_EXPORT void xf86SetEntitySharable(int entityIndex);
extern _X_EXPORT Bool xf86IsPrimInitDone(int entityIndex);
extern _X_EXPORT void xf86SetPrimInitDone(int entityIndex);
extern _X_EXPORT void xf86ClearPrimInitDone(int entityIndex);
extern _X_EXPORT int xf86AllocateEntityPrivateIndex(void);
extern _X_EXPORT DevUnion *xf86GetEntityPrivate(int entityIndex, int privIndex);
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
161 162

/* xf86Configure.c */
163
extern _X_EXPORT GDevPtr xf86AddBusDeviceToConfigure(const char *driver, BusType bus,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
164
				    void *busData, int chipset);
165

166 167
/* xf86Cursor.c */

168 169 170 171 172 173 174 175
extern _X_EXPORT void xf86LockZoom(ScreenPtr pScreen, int lock);
extern _X_EXPORT void xf86InitViewport(ScrnInfoPtr pScr);
extern _X_EXPORT void xf86SetViewport(ScreenPtr pScreen, int x, int y);
extern _X_EXPORT void xf86ZoomViewport(ScreenPtr pScreen, int zoom);
extern _X_EXPORT Bool xf86SwitchMode(ScreenPtr pScreen, DisplayModePtr mode);
extern _X_EXPORT void *xf86GetPointerScreenFuncs(void);
extern _X_EXPORT void xf86InitOrigins(void);
extern _X_EXPORT void xf86ReconfigureLayout(void);
176

177
/* xf86cvt.c */
178
extern _X_EXPORT DisplayModePtr xf86CVTMode(int HDisplay, int VDisplay, float VRefresh,
179 180
                           Bool Reduced, Bool Interlaced);

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
181
/* xf86DPMS.c */
182

183 184
extern _X_EXPORT Bool xf86DPMSInit(ScreenPtr pScreen, DPMSSetProcPtr set, int flags);

185 186 187 188
#ifdef DPMSExtension
extern _X_EXPORT int DPMSSet(ClientPtr client, int level);
extern _X_EXPORT Bool DPMSSupported(void);
#endif
189

190

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
191
/* xf86DGA.c */
192

Topi Kanerva's avatar
Topi Kanerva committed
193
#ifdef XFreeXDGA
194
extern _X_EXPORT Bool DGAInit(ScreenPtr pScreen, DGAFunctionPtr funcs, DGAModePtr modes,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
195
			int num);
196 197
extern _X_EXPORT Bool DGAReInitModes(ScreenPtr pScreen, DGAModePtr modes, int num);
extern _X_EXPORT xf86SetDGAModeProc xf86SetDGAMode;
Topi Kanerva's avatar
Topi Kanerva committed
198
#endif
199

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
200
/* xf86Events.c */
201

202 203 204 205 206 207 208 209 210
extern _X_EXPORT void SetTimeSinceLastInputEvent(void);
extern _X_EXPORT pointer xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data);
extern _X_EXPORT int xf86RemoveInputHandler(pointer handler);
extern _X_EXPORT void xf86DisableInputHandler(pointer handler);
extern _X_EXPORT void xf86EnableInputHandler(pointer handler);
extern _X_EXPORT pointer xf86AddGeneralHandler(int fd, InputHandlerProc proc, pointer data);
extern _X_EXPORT int xf86RemoveGeneralHandler(pointer handler);
extern _X_EXPORT void xf86DisableGeneralHandler(pointer handler);
extern _X_EXPORT void xf86EnableGeneralHandler(pointer handler);
211
extern _X_EXPORT InputHandlerProc xf86SetConsoleHandler(InputHandlerProc handler, pointer data);
212 213 214 215 216
extern _X_EXPORT void xf86InterceptSignals(int *signo);
extern _X_EXPORT void xf86InterceptSigIll(void (*sigillhandler)(void));
extern _X_EXPORT Bool xf86EnableVTSwitch(Bool new);
extern _X_EXPORT void xf86ProcessActionEvent(ActionEvent action, void *arg);
extern _X_EXPORT void xf86PrintBacktrace(void);
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
217 218 219

/* xf86Helper.c */

220 221 222 223 224 225 226
extern _X_EXPORT void xf86AddDriver(DriverPtr driver, pointer module, int flags);
extern _X_EXPORT void xf86DeleteDriver(int drvIndex);
extern _X_EXPORT ScrnInfoPtr xf86AllocateScreen(DriverPtr drv, int flags);
extern _X_EXPORT void xf86DeleteScreen(int scrnIndex, int flags);
extern _X_EXPORT int xf86AllocateScrnInfoPrivateIndex(void);
extern _X_EXPORT Bool xf86AddPixFormat(ScrnInfoPtr pScrn, int depth, int bpp, int pad);
extern _X_EXPORT Bool xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int bpp, int fbbpp,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
227
		     int depth24flags);
228 229 230 231 232 233 234 235
extern _X_EXPORT void xf86PrintDepthBpp(ScrnInfoPtr scrp);
extern _X_EXPORT Bool xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask);
extern _X_EXPORT Bool xf86SetDefaultVisual(ScrnInfoPtr scrp, int visual);
extern _X_EXPORT Bool xf86SetGamma(ScrnInfoPtr scrp, Gamma newGamma);
extern _X_EXPORT void xf86SetDpi(ScrnInfoPtr pScrn, int x, int y);
extern _X_EXPORT void xf86SetBlackWhitePixels(ScreenPtr pScreen);
extern _X_EXPORT void xf86EnableDisableFBAccess(int scrnIndex, Bool enable);
extern _X_EXPORT void xf86VDrvMsgVerb(int scrnIndex, MessageType type, int verb,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
236
		     const char *format, va_list args);
237
extern _X_EXPORT void xf86DrvMsgVerb(int scrnIndex, MessageType type, int verb,
238
		    const char *format, ...) _X_ATTRIBUTE_PRINTF(4,5);
239
extern _X_EXPORT void xf86DrvMsg(int scrnIndex, MessageType type, const char *format, ...)
240
		_X_ATTRIBUTE_PRINTF(3,4);
241
extern _X_EXPORT void xf86MsgVerb(MessageType type, int verb, const char *format, ...)
242 243 244 245
		_X_ATTRIBUTE_PRINTF(3,4);
extern _X_EXPORT void xf86Msg(MessageType type, const char *format, ...) _X_ATTRIBUTE_PRINTF(2,3);
extern _X_EXPORT void xf86ErrorFVerb(int verb, const char *format, ...) _X_ATTRIBUTE_PRINTF(2,3);
extern _X_EXPORT void xf86ErrorF(const char *format, ...) _X_ATTRIBUTE_PRINTF(1,2);
246 247 248 249
extern _X_EXPORT const char *xf86TokenToString(SymTabPtr table, int token);
extern _X_EXPORT int xf86StringToToken(SymTabPtr table, const char *string);
extern _X_EXPORT void xf86ShowClocks(ScrnInfoPtr scrp, MessageType from);
extern _X_EXPORT void xf86PrintChipsets(const char *drvname, const char *drvmsg,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
250
		       SymTabPtr chips);
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
extern _X_EXPORT int xf86MatchDevice(const char *drivername, GDevPtr **driversectlist);
extern _X_EXPORT const char *xf86GetVisualName(int visual);
extern _X_EXPORT int xf86GetVerbosity(void);
extern _X_EXPORT Pix24Flags xf86GetPix24(void);
extern _X_EXPORT int xf86GetDepth(void);
extern _X_EXPORT rgb xf86GetWeight(void);
extern _X_EXPORT Gamma xf86GetGamma(void);
extern _X_EXPORT Bool xf86GetFlipPixels(void);
extern _X_EXPORT const char *xf86GetServerName(void);
extern _X_EXPORT Bool xf86ServerIsExiting(void);
extern _X_EXPORT Bool xf86ServerIsResetting(void);
extern _X_EXPORT Bool xf86ServerIsInitialising(void);
extern _X_EXPORT Bool xf86ServerIsOnlyDetecting(void);
extern _X_EXPORT Bool xf86CaughtSignal(void);
extern _X_EXPORT Bool xf86GetVidModeAllowNonLocal(void);
extern _X_EXPORT Bool xf86GetVidModeEnabled(void);
extern _X_EXPORT Bool xf86GetModInDevAllowNonLocal(void);
extern _X_EXPORT Bool xf86GetModInDevEnabled(void);
extern _X_EXPORT Bool xf86GetAllowMouseOpenFail(void);
extern _X_EXPORT void xf86DisableRandR(void);
extern _X_EXPORT CARD32 xorgGetVersion(void);
extern _X_EXPORT CARD32 xf86GetModuleVersion(pointer module);
extern _X_EXPORT pointer xf86LoadDrvSubModule(DriverPtr drv, const char *name);
extern _X_EXPORT pointer xf86LoadSubModule(ScrnInfoPtr pScrn, const char *name);
extern _X_EXPORT pointer xf86LoadOneModule(char *name, pointer optlist);
extern _X_EXPORT void xf86UnloadSubModule(pointer mod);
extern _X_EXPORT Bool xf86LoaderCheckSymbol(const char *name);
extern _X_EXPORT void xf86SetBackingStore(ScreenPtr pScreen);
extern _X_EXPORT void xf86SetSilkenMouse(ScreenPtr pScreen);
extern _X_EXPORT pointer xf86FindXvOptions(int scrnIndex, int adapt_index, char *port_name,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
281
			  char **adaptor_name, pointer *adaptor_options);
282 283
extern _X_EXPORT void xf86GetOS(const char **name, int *major, int *minor, int *teeny);
extern _X_EXPORT ScrnInfoPtr xf86ConfigFbEntity(ScrnInfoPtr pScrn, int scrnFlag,
284 285
			       int entityIndex, EntityProc init,
			       EntityProc enter, EntityProc leave,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
286
			       pointer private);
287

288 289
extern _X_EXPORT Bool xf86IsScreenPrimary(int scrnIndex);
extern _X_EXPORT int  xf86RegisterRootWindowProperty(int ScrnIndex, Atom	property, Atom type,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
290 291
				    int format, unsigned long len,
				    pointer value);
292
extern _X_EXPORT Bool xf86IsUnblank(int mode);
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
293 294

/* xf86Init.c */
295

296 297
extern _X_EXPORT PixmapFormatPtr xf86GetPixFormat(ScrnInfoPtr pScrn, int depth);
extern _X_EXPORT int xf86GetBppFromDepth(ScrnInfoPtr pScrn, int depth);
298

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
299
/* xf86Mode.c */
300

301
extern _X_EXPORT int xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
302
			int DivFactor, int MulFactor, int *divider);
303 304
extern _X_EXPORT const char *xf86ModeStatusToString(ModeStatus status);
extern _X_EXPORT ModeStatus xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
305
			  ClockRangePtr clockRanges, LookupModeFlags strategy);
306 307
extern _X_EXPORT ModeStatus xf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor);
extern _X_EXPORT ModeStatus xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
308 309 310 311
					 ClockRangePtr clockRanges,
					 LookupModeFlags strategy,
					 int maxPitch, int virtualX,
					 int virtualY);
312
extern _X_EXPORT ModeStatus xf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
313
				  int flags);
314
extern _X_EXPORT int xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
315 316 317 318 319
		      char **modeNames, ClockRangePtr clockRanges,
		      int *linePitches, int minPitch, int maxPitch,
		      int minHeight, int maxHeight, int pitchInc,
		      int virtualX, int virtualY, int apertureSize,
		      LookupModeFlags strategy);
320 321 322 323 324 325 326 327 328 329 330 331
extern _X_EXPORT void xf86DeleteMode(DisplayModePtr *modeList, DisplayModePtr mode);
extern _X_EXPORT void xf86PruneDriverModes(ScrnInfoPtr scrp);
extern _X_EXPORT void xf86SetCrtcForModes(ScrnInfoPtr scrp, int adjustFlags);
extern _X_EXPORT void xf86PrintModes(ScrnInfoPtr scrp);
extern _X_EXPORT void xf86ShowClockRanges(ScrnInfoPtr scrp, ClockRangePtr clockRanges);
extern _X_EXPORT double xf86ModeHSync(const DisplayModeRec *mode);
extern _X_EXPORT double xf86ModeVRefresh(const DisplayModeRec *mode);
extern _X_EXPORT void xf86SetModeDefaultName(DisplayModePtr mode);
extern _X_EXPORT void xf86SetModeCrtc(DisplayModePtr p, int adjustFlags);
extern _X_EXPORT DisplayModePtr xf86DuplicateMode(const DisplayModeRec *pMode);
extern _X_EXPORT DisplayModePtr xf86DuplicateModes(ScrnInfoPtr pScrn, DisplayModePtr modeList);
extern _X_EXPORT Bool xf86ModesEqual(const DisplayModeRec *pMode1,
332
		    const DisplayModeRec *pMode2);
333 334
extern _X_EXPORT void xf86PrintModeline(int scrnIndex,DisplayModePtr mode);
extern _X_EXPORT DisplayModePtr xf86ModesAdd(DisplayModePtr modes, DisplayModePtr new);
335

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
336
/* xf86Option.c */
337

338
extern _X_EXPORT void xf86CollectOptions(ScrnInfoPtr pScrn, XF86OptionPtr extraOpts);
339 340


Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
341 342
/* xf86RandR.c */
#ifdef RANDR
343 344 345
extern _X_EXPORT Bool xf86RandRInit (ScreenPtr    pScreen);
extern _X_EXPORT Rotation xf86GetRotation(ScreenPtr pScreen);
extern _X_EXPORT Bool xf86RandRSetNewVirtualAndDimensions(ScreenPtr pScreen,
346 347
			int newvirtX, int newvirtY,
			int newmmWidth, int newmmHeight, Bool resetMode);
348 349
#endif

Kaleb Keithley Keithley's avatar
Kaleb Keithley Keithley committed
350
/* xf86VidModeExtentionInit.c */
351

352
extern _X_EXPORT Bool VidModeExtensionInit(ScreenPtr pScreen);
353 354 355 356

#endif /* _NO_XF86_PROTOTYPES */

#endif /* _XF86_H */