address_len);
+/**
+ * Box a native socket (and check that it is a socket).
+ *
+ * @param fd socket to box
+ * @return NULL on error (including not supported on target platform)
+ */
+struct GNUNET_NETWORK_Handle *
+GNUNET_NETWORK_socket_box_native (int fd);
+
+
/**
* Bind to a connected socket
*
ssize_t GNUNET_NETWORK_socket_send (const struct GNUNET_NETWORK_Handle *desc,
const void *buffer, size_t length);
+
/**
* Send data to a particular destination (always non-blocking).
* This function only works for UDP sockets.
* Check whether a socket is part of the fd set
* @param fds fd set
* @param desc socket
+ * @return GNUNET_YES if the socket is in the set
*/
int GNUNET_NETWORK_fdset_isset (const struct GNUNET_NETWORK_FDSet *fds,
const struct GNUNET_NETWORK_Handle *desc);
void GNUNET_NETWORK_fdset_copy (struct GNUNET_NETWORK_FDSet *to,
const struct GNUNET_NETWORK_FDSet *from);
-/*
+/**
* Return file descriptor for this network handle
+ *
+ * @param desc wrapper to process
+ * @return POSIX file descriptor
*/
int GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc);
+
/**
* Copy a native fd set
* @param to destination
void GNUNET_NETWORK_fdset_copy_native (struct GNUNET_NETWORK_FDSet *to,
const fd_set * from, int nfds);
+
+/**
+ * Set a native fd in a set
+ *
+ * @param to destination
+ * @param nfd native FD to set
+ */
+void GNUNET_NETWORK_fdset_set_native (struct GNUNET_NETWORK_FDSet *to,
+ int nfd);
+
+
+/**
+ * Test native fd in a set
+ *
+ * @param to set to test, NULL for empty set
+ * @param nfd native FD to test, -1 for none
+ * @return GNUNET_YES if to contains nfd
+ */
+int
+GNUNET_NETWORK_fdset_test_native (const struct GNUNET_NETWORK_FDSet *to,
+ int nfd);
+
+
/**
* Add a file handle to the fd set
* @param fds fd set