[vlc-devel] [PATCH 20/41] Define IPv6 stuffs required in order to compile on OS/2.

KO Myung-Hun komh at chollian.net
Mon Oct 10 13:43:59 CEST 2011


---
 include/vlc_network.h  |   23 +++++++++++++++++++++++
 src/network/rootbind.c |    5 +++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/include/vlc_network.h b/include/vlc_network.h
index f145312..5c9eeb5 100644
--- a/include/vlc_network.h
+++ b/include/vlc_network.h
@@ -239,6 +239,29 @@ VLC_API int vlc_poll(struct pollfd *fds, unsigned nfds, int timeout);
 # define AI_NUMERICSERV 0
 #endif
 
+#ifdef __OS2__
+/* OS/2 does not support IPv6, yet. But declare these only for compilation */
+struct in6_addr
+{
+    uint8_t s6_addr[16];
+};
+
+struct sockaddr_in6
+{
+    uint8_t         sin6_len;
+    uint8_t         sin6_family;
+    uint16_t        sin6_port;
+    uint32_t        sin6_flowinfo;
+    struct in6_addr sin6_addr;
+    uint32_t        sin6_scope_id;
+};
+
+# define IN6_IS_ADDR_MULTICAST(a)   (((__const uint8_t *) (a))[0] == 0xff)
+
+static const struct in6_addr in6addr_any =
+    { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };
+#endif
+
 VLC_API int vlc_getnameinfo( const struct sockaddr *, int, char *, int, int *, int );
 VLC_API int vlc_getaddrinfo( vlc_object_t *, const char *, int, const struct addrinfo *, struct addrinfo ** );
 
diff --git a/src/network/rootbind.c b/src/network/rootbind.c
index 0a540f6..b26c16b 100644
--- a/src/network/rootbind.c
+++ b/src/network/rootbind.c
@@ -22,6 +22,11 @@
 # include <config.h>
 #endif
 
+#ifdef __OS2__
+# include <vlc_common.h>
+# include <vlc_network.h>   /* For struct sockaddr_in6 */
+#endif
+
 #define _XPG4_2 /* ancilliary data on Solaris */
 
 #if !defined (WIN32)
-- 
1.7.3.2



More information about the vlc-devel mailing list