Home | History | Annotate | Download | only in irs

Lines Matching defs:net_data

68 static struct net_data *init(void);
69 static void freepvt(struct net_data *);
70 static struct hostent *fakeaddr(const char *, int, struct net_data *);
77 struct net_data *net_data = init();
79 return (gethostbyname_p(name, net_data));
84 struct net_data *net_data = init();
86 return (gethostbyname2_p(name, af, net_data));
91 struct net_data *net_data = init();
93 return (gethostbyaddr_p(addr, len, af, net_data));
98 struct net_data *net_data = init();
100 return (gethostent_p(net_data));
105 struct net_data *net_data = init();
106 sethostent_p(stayopen, net_data);
112 struct net_data *net_data = init();
113 endhostent_p(net_data);
119 gethostbyname_p(const char *name, struct net_data *net_data) {
122 if (!net_data)
125 if (net_data->res->options & RES_USE_INET6) {
126 hp = gethostbyname2_p(name, AF_INET6, net_data);
130 return (gethostbyname2_p(name, AF_INET, net_data));
134 gethostbyname2_p(const char *name, int af, struct net_data *net_data) {
141 if (!net_data || !(ho = net_data->ho))
143 if (net_data->ho_stayopen && net_data->ho_last &&
144 net_data->ho_last->h_addrtype == af) {
145 if (ns_samename(name, net_data->ho_last->h_name) == 1)
146 return (net_data->ho_last);
147 for (hap = net_data->ho_last->h_aliases; hap && *hap; hap++)
149 return (net_data->ho_last);
151 if (!strchr(name, '.') && (cp = res_hostalias(net_data->res, name,
154 if ((hp = fakeaddr(name, af, net_data)) != NULL)
156 net_data->ho_last = (*ho->byname2)(ho, name, af);
157 if (!net_data->ho_stayopen)
159 return (net_data->ho_last);
163 gethostbyaddr_p(const char *addr, int len, int af, struct net_data *net_data) {
167 if (!net_data || !(ho = net_data->ho))
169 if (net_data->ho_stayopen && net_data->ho_last &&
170 net_data->ho_last->h_length == len)
171 for (hap = net_data->ho_last->h_addr_list;
175 return (net_data->ho_last);
176 net_data->ho_last = (*ho->byaddr)(ho, addr, len, af);
177 if (!net_data->ho_stayopen)
179 return (net_data->ho_last);
184 gethostent_p(struct net_data *net_data) {
188 if (!net_data || !(ho = net_data->ho))
192 (net_data->res->options & RES_USE_INET6) == 0U)
194 net_data->ho_last = hp;
195 return (net_data->ho_last);
200 sethostent_p(int stayopen, struct net_data *net_data) {
203 if (!net_data || !(ho = net_data->ho))
205 freepvt(net_data);
207 net_data->ho_stayopen = (stayopen != 0);
209 net_data_minimize(net_data);
213 endhostent_p(struct net_data *net_data) {
216 if ((net_data != NULL) && ((ho = net_data->ho) != NULL))
263 struct net_data *net_data = init();
267 if (net_data == NULL) {
311 options = net_data->res->options;
312 net_data->res->options &= ~RES_USE_INET6;
316 he2 = gethostbyname2_p(name, AF_INET6, net_data);
323 tmp_err = net_data->res->res_h_errno;
331 he2 = gethostbyname2_p(name, AF_INET, net_data);
333 *error_num = net_data->res->res_h_errno;
339 net_data->res->options = options;
351 struct net_data *net_data = init();
389 he1 = gethostbyaddr_p(cp, 4, AF_INET, net_data);
391 *error_num = net_data->res->res_h_errno;
413 he1 = gethostbyaddr_p(src, 16, AF_INET6, net_data);
415 *error_num = net_data->res->res_h_errno;
946 static struct net_data *
948 struct net_data *net_data;
950 if (!(net_data = net_data_init(NULL)))
952 if (!net_data->ho) {
953 net_data->ho = (*net_data->irs->ho_map)(net_data->irs);
954 if (!net_data->ho || !net_data->res) {
957 if (net_data && net_data->res)
958 RES_SET_H_ERRNO(net_data->res, NETDB_INTERNAL);
962 (*net_data->ho->res_set)(net_data->ho, net_data->res, NULL);
965 return (net_data);
969 freepvt(struct net_data *net_data) {
970 if (net_data->ho_data) {
971 free(net_data->ho_data);
972 net_data->ho_data = NULL;
977 fakeaddr(const char *name, int af, struct net_data *net_data) {
980 freepvt(net_data);
981 net_data->ho_data = malloc(sizeof (struct pvt));
982 if (!net_data->ho_data) {
984 RES_SET_H_ERRNO(net_data->res, NETDB_INTERNAL);
987 pvt = net_data->ho_data;
1007 RES_SET_H_ERRNO(net_data->res, HOST_NOT_FOUND);
1012 if (af == AF_INET && (net_data->res->options & RES_USE_INET6) != 0U) {
1026 RES_SET_H_ERRNO(net_data->res, NETDB_INTERNAL);
1035 RES_SET_H_ERRNO(net_data->res, NETDB_SUCCESS);
1052 old_options = net_data->res->options;
1053 net_data->res->options &= ~RES_DNSRCH;
1054 net_data->res->options |= RES_DEFNAMES;
1056 net_data->res->options = old_options;
1057 RES_SET_H_ERRNO(net_data->res, HOST_NOT_FOUND);
1060 net_data->res->options = old_options;
1065 RES_SET_H_ERRNO(net_data->res, HOST_NOT_FOUND);