live
GroupsockHelper.hh File Reference
#include "NetAddress.hh"
#include <sys/time.h>
Include dependency graph for GroupsockHelper.hh:

Go to the source code of this file.

Data Structures

class  NoReuse
struct  _groupsockPriv

Macros

#define MSG_NOSIGNAL   0
#define SET_SOCKADDR_SIN_LEN(var)
#define SET_SOCKADDR_SIN6_LEN(var)
#define MAKE_SOCKADDR_IN(var, adr, prt)
#define MAKE_SOCKADDR_IN6(var, adr, prt)

Functions

int setupDatagramSocket (UsageEnvironment &env, Port port, int domain)
int setupStreamSocket (UsageEnvironment &env, Port port, int domain, Boolean makeNonBlocking=True, Boolean setKeepAlive=False)
int readSocket (UsageEnvironment &env, int socket, unsigned char *buffer, unsigned bufferSize, struct sockaddr_storage &fromAddress)
Boolean writeSocket (UsageEnvironment &env, int socket, struct sockaddr_storage const &addressAndPort, u_int8_t ttlArg, unsigned char *buffer, unsigned bufferSize)
Boolean writeSocket (UsageEnvironment &env, int socket, struct sockaddr_storage const &addressAndPort, unsigned char *buffer, unsigned bufferSize)
void ignoreSigPipeOnSocket (int socketNum)
unsigned getSendBufferSize (UsageEnvironment &env, int socket)
unsigned getReceiveBufferSize (UsageEnvironment &env, int socket)
unsigned setSendBufferTo (UsageEnvironment &env, int socket, unsigned requestedSize)
unsigned setReceiveBufferTo (UsageEnvironment &env, int socket, unsigned requestedSize)
unsigned increaseSendBufferTo (UsageEnvironment &env, int socket, unsigned requestedSize)
unsigned increaseReceiveBufferTo (UsageEnvironment &env, int socket, unsigned requestedSize)
Boolean makeSocketNonBlocking (int sock)
Boolean makeSocketBlocking (int sock, unsigned writeTimeoutInMilliseconds=0)
Boolean setSocketKeepAlive (int sock)
Boolean socketJoinGroup (UsageEnvironment &env, int socket, struct sockaddr_storage const &groupAddress)
Boolean socketLeaveGroup (UsageEnvironment &, int socket, struct sockaddr_storage const &groupAddress)
Boolean socketJoinGroupSSM (UsageEnvironment &env, int socket, struct sockaddr_storage const &groupAddress, struct sockaddr_storage const &sourceFilterAddr)
Boolean socketLeaveGroupSSM (UsageEnvironment &, int socket, struct sockaddr_storage const &groupAddress, struct sockaddr_storage const &sourceFilterAddr)
Boolean getSourcePort (UsageEnvironment &env, int socket, int domain, Port &port)
ipv4AddressBits ourIPv4Address (UsageEnvironment &env)
ipv6AddressBits const & ourIPv6Address (UsageEnvironment &env)
Boolean weHaveAnIPv4Address (UsageEnvironment &env)
Boolean weHaveAnIPv6Address (UsageEnvironment &env)
Boolean weHaveAnIPAddress (UsageEnvironment &env)
ipv4AddressBits chooseRandomIPv4SSMAddress (UsageEnvironment &env)
char const * timestampString ()
_groupsockPrivgroupsockPriv (UsageEnvironment &env)
void reclaimGroupsockPriv (UsageEnvironment &env)
void our_srandom (int x)
long our_random ()
u_int32_t our_random32 ()

Variables

ipv4AddressBits SendingInterfaceAddr
ipv4AddressBits ReceivingInterfaceAddr
in6_addr ReceivingInterfaceAddr6

Macro Definition Documentation

◆ MAKE_SOCKADDR_IN

#define MAKE_SOCKADDR_IN ( var,
adr,
prt )
Value:
struct sockaddr_in var;\
var.sin_family = AF_INET;\
var.sin_addr.s_addr = (adr);\
var.sin_port = (prt);\
SET_SOCKADDR_SIN_LEN(var);

Definition at line 115 of file GroupsockHelper.hh.

◆ MAKE_SOCKADDR_IN6

#define MAKE_SOCKADDR_IN6 ( var,
adr,
prt )
Value:
struct sockaddr_in6 var;\
memset(&var, 0, sizeof var);\
var.sin6_family = AF_INET6;\
var.sin6_addr=adr;\
var.sin6_port = (prt);\
SET_SOCKADDR_SIN6_LEN(var);

Definition at line 121 of file GroupsockHelper.hh.

◆ MSG_NOSIGNAL

#define MSG_NOSIGNAL   0

Definition at line 29 of file GroupsockHelper.hh.

◆ SET_SOCKADDR_SIN6_LEN

#define SET_SOCKADDR_SIN6_LEN ( var)

Definition at line 112 of file GroupsockHelper.hh.

◆ SET_SOCKADDR_SIN_LEN

#define SET_SOCKADDR_SIN_LEN ( var)

Definition at line 111 of file GroupsockHelper.hh.

Function Documentation

◆ chooseRandomIPv4SSMAddress()

ipv4AddressBits chooseRandomIPv4SSMAddress ( UsageEnvironment & env)

◆ getReceiveBufferSize()

unsigned getReceiveBufferSize ( UsageEnvironment & env,
int socket )

References getReceiveBufferSize().

Referenced by getReceiveBufferSize().

◆ getSendBufferSize()

unsigned getSendBufferSize ( UsageEnvironment & env,
int socket )

References getSendBufferSize().

Referenced by getSendBufferSize().

◆ getSourcePort()

Boolean getSourcePort ( UsageEnvironment & env,
int socket,
int domain,
Port & port )

References getSourcePort().

Referenced by getSourcePort().

◆ groupsockPriv()

_groupsockPriv * groupsockPriv ( UsageEnvironment & env)

References groupsockPriv().

Referenced by groupsockPriv().

◆ ignoreSigPipeOnSocket()

void ignoreSigPipeOnSocket ( int socketNum)

◆ increaseReceiveBufferTo()

unsigned increaseReceiveBufferTo ( UsageEnvironment & env,
int socket,
unsigned requestedSize )

◆ increaseSendBufferTo()

unsigned increaseSendBufferTo ( UsageEnvironment & env,
int socket,
unsigned requestedSize )

References increaseSendBufferTo().

Referenced by increaseSendBufferTo().

◆ makeSocketBlocking()

Boolean makeSocketBlocking ( int sock,
unsigned writeTimeoutInMilliseconds = 0 )

References makeSocketBlocking().

Referenced by makeSocketBlocking().

◆ makeSocketNonBlocking()

Boolean makeSocketNonBlocking ( int sock)

◆ our_random()

long our_random ( )

References our_random().

Referenced by our_random().

◆ our_random32()

u_int32_t our_random32 ( )

References our_random32().

Referenced by our_random32().

◆ our_srandom()

void our_srandom ( int x)

References our_srandom().

Referenced by our_srandom().

◆ ourIPv4Address()

ipv4AddressBits ourIPv4Address ( UsageEnvironment & env)

References ourIPv4Address().

Referenced by ourIPv4Address().

◆ ourIPv6Address()

ipv6AddressBits const & ourIPv6Address ( UsageEnvironment & env)

References ourIPv6Address().

Referenced by ourIPv6Address().

◆ readSocket()

int readSocket ( UsageEnvironment & env,
int socket,
unsigned char * buffer,
unsigned bufferSize,
struct sockaddr_storage & fromAddress )

References readSocket().

Referenced by readSocket().

◆ reclaimGroupsockPriv()

void reclaimGroupsockPriv ( UsageEnvironment & env)

References reclaimGroupsockPriv().

Referenced by reclaimGroupsockPriv().

◆ setReceiveBufferTo()

unsigned setReceiveBufferTo ( UsageEnvironment & env,
int socket,
unsigned requestedSize )

References setReceiveBufferTo().

Referenced by setReceiveBufferTo().

◆ setSendBufferTo()

unsigned setSendBufferTo ( UsageEnvironment & env,
int socket,
unsigned requestedSize )

References setSendBufferTo().

Referenced by setSendBufferTo().

◆ setSocketKeepAlive()

Boolean setSocketKeepAlive ( int sock)

References setSocketKeepAlive().

Referenced by setSocketKeepAlive().

◆ setupDatagramSocket()

int setupDatagramSocket ( UsageEnvironment & env,
Port port,
int domain )

References setupDatagramSocket().

Referenced by setupDatagramSocket().

◆ setupStreamSocket()

int setupStreamSocket ( UsageEnvironment & env,
Port port,
int domain,
Boolean makeNonBlocking = True,
Boolean setKeepAlive = False )

References False, setupStreamSocket(), and True.

Referenced by setupStreamSocket().

◆ socketJoinGroup()

Boolean socketJoinGroup ( UsageEnvironment & env,
int socket,
struct sockaddr_storage const & groupAddress )

References socketJoinGroup().

Referenced by socketJoinGroup().

◆ socketJoinGroupSSM()

Boolean socketJoinGroupSSM ( UsageEnvironment & env,
int socket,
struct sockaddr_storage const & groupAddress,
struct sockaddr_storage const & sourceFilterAddr )

References socketJoinGroupSSM().

Referenced by socketJoinGroupSSM().

◆ socketLeaveGroup()

Boolean socketLeaveGroup ( UsageEnvironment & ,
int socket,
struct sockaddr_storage const & groupAddress )

References socketLeaveGroup().

Referenced by socketLeaveGroup().

◆ socketLeaveGroupSSM()

Boolean socketLeaveGroupSSM ( UsageEnvironment & ,
int socket,
struct sockaddr_storage const & groupAddress,
struct sockaddr_storage const & sourceFilterAddr )

References socketLeaveGroupSSM().

Referenced by socketLeaveGroupSSM().

◆ timestampString()

char const * timestampString ( )

References timestampString().

Referenced by timestampString().

◆ weHaveAnIPAddress()

◆ weHaveAnIPv4Address()

Boolean weHaveAnIPv4Address ( UsageEnvironment & env)

References weHaveAnIPv4Address().

Referenced by weHaveAnIPv4Address().

◆ weHaveAnIPv6Address()

Boolean weHaveAnIPv6Address ( UsageEnvironment & env)

References weHaveAnIPv6Address().

Referenced by weHaveAnIPv6Address().

◆ writeSocket() [1/2]

Boolean writeSocket ( UsageEnvironment & env,
int socket,
struct sockaddr_storage const & addressAndPort,
u_int8_t ttlArg,
unsigned char * buffer,
unsigned bufferSize )

References writeSocket().

Referenced by writeSocket(), and writeSocket().

◆ writeSocket() [2/2]

Boolean writeSocket ( UsageEnvironment & env,
int socket,
struct sockaddr_storage const & addressAndPort,
unsigned char * buffer,
unsigned bufferSize )

References writeSocket().

Variable Documentation

◆ ReceivingInterfaceAddr

ipv4AddressBits ReceivingInterfaceAddr
extern

Referenced by weHaveAnIPAddress().

◆ ReceivingInterfaceAddr6

in6_addr ReceivingInterfaceAddr6
extern

Referenced by weHaveAnIPAddress().

◆ SendingInterfaceAddr

ipv4AddressBits SendingInterfaceAddr
extern

Referenced by weHaveAnIPAddress().