diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-03-31 18:52:45 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-03-31 18:52:45 +0200 |
commit | b6dc4ba5a44a2ed2a68266598ceb28b7a7d51af2 (patch) | |
tree | b2af773db48a3606bd078055db925dbba6d4ffaa /sys/include/ape/netinet/in.h | |
parent | 9c7e1db701e0e80b42bb5990e2f6839d712bb984 (diff) |
ape: initial IPv6 support, inet_pton()/inet_ntop(), getaddrinfo()/getnameinfo()
Diffstat (limited to 'sys/include/ape/netinet/in.h')
-rw-r--r-- | sys/include/ape/netinet/in.h | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/sys/include/ape/netinet/in.h b/sys/include/ape/netinet/in.h index 3d04f8ee1..8444c1bcf 100644 --- a/sys/include/ape/netinet/in.h +++ b/sys/include/ape/netinet/in.h @@ -102,13 +102,39 @@ struct in_addr { #define IN_LOOPBACKNET 127 /* official! */ /* + * IPv6 internet address. + */ +struct in6_addr { + unsigned char s6_addr[16]; +}; + +extern struct in6_addr in6addr_any; +extern struct in6_addr in6addr_loopback; + +#define IN6ADDR_ANY_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }} + +#define IN6ADDR_LOOPBACK_INIT \ + {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }} + +/* * Socket address, internet style. */ struct sockaddr_in { - short sin_family; + short sin_family; unsigned short sin_port; - struct in_addr sin_addr; - char sin_zero[8]; + struct in_addr sin_addr; + char sin_zero[8]; +}; + +struct sockaddr_in6 { + short sin6_family; + unsigned short sin6_port; + unsigned long sin6_flowinfo; + struct in6_addr sin6_addr; + unsigned long sin6_scope_id; }; /* @@ -140,6 +166,12 @@ extern unsigned long inet_addr(char*); extern char* inet_ntoa(struct in_addr); extern unsigned long nptohl(void*); +extern char* inet_ntop(int af, void *src, char *dst, int size); +extern int inet_pton(int af, char *src, void *dst); + +#define INET_ADDRSTRLEN 16 +#define INET6_ADDRSTRLEN 46 + #ifdef __cplusplus } #endif |