65fea56f17cd614bc8908264df980a62e1931468vboxsync/***********************************************************
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65fea56f17cd614bc8908264df980a62e1931468vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync******************************************************************/
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#ifndef DIX_REGISTRY_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define DIX_REGISTRY_H
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/*
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Result returned from any unsuccessful lookup
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XREGISTRY_UNKNOWN "<unknown>"
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#ifdef XREGISTRY
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "resource.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync#include "extnsionst.h"
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* Internal string registry - for auditing, debugging, security, etc. */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/*
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Registration functions. The name string is not copied, so it must
65fea56f17cd614bc8908264df980a62e1931468vboxsync * not be a stack variable.
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT void RegisterResourceName(RESTYPE type, const char *name);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT void RegisterExtensionNames(ExtensionEntry * ext);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/*
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Lookup functions. The returned string must not be modified or freed.
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT const char *LookupMajorName(int major);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT const char *LookupRequestName(int major, int minor);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT const char *LookupEventName(int event);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT const char *LookupErrorName(int error);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT const char *LookupResourceName(RESTYPE rtype);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/*
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Setup and teardown
65fea56f17cd614bc8908264df980a62e1931468vboxsync */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT void dixResetRegistry(void);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT void dixFreeRegistry(void);
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#else /* XREGISTRY */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* Define calls away when the registry is not being built. */
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define RegisterResourceName(a, b) { ; }
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define RegisterExtensionNames(a) { ; }
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define LookupMajorName(a) XREGISTRY_UNKNOWN
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define LookupRequestName(a, b) XREGISTRY_UNKNOWN
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define LookupEventName(a) XREGISTRY_UNKNOWN
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define LookupErrorName(a) XREGISTRY_UNKNOWN
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define LookupResourceName(a) XREGISTRY_UNKNOWN
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define dixResetRegistry() { ; }
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define dixFreeRegistry() { ; }
65fea56f17cd614bc8908264df980a62e1931468vboxsync
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* XREGISTRY */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* DIX_REGISTRY_H */