registry.h revision 6747b715
14642e01fSmrg/***********************************************************
24642e01fSmrg
34642e01fSmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44642e01fSmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
54642e01fSmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
64642e01fSmrgAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
74642e01fSmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
84642e01fSmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
94642e01fSmrg
104642e01fSmrg******************************************************************/
114642e01fSmrg
124642e01fSmrg#ifndef DIX_REGISTRY_H
134642e01fSmrg#define DIX_REGISTRY_H
144642e01fSmrg
154642e01fSmrg/*
164642e01fSmrg * Result returned from any unsuccessful lookup
174642e01fSmrg */
184642e01fSmrg#define XREGISTRY_UNKNOWN "<unknown>"
194642e01fSmrg
204642e01fSmrg#ifdef XREGISTRY
214642e01fSmrg
224642e01fSmrg#include "resource.h"
234642e01fSmrg#include "extnsionst.h"
244642e01fSmrg
254642e01fSmrg/* Internal string registry - for auditing, debugging, security, etc. */
264642e01fSmrg
274642e01fSmrg/*
284642e01fSmrg * Registration functions.  The name string is not copied, so it must
294642e01fSmrg * not be a stack variable.
304642e01fSmrg */
316747b715Smrgextern _X_EXPORT void RegisterResourceName(RESTYPE type, char *name);
326747b715Smrgextern _X_EXPORT void RegisterExtensionNames(ExtensionEntry *ext);
334642e01fSmrg
344642e01fSmrg/*
354642e01fSmrg * Lookup functions.  The returned string must not be modified or freed.
364642e01fSmrg */
376747b715Smrgextern _X_EXPORT const char *LookupMajorName(int major);
386747b715Smrgextern _X_EXPORT const char *LookupRequestName(int major, int minor);
396747b715Smrgextern _X_EXPORT const char *LookupEventName(int event);
406747b715Smrgextern _X_EXPORT const char *LookupErrorName(int error);
416747b715Smrgextern _X_EXPORT const char *LookupResourceName(RESTYPE rtype);
424642e01fSmrg
434642e01fSmrg/*
444642e01fSmrg * Setup and teardown
454642e01fSmrg */
466747b715Smrgextern _X_EXPORT void dixResetRegistry(void);
474642e01fSmrg
484642e01fSmrg#else /* XREGISTRY */
494642e01fSmrg
504642e01fSmrg/* Define calls away when the registry is not being built. */
514642e01fSmrg
524642e01fSmrg#define RegisterResourceName(a, b) { ; }
534642e01fSmrg#define RegisterExtensionNames(a) { ; }
544642e01fSmrg
554642e01fSmrg#define LookupMajorName(a) XREGISTRY_UNKNOWN
564642e01fSmrg#define LookupRequestName(a, b) XREGISTRY_UNKNOWN
574642e01fSmrg#define LookupEventName(a) XREGISTRY_UNKNOWN
584642e01fSmrg#define LookupErrorName(a) XREGISTRY_UNKNOWN
594642e01fSmrg#define LookupResourceName(a) XREGISTRY_UNKNOWN
604642e01fSmrg
614642e01fSmrg#define dixResetRegistry() { ; }
624642e01fSmrg
634642e01fSmrg#endif /* XREGISTRY */
644642e01fSmrg#endif /* DIX_REGISTRY_H */
65