diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/Xauth.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/Xauth.h	Tue Mar 18 17:55:14 2025 -0400
@@ -0,0 +1,181 @@
+/*
+
+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
+
+#ifndef __has_attribute
+# define __has_attribute(x) 0  /* Compatibility with older compilers */
+#endif
+
+#if __has_attribute(access)
+# define XAU_ACCESS_ATTRIBUTE(X) __attribute__((access X))
+#else
+# define XAU_ACCESS_ATTRIBUTE(X)
+#endif
+
+#if __has_attribute(malloc)
+# if defined(__clang__) || (defined(__GNUC__) && __GNUC__ < 11)
+/* Clang or gcc do not support the optional deallocator argument */
+#  define XAU_MALLOC_ATTRIBUTE(X) __attribute__((malloc))
+# else
+#  define XAU_MALLOC_ATTRIBUTE(X) __attribute__((malloc X))
+# endif
+#else
+# define XAU_MALLOC_ATTRIBUTE(X)
+#endif
+
+char *XauFileName(void);
+
+void XauDisposeAuth(
+Xauth*		/* auth */
+);
+
+XAU_MALLOC_ATTRIBUTE((XauDisposeAuth, 1))
+Xauth *XauReadAuth(
+FILE*	/* auth_file */
+);
+
+XAU_ACCESS_ATTRIBUTE((read_only, 1)) /* file_name */
+int XauLockAuth(
+_Xconst char*	/* file_name */,
+int		/* retries */,
+int		/* timeout */,
+long		/* dead */
+);
+
+XAU_ACCESS_ATTRIBUTE((read_only, 1)) /* file_name */
+int XauUnlockAuth(
+_Xconst char*	/* file_name */
+);
+
+XAU_ACCESS_ATTRIBUTE((read_only, 2)) /* auth */
+int XauWriteAuth(
+FILE*		/* auth_file */,
+Xauth*		/* auth */
+);
+
+XAU_ACCESS_ATTRIBUTE((read_only, 3, 2)) /* address */
+XAU_ACCESS_ATTRIBUTE((read_only, 5, 4)) /* number */
+XAU_ACCESS_ATTRIBUTE((read_only, 7, 6)) /* name */
+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 */
+);
+
+XAU_ACCESS_ATTRIBUTE((read_only, 3, 2)) /* address */
+XAU_ACCESS_ATTRIBUTE((read_only, 5, 4)) /* number */
+XAU_ACCESS_ATTRIBUTE((read_only, 7, 6)) /* type_names */
+XAU_ACCESS_ATTRIBUTE((read_only, 8, 6)) /* type_lengths */
+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 */
+);
+
+_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 */