XAUTH(1) XAUTH(1) NAME XauFileName, XauReadAuth, XauLockAuth, XauUnlockAuth, XauWriteAuth, Xau- GetAuthByAddr - X authority database routines SYNOPSIS #include <X11/Xauth.h> typedef struct xauth { unsigned short family; unsigned short address_length; char *address; unsigned short number_length; char *number; unsigned short name_length; char *name; unsigned short data_length; char *data; } Xauth; char *XauFileName () Xauth *XauReadAuth (auth_file) FILE *auth_file; int XauWriteAuth (auth_file, auth) FILE *auth_file; Xauth *auth; Xauth *XauGetAuthByAddr (family, address_length, address, number_length, number) unsigned short family; unsigned short address_length; char *address; unsigned short number_length; char *number; int XauLockAuth (file_name, retries, timeout, dead) char *file_name; int retries; int timeout; long dead; int XauUnlockAuth (file_name) char *file_name; XauDisposeAuth (auth) Xauth *auth; DESCRIPTION XauFileName generates the default authorization file name by first checking the XAUTHROTIY environment variable if set, else it returns $HOME/.Xauthority. This name is statically allocated and should not be freed. XauReadAuth reads the next entry from auth_file. The entry is not stati- cally allocated and should be freed by calling XauDisposeAuth. XuWriteAuth writes an authorization entry to auth_file. It returns 1 on success, 0 on failure. XauGetAuthByAddr searches for an entry which matches the given network address/display number pair. The entry is not statically allocated and should be freed by calling XauDisposeAuth XauLockAuth does the work necessary to synchronously update an authoriza- tion file. First it makes to file names, one with ``-c'' appended to file_name, the other with ``-l'' appended. If the ``-c'' file already exists and is more than dead seconds old, XauLockAuth removes it and the associated ``-l'' file. To prevent possible synchronization troubles with NFS, a dead value of zero forces the files to be removed. XauLockAuth makes retries attempts to create and link the file names, pausing timeout seconds between each attempt. XauLockAuth returns a collection of values depending on the results: LOCK_ERROR A system error occurred, either a file_name which is too long, or an unexpected failure from a system call. errno may prove useful. LOCK_TIMEOUT retries attempts failed LOCK_SUCCESS The lock succeeded. XauUnlockAuth undoes the work of XauLockAuth by unlinking both the ``-c'' and ``-l'' file names. XauDisposeAuth frees storage allocated to hold an authorization entry. SEE ALSO xauth(1), xdm(1) COPYRIGHT Copyright 1988, Massachusetts Institute of Technology. See X(1) for a full statement of rights and permissions. AUTHOR Keith Packard, MIT X Consortium