| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- /*
- Copyright 1988, 1998 The Open Group
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Except as contained in this notice, the name of The Open Group shall not be
- used in advertising or otherwise to promote the sale, use or other dealings
- in this Software without prior written authorization from The Open Group.
- */
- #ifndef _Xauth_h
- #define _Xauth_h
- /* struct xauth is full of implicit padding to properly align the pointers
- after the length fields. We can't clean that up without breaking ABI,
- so tell clang not to bother complaining about it. */
- #ifdef __clang__
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wpadded"
- #endif
- 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;
- #ifdef __clang__
- #pragma clang diagnostic pop
- #endif
- #ifndef _XAUTH_STRUCT_ONLY
- # include <X11/Xfuncproto.h>
- # include <X11/Xfuncs.h>
- # include <stdio.h>
- # define FamilyLocal (256) /* not part of X standard (i.e. X.h) */
- # define FamilyWild (65535)
- # define FamilyNetname (254) /* not part of X standard */
- # define FamilyKrb5Principal (253) /* Kerberos 5 principal name */
- # define FamilyLocalHost (252) /* for local non-net authentication */
- _XFUNCPROTOBEGIN
- char *XauFileName(void);
- Xauth *XauReadAuth(
- FILE* /* auth_file */
- );
- int XauLockAuth(
- _Xconst char* /* file_name */,
- int /* retries */,
- int /* timeout */,
- long /* dead */
- );
- int XauUnlockAuth(
- _Xconst char* /* file_name */
- );
- int XauWriteAuth(
- FILE* /* auth_file */,
- Xauth* /* auth */
- );
- Xauth *XauGetAuthByAddr(
- #if NeedWidePrototypes
- unsigned int /* family */,
- unsigned int /* address_length */,
- #else
- unsigned short /* family */,
- unsigned short /* address_length */,
- #endif
- _Xconst char* /* address */,
- #if NeedWidePrototypes
- unsigned int /* number_length */,
- #else
- unsigned short /* number_length */,
- #endif
- _Xconst char* /* number */,
- #if NeedWidePrototypes
- unsigned int /* name_length */,
- #else
- unsigned short /* name_length */,
- #endif
- _Xconst char* /* name */
- );
- Xauth *XauGetBestAuthByAddr(
- #if NeedWidePrototypes
- unsigned int /* family */,
- unsigned int /* address_length */,
- #else
- unsigned short /* family */,
- unsigned short /* address_length */,
- #endif
- _Xconst char* /* address */,
- #if NeedWidePrototypes
- unsigned int /* number_length */,
- #else
- unsigned short /* number_length */,
- #endif
- _Xconst char* /* number */,
- int /* types_length */,
- char** /* type_names */,
- _Xconst int* /* type_lengths */
- );
- void XauDisposeAuth(
- Xauth* /* auth */
- );
- _XFUNCPROTOEND
- /* Return values from XauLockAuth */
- # define LOCK_SUCCESS 0 /* lock succeeded */
- # define LOCK_ERROR 1 /* lock unexpectedly failed, check errno */
- # define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */
- #endif /* _XAUTH_STRUCT_ONLY */
- #endif /* _Xauth_h */
|