dcop
ICEutil.h
Go to the documentation of this file.00001 /* $XConsortium: ICEutil.h,v 1.5 94/04/17 20:15:27 mor Exp $ */ 00002 /****************************************************************************** 00003 00004 00005 Copyright (c) 1993 X Consortium 00006 00007 Permission is hereby granted, free of charge, to any person obtaining a copy 00008 of this software and associated documentation files (the "Software"), to deal 00009 in the Software without restriction, including without limitation the rights 00010 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00011 copies of the Software, and to permit persons to whom the Software is 00012 furnished to do so, subject to the following conditions: 00013 00014 The above copyright notice and this permission notice shall be included in 00015 all copies or substantial portions of the Software. 00016 00017 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00018 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00020 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00021 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00022 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00023 00024 Except as contained in this notice, the name of the X Consortium shall not be 00025 used in advertising or otherwise to promote the sale, use or other dealings 00026 in this Software without prior written authorization from the X Consortium. 00027 00028 Author: Ralph Mor, X Consortium 00029 ******************************************************************************/ 00030 00031 #ifndef _ICEUTIL_H_ 00032 #define _ICEUTIL_H_ 00033 00034 #include <stdio.h> 00035 00036 /* 00037 * Data structure for entry in ICE authority file 00038 */ 00039 00040 typedef struct { 00041 char *protocol_name; 00042 unsigned short protocol_data_length; 00043 char *protocol_data; 00044 char *network_id; 00045 char *auth_name; 00046 unsigned short auth_data_length; 00047 char *auth_data; 00048 } IceAuthFileEntry; 00049 00050 00051 /* 00052 * Authentication data maintained in memory. 00053 */ 00054 00055 typedef struct { 00056 char *protocol_name; 00057 char *network_id; 00058 char *auth_name; 00059 unsigned short auth_data_length; 00060 char *auth_data; 00061 } IceAuthDataEntry; 00062 00063 00064 /* 00065 * Return values from IceLockAuthFile 00066 */ 00067 00068 #define IceAuthLockSuccess 0 /* lock succeeded */ 00069 #define IceAuthLockError 1 /* lock unexpectely failed, check errno */ 00070 #define IceAuthLockTimeout 2 /* lock failed, timeouts expired */ 00071 00072 00073 /* 00074 * Function Prototypes 00075 */ 00076 00077 #define IceAuthFileName KDE_IceAuthFileName 00078 00079 extern char *IceAuthFileName ( 00080 #if NeedFunctionPrototypes 00081 void 00082 #endif 00083 ); 00084 00085 #define IceLockAuthFile KDE_IceLockAuthFile 00086 00087 extern int IceLockAuthFile ( 00088 #if NeedFunctionPrototypes 00089 char * /* file_name */, 00090 int /* retries */, 00091 int /* timeout */, 00092 long /* dead */ 00093 #endif 00094 ); 00095 00096 #define IceUnlockAuthFile KDE_IceUnlockAuthFile 00097 00098 extern void IceUnlockAuthFile ( 00099 #if NeedFunctionPrototypes 00100 char * /* file_name */ 00101 #endif 00102 ); 00103 00104 #define IceReadAuthFileEntry KDE_IceReadAuthFileEntry 00105 00106 extern IceAuthFileEntry *IceReadAuthFileEntry ( 00107 #if NeedFunctionPrototypes 00108 FILE * /* auth_file */ 00109 #endif 00110 ); 00111 00112 #define IceFreeAuthFileEntry KDE_IceFreeAuthFileEntry 00113 00114 extern void IceFreeAuthFileEntry ( 00115 #if NeedFunctionPrototypes 00116 IceAuthFileEntry * /* auth */ 00117 #endif 00118 ); 00119 00120 #define IceWriteAuthFileEntry KDE_IceWriteAuthFileEntry 00121 00122 extern Status KDE_IceWriteAuthFileEntry ( 00123 #if NeedFunctionPrototypes 00124 FILE * /* auth_file */, 00125 IceAuthFileEntry * /* auth */ 00126 #endif 00127 ); 00128 00129 #define IceGetAuthFileEntry KDE_IceGetAuthFileEntry 00130 00131 extern IceAuthFileEntry *IceGetAuthFileEntry ( 00132 #if NeedFunctionPrototypes 00133 const char * /* protocol_name */, 00134 const char * /* network_id */, 00135 const char * /* auth_name */ 00136 #endif 00137 ); 00138 00139 #define IceGenerateMagicCookie KDE_IceGenerateMagicCookie 00140 00141 extern char *IceGenerateMagicCookie ( 00142 #if NeedFunctionPrototypes 00143 int /* len */ 00144 #endif 00145 ); 00146 00147 #define IceSetPaAuthData KDE_IceSetPaAuthData 00148 00149 extern void IceSetPaAuthData ( 00150 #if NeedFunctionPrototypes 00151 int /* numEntries */, 00152 IceAuthDataEntry * /* entries */ 00153 #endif 00154 ); 00155 00156 #endif /* _ICEUTIL_H_ */