diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:38 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:38 +0000 |
commit | dcc3fc52f917603df94ef4207f1dec9238dce23b (patch) | |
tree | 36b2b8eedcd61d9aabf2dd1389126a14548eed36 /include/X11 |
R6.6 is the Xorg base-lineXORG-MAIN
Diffstat (limited to 'include/X11')
-rw-r--r-- | include/X11/Xauth.h | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/include/X11/Xauth.h b/include/X11/Xauth.h new file mode 100644 index 0000000..eb69628 --- /dev/null +++ b/include/X11/Xauth.h @@ -0,0 +1,180 @@ +/* $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. + +*/ + +#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(); + +Xauth *XauReadAuth( +#if NeedFunctionPrototypes +FILE* /* auth_file */ +#endif +); + +int XauLockAuth( +#if NeedFunctionPrototypes +_Xconst char* /* file_name */, +int /* retries */, +int /* timeout */, +long /* dead */ +#endif +); + +int XauUnlockAuth( +#if NeedFunctionPrototypes +_Xconst char* /* file_name */ +#endif +); + +int XauWriteAuth( +#if NeedFunctionPrototypes +FILE* /* auth_file */, +Xauth* /* auth */ +#endif +); + +Xauth *XauGetAuthByName( +#if NeedFunctionPrototypes +_Xconst char* /* display_name */ +#endif +); + +Xauth *XauGetAuthByAddr( +#if NeedFunctionPrototypes +#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 */ +#endif +); + +Xauth *XauGetBestAuthByAddr( +#if NeedFunctionPrototypes +#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 */ +#endif +); + +void XauDisposeAuth( +#if NeedFunctionPrototypes +Xauth* /* auth */ +#endif +); + +#ifdef K5AUTH +#include <krb5/krb5.h> +/* 9/93: krb5.h leaks some symbols */ +#undef BITS32 +#undef xfree + +int XauKrb5Encode( +#if NeedFunctionPrototypes + krb5_principal /* princ */, + krb5_data * /* outbuf */ +#endif +); + +int XauKrb5Decode( +#if NeedFunctionPrototypes + krb5_data /* inbuf */, + krb5_principal * /* princ */ +#endif +); +#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 */ |