Lines Matching refs:ai
71 struct addrinfo *ai;
73 ai = (struct addrinfo *)malloc(sizeof(struct addrinfo) +
75 if (ai) {
76 memset(ai, 0, sizeof(struct addrinfo) + sizeof(struct sockaddr_in));
77 ai->ai_addr = (struct sockaddr *)(ai + 1);
79 ai->ai_addrlen = sizeof(struct sockaddr_in);
81 ai->ai_addr->sa_len = sizeof(struct sockaddr_in);
83 ai->ai_addr->sa_family = ai->ai_family = AF_INET;
84 ((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port;
85 ((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr;
86 ai->ai_socktype = socktype;
87 ai->ai_protocol = proto;
88 return ai;
112 freeaddrinfo(struct addrinfo *ai)
116 if (ai->ai_canonname)
117 free(ai->ai_canonname);
119 next = ai->ai_next;
120 free(ai);
121 } while ((ai = next) != NULL);