VLC 4.0.0-dev
udp.c File Reference
Include dependency graph for udp.c:

Macros

#define SOL_IP   IPPROTO_IP
 
#define SOL_IPV6   IPPROTO_IPV6
 
#define IPPROTO_IPV6   41 /* IANA */
 
#define SOL_DCCP   IPPROTO_DCCP
 
#define IPPROTO_DCCP   33 /* IANA */
 
#define SOL_UDPLITE   IPPROTO_UDPLITE
 
#define IPPROTO_UDPLITE   136 /* IANA */
 
#define ENOPROTOOPT   123
 

Functions

static int net_SetupDgramSocket (vlc_object_t *p_obj, int fd, const struct addrinfo *ptr)
 
static int net_Subscribe (vlc_object_t *obj, int fd, const struct sockaddr *addr, socklen_t addrlen)
 
static int net_ListenSingle (vlc_object_t *obj, const char *host, unsigned port, int protocol)
 
static int net_SetMcastHopLimit (vlc_object_t *p_this, int fd, int family, int hlim)
 
static int net_SetMcastOut (vlc_object_t *p_this, int fd, int family, const char *iface)
 
static int net_SourceSubscribe (vlc_object_t *obj, int fd, const struct sockaddr *src, socklen_t srclen, const struct sockaddr *grp, socklen_t grplen)
 IP-agnostic multicast join, with fallback to old APIs, and fallback from SSM to ASM. More...
 
static int net_SetDSCP (int fd, uint8_t dscp)
 
int net_ConnectDgram (vlc_object_t *p_this, const char *psz_host, unsigned i_port, int i_hlim, int proto)
 
int net_OpenDgram (vlc_object_t *obj, const char *psz_bind, unsigned i_bind, const char *psz_server, unsigned i_server, int protocol)
 
int net_SetCSCov (int fd, int sendcov, int recvcov)
 net_SetCSCov: Sets the send and receive checksum coverage of a socket: More...
 

Macro Definition Documentation

◆ ENOPROTOOPT

#define ENOPROTOOPT   123

◆ IPPROTO_DCCP

#define IPPROTO_DCCP   33 /* IANA */

◆ IPPROTO_IPV6

#define IPPROTO_IPV6   41 /* IANA */

◆ IPPROTO_UDPLITE

#define IPPROTO_UDPLITE   136 /* IANA */

◆ SOL_DCCP

#define SOL_DCCP   IPPROTO_DCCP

◆ SOL_IP

#define SOL_IP   IPPROTO_IP

◆ SOL_IPV6

#define SOL_IPV6   IPPROTO_IPV6

◆ SOL_UDPLITE

#define SOL_UDPLITE   IPPROTO_UDPLITE

Function Documentation

◆ net_ListenSingle()

static int net_ListenSingle ( vlc_object_t obj,
const char *  host,
unsigned  port,
int  protocol 
)
static

◆ net_SetDSCP()

static int net_SetDSCP ( int  fd,
uint8_t  dscp 
)
static

References ENOPROTOOPT, SOL_IP, and SOL_IPV6.

Referenced by net_ConnectDgram().

◆ net_SetMcastHopLimit()

static int net_SetMcastHopLimit ( vlc_object_t p_this,
int  fd,
int  family,
int  hlim 
)
static

◆ net_SetMcastOut()

static int net_SetMcastOut ( vlc_object_t p_this,
int  fd,
int  family,
const char *  iface 
)
static

References msg_Err, SOL_IP, SOL_IPV6, and vlc_strerror_c().

Referenced by net_ConnectDgram().

◆ net_SetupDgramSocket()

static int net_SetupDgramSocket ( vlc_object_t p_obj,
int  fd,
const struct addrinfo *  ptr 
)
static

◆ net_SourceSubscribe()

static int net_SourceSubscribe ( vlc_object_t obj,
int  fd,
const struct sockaddr *  src,
socklen_t  srclen,
const struct sockaddr *  grp,
socklen_t  grplen 
)
static

IP-agnostic multicast join, with fallback to old APIs, and fallback from SSM to ASM.

References msg_Err, msg_Warn, net_errno, net_Subscribe(), SOL_IP, SOL_IPV6, and vlc_strerror_c().

Referenced by net_OpenDgram().

◆ net_Subscribe()

static int net_Subscribe ( vlc_object_t obj,
int  fd,
const struct sockaddr *  addr,
socklen_t  addrlen 
)
static