]> git.sesse.net Git - vlc/commitdiff
Make some room for !TCP connection-oriented protocols
authorRémi Denis-Courmont <rem@videolan.org>
Wed, 14 Feb 2007 19:38:57 +0000 (19:38 +0000)
committerRémi Denis-Courmont <rem@videolan.org>
Wed, 14 Feb 2007 19:38:57 +0000 (19:38 +0000)
include/vlc_network.h
src/network/tcp.c

index 16e2c1bcbc0c66b4a29f5ca23bea8e2f7c964e57..d330d55b189d7c08cbc4d99d1abf45d4a275e39b 100644 (file)
@@ -70,20 +70,25 @@ extern "C" {
 /* Portable networking layer communication */
 int net_Socket (vlc_object_t *obj, int family, int socktype, int proto);
 
-#define net_ConnectTCP(a, b, c) __net_ConnectTCP(VLC_OBJECT(a), b, c)
-#define net_OpenTCP(a, b, c) __net_ConnectTCP(VLC_OBJECT(a), b, c)
-VLC_EXPORT( int, __net_ConnectTCP, ( vlc_object_t *p_this, const char *psz_host, int i_port ) );
+VLC_EXPORT( int, __net_Connect, (vlc_object_t *p_this, const char *psz_host, int i_port, int socktype, int protocol) );
 
 VLC_EXPORT( int *, net_Listen, (vlc_object_t *p_this, const char *psz_host, int i_port,
                                 int family, int socktype, int protocol) );
 VLC_EXPORT( int, net_ListenSingle, (vlc_object_t *p_this, const char *psz_host, int i_port, int family, int socktype, int protocol) );
 
 #define net_ListenTCP(a, b, c) __net_ListenTCP(VLC_OBJECT(a), b, c)
-static inline int *__net_ListenTCP ( vlc_object_t *obj, const char *host, int port)
+#define net_ConnectTCP(a, b, c) __net_ConnectTCP(VLC_OBJECT(a), b, c)
+
+static inline int *__net_ListenTCP (vlc_object_t *obj, const char *host, int port)
 {
     return net_Listen (obj, host, port, AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP);
 }
 
+static inline int __net_ConnectTCP (vlc_object_t *obj, const char *host, int port)
+{
+    return __net_Connect (obj, host, port, SOCK_STREAM, IPPROTO_TCP);
+}
+
 #define net_Accept(a, b, c) __net_Accept(VLC_OBJECT(a), b, c)
 VLC_EXPORT( int, __net_Accept, ( vlc_object_t *, int *, mtime_t ) );
 
index e7cf2018af112c19003012e223e9b69e05bc89d9..bdff1aced503da3b6053f1564d7773f00ebb584a 100644 (file)
@@ -61,11 +61,13 @@ extern int net_Socket( vlc_object_t *p_this, int i_family, int i_socktype,
                        int i_protocol );
 
 /*****************************************************************************
- * __net_ConnectTCP:
+ * __net_Connect:
  *****************************************************************************
- * Open a TCP connection and return a handle
+ * Open a network connection.
+ * @return socket handler or -1 on error.
  *****************************************************************************/
-int __net_ConnectTCP( vlc_object_t *p_this, const char *psz_host, int i_port )
+int __net_Connect( vlc_object_t *p_this, const char *psz_host, int i_port,
+                   int type, int proto )
 {
     struct addrinfo hints, *res, *ptr;
     const char      *psz_realhost;
@@ -113,8 +115,8 @@ int __net_ConnectTCP( vlc_object_t *p_this, const char *psz_host, int i_port )
 
     for( ptr = res; ptr != NULL; ptr = ptr->ai_next )
     {
-        int fd = net_Socket( p_this, ptr->ai_family, ptr->ai_socktype,
-                             ptr->ai_protocol );
+        int fd = net_Socket( p_this, ptr->ai_family, type ?: ptr->ai_socktype,
+                             proto ?: ptr->ai_protocol );
         if( fd == -1 )
         {
             if( u_errstep <= 0 )