48 #ifndef HAVE_INET_PTON 49 struct sockaddr_in *sin;
52 sin = (
struct sockaddr_in *)dst;
54 if(inet_aton(src, &sin->sin_addr))
62 struct sockaddr_in *sin;
66 sin = (
struct sockaddr_in *)dst;
69 if(inet_pton(AF_INET, src, &sin->sin_addr) > 0)
99 #ifndef HAVE_INET_NTOP 101 struct sockaddr_in *sin;
103 sin = (
struct sockaddr_in *)src;
113 tmp = inet_ntoa(sin->sin_addr);
115 if(!tmp || strlen(tmp)>=size)
120 strncpy(dst, tmp, size);
123 struct sockaddr_in *sin;
126 sin = (
struct sockaddr_in *)src;
133 return inet_ntop(AF_INET, &sin->sin_addr, dst, size);
150 struct sockaddr_in *sin;
156 sin = (
struct sockaddr_in *)sa;
157 return ntohs(sin->sin_port);
175 struct sockaddr_in *sin;
178 sin = (
struct sockaddr_in *)sa;
184 sin->sin_port = htons(port);
212 return sizeof(
struct sockaddr_in);
socklen_t j_inet_addrlen(struct sockaddr_storage *sa)
calculate the size of an address structure (on some unices the stdlibc functions for socket handling ...
int j_inet_pton(const char *src, struct sockaddr_storage *dst)
set the address of a struct sockaddr_storage (modeled after the stdlib function inet_pton) ...
sa_family_t ss_family
address family
int j_inet_getport(struct sockaddr_storage *sa)
get the port number out of a struct sockaddr_storage
structure that contains an IPv6 including some additional attributes (only defined if not contained i...
#define AF_INET6
address family for IPv6
const char * j_inet_ntop(struct sockaddr_storage *src, char *dst, size_t size)
get the string representation of an address in struct sockaddr_storage (modeled after the stdlib func...
in_port_t sin6_port
transport layer port #
int j_inet_setport(struct sockaddr_storage *sa, in_port_t port)
set the port number in a struct sockaddr_storage
struct in6_addr sin6_addr
IPv6 address.