X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_network_lib.h;h=06a5ce9038021667978c95ba56ab569535317cfb;hb=f2061adfbfeabe988a185145d9df140d14131e74;hp=67ff11781d05e53ebd20943ff34092ea7b975f92;hpb=adf79de3a5f8f88651d4564c7565187c45c50891;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_network_lib.h b/src/include/gnunet_network_lib.h index 67ff11781..06a5ce903 100644 --- a/src/include/gnunet_network_lib.h +++ b/src/include/gnunet_network_lib.h @@ -68,11 +68,23 @@ struct GNUNET_NETWORK_FDSet }; - #include "gnunet_disk_lib.h" #include "gnunet_time_lib.h" +/** + * Given a unixpath that is too long (larger than UNIX_PATH_MAX), + * shorten it to an acceptable length while keeping it unique + * and making sure it remains a valid filename (if possible). + * + * @param unixpath long path, will be freed (or same pointer returned + * with moved 0-termination). + * @return shortened unixpath, NULL on error + */ +char * +GNUNET_NETWORK_shorten_unixpath (char *unixpath); + + /** * Accept a new connection on a socket. Configure it for non-blocking * IO and mark it as non-inheritable to child processes (set the @@ -89,7 +101,6 @@ GNUNET_NETWORK_socket_accept (const struct GNUNET_NETWORK_Handle *desc, socklen_t * address_len); -#ifdef MINGW /** * Box a native socket (and check that it is a socket). * @@ -98,7 +109,6 @@ GNUNET_NETWORK_socket_accept (const struct GNUNET_NETWORK_Handle *desc, */ struct GNUNET_NETWORK_Handle * GNUNET_NETWORK_socket_box_native (SOCKTYPE fd); -#endif /** @@ -187,7 +197,7 @@ GNUNET_NETWORK_socket_recvfrom_amount (const struct GNUNET_NETWORK_Handle ssize_t GNUNET_NETWORK_socket_recvfrom (const struct GNUNET_NETWORK_Handle *desc, void *buffer, size_t length, - struct sockaddr *src_addr, socklen_t * addrlen); + struct sockaddr *src_addr, socklen_t *addrlen); /** @@ -375,6 +385,26 @@ int GNUNET_NETWORK_get_fd (struct GNUNET_NETWORK_Handle *desc); +/** + * Return the sockaddr for this network handle + * + * @param desc wrapper to process + * @return POSIX file descriptor + */ +struct sockaddr* +GNUNET_NETWORK_get_addr (struct GNUNET_NETWORK_Handle *desc); + + +/** + * Return sockaddr length for this network handle + * + * @param desc wrapper to process + * @return socklen_t for sockaddr + */ +socklen_t +GNUNET_NETWORK_get_addrlen (struct GNUNET_NETWORK_Handle *desc); + + /** * Copy a native fd set * @param to destination