diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-06-23 11:58:33 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-06-23 11:58:33 +0000 |
commit | fd9eec78a3c275401d4b661a49cd90b972c9f58d (patch) | |
tree | b20fba92cbfacbeadc0afc69cd5443b4046f0ddd /src/util/network.c | |
parent | cf9c7eda4002d95ff63153d5180d06cbdfc44c95 (diff) | |
download | gnunet-fd9eec78a3c275401d4b661a49cd90b972c9f58d.tar.gz gnunet-fd9eec78a3c275401d4b661a49cd90b972c9f58d.zip |
support for systemd style listen fd passing
Diffstat (limited to 'src/util/network.c')
-rw-r--r-- | src/util/network.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/util/network.c b/src/util/network.c index 13ed345bf..4a287ada9 100644 --- a/src/util/network.c +++ b/src/util/network.c | |||
@@ -308,6 +308,29 @@ GNUNET_NETWORK_socket_close (struct GNUNET_NETWORK_Handle *desc) | |||
308 | 308 | ||
309 | 309 | ||
310 | /** | 310 | /** |
311 | * Box a native socket (and check that it is a socket). | ||
312 | * | ||
313 | * @param fd socket to box | ||
314 | * @return NULL on error (including not supported on target platform) | ||
315 | */ | ||
316 | struct GNUNET_NETWORK_Handle * | ||
317 | GNUNET_NETWORK_socket_box_native (int fd) | ||
318 | { | ||
319 | #if MINGW | ||
320 | return NULL; | ||
321 | #else | ||
322 | struct GNUNET_NETWORK_Handle *ret; | ||
323 | |||
324 | if (fcntl (fd, F_GETFD) < 0) | ||
325 | return NULL; /* invalid FD */ | ||
326 | ret = GNUNET_malloc (sizeof (struct GNUNET_NETWORK_Handle)); | ||
327 | ret->fd = fd; | ||
328 | return ret; | ||
329 | #endif | ||
330 | } | ||
331 | |||
332 | |||
333 | /** | ||
311 | * Connect a socket | 334 | * Connect a socket |
312 | * @param desc socket | 335 | * @param desc socket |
313 | * @param address peer address | 336 | * @param address peer address |