Table of Contents


XRes - X-Resource extension client library


#include <X11/extension/XRes.h>

typedef struct {
    XID    resource_base;
    XID    resource_mask;
} XResClient;
typedef struct {
    Atom    resource_type;
    unsigned int    count;
} XResType;
Bool XResQueryExtension(Display *dpy,
int *event_basep, int *error_basep);
Status XResQueryVersion(Display *dpy, int *major_versionp,
int *minor_versionp);
Status XResQueryClients(Display *dpy, int *num_clients,
XResClient **clients);
Status XResQueryClientResources(Display *dpy, XID xid,
int *num_types, XResType **types);
Status XResQueryClientPixmapBytes(Display *dpy, XID xid,
unsigned long *bytes);


X-Resource is an extension that allows a client to query the X server about its usage of various resources. It should not be mixed with the X resource database access functions.

XResQueryExtension returns True if the XRes extension is available on the given display. A client must call XResQueryExtension before calling any other XRes function in order to negotiate a compatible protocol version; otherwise the client will get undefined behavior (XRes may or may not work).

XResQueryVersion returns True if the request succeeded; the values of the major and minor protocol versions supported by the server are returned in major_versionp and minor_versionp .

XResQueryClients fills a list of clients of the given display. For each client it returns in the XResClient structure a mask and a base value of the resources used by these clients. Returns True on success or False on failure.

XResQueryClientResources fills a list of XResType structures, indicating for each resource type allocated by the client its name (as an Atom) and the number of resources of this type allocated. Returns True on success or False on failure.

XresQueryClientPixmapBytes gives, for resources of type PIXMAP the total number of bytes allocated in the X server by the given client. Returns True on success or False on failure.


XResQueryClientResources and XResQueryClientPixmapBytes will return BadValue if passed an illegal client identifier.

See Also

Xlib(1) , X(7)


Mark Vojkovich, for The XFree86 Project Inc.


This API is considered as experimental. The XRes library major revision may be incremented whenever incompatible changes are done to the API without notice. Use with care.

Table of Contents