Documentation
From my personal library, The Internet

man page:

       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 (void);

       Xauth *XauReadAuth (FILE *auth_file);

       int XauWriteAuth (FILE *auth_file, Xauth *auth);

       Xauth *XauGetAuthByAddr (unsigned short family, unsigned short
              address_length, char *address, unsigned short
              number_length, char *number);

       Xauth *XauGetBestAuthByAddr (unsigned short family, unsigned short
              address_length, char *address, unsigned short
              number_length, char *number, int types_length, char
              **types, int *type_lengths);

       int XauLockAuth (char *file_name, int retries, int
              timeout, long dead);

       int XauUnlockAuth (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.

       XauReadAuth reads the next entry from  auth_file.   The  entry  is  not
       statically allocated and should be freed by calling XauDisposeAuth.

       XuWriteAuth  writes  an authorization entry to auth_file.  It returns 1
       on success, 0 on failure.

       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)


AUTHOR

       Keith Packard, MIT X Consortium



X Version 11                      Release 6.6                           Xau(3)

Man(1) output converted with man2html