Lines Matching refs:ai
852 ai_find_by_family(struct evutil_addrinfo *ai, int family)
854 while (ai) {
855 if (ai->ai_family == family)
856 return ai;
857 ai = ai->ai_next;
863 ai_find_by_protocol(struct evutil_addrinfo *ai, int protocol)
865 while (ai) {
866 if (ai->ai_protocol == protocol)
867 return ai;
868 ai = ai->ai_next;
875 test_ai_eq_(const struct evutil_addrinfo *ai, const char *sockaddr_port,
884 tt_int_op(ai->ai_socktype, ==, socktype);
886 tt_int_op(ai->ai_protocol, ==, protocol);
894 if (ai->ai_family != ss.ss_family) {
896 ai->ai_family, ss.ss_family, line));
899 if (ai->ai_addr->sa_family == AF_INET) {
900 struct sockaddr_in *sin = (struct sockaddr_in*)ai->ai_addr;
903 if (ai->ai_addrlen != sizeof(struct sockaddr_in)) {
908 struct sockaddr_in6 *sin6 = (struct sockaddr_in6*)ai->ai_addr;
911 if (ai->ai_addrlen != sizeof(struct sockaddr_in6)) {
916 if (evutil_sockaddr_cmp(ai->ai_addr, (struct sockaddr*)&ss, 1)) {
1002 struct evutil_addrinfo *ai = NULL, *a;
1010 r = evutil_getaddrinfo("1.2.3.4", "8080", &hints, &ai);
1012 tt_assert(ai);
1013 tt_ptr_op(ai->ai_next, ==, NULL); /* no ambiguity */
1014 test_ai_eq(ai, "1.2.3.4:8080", SOCK_STREAM, IPPROTO_TCP);
1015 evutil_freeaddrinfo(ai);
1016 ai = NULL;
1021 r = evutil_getaddrinfo("1001:b0b::f00f", "4321", &hints, &ai);
1023 tt_assert(ai);
1024 tt_ptr_op(ai->ai_next, ==, NULL); /* no ambiguity */
1025 test_ai_eq(ai, "[1001:b0b::f00f]:4321", SOCK_DGRAM, IPPROTO_UDP);
1026 evutil_freeaddrinfo(ai);
1027 ai = NULL;
1034 r = evutil_getaddrinfo(NULL, "9999", &hints, &ai);
1036 tt_assert(ai);
1037 tt_ptr_op(ai->ai_next, ==, NULL);
1038 test_ai_eq(ai, "0.0.0.0:9999", SOCK_STREAM, IPPROTO_TCP);
1039 evutil_freeaddrinfo(ai);
1040 ai = NULL;
1042 r = evutil_getaddrinfo(NULL, "9998", &hints, &ai);
1043 tt_assert(ai);
1045 test_ai_eq(ai, "127.0.0.1:9998", SOCK_STREAM, IPPROTO_TCP);
1046 tt_ptr_op(ai->ai_next, ==, NULL);
1047 evutil_freeaddrinfo(ai);
1048 ai = NULL;
1052 r = evutil_getaddrinfo(NULL, "9997", &hints, &ai);
1053 tt_assert(ai);
1055 tt_ptr_op(ai->ai_next, ==, NULL);
1056 test_ai_eq(ai, "[::1]:9997", SOCK_STREAM, IPPROTO_TCP);
1057 evutil_freeaddrinfo(ai);
1058 ai = NULL;
1062 r = evutil_getaddrinfo(NULL, "9996", &hints, &ai);
1063 tt_assert(ai);
1065 tt_ptr_op(ai->ai_next, ==, NULL);
1066 test_ai_eq(ai, "[::]:9996", SOCK_STREAM, IPPROTO_TCP);
1067 evutil_freeaddrinfo(ai);
1068 ai = NULL;
1072 r = evutil_getaddrinfo(NULL, "9996", &hints, &ai);
1073 tt_assert(ai);
1075 a = ai_find_by_family(ai, PF_INET6);
1078 a = ai_find_by_family(ai, PF_INET);
1081 evutil_freeaddrinfo(ai);
1082 ai = NULL;
1089 r = evutil_getaddrinfo("1.2.3.4", NULL, &hints, &ai);
1091 a = ai_find_by_protocol(ai, IPPROTO_TCP);
1094 a = ai_find_by_protocol(ai, IPPROTO_UDP);
1097 evutil_freeaddrinfo(ai);
1098 ai = NULL;
1104 r = evutil_getaddrinfo("www.google.com", "80", &hints, &ai);
1106 tt_ptr_op(ai, ==, NULL);
1113 r = evutil_getaddrinfo("1.2.3.4", "http", &hints, &ai);
1120 r = evutil_getaddrinfo("1.2.3.4", "http", &hints, &ai);
1124 tt_assert(ai);
1125 test_ai_eq(ai, "1.2.3.4:80", SOCK_STREAM, IPPROTO_TCP);
1126 evutil_freeaddrinfo(ai);
1127 ai = NULL;
1131 if (ai)
1132 evutil_freeaddrinfo(ai);
1138 struct evutil_addrinfo *ai = NULL;
1152 r = evutil_getaddrinfo("www.google.com", "80", &hints, &ai);
1156 tt_assert(ai);
1157 tt_int_op(ai->ai_family, ==, PF_INET);
1158 tt_int_op(ai->ai_protocol, ==, IPPROTO_TCP);
1159 tt_int_op(ai->ai_socktype, ==, SOCK_STREAM);
1160 tt_int_op(ai->ai_addrlen, ==, sizeof(struct sockaddr_in));
1161 sin = (struct sockaddr_in*)ai->ai_addr;
1169 evutil_freeaddrinfo(ai);
1170 ai = NULL;
1174 r = evutil_getaddrinfo("ipv6.google.com", "80", &hints, &ai);
1178 tt_assert(ai);
1179 tt_int_op(ai->ai_family, ==, PF_INET6);
1180 tt_int_op(ai->ai_addrlen, ==, sizeof(struct sockaddr_in6));
1181 sin6 = (struct sockaddr_in6*)ai->ai_addr;
1191 if (ai)
1192 evutil_freeaddrinfo(ai);
1198 struct evutil_addrinfo *ai = NULL;
1208 r = evutil_getaddrinfo("127.0.0.1", "80", &hints, &ai);
1210 tt_assert(ai);
1211 tt_ptr_op(ai->ai_next, ==, NULL);
1212 test_ai_eq(ai, "127.0.0.1:80", SOCK_STREAM, IPPROTO_TCP);
1213 evutil_freeaddrinfo(ai);
1214 ai = NULL;
1217 r = evutil_getaddrinfo("::1", "80", &hints, &ai);
1219 tt_assert(ai);
1220 tt_ptr_op(ai->ai_next, ==, NULL);
1221 test_ai_eq(ai, "[::1]:80", SOCK_STREAM, IPPROTO_TCP);
1222 evutil_freeaddrinfo(ai);
1223 ai = NULL;
1226 if (ai)
1227 evutil_freeaddrinfo(ai);