Introduction to Library Functions Xau(3)
NAME
Xau library: XauFileName, XauReadAuth, XauLockAuth, XauUn-
lockAuth, XauWriteAuth, XauDisposeAuth, XauGetAuthByAddr,XauGetBestAuthByAddr - X authority database routines
SYNOPSIS
cc [ flag... ] file... -lXau [ library... ]
#include
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 (void);Xauth *XauReadAuth (FILE *auth_file);
int XauWriteAuth (FILE *auth_file, Xauth *auth);
Xauth *XauGetAuthByAddr (unsigned short family, unsigned shortaddress_length, const char *address, unsigned short
number_length, const char *number, unsigned short
name_length, const char *name);
Xauth *XauGetBestAuthByAddr (unsigned short family, unsigned shortaddress_length, const char *address, unsigned short
number_length, const char *number, int types_length,
char **types, const int *type_lengths);
int XauLockAuth (const char *file_name, int retries, int
timeout, long dead);int XauUnlockAuth (const char *file_name);
int XauDisposeAuth (Xauth *auth);DESCRIPTION
XauFileName generates the default authorization file name by first checking the XAUTHORITY environment variable if set,else it returns $HOME/.Xauthority. This name is statically
allocated and should not be freed. X Version 11 Last change: libXau 1.0.6 1 Introduction to Library Functions Xau(3)XauReadAuth reads the next entry from auth_file. The entry
is not statically allocated and should be freed by calling XauDisposeAuth.XauWriteAuth 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 notstatically allocated and should be freed by calling Xau-
DisposeAuth. XauGetBestAuthByAddr is similar to XauGetAuthByAddr, exceptthat a list of acceptable authentication methods is speci-
fied. Xau will choose the file entry which matches the ear-
liest entry in this list (e.g., the most secure authentica-
tion method). The types argument is an array of strings,one string for each authentication method. types_length
specifies how many elements are in the types array.types_lengths is an array of integers representing the
length of each string.XauLockAuth does the work necessary to synchronously update
an authorization file. First it makes two file names, onewith ``-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 asso-
ciated ``-l'' file. To prevent possible synchronization
troubles with NFS, a dead value of zero forces the files tobe removed. XauLockAuth makes retries attempts to create
and link the file names, pausing timeout seconds betweeneach 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 authoriza-
tion entry.SEE ALSO
xauth(1), xdm(1) X Version 11 Last change: libXau 1.0.6 2 Introduction to Library Functions Xau(3) AUTHOR Keith Packard, MIT X ConsortiumATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | x11/library/libxau ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Unsafe |
|_____________________________|_____________________________|
X Version 11 Last change: libXau 1.0.6 3