---
name: "XRes"
section: "3"
platform: "linux"
package: "libxres"
version: "1.2.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XRes"
---

# XRes(3)

X-Resource extension client library

## NAME

XRes - X-Resource extension client library

## SYNOPSIS

**#include \<X11/extensions/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\_base\_return*, int \**error\_base\_return*);

Status XResQueryVersion(Display \**dpy*,\
     int \**major\_version\_return*, int \**minor\_version\_return*);

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*);

## DESCRIPTION

**X-Resource** is an extension that allows a client to query the X server about its usage of various resources. It should not be confused 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\_version\_return* and *minor\_version\_return*.

**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.

## ERRORS

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

## SEE ALSO

[**X**(7)](/X/7.md)

## AUTHOR

Mark Vojkovich, originally for The XFree86 Project Inc.

## STABILITY

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.
