28 uint8_t zerobytes[
sizeof(transid.
id)] = {};
29 return (0 != memcmp(&transid.
id, zerobytes,
sizeof(zerobytes)));
61 sockaddr_in6 addr6={};
63 addr6.sin6_family = AF_INET6;
64 addr6.sin6_port = htons(port);
HRESULT ReadUint8(uint8_t *pVal)
const uint16_t STUN_IPV6_LENGTH
HRESULT Read(void *data, size_t size)
void ApplyStunXorMap(const StunTransactionId &id)
HRESULT ReadUint16(uint16_t *pVal)
HRESULT GetXorMappedAddress(uint8_t *pData, size_t size, StunTransactionId &transid, CSocketAddress *pAddr)
HRESULT GetMappedAddress(uint8_t *pData, size_t size, CSocketAddress *pAddr)
const uint8_t STUN_ATTRIBUTE_FIELD_IPV4
bool IsTransactionIdValid(StunTransactionId &transid)
uint8_t id[STUN_TRANSACTION_ID_LENGTH]
HRESULT SeekDirect(size_t pos)
HRESULT ReadUint32(uint32_t *pVal)
boost::shared_ptr< CBuffer > CRefCountedBuffer
#define ChkIfA(expr, hrerror)