37 #ifndef RTPIPV6ADDRESS_H
39 #define RTPIPV6ADDRESS_H
41 #include "rtpconfig.h"
43 #ifdef RTP_SUPPORT_IPV6
47 #if ! (defined(WIN32) || defined(_WIN32_WCE))
48 #include <netinet/in.h>
74 void SetIP(in6_addr ip) { RTPIPv6Address::ip = ip; }
77 void SetIP(
const uint8_t ip[16]) {
for (
int i = 0 ; i < 16 ; i++) RTPIPv6Address::ip.s6_addr[i] = ip[i]; }
80 void SetPort(uint16_t port) { RTPIPv6Address::port = port; }
83 void GetIP(uint8_t ip[16])
const {
for (
int i = 0 ; i < 16 ; i++) ip[i] = RTPIPv6Address::ip.s6_addr[i]; }
86 in6_addr
GetIP()
const {
return ip; }
92 bool IsSameAddress(
const RTPAddress *addr)
const;
93 bool IsFromSameHost(
const RTPAddress *addr)
const;
95 std::string GetAddressString()
const;
102 #endif // RTP_SUPPORT_IPV6
104 #endif // RTPIPV6ADDRESS_H
void GetIP(uint8_t ip[16]) const
Copies the IP address of this instance in ip.
Definition: rtpipv6address.h:83
A memory manager.
Definition: rtpmemorymanager.h:144
Used by the UDP over IPv6 transmitter.
Definition: rtpaddress.h:54
void SetPort(uint16_t port)
Sets the port number for this instance to port, which is interpreted in host byte order...
Definition: rtpipv6address.h:80
void SetIP(in6_addr ip)
Sets the IP address for this instance to ip.
Definition: rtpipv6address.h:74
uint16_t GetPort() const
Returns the port number contained in this instance in host byte order.
Definition: rtpipv6address.h:89
RTPIPv6Address()
Creates an instance with IP address and port number set to zero.
Definition: rtpipv6address.h:62
This class is an abstract class which is used to specify destinations, multicast groups etc...
Definition: rtpaddress.h:47
RTPIPv6Address(const uint8_t ip[16], uint16_t port=0)
Creates an instance with IP address ip and port number port (the port number is assumed to be in host...
Definition: rtpipv6address.h:66
RTPIPv6Address(in6_addr ip, uint16_t port=0)
Creates an instance with IP address ip and port number port (the port number is assumed to be in host...
Definition: rtpipv6address.h:70
in6_addr GetIP() const
Returns the IP address of this instance.
Definition: rtpipv6address.h:86
void SetIP(const uint8_t ip[16])
Sets the IP address for this instance to ip.
Definition: rtpipv6address.h:77
Represents an IPv6 IP address and port.
Definition: rtpipv6address.h:58