some code improvemetns, more efficiently removing outstanding requests when removing...
[radsecproxy.git] / util.h
1 #include <sys/socket.h>
2 #include <netdb.h>
3
4 #define SOCKADDR_SIZE(addr) ((addr).ss_family == AF_INET ? \
5                             sizeof(struct sockaddr_in) : \
6                             sizeof(struct sockaddr_in6))
7
8 #define SOCKADDRP_SIZE(addr) ((addr)->sa_family == AF_INET ? \
9                             sizeof(struct sockaddr_in) : \
10                             sizeof(struct sockaddr_in6))
11
12 char *stringcopy(const char *s, int len);
13 char *addr2string(struct sockaddr *addr);
14 int addr_equal(struct sockaddr *a, struct sockaddr *b);
15 struct sockaddr *addr_copy(struct sockaddr *in);
16 uint16_t port_get(struct sockaddr *sa);
17 void port_set(struct sockaddr *sa, uint16_t port);
18
19 void printfchars(char *prefixfmt, char *prefix, char *charfmt, char *chars, int len);
20 int connectport(int type, char *host, char *port);
21 int bindtoaddr(struct addrinfo *addrinfo, int family, int reuse, int v6only);
22 int connecttcp(struct addrinfo *addrinfo, struct addrinfo *src);