diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-08-17 12:46:48 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-08-17 17:14:11 +0200 |
commit | ba6988bd893eb08c54ffdb144700530e3a683d6e (patch) | |
tree | 0ae180c7c7bd072c5e11b32e2dc1f2200dea8f34 /src/socket.c | |
parent | 03bba4313f9e6f880ec5cadcb66a0df9663349b9 (diff) |
some more doxygen work (include the notion of modules)
Diffstat (limited to 'src/socket.c')
-rw-r--r-- | src/socket.c | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/src/socket.c b/src/socket.c index f1fcccd5..1a1d71dc 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1,5 +1,13 @@ #include "../config.h" +/*! \addtogroup socket + * @{ + */ + +/*! \file socket.c + * \brief Osmocom socket convenience functions + */ + #ifdef HAVE_SYS_SOCKET_H #include <osmocom/core/logging.h> @@ -18,6 +26,18 @@ #include <netdb.h> #include <ifaddrs.h> +/*! \brief Initialize a socket (including bind/connect) + * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP + * \param[in] host remote host name or IP address in string form + * \param[in] port remote port number in host byte order + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT + * + * This function creates a new socket of the designated \a family, \a + * type and \a proto and optionally binds or connects it, depending on + * the value of \a flags parameter. + */ int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, const char *host, uint16_t port, unsigned int flags) { @@ -93,6 +113,18 @@ int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, return sfd; } +/*! \brief Initialize a socket and fill \ref osmo_fd + * \param[out] osmocom file descriptor (will be filled in) + * \param[in] family Address Family like AF_INET, AF_INET6, AF_UNSPEC + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP + * \param[in] host remote host name or IP address in string form + * \param[in] port remote port number in host byte order + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT + * + * This function creates (and optionall binds/connects) a socket using + * \ref osmo_sock_init, but also fills the \a ofd structure. + */ int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, const char *host, uint16_t port, unsigned int flags) { @@ -114,6 +146,15 @@ int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto, return sfd; } +/*! \brief Initialize a socket and fill \ref sockaddr + * \param[out] ss socket address (will be filled in) + * \param[in] type Socket type like SOCK_DGRAM, SOCK_STREAM + * \param[in] proto Protocol like IPPROTO_TCP, IPPROTO_UDP + * \param[in] flags flags like \ref OSMO_SOCK_F_CONNECT + * + * This function creates (and optionall binds/connects) a socket using + * \ref osmo_sock_init, but also fills the \a ss structure. + */ int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type, uint8_t proto, unsigned int flags) { @@ -177,7 +218,11 @@ static int sockaddr_equal(const struct sockaddr *a, return 0; } -/* determine if the given address is a local address */ +/*! \brief Determine if the given address is a local address + * \param[in] addr Socket Address + * \param[in] addrlen Length of socket address in bytes + * \returns 1 if address is local, 0 otherwise. + */ int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen) { struct ifaddrs *ifaddr, *ifa; @@ -198,3 +243,5 @@ int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen) } #endif /* HAVE_SYS_SOCKET_H */ + +/*! }@ */ |