blob: 579355a69b569a49ce288106cd7abcd2d5395308 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
//
// bjIPAddr.h
// TestTB
//
// Created by Terrin Eager on 1/19/13.
//
//
#ifndef __TestTB__bjIPAddr__
#define __TestTB__bjIPAddr__
#include <iostream>
#include <sys/socket.h>
#include "bjtypes.h"
class BJIPAddr
{
public:
BJIPAddr();
BJIPAddr(const BJIPAddr& src);
void Empty();
bool IsBonjourMulticast();
bool IsSameSubNet(BJIPAddr* addr);
bool IsIPv4();
bool IsIPv6();
bool IsIPv6LinkLocal();
bool IsEmpty();
bool IsEmptySubnet();
void Set(const char* addr);
void Setv6(const char* addr);
void Set(struct in6_addr* ipi6_addr);
void Set(struct in_addr* ip_addr);
void Set(struct sockaddr_storage* sockStorage);
void Setv4Raw(BJ_UINT8* ipi4_addr);
void Setv6Raw(BJ_UINT8* ipi6_addr);
sockaddr_storage* GetRawValue();
struct in6_addr* Getin6_addr();
void CreateLinkLocalIPv6(BJ_UINT8* mac);
BJ_COMPARE Compare(BJIPAddr* addr);
BJ_UINT16 GetPortNumber();
char* GetString();
private:
sockaddr_storage sockAddrStorage;
BJ_INT32 IPv4SubNet;
char stringbuffer[100];
static sockaddr_storage emptySockAddrStorage;
};
#endif /* defined(__TestTB__bjIPAddr__) */
|