Browse Source

add inet_network (required for wine)

rofl0r 12 years ago
parent
commit
36d7303878
2 changed files with 12 additions and 0 deletions
  1. 1 0
      include/arpa/inet.h
  2. 11 0
      src/network/inet_network.c

+ 1 - 0
include/arpa/inet.h

@@ -24,6 +24,7 @@ uint32_t ntohl(uint32_t);
 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 *__restrict, void *__restrict);
 const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);

+ 11 - 0
src/network/inet_network.c

@@ -0,0 +1,11 @@
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include "__dns.h"
+
+in_addr_t inet_network(const char *p)
+{
+        struct sockaddr_in sin;
+        if (__ipparse(&sin, AF_INET, p)) return -1;
+        return ntohl(sin.sin_addr.s_addr);
+}