X-Git-Url: https://git.sesse.net/?p=rdpsrv;a=blobdiff_plain;f=Xserver%2Flib%2FXau%2FXauth.h;fp=Xserver%2Flib%2FXau%2FXauth.h;h=7d474ec77dc0e226c6d3b52b67284f4f3cdefe68;hp=0000000000000000000000000000000000000000;hb=b6e6afccf37f4ad0515ef2a698f714fdf1bf23b3;hpb=e3340a110a3b01756b8e67531395a33b40a17d37 diff --git a/Xserver/lib/Xau/Xauth.h b/Xserver/lib/Xau/Xauth.h new file mode 100644 index 0000000..7d474ec --- /dev/null +++ b/Xserver/lib/Xau/Xauth.h @@ -0,0 +1,181 @@ +/* $XConsortium: Xauth.h /main/18 1996/07/31 16:08:18 dpw $ */ + +/* + +Copyright (c) 1988 X Consortium + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +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 +X CONSORTIUM 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 X Consortium 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 X Consortium. + +*/ + +#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 +# include + +# include + +# 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 +/* 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 */