2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#ifndef _FBDEVHW_H_
|
|
|
|
#define _FBDEVHW_H_
|
|
|
|
|
|
|
|
#include "xf86str.h"
|
|
|
|
#include "colormapst.h"
|
|
|
|
|
2006-06-07 23:09:02 +02:00
|
|
|
#include <pciaccess.h>
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#define FBDEVHW_PACKED_PIXELS 0 /* Packed Pixels */
|
|
|
|
#define FBDEVHW_PLANES 1 /* Non interleaved planes */
|
|
|
|
#define FBDEVHW_INTERLEAVED_PLANES 2 /* Interleaved planes */
|
|
|
|
#define FBDEVHW_TEXT 3 /* Text/attributes */
|
|
|
|
#define FBDEVHW_VGA_PLANES 4 /* EGA/VGA planes */
|
|
|
|
|
Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.
This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)
LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.
xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 08:43:34 +01:00
|
|
|
extern _X_EXPORT Bool fbdevHWGetRec(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT void fbdevHWFreeRec(ScrnInfoPtr pScrn);
|
|
|
|
|
|
|
|
extern _X_EXPORT Bool fbdevHWProbe(struct pci_device * pPci, char *device, char **namep);
|
|
|
|
extern _X_EXPORT Bool fbdevHWInit(ScrnInfoPtr pScrn, struct pci_device * pPci, char *device);
|
|
|
|
|
|
|
|
extern _X_EXPORT char* fbdevHWGetName(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT int fbdevHWGetDepth(ScrnInfoPtr pScrn, int *fbbpp);
|
|
|
|
extern _X_EXPORT int fbdevHWGetLineLength(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT int fbdevHWGetType(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT int fbdevHWGetVidmem(ScrnInfoPtr pScrn);
|
|
|
|
|
|
|
|
extern _X_EXPORT void* fbdevHWMapVidmem(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT int fbdevHWLinearOffset(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT Bool fbdevHWUnmapVidmem(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT void* fbdevHWMapMMIO(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT Bool fbdevHWUnmapMMIO(ScrnInfoPtr pScrn);
|
|
|
|
|
|
|
|
extern _X_EXPORT void fbdevHWSetVideoModes(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT DisplayModePtr fbdevHWGetBuildinMode(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT void fbdevHWUseBuildinMode(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT Bool fbdevHWModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
|
|
|
|
extern _X_EXPORT void fbdevHWSave(ScrnInfoPtr pScrn);
|
|
|
|
extern _X_EXPORT void fbdevHWRestore(ScrnInfoPtr pScrn);
|
|
|
|
|
|
|
|
extern _X_EXPORT void fbdevHWLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
|
2003-11-14 17:48:57 +01:00
|
|
|
LOCO *colors, VisualPtr pVisual);
|
|
|
|
|
Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.
This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)
LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.
xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 08:43:34 +01:00
|
|
|
extern _X_EXPORT ModeStatus fbdevHWValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags);
|
|
|
|
extern _X_EXPORT Bool fbdevHWSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
|
|
|
|
extern _X_EXPORT void fbdevHWAdjustFrame(int scrnIndex, int x, int y, int flags);
|
|
|
|
extern _X_EXPORT Bool fbdevHWEnterVT(int scrnIndex, int flags);
|
|
|
|
extern _X_EXPORT void fbdevHWLeaveVT(int scrnIndex, int flags);
|
|
|
|
extern _X_EXPORT void fbdevHWDPMSSet(ScrnInfoPtr pScrn, int mode, int flags);
|
|
|
|
|
|
|
|
extern _X_EXPORT Bool fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
|
|
|
|
|
|
|
|
extern _X_EXPORT xf86SwitchModeProc *fbdevHWSwitchModeWeak(void);
|
|
|
|
extern _X_EXPORT xf86AdjustFrameProc *fbdevHWAdjustFrameWeak(void);
|
|
|
|
extern _X_EXPORT xf86EnterVTProc *fbdevHWEnterVTWeak(void);
|
|
|
|
extern _X_EXPORT xf86LeaveVTProc *fbdevHWLeaveVTWeak(void);
|
|
|
|
extern _X_EXPORT xf86ValidModeProc *fbdevHWValidModeWeak(void);
|
|
|
|
extern _X_EXPORT xf86DPMSSetProc *fbdevHWDPMSSetWeak(void);
|
|
|
|
extern _X_EXPORT xf86LoadPaletteProc *fbdevHWLoadPaletteWeak(void);
|
|
|
|
extern _X_EXPORT SaveScreenProcPtr fbdevHWSaveScreenWeak(void);
|
2004-07-30 22:30:57 +02:00
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#endif
|