1 /***********************************************************
2 
3 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
6 AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
7 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9 
10 ******************************************************************/
11 
12 #ifndef DIX_REGISTRY_H
13 #define DIX_REGISTRY_H
14 
15 /*
16  * Result returned from any unsuccessful lookup
17  */
18 #define XREGISTRY_UNKNOWN "<unknown>"
19 
20 #include "resource.h"
21 #include "extnsionst.h"
22 
23 #if defined(XSELINUX) || defined(RES)
24 #define X_REGISTRY_RESOURCE       1
25 #endif
26 
27 #if defined(XSELINUX) || defined(XCSECURITY) || defined(XSERVER_DTRACE)
28 #define X_REGISTRY_REQUEST        1
29 #endif
30 
31 /* Internal string registry - for auditing, debugging, security, etc. */
32 
33 #ifdef X_REGISTRY_RESOURCE
34 /* Functions used by the X-Resource extension */
35 extern _X_EXPORT void RegisterResourceName(RESTYPE type, const char *name);
36 extern _X_EXPORT const char *LookupResourceName(RESTYPE rtype);
37 #endif
38 
39 #ifdef X_REGISTRY_REQUEST
40 extern _X_EXPORT void RegisterExtensionNames(ExtensionEntry * ext);
41 
42 /*
43  * Lookup functions.  The returned string must not be modified or freed.
44  */
45 extern _X_EXPORT const char *LookupMajorName(int major);
46 extern _X_EXPORT const char *LookupRequestName(int major, int minor);
47 extern _X_EXPORT const char *LookupEventName(int event);
48 extern _X_EXPORT const char *LookupErrorName(int error);
49 #endif
50 
51 /*
52  * Setup and teardown
53  */
54 extern _X_EXPORT void dixResetRegistry(void);
55 extern _X_EXPORT void dixFreeRegistry(void);
56 extern _X_EXPORT void dixCloseRegistry(void);
57 
58 #endif                          /* DIX_REGISTRY_H */
59