# define IPV6_V6ONLY 27
# endif
#else
-# if HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-# endif
-# if HAVE_NETINET_IN_H
+# include <sys/socket.h>
+# ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
# endif
-# if HAVE_ARPA_INET_H
+# ifdef HAVE_ARPA_INET_H
# include <arpa/inet.h>
# elif defined( SYS_BEOS )
# include <net/netdb.h>
};
#define net_Read(a,b,c,d,e,f) __net_Read(VLC_OBJECT(a),b,c,d,e,f)
-VLC_EXPORT( ssize_t, __net_Read, ( vlc_object_t *p_this, int fd, const v_socket_t *, uint8_t *p_data, size_t i_data, vlc_bool_t b_retry ) );
+VLC_EXPORT( ssize_t, __net_Read, ( vlc_object_t *p_this, int fd, const v_socket_t *, uint8_t *p_data, size_t i_data, bool b_retry ) );
#define net_Write(a,b,c,d,e) __net_Write(VLC_OBJECT(a),b,c,d,e)
VLC_EXPORT( ssize_t, __net_Write, ( vlc_object_t *p_this, int fd, const v_socket_t *, const uint8_t *p_data, size_t i_data ) );
VLC_EXPORT( void, vlc_freeaddrinfo, ( struct addrinfo * ) );
-static inline vlc_bool_t
+static inline bool
net_SockAddrIsMulticast (const struct sockaddr *addr, socklen_t len)
{
switch (addr->sa_family)
{
const struct sockaddr_in *v4 = (const struct sockaddr_in *)addr;
if ((size_t)len < sizeof (*v4))
- return VLC_FALSE;
+ return false;
return IN_MULTICAST (ntohl (v4->sin_addr.s_addr)) != 0;
}
#endif
{
const struct sockaddr_in6 *v6 = (const struct sockaddr_in6 *)addr;
if ((size_t)len < sizeof (*v6))
- return VLC_FALSE;
+ return false;
return IN6_IS_ADDR_MULTICAST (&v6->sin6_addr) != 0;
}
#endif
}
- return VLC_FALSE;
+ return false;
}
-
-/**
- * net_AddressIsMulticast
- * @return VLC_FALSE iff the psz_addr does not specify a multicast address,
- * or the address is not a valid address.
- */
-static inline vlc_bool_t net_AddressIsMulticast( vlc_object_t *p_object, const char *psz_addr )
-{
- struct addrinfo hints, *res;
-
- memset (&hints, 0, sizeof (hints));
- hints.ai_socktype = SOCK_DGRAM; /* UDP */
- hints.ai_flags = AI_NUMERICHOST;
-
- int i = vlc_getaddrinfo (p_object, psz_addr, 0,
- &hints, &res);
- if (i)
- {
- msg_Err (p_object, "invalid address \"%s\" for net_AddressIsMulticast (%s)",
- psz_addr, vlc_gai_strerror (i));
- return VLC_FALSE;
- }
-
- vlc_bool_t b = net_SockAddrIsMulticast (res->ai_addr, res->ai_addrlen);
- vlc_freeaddrinfo (res);
- return b;
-}
-
static inline int net_GetSockAddress( int fd, char *address, int *port )
{
struct sockaddr_storage addr;