1 #ifndef TESTS_SOCKADDRTEST_H
2 #define TESTS_SOCKADDRTEST_H
5 #include "ntp_stdlib.h"
7 sockaddr_u CreateSockaddr4(const char* address, unsigned int port) {
9 s.sa4.sin_family = AF_INET;
10 s.sa4.sin_addr.s_addr = inet_addr(address);
16 int IsEqual(const sockaddr_u expected, const sockaddr_u actual) {
20 if (expected.sa.sa_family != actual.sa.sa_family) {
21 //<< "Expected sa_family: " << expected.sa.sa_family
22 //<< " but got: " << actual.sa.sa_family;
26 if (actual.sa.sa_family == AF_INET) { // IPv4
27 if (expected.sa4.sin_port == actual.sa4.sin_port &&
28 memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
32 //<< "IPv4 comparision failed, expected: "
33 //<< expected.sa4.sin_addr.s_addr
34 //<< "(" << socktoa(&expected) << ") but was: "
35 //<< actual.sa4.sin_addr.s_addr "(" << socktoa(&actual) << ")";
38 } else if (actual.sa.sa_family == AF_INET6) { //IPv6
39 if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
40 memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
44 printf("IPv6 comparision failed");
47 } else { // Unknown family
48 printf("Unknown sa_family: ");// << actual.sa.sa_family;
54 #endif // TESTS_SOCKADDRTEST_H