aboutsummaryrefslogtreecommitdiff
path: root/src/include/gnunet_connection_lib.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gnunet_connection_lib.h')
-rw-r--r--src/include/gnunet_connection_lib.h105
1 files changed, 50 insertions, 55 deletions
diff --git a/src/include/gnunet_connection_lib.h b/src/include/gnunet_connection_lib.h
index 3184e821b..00b97d903 100644
--- a/src/include/gnunet_connection_lib.h
+++ b/src/include/gnunet_connection_lib.h
@@ -80,9 +80,11 @@ struct GNUNET_CONNECTION_Credentials
80 * for unknown address family (will be denied). 80 * for unknown address family (will be denied).
81 */ 81 */
82typedef int (*GNUNET_CONNECTION_AccessCheck) (void *cls, 82typedef int (*GNUNET_CONNECTION_AccessCheck) (void *cls,
83 const struct GNUNET_CONNECTION_Credentials *ucred, 83 const struct
84 const struct sockaddr * addr, 84 GNUNET_CONNECTION_Credentials *
85 socklen_t addrlen); 85 ucred,
86 const struct sockaddr * addr,
87 socklen_t addrlen);
86 88
87 89
88/** 90/**
@@ -98,10 +100,10 @@ typedef int (*GNUNET_CONNECTION_AccessCheck) (void *cls,
98 * @param errCode value of errno (on errors receiving) 100 * @param errCode value of errno (on errors receiving)
99 */ 101 */
100typedef void (*GNUNET_CONNECTION_Receiver) (void *cls, 102typedef void (*GNUNET_CONNECTION_Receiver) (void *cls,
101 const void *buf, 103 const void *buf,
102 size_t available, 104 size_t available,
103 const struct sockaddr * addr, 105 const struct sockaddr * addr,
104 socklen_t addrlen, int errCode); 106 socklen_t addrlen, int errCode);
105 107
106/** 108/**
107 * Set the persist option on this connection handle. Indicates 109 * Set the persist option on this connection handle. Indicates
@@ -110,8 +112,7 @@ typedef void (*GNUNET_CONNECTION_Receiver) (void *cls,
110 * 112 *
111 * @param sock the connection to set persistent 113 * @param sock the connection to set persistent
112 */ 114 */
113void 115void GNUNET_CONNECTION_persist_ (struct GNUNET_CONNECTION_Handle *sock);
114GNUNET_CONNECTION_persist_(struct GNUNET_CONNECTION_Handle *sock);
115 116
116/** 117/**
117 * Disable the "CORK" feature for communication with the given socket, 118 * Disable the "CORK" feature for communication with the given socket,
@@ -124,8 +125,7 @@ GNUNET_CONNECTION_persist_(struct GNUNET_CONNECTION_Handle *sock);
124 * @param sock the connection to make flushing and blocking 125 * @param sock the connection to make flushing and blocking
125 * @return GNUNET_OK on success 126 * @return GNUNET_OK on success
126 */ 127 */
127int 128int GNUNET_CONNECTION_disable_corking (struct GNUNET_CONNECTION_Handle *sock);
128GNUNET_CONNECTION_disable_corking (struct GNUNET_CONNECTION_Handle *sock);
129 129
130 130
131/** 131/**
@@ -137,9 +137,8 @@ GNUNET_CONNECTION_disable_corking (struct GNUNET_CONNECTION_Handle *sock);
137 * @return the boxed socket handle 137 * @return the boxed socket handle
138 */ 138 */
139struct GNUNET_CONNECTION_Handle 139struct GNUNET_CONNECTION_Handle
140 *GNUNET_CONNECTION_create_from_existing (struct 140 *GNUNET_CONNECTION_create_from_existing (struct
141 GNUNET_NETWORK_Handle 141 GNUNET_NETWORK_Handle *osSocket);
142 *osSocket);
143 142
144 143
145/** 144/**
@@ -152,11 +151,9 @@ struct GNUNET_CONNECTION_Handle
152 * @return the socket handle, NULL on error (for example, access refused) 151 * @return the socket handle, NULL on error (for example, access refused)
153 */ 152 */
154struct GNUNET_CONNECTION_Handle 153struct GNUNET_CONNECTION_Handle
155 *GNUNET_CONNECTION_create_from_accept (GNUNET_CONNECTION_AccessCheck 154 *GNUNET_CONNECTION_create_from_accept (GNUNET_CONNECTION_AccessCheck
156 access, void *access_cls, 155 access, void *access_cls,
157 struct 156 struct GNUNET_NETWORK_Handle *lsock);
158 GNUNET_NETWORK_Handle
159 *lsock);
160 157
161 158
162/** 159/**
@@ -170,9 +167,10 @@ struct GNUNET_CONNECTION_Handle
170 * @return the socket handle 167 * @return the socket handle
171 */ 168 */
172struct GNUNET_CONNECTION_Handle 169struct GNUNET_CONNECTION_Handle
173 *GNUNET_CONNECTION_create_from_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, 170 *GNUNET_CONNECTION_create_from_connect (const struct
174 const char *hostname, 171 GNUNET_CONFIGURATION_Handle *cfg,
175 uint16_t port); 172 const char *hostname,
173 uint16_t port);
176 174
177 175
178/** 176/**
@@ -184,10 +182,11 @@ struct GNUNET_CONNECTION_Handle
184 * @param unixpath path to connect to) 182 * @param unixpath path to connect to)
185 * @return the socket handle, NULL on systems without UNIX support 183 * @return the socket handle, NULL on systems without UNIX support
186 */ 184 */
187struct GNUNET_CONNECTION_Handle * 185struct GNUNET_CONNECTION_Handle
188GNUNET_CONNECTION_create_from_connect_to_unixpath (const struct 186 *GNUNET_CONNECTION_create_from_connect_to_unixpath (const struct
189 GNUNET_CONFIGURATION_Handle *cfg, 187 GNUNET_CONFIGURATION_Handle
190 const char *unixpath); 188 *cfg,
189 const char *unixpath);
191 190
192 191
193 192
@@ -203,10 +202,9 @@ GNUNET_CONNECTION_create_from_connect_to_unixpath (const struct
203 * @return the socket handle 202 * @return the socket handle
204 */ 203 */
205struct GNUNET_CONNECTION_Handle 204struct GNUNET_CONNECTION_Handle
206 *GNUNET_CONNECTION_create_from_sockaddr (int af_family, 205 *GNUNET_CONNECTION_create_from_sockaddr (int af_family,
207 const struct sockaddr 206 const struct sockaddr
208 *serv_addr, 207 *serv_addr, socklen_t addrlen);
209 socklen_t addrlen);
210 208
211/** 209/**
212 * Check if socket is valid (no fatal errors have happened so far). 210 * Check if socket is valid (no fatal errors have happened so far).
@@ -216,8 +214,7 @@ struct GNUNET_CONNECTION_Handle
216 * @param sock socket to check 214 * @param sock socket to check
217 * @return GNUNET_YES if valid, GNUNET_NO otherwise 215 * @return GNUNET_YES if valid, GNUNET_NO otherwise
218 */ 216 */
219int GNUNET_CONNECTION_check (struct GNUNET_CONNECTION_Handle 217int GNUNET_CONNECTION_check (struct GNUNET_CONNECTION_Handle *sock);
220 *sock);
221 218
222 219
223/** 220/**
@@ -229,9 +226,8 @@ int GNUNET_CONNECTION_check (struct GNUNET_CONNECTION_Handle
229 * @return GNUNET_OK on success 226 * @return GNUNET_OK on success
230 */ 227 */
231int GNUNET_CONNECTION_get_address (struct 228int GNUNET_CONNECTION_get_address (struct
232 GNUNET_CONNECTION_Handle 229 GNUNET_CONNECTION_Handle
233 *sock, void **addr, 230 *sock, void **addr, size_t * addrlen);
234 size_t * addrlen);
235 231
236 232
237/** 233/**
@@ -249,7 +245,7 @@ int GNUNET_CONNECTION_get_address (struct
249 */ 245 */
250void 246void
251GNUNET_CONNECTION_destroy (struct GNUNET_CONNECTION_Handle *sock, 247GNUNET_CONNECTION_destroy (struct GNUNET_CONNECTION_Handle *sock,
252 int finish_pending_write); 248 int finish_pending_write);
253 249
254 250
255/** 251/**
@@ -267,10 +263,10 @@ GNUNET_CONNECTION_destroy (struct GNUNET_CONNECTION_Handle *sock,
267 */ 263 */
268void 264void
269GNUNET_CONNECTION_receive (struct GNUNET_CONNECTION_Handle 265GNUNET_CONNECTION_receive (struct GNUNET_CONNECTION_Handle
270 *sock, size_t max, 266 *sock, size_t max,
271 struct GNUNET_TIME_Relative timeout, 267 struct GNUNET_TIME_Relative timeout,
272 GNUNET_CONNECTION_Receiver receiver, 268 GNUNET_CONNECTION_Receiver receiver,
273 void *receiver_cls); 269 void *receiver_cls);
274 270
275 271
276/** 272/**
@@ -281,9 +277,7 @@ GNUNET_CONNECTION_receive (struct GNUNET_CONNECTION_Handle
281 * @param sock socket handle 277 * @param sock socket handle
282 * @return closure of the original receiver callback closure 278 * @return closure of the original receiver callback closure
283 */ 279 */
284void *GNUNET_CONNECTION_receive_cancel (struct 280void *GNUNET_CONNECTION_receive_cancel (struct GNUNET_CONNECTION_Handle *sock);
285 GNUNET_CONNECTION_Handle
286 *sock);
287 281
288 282
289/** 283/**
@@ -298,7 +292,8 @@ void *GNUNET_CONNECTION_receive_cancel (struct
298 * @return number of bytes written to buf 292 * @return number of bytes written to buf
299 */ 293 */
300typedef size_t (*GNUNET_CONNECTION_TransmitReadyNotify) (void *cls, 294typedef size_t (*GNUNET_CONNECTION_TransmitReadyNotify) (void *cls,
301 size_t size, void *buf); 295 size_t size,
296 void *buf);
302 297
303 298
304/** 299/**
@@ -337,14 +332,14 @@ struct GNUNET_CONNECTION_TransmitHandle;
337 * NULL if we are already going to notify someone else (busy) 332 * NULL if we are already going to notify someone else (busy)
338 */ 333 */
339struct GNUNET_CONNECTION_TransmitHandle 334struct GNUNET_CONNECTION_TransmitHandle
340 *GNUNET_CONNECTION_notify_transmit_ready (struct 335 *GNUNET_CONNECTION_notify_transmit_ready (struct
341 GNUNET_CONNECTION_Handle 336 GNUNET_CONNECTION_Handle
342 *sock, size_t size, 337 *sock, size_t size,
343 struct 338 struct
344 GNUNET_TIME_Relative 339 GNUNET_TIME_Relative
345 timeout, 340 timeout,
346 GNUNET_CONNECTION_TransmitReadyNotify 341 GNUNET_CONNECTION_TransmitReadyNotify
347 notify, void *notify_cls); 342 notify, void *notify_cls);
348 343
349 344
350/** 345/**
@@ -355,8 +350,8 @@ struct GNUNET_CONNECTION_TransmitHandle
355 */ 350 */
356void 351void
357GNUNET_CONNECTION_notify_transmit_ready_cancel (struct 352GNUNET_CONNECTION_notify_transmit_ready_cancel (struct
358 GNUNET_CONNECTION_TransmitHandle 353 GNUNET_CONNECTION_TransmitHandle
359 *h); 354 *h);
360 355
361 356
362/** 357/**
@@ -367,7 +362,7 @@ GNUNET_CONNECTION_notify_transmit_ready_cancel (struct
367 */ 362 */
368void 363void
369GNUNET_CONNECTION_ignore_shutdown (struct GNUNET_CONNECTION_Handle *sock, 364GNUNET_CONNECTION_ignore_shutdown (struct GNUNET_CONNECTION_Handle *sock,
370 int do_ignore); 365 int do_ignore);
371 366
372 367
373#if 0 /* keep Emacsens' auto-indent happy */ 368#if 0 /* keep Emacsens' auto-indent happy */