ICEconn.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _ICECONN_H_
00027 #define _ICECONN_H_
00028
00029 #include "KDE-ICE/ICElib.h"
00030
00031
00032
00033
00034
00035 typedef struct _IceSavedReplyWait {
00036 IceReplyWaitInfo *reply_wait;
00037 Bool reply_ready;
00038 struct _IceSavedReplyWait *next;
00039 } _IceSavedReplyWait;
00040
00041 typedef struct _IcePingWait {
00042 IcePingReplyProc ping_reply_proc;
00043 IcePointer client_data;
00044 struct _IcePingWait *next;
00045 } _IcePingWait;
00046
00047 typedef struct {
00048 char *vendor;
00049 char *release;
00050 int version_count;
00051 IcePoVersionRec *version_recs;
00052 int auth_count;
00053 char **auth_names;
00054 IcePoAuthProc *auth_procs;
00055 IceIOErrorProc io_error_proc;
00056 } _IcePoProtocol;
00057
00058 typedef struct {
00059 char *vendor;
00060 char *release;
00061 int version_count;
00062 IcePaVersionRec *version_recs;
00063 IceProtocolSetupProc protocol_setup_proc;
00064 IceProtocolActivateProc protocol_activate_proc;
00065 int auth_count;
00066 char **auth_names;
00067 IcePaAuthProc *auth_procs;
00068 IceHostBasedAuthProc host_based_auth_proc;
00069 IceIOErrorProc io_error_proc;
00070 } _IcePaProtocol;
00071
00072 typedef struct {
00073 char *protocol_name;
00074 _IcePoProtocol *orig_client;
00075 _IcePaProtocol *accept_client;
00076 } _IceProtocol;
00077
00078 typedef struct {
00079 Bool in_use;
00080 int my_opcode;
00081 _IceProtocol *protocol;
00082 IcePointer client_data;
00083 Bool accept_flag;
00084 union {
00085 IcePaProcessMsgProc accept_client;
00086 IcePoProcessMsgProc orig_client;
00087 } process_msg_proc;
00088 } _IceProcessMsgInfo;
00089
00090 typedef struct {
00091 int his_version_index;
00092 int my_version_index;
00093 char *his_vendor;
00094 char *his_release;
00095 char my_auth_index;
00096 IcePointer my_auth_state;
00097 Bool must_authenticate;
00098 } _IceConnectToMeInfo;
00099
00100 typedef struct {
00101 int his_opcode;
00102 int my_opcode;
00103 int his_version_index;
00104 int my_version_index;
00105 char *his_vendor;
00106 char *his_release;
00107 char my_auth_index;
00108 IcePointer my_auth_state;
00109 Bool must_authenticate;
00110 } _IceProtoSetupToMeInfo;
00111
00112 typedef struct {
00113 Bool auth_active;
00114 char my_auth_index;
00115 IcePointer my_auth_state;
00116 } _IceConnectToYouInfo;
00117
00118 typedef struct {
00119 int my_opcode;
00120 int my_auth_count;
00121 int *my_auth_indices;
00122 Bool auth_active;
00123 char my_auth_index;
00124 IcePointer my_auth_state;
00125 } _IceProtoSetupToYouInfo;
00126
00127
00128 struct _IceConn {
00129
00130 unsigned int io_ok : 1;
00131 unsigned int swap : 1;
00132 unsigned int waiting_for_byteorder : 1;
00133 unsigned int skip_want_to_close : 1;
00134 unsigned int want_to_close : 1;
00135 unsigned int free_asap : 1;
00136 unsigned int unused1 : 2;
00137 unsigned int unused2 : 8;
00138
00139 IceConnectStatus connection_status;
00140
00141 unsigned char my_ice_version_index;
00142
00143 struct _XtransConnInfo *trans_conn;
00144 unsigned long send_sequence;
00145 unsigned long receive_sequence;
00146
00147 char *connection_string;
00148 char *vendor;
00149 char *release;
00150
00151 char *inbuf;
00152 char *inbufptr;
00153 char *inbufmax;
00154
00155 char *outbuf;
00156 char *outbufptr;
00157 char *outbufmax;
00158
00159 char *scratch;
00160 unsigned long scratch_size;
00161
00162 int dispatch_level;
00163
00164 IcePointer context;
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183 _IceProcessMsgInfo *process_msg_info;
00184 char his_min_opcode;
00185 char his_max_opcode;
00186
00187
00188
00189
00190
00191
00192
00193 unsigned char open_ref_count;
00194
00195
00196
00197
00198
00199
00200 unsigned char proto_ref_count;
00201
00202
00203
00204
00205
00206
00207
00208
00209 IceListenObj listen_obj;
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219 _IceSavedReplyWait *saved_reply_waits;
00220
00221
00222
00223
00224
00225
00226
00227 _IcePingWait *ping_waits;
00228
00229
00230
00231
00232
00233
00234 _IceConnectToYouInfo *connect_to_you;
00235 _IceProtoSetupToYouInfo *protosetup_to_you;
00236
00237
00238
00239
00240
00241
00242 _IceConnectToMeInfo *connect_to_me;
00243 _IceProtoSetupToMeInfo *protosetup_to_me;
00244
00245 };
00246
00247 #endif
This file is part of the documentation for kdelibs Version 3.1.4.