---
name: "XSaveContext"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XSaveContext/3x"
---

# XSaveContext(3x)

associative look-up routines

## NAME

XSaveContext, XFindContext, XDeleteContext, XUniqueContext - associative look-up routines

## SYNTAX

int XSaveContext(Display \**display*, XID *rid*, XContext *context*, XPointer *data*);

int XFindContext(Display \**display*, XID *rid*, XContext *context*, XPointer \**data\_return*);

int XDeleteContext(Display \**display*, XID *rid*, XContext *context*);

XContext XUniqueContext(void);

## ARGUMENTS

- *context*

  Specifies the context type to which the data belongs.

- *data*

  Specifies the data to be associated with the window and type.

- *data\_return*

  Returns the data.

- *display*

  Specifies the connection to the X server.

- *rid*

  Specifies the resource ID with which the data is associated.

## DESCRIPTION

If an entry with the specified resource ID and type already exists, *XSaveContext* overrides it with the specified context. The *XSaveContext* function returns a nonzero error code if an error has occurred and zero otherwise. Possible errors are *XCNOMEM* (out of memory).

Because it is a return value, the data is a pointer. The *XFindContext* function returns a nonzero error code if an error has occurred and zero otherwise. Possible errors are *XCNOENT* (context-not-found).

The *XDeleteContext* function deletes the entry for the given resource ID  and type from the data structure. This function returns the same error codes that *XFindContext* returns if called with the same arguments. *XDeleteContext* does not free the data whose address was saved.

The *XUniqueContext* function creates a unique context type that may be used in subsequent calls to *XSaveContext*.

## SEE ALSO

*Xlib - C Language X Interface*
