]> git.sesse.net Git - vlc/blobdiff - include/vlc_network.h
wasapi: audio capture client module (fixes #7205)
[vlc] / include / vlc_network.h
index 0102bb316bccdd53ea1224b2844c48e24757e343..70281a229d0acf031b71e0d22ac0a08be0712c68 100644 (file)
  * This file defines interface to communicate with network plug-ins
  */
 
-#if defined( WIN32 )
-#   if !defined(UNDER_CE)
-#       define _NO_OLDNAMES 1
-#       include <io.h>
-#   endif
+#if defined( _WIN32 )
+#   define _NO_OLDNAMES 1
+#   include <io.h>
 #   include <winsock2.h>
 #   include <ws2tcpip.h>
 #   define net_errno (WSAGetLastError())
-extern const char *net_strerror( int val );
 
 struct iovec
 {
@@ -159,7 +156,7 @@ VLC_API ssize_t net_Printf( vlc_object_t *p_this, int fd, const v_socket_t *, co
 VLC_API ssize_t net_vaPrintf( vlc_object_t *p_this, int fd, const v_socket_t *, const char *psz_fmt, va_list args );
 #define net_vaPrintf(a,b,c,d,e) net_vaPrintf(VLC_OBJECT(a),b,c,d,e)
 
-#ifdef WIN32
+#ifdef _WIN32
 /* Microsoft: same semantic, same value, different name... go figure */
 # define SHUT_RD SD_RECEIVE
 # define SHUT_WR SD_SEND
@@ -224,6 +221,14 @@ VLC_API ssize_t net_vaPrintf( vlc_object_t *p_this, int fd, const v_socket_t *,
 #ifndef AI_NUMERICSERV
 # define AI_NUMERICSERV 0
 #endif
+#ifndef AI_IDN
+# define AI_IDN 0 /* GNU/libc extension */
+#endif
+
+#ifdef _WIN32
+# undef gai_strerror
+# define gai_strerror gai_strerrorA
+#endif
 
 #ifdef __OS2__
 # ifndef NI_NUMERICHOST
@@ -234,18 +239,6 @@ VLC_API ssize_t net_vaPrintf( vlc_object_t *p_this, int fd, const v_socket_t *,
 #  define NI_DGRAM       0x10
 # endif
 
-struct addrinfo
-{
-    int ai_flags;
-    int ai_family;
-    int ai_socktype;
-    int ai_protocol;
-    size_t ai_addrlen;
-    struct sockaddr *ai_addr;
-    char *ai_canonname;
-    struct addrinfo *ai_next;
-};
-
 # define AI_PASSIVE     1
 # define AI_CANONNAME   2
 # define AI_NUMERICHOST 4
@@ -260,7 +253,7 @@ VLC_API int  getnameinfo ( const struct sockaddr *, socklen_t,
 #endif
 
 VLC_API int vlc_getnameinfo( const struct sockaddr *, int, char *, int, int *, int );
-VLC_API int vlc_getaddrinfo (vlc_object_t *, const char *, unsigned,
+VLC_API int vlc_getaddrinfo (const char *, unsigned,
                              const struct addrinfo *, struct addrinfo **);
 
 
@@ -367,6 +360,9 @@ static inline void net_SetPort (struct sockaddr *addr, uint16_t port)
         break;
     }
 }
+
+VLC_API char *vlc_getProxyUrl(const char *);
+
 # ifdef __cplusplus
 }
 # endif