35ecc9e8913399b9f8df1bbffefe1751223125d8
[radsecproxy.git] / lib / rsp_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 #if defined (__cplusplus)
13 extern "C" {
14 #endif
15
16 char *stringcopy(const char *s, int len);
17 char *addr2string(struct sockaddr *addr);
18 struct sockaddr *addr_copy(struct sockaddr *in);
19 void port_set(struct sockaddr *sa, uint16_t port);
20
21 void printfchars(char *prefixfmt, char *prefix, char *charfmt, char *chars, int len);
22 void disable_DF_bit(int socket, struct addrinfo *res);
23 int bindtoaddr(struct addrinfo *addrinfo, int family, int reuse, int v6only);
24 int connecttcp(struct addrinfo *addrinfo, struct addrinfo *src, uint16_t timeout);
25
26 #if defined (__cplusplus)
27 }
28 #endif
29
30 /* Local Variables: */
31 /* c-file-style: "stroustrup" */
32 /* End: */