summaryrefslogtreecommitdiff
path: root/sys/include/ape/netinet/in.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-03-31 18:52:45 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-03-31 18:52:45 +0200
commitb6dc4ba5a44a2ed2a68266598ceb28b7a7d51af2 (patch)
treeb2af773db48a3606bd078055db925dbba6d4ffaa /sys/include/ape/netinet/in.h
parent9c7e1db701e0e80b42bb5990e2f6839d712bb984 (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.h38
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