X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=address.c;fp=address.c;h=d0fc10134ad98f7ab319f8eaff50ce084881c030;hb=844f6b5a8213018c3d42b5ef924b61cf3eafcdbb;hp=dffd3ee4a44a29aa33c5a69fbce71465c20a6ea5;hpb=3b077d5a0fdcf96897ef26be574b6a4d69dd2c13;p=catta diff --git a/address.c b/address.c index dffd3ee..d0fc101 100644 --- a/address.c +++ b/address.c @@ -113,3 +113,14 @@ flxAddress *flx_address_from_sockaddr(const struct sockaddr* sa, flxAddress *ret return ret_addr; } + +guint16 flx_port_from_sockaddr(const struct sockaddr* sa) { + g_assert(sa); + + g_assert(sa->sa_family == AF_INET || sa->sa_family == AF_INET6); + + if (sa->sa_family == AF_INET) + return ntohs(((struct sockaddr_in*) sa)->sin_port); + else + return ntohs(((struct sockaddr_in6*) sa)->sin6_port); +}