]> git.sesse.net Git - vlc/commitdiff
Lua: Implement net.connect_tcp
authorSrikanth Raju <srikiraju@gmail.com>
Thu, 11 Mar 2010 14:46:40 +0000 (20:16 +0530)
committerJean-Philippe André <jpeg@videolan.org>
Sat, 20 Mar 2010 17:33:56 +0000 (18:33 +0100)
Signed-off-by: Jean-Philippe André <jpeg@videolan.org>
modules/misc/lua/libs/net.c

index 90eec66871be3b77bd3fa79fbc4127ee0fe6f638..b8d309192899523527644f3d7d828207cb712dbe 100644 (file)
@@ -45,6 +45,7 @@
 #endif
 #include <sys/stat.h>
 
+#include<errno.h>
 #include "../vlc.h"
 #include "../libs.h"
 
@@ -150,6 +151,16 @@ static int vlclua_net_accept( lua_State *L )
 /*****************************************************************************
  *
  *****************************************************************************/
+static int vlclua_net_connect_tcp( lua_State *L )
+{
+    vlc_object_t *p_this = vlclua_get_this( L );
+    const char *psz_host = luaL_checkstring( L, 1 );
+    int i_port = luaL_checkint( L, 2 );
+    int i_fd = net_Connect( p_this, psz_host, i_port, SOCK_STREAM, IPPROTO_TCP );
+    lua_pushinteger( L, i_fd );
+    return 1;
+}
+
 static int vlclua_net_close( lua_State *L )
 {
     int i_fd = luaL_checkint( L, 1 );
@@ -339,6 +350,7 @@ static int vlclua_opendir( lua_State *L )
 static const luaL_Reg vlclua_net_reg[] = {
     { "url_parse", vlclua_url_parse },
     { "listen_tcp", vlclua_net_listen_tcp },
+    { "connect_tcp", vlclua_net_connect_tcp },
     { "close", vlclua_net_close },
     { "send", vlclua_net_send },
     { "recv", vlclua_net_recv },