diff options
Diffstat (limited to 'mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h')
-rw-r--r-- | mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h b/mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h new file mode 100644 index 00000000..579355a6 --- /dev/null +++ b/mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h @@ -0,0 +1,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__) */ |