#include <security/pam_appl.h>
struct pam_xauth_data { int namelen; char *name; int datalen; char *data; };
The pam_xauth_data structure contains X authentication data used to make a connection to an X display. Using this mechanism, an application can communicate X authentication data to PAM service modules. This allows modules to make a connection to the user's X display in order to label the user's session on login, display visual feedback or for other purposes.
The name field contains the name of the authentication method, such as "MIT-MAGIC-COOKIE-1". The namelen field contains the length of this string, not including the trailing NUL character.
The data field contains the authentication method-specific data corresponding to the specified name. The datalen field contains its length in bytes.
The X authentication data can be changed with the PAM_XAUTH_DATA item. It can be queried and set with pam_get_item(3) and pam_set_item (3) respectively. The value used to set it should be a pointer to a pam_xauth_data structure. An internal copy of both the structure itself and its fields is made by PAM when setting the item.
pam_start(3), pam_get_item(3),
The pam_xauth_data structure and PAM_XAUTH_DATA item are Linux-PAM extensions.