summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h
diff options
context:
space:
mode:
Diffstat (limited to 'mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h')
-rw-r--r--mDNSResponder/mDNSMacOSX/BonjourTop/source/bjIPAddr.h56
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__) */