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