#ifndef _ARPA_INET_H
#define _ARPA_INET_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
#include <netinet/in.h>
#include <inttypes.h>
uint16_t ntohs(uint16_t);
in_addr_t inet_addr (const char *);
+in_addr_t inet_network (const char *);
char *inet_ntoa (struct in_addr);
-int inet_pton (int, const char *, void *);
-const char *inet_ntop (int, const void *, char *, socklen_t);
+int inet_pton (int, const char *__restrict, void *__restrict);
+const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
-int inet_aton (const char *, struct in_addr *); /* nonstandard but widely used */
+int inet_aton (const char *, struct in_addr *);
+struct in_addr inet_makeaddr(int, int);
+in_addr_t inet_lnaof(struct in_addr);
+in_addr_t inet_netof(struct in_addr);
#undef INET_ADDRSTRLEN
#undef INET6_ADDRSTRLEN
#define INET_ADDRSTRLEN 16
#define INET6_ADDRSTRLEN 46
+#ifdef __cplusplus
+}
+#endif
+
#endif