Currently only some pre-defined resource types can be accessed from headers. Make it possible to find out types of new resources that aren't pre-defined but need to be registered separately.
Signed-off-by: Rami Ylimäki <[email protected]> --- dix/registry.c | 10 ++++++++++ include/registry.h | 6 ++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/dix/registry.c b/dix/registry.c index fc35dbb..15f85cc 100644 --- a/dix/registry.c +++ b/dix/registry.c @@ -273,6 +273,16 @@ LookupResourceName(RESTYPE resource) return resources[resource] ? resources[resource] : XREGISTRY_UNKNOWN; } +RESTYPE +LookupResourceType(const char *name) +{ + RESTYPE resource = nresource; + while (--resource > 0) + if (resources[resource] && !strcmp(resources[resource], name)) + return resource; + return RT_NONE; +} + /* * Setup and teardown */ diff --git a/include/registry.h b/include/registry.h index 325f765..99a3e65 100644 --- a/include/registry.h +++ b/include/registry.h @@ -41,6 +41,11 @@ extern _X_EXPORT const char *LookupErrorName(int error); extern _X_EXPORT const char *LookupResourceName(RESTYPE rtype); /* + * Reverse lookup functions. + */ +extern _X_EXPORT RESTYPE LookupResourceType(const char *name); + +/* * Setup and teardown */ extern _X_EXPORT void dixResetRegistry(void); @@ -57,6 +62,7 @@ extern _X_EXPORT void dixResetRegistry(void); #define LookupEventName(a) XREGISTRY_UNKNOWN #define LookupErrorName(a) XREGISTRY_UNKNOWN #define LookupResourceName(a) XREGISTRY_UNKNOWN +#define LookupResourceType(a) RT_NONE #define dixResetRegistry() { ; } -- 1.6.3.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
