WIP: Fix the Proxy-State issue.
[libradsec.git] / util.h
1 /* Copyright (c) 2007-2009, UNINETT AS */
2 /* See LICENSE for licensing information. */
3
4 #include <sys/socket.h>
5 #include <netdb.h>
6
7 #define SOCKADDR_SIZE(addr) ((addr).ss_family == AF_INET ?      \
8                              sizeof(struct sockaddr_in) :       \
9                              sizeof(struct sockaddr_in6))
10
11 #define SOCKADDRP_SIZE(addr) ((addr)->sa_family == AF_INET ?    \
12                               sizeof(struct sockaddr_in) :      \
13                               sizeof(struct sockaddr_in6))
14
15 char *stringcopy(const char *s, int len);
16 char *addr2string(struct sockaddr *addr);
17 struct sockaddr *addr_copy(struct sockaddr *in);
18 void port_set(struct sockaddr *sa, uint16_t port);
19
20 void printfchars(char *prefixfmt, char *prefix, char *charfmt, char *chars, int len);
21 void disable_DF_bit(int socket, struct addrinfo *res);
22 int bindtoaddr(struct addrinfo *addrinfo, int family, int reuse, int v6only);
23 int connecttcp(struct addrinfo *addrinfo, struct addrinfo *src, uint16_t timeout);
24
25
26 /* Local Variables: */
27 /* c-file-style: "stroustrup" */
28 /* End: */