xref: /OK3568_Linux_fs/external/xserver/hw/xfree86/common/xf86Priv.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (c) 1997-2002 by The XFree86 Project, Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Permission is hereby granted, free of charge, to any person obtaining a
5*4882a593Smuzhiyun  * copy of this software and associated documentation files (the "Software"),
6*4882a593Smuzhiyun  * to deal in the Software without restriction, including without limitation
7*4882a593Smuzhiyun  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*4882a593Smuzhiyun  * and/or sell copies of the Software, and to permit persons to whom the
9*4882a593Smuzhiyun  * Software is furnished to do so, subject to the following conditions:
10*4882a593Smuzhiyun  *
11*4882a593Smuzhiyun  * The above copyright notice and this permission notice shall be included in
12*4882a593Smuzhiyun  * all copies or substantial portions of the Software.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*4882a593Smuzhiyun  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17*4882a593Smuzhiyun  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18*4882a593Smuzhiyun  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19*4882a593Smuzhiyun  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20*4882a593Smuzhiyun  * OTHER DEALINGS IN THE SOFTWARE.
21*4882a593Smuzhiyun  *
22*4882a593Smuzhiyun  * Except as contained in this notice, the name of the copyright holder(s)
23*4882a593Smuzhiyun  * and author(s) shall not be used in advertising or otherwise to promote
24*4882a593Smuzhiyun  * the sale, use or other dealings in this Software without prior written
25*4882a593Smuzhiyun  * authorization from the copyright holder(s) and author(s).
26*4882a593Smuzhiyun  */
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun /*
29*4882a593Smuzhiyun  * This file contains declarations for private XFree86 functions and variables,
30*4882a593Smuzhiyun  * and definitions of private macros.
31*4882a593Smuzhiyun  *
32*4882a593Smuzhiyun  * "private" means not available to video drivers.
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #ifndef _XF86PRIV_H
36*4882a593Smuzhiyun #define _XF86PRIV_H
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #include "xf86Privstr.h"
39*4882a593Smuzhiyun #include "propertyst.h"
40*4882a593Smuzhiyun #include "input.h"
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun /*
43*4882a593Smuzhiyun  * Parameters set ONLY from the command line options
44*4882a593Smuzhiyun  * The global state of these things is held in xf86InfoRec (when appropriate).
45*4882a593Smuzhiyun  */
46*4882a593Smuzhiyun extern _X_EXPORT const char *xf86ConfigFile;
47*4882a593Smuzhiyun extern _X_EXPORT const char *xf86ConfigDir;
48*4882a593Smuzhiyun extern _X_EXPORT Bool xf86AllowMouseOpenFail;
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #ifdef XF86VIDMODE
51*4882a593Smuzhiyun extern _X_EXPORT Bool xf86VidModeDisabled;
52*4882a593Smuzhiyun extern _X_EXPORT Bool xf86VidModeAllowNonLocal;
53*4882a593Smuzhiyun #endif
54*4882a593Smuzhiyun extern _X_EXPORT Bool xf86fpFlag;
55*4882a593Smuzhiyun extern _X_EXPORT Bool xf86sFlag;
56*4882a593Smuzhiyun extern _X_EXPORT Bool xf86bsEnableFlag;
57*4882a593Smuzhiyun extern _X_EXPORT Bool xf86bsDisableFlag;
58*4882a593Smuzhiyun extern _X_EXPORT Bool xf86silkenMouseDisableFlag;
59*4882a593Smuzhiyun extern _X_EXPORT Bool xf86xkbdirFlag;
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun #ifdef HAVE_ACPI
62*4882a593Smuzhiyun extern _X_EXPORT Bool xf86acpiDisableFlag;
63*4882a593Smuzhiyun #endif
64*4882a593Smuzhiyun extern _X_EXPORT char *xf86LayoutName;
65*4882a593Smuzhiyun extern _X_EXPORT char *xf86ScreenName;
66*4882a593Smuzhiyun extern _X_EXPORT char *xf86PointerName;
67*4882a593Smuzhiyun extern _X_EXPORT char *xf86KeyboardName;
68*4882a593Smuzhiyun extern _X_EXPORT int xf86FbBpp;
69*4882a593Smuzhiyun extern _X_EXPORT int xf86Depth;
70*4882a593Smuzhiyun extern _X_EXPORT rgb xf86Weight;
71*4882a593Smuzhiyun extern _X_EXPORT Bool xf86FlipPixels;
72*4882a593Smuzhiyun extern _X_EXPORT Gamma xf86Gamma;
73*4882a593Smuzhiyun extern _X_EXPORT const char *xf86ServerName;
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /* Other parameters */
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun extern _X_EXPORT xf86InfoRec xf86Info;
78*4882a593Smuzhiyun extern _X_EXPORT const char *xf86ModulePath;
79*4882a593Smuzhiyun extern _X_EXPORT MessageType xf86ModPathFrom;
80*4882a593Smuzhiyun extern _X_EXPORT const char *xf86LogFile;
81*4882a593Smuzhiyun extern _X_EXPORT MessageType xf86LogFileFrom;
82*4882a593Smuzhiyun extern _X_EXPORT Bool xf86LogFileWasOpened;
83*4882a593Smuzhiyun extern _X_EXPORT serverLayoutRec xf86ConfigLayout;
84*4882a593Smuzhiyun 
85*4882a593Smuzhiyun extern _X_EXPORT DriverPtr *xf86DriverList;
86*4882a593Smuzhiyun extern _X_EXPORT int xf86NumDrivers;
87*4882a593Smuzhiyun extern _X_EXPORT Bool xf86Resetting;
88*4882a593Smuzhiyun extern Bool xf86Initialising;
89*4882a593Smuzhiyun extern _X_EXPORT int xf86NumScreens;
90*4882a593Smuzhiyun extern _X_EXPORT const char *xf86VisualNames[];
91*4882a593Smuzhiyun extern _X_EXPORT int xf86Verbose;       /* verbosity level */
92*4882a593Smuzhiyun extern _X_EXPORT int xf86LogVerbose;    /* log file verbosity level */
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun extern ScrnInfoPtr *xf86GPUScreens;      /* List of pointers to ScrnInfoRecs */
95*4882a593Smuzhiyun extern int xf86NumGPUScreens;
96*4882a593Smuzhiyun extern _X_EXPORT int xf86DRMMasterFd;              /* Command line argument for DRM master file descriptor */
97*4882a593Smuzhiyun #ifndef DEFAULT_VERBOSE
98*4882a593Smuzhiyun #define DEFAULT_VERBOSE		0
99*4882a593Smuzhiyun #endif
100*4882a593Smuzhiyun #ifndef DEFAULT_LOG_VERBOSE
101*4882a593Smuzhiyun #define DEFAULT_LOG_VERBOSE	3
102*4882a593Smuzhiyun #endif
103*4882a593Smuzhiyun #ifndef DEFAULT_DPI
104*4882a593Smuzhiyun #define DEFAULT_DPI		96
105*4882a593Smuzhiyun #endif
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun /* Function Prototypes */
108*4882a593Smuzhiyun #ifndef _NO_XF86_PROTOTYPES
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun /* xf86Bus.c */
111*4882a593Smuzhiyun extern _X_EXPORT Bool xf86BusConfig(void);
112*4882a593Smuzhiyun extern _X_EXPORT void xf86BusProbe(void);
113*4882a593Smuzhiyun extern _X_EXPORT void xf86PostProbe(void);
114*4882a593Smuzhiyun extern _X_EXPORT void xf86ClearEntityListForScreen(ScrnInfoPtr pScrn);
115*4882a593Smuzhiyun extern _X_EXPORT void xf86AddDevToEntity(int entityIndex, GDevPtr dev);
116*4882a593Smuzhiyun extern _X_EXPORT void xf86RemoveDevFromEntity(int entityIndex, GDevPtr dev);
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun /* xf86Config.c */
119*4882a593Smuzhiyun 
120*4882a593Smuzhiyun extern _X_EXPORT Bool xf86PathIsSafe(const char *path);
121*4882a593Smuzhiyun 
122*4882a593Smuzhiyun /* xf86DefaultModes */
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun extern _X_EXPORT const DisplayModeRec xf86DefaultModes[];
125*4882a593Smuzhiyun extern _X_EXPORT const int xf86NumDefaultModes;
126*4882a593Smuzhiyun 
127*4882a593Smuzhiyun /* xf86Configure.c */
128*4882a593Smuzhiyun extern _X_EXPORT void
129*4882a593Smuzhiyun DoConfigure(void)
130*4882a593Smuzhiyun     _X_NORETURN;
131*4882a593Smuzhiyun extern _X_EXPORT void
132*4882a593Smuzhiyun DoShowOptions(void)
133*4882a593Smuzhiyun     _X_NORETURN;
134*4882a593Smuzhiyun 
135*4882a593Smuzhiyun /* xf86Events.c */
136*4882a593Smuzhiyun 
137*4882a593Smuzhiyun extern _X_EXPORT void
138*4882a593Smuzhiyun xf86Wakeup(void *blockData, int err);
139*4882a593Smuzhiyun extern _X_EXPORT void
140*4882a593Smuzhiyun xf86HandlePMEvents(int fd, void *data);
141*4882a593Smuzhiyun extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events,
142*4882a593Smuzhiyun                                               int num);
143*4882a593Smuzhiyun extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event);
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun /* xf86Helper.c */
146*4882a593Smuzhiyun extern _X_EXPORT void
147*4882a593Smuzhiyun xf86LogInit(void);
148*4882a593Smuzhiyun extern _X_EXPORT void
149*4882a593Smuzhiyun xf86CloseLog(enum ExitCode error);
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun /* xf86Init.c */
152*4882a593Smuzhiyun extern _X_EXPORT Bool
153*4882a593Smuzhiyun xf86LoadModules(const char **list, void **optlist);
154*4882a593Smuzhiyun extern _X_EXPORT int
155*4882a593Smuzhiyun xf86SetVerbosity(int verb);
156*4882a593Smuzhiyun extern _X_EXPORT int
157*4882a593Smuzhiyun xf86SetLogVerbosity(int verb);
158*4882a593Smuzhiyun extern _X_EXPORT Bool
159*4882a593Smuzhiyun xf86CallDriverProbe(struct _DriverRec *drv, Bool detect_only);
160*4882a593Smuzhiyun extern _X_EXPORT Bool
161*4882a593Smuzhiyun xf86PrivsElevated(void);
162*4882a593Smuzhiyun 
163*4882a593Smuzhiyun #endif                          /* _NO_XF86_PROTOTYPES */
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun #endif                          /* _XF86PRIV_H */
166