#ifndef RESOURCE_H
#define RESOURCE_H 1
#define RT_COLORMAP ((RESTYPE)1)
#define RT_CMAPENTRY ((RESTYPE)2)
#define RT_LASTPREDEF ((RESTYPE)2)
#define RT_NONE ((RESTYPE)0)
#define RC_NEVERRETAIN ((RESTYPE)1<<29)
#define RC_LASTPREDEF RC_NEVERRETAIN
#define RC_ANY (~(RESTYPE)0)
typedef unsigned long RESTYPE;
typedef struct _Resource {
struct _Resource *next;
XID id;
RESTYPE type;
pointer value;
} ResourceRec, *ResourcePtr;
#define NullResource ((ResourcePtr)NULL)
typedef struct _ClientResource {
ResourcePtr *resources;
int elements;
int buckets;
int hashsize;
XID fakeID;
XID endFakeID;
} ClientResourceRec;
#define PROXY_BIT 0x40000000
typedef int (*DeleteType)(
#if NeedNestedPrototypes
ClientPtr ,
pointer ,
XID
#endif
);
extern Bool InitDeleteFuncs(
#if NeedFunctionPrototypes
void
#endif
);
extern Bool InitClientResources(
#if NeedFunctionPrototypes
ClientPtr
#endif
);
extern void FinishInitClientResources(
#if NeedFunctionPrototypes
ClientPtr ,
XID ,
XID
#endif
);
extern XID FakeClientID(
#if NeedFunctionPrototypes
int
#endif
);
extern Bool AddResource(
#if NeedFunctionPrototypes
ClientPtr ,
XID ,
RESTYPE ,
pointer
#endif
);
extern void FreeResource(
#if NeedFunctionPrototypes
ClientPtr ,
XID ,
RESTYPE
#endif
);
extern void FreeClientResources(
#if NeedFunctionPrototypes
ClientPtr
#endif
);
extern void FreeAllResources(
#if NeedFunctionPrototypes
void
#endif
);
extern pointer LookupIDByType(
#if NeedFunctionPrototypes
ClientPtr ,
XID ,
RESTYPE
#endif
);
#endif