159 lines
3.8 KiB
C
159 lines
3.8 KiB
C
|
/* $Xorg: Xauth.h,v 1.4 2001/02/09 02:03:42 xorgcvs Exp $ */
|
||
|
|
||
|
/*
|
||
|
|
||
|
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.
|
||
|
|
||
|
*/
|
||
|
|
||
|
/* $XFree86: xc/lib/Xau/Xauth.h,v 1.5 2001/12/14 19:54:36 dawes Exp $ */
|
||
|
|
||
|
#ifndef _Xauth_h
|
||
|
#define _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;
|
||
|
|
||
|
#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 */
|
||
|
);
|
||
|
|
||
|
#ifdef K5AUTH
|
||
|
#include <krb5/krb5.h>
|
||
|
/* 9/93: krb5.h leaks some symbols */
|
||
|
#undef BITS32
|
||
|
#undef xfree
|
||
|
|
||
|
int XauKrb5Encode(
|
||
|
krb5_principal /* princ */,
|
||
|
krb5_data * /* outbuf */
|
||
|
);
|
||
|
|
||
|
int XauKrb5Decode(
|
||
|
krb5_data /* inbuf */,
|
||
|
krb5_principal * /* princ */
|
||
|
);
|
||
|
#endif /* K5AUTH */
|
||
|
|
||
|
_XFUNCPROTOEND
|
||
|
|
||
|
/* Return values from XauLockAuth */
|
||
|
|
||
|
# define LOCK_SUCCESS 0 /* lock succeeded */
|
||
|
# define LOCK_ERROR 1 /* lock unexpectely failed, check errno */
|
||
|
# define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */
|
||
|
|
||
|
#endif /* _XAUTH_STRUCT_ONLY */
|
||
|
|
||
|
#endif /* _Xauth_h */
|