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