hostport.h 1.12 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/*
 * Copyright (C) 2006-2009 Stig Venaas <venaas@uninett.no>
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 */

struct hostportres {
    char *host;
    char *port;
    uint8_t prefixlen;
    struct addrinfo *addrinfo;
};

venaas's avatar
venaas committed
16
struct hostportres *newhostport(char *hostport, char *default_port, uint8_t prefixok);
17
int addhostport(struct list **hostports, char **hostport, char *portdefault, uint8_t prefixok);
venaas's avatar
venaas committed
18
void freehostport(struct hostportres *hp);
19
void freehostports(struct list *hostports);
20 21 22
int resolvehostport(struct hostportres *hp, int af, int socktype, uint8_t passive);
int resolvehostports(struct list *hostports, int af, int socktype);
struct addrinfo *resolvepassiveaddrinfo(char *hostport, int af, char *default_port, int socktype);
23
int addressmatches(struct list *hostports, struct sockaddr *addr, uint8_t checkport);
24
int connecttcphostlist(struct list *hostports,  struct addrinfo *src);
25 26 27 28

/* Local Variables: */
/* c-file-style: "stroustrup" */
/* End: */