#define net_Connect(a, b, c, d, e) __net_Connect(VLC_OBJECT(a), b, c, d, e)
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_Listen, (vlc_object_t *p_this, const char *psz_host, int i_port, int protocol) );
-#define net_ListenTCP(a, b, c) __net_ListenTCP(VLC_OBJECT(a), b, c)
+#define net_ListenTCP(a, b, c) net_Listen(VLC_OBJECT(a), b, c, IPPROTO_TCP)
#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);
int *net_Listen (vlc_object_t *p_this, const char *psz_host,
- int i_port, int family, int socktype, int protocol)
+ int i_port, int protocol)
{
struct addrinfo hints, *res;
memset (&hints, 0, sizeof( hints ));
- hints.ai_family = family;
- hints.ai_socktype = socktype;
+ /* Since we use port numbers rather than service names, the socket type
+ * does not really matter. */
+ hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
msg_Dbg (p_this, "net: listening to %s port %d", psz_host, i_port);
for (struct addrinfo *ptr = res; ptr != NULL; ptr = ptr->ai_next)
{
int fd = net_Socket (p_this, ptr->ai_family, ptr->ai_socktype,
- protocol ?: ptr->ai_protocol);
+ protocol);
if (fd == -1)
{
msg_Dbg (p_this, "socket error: %m");