d9ea9e41e323c305300e4e2d632305b8e51b6e76
[libradsec.git] / hostport.h
1 /* Copyright (c) 2006-2009, Stig Venaas, UNINETT AS.
2  * Copyright (c) 2010, UNINETT AS, NORDUnet A/S.
3  * Copyright (c) 2010-2012, NORDUnet A/S. */
4 /* See LICENSE for licensing information. */
5
6 struct hostportres {
7     char *host;
8     char *port;
9     uint8_t prefixlen;
10     struct addrinfo *addrinfo;
11 };
12
13 struct hostportres *newhostport(char *hostport, char *default_port, uint8_t prefixok);
14 int addhostport(struct list **hostports, char **hostport, char *portdefault, uint8_t prefixok);
15 void freehostport(struct hostportres *hp);
16 void freehostports(struct list *hostports);
17 int resolvehostport(struct hostportres *hp, int af, int socktype, uint8_t passive);
18 int resolvehostports(struct list *hostports, int af, int socktype);
19 struct addrinfo *resolvepassiveaddrinfo(char *hostport, int af, char *default_port, int socktype);
20 int addressmatches(struct list *hostports, struct sockaddr *addr, uint8_t checkport);
21 int connecttcphostlist(struct list *hostports,  struct addrinfo *src);
22
23 /* Local Variables: */
24 /* c-file-style: "stroustrup" */
25 /* End: */