diff options
Diffstat (limited to 'src/sockaddr_util.h')
-rw-r--r-- | src/sockaddr_util.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/sockaddr_util.h b/src/sockaddr_util.h new file mode 100644 index 0000000..e716f96 --- /dev/null +++ b/src/sockaddr_util.h @@ -0,0 +1,27 @@ +/* sockaddr_any utils */ + +#ifndef SOCKADDR_UTIL_H +#define SOCKADDR_UTIL_H + +#include <netinet/in.h> +#include <sys/types.h> +#include <sys/socket.h> + +#include <netdb.h> + +union sockaddr_any { + struct sockaddr sa; + struct sockaddr_in sin; + struct sockaddr_in6 sin6; +}; + +int sockaddr_cmp(union sockaddr_any *a, union sockaddr_any *b); +union sockaddr_any *sockaddr_init(union sockaddr_any *sa, int family, + void *addr); +union sockaddr_any *sockaddr_from_addrinfo(union sockaddr_any *sa, + struct addrinfo *ai); + +char *sockaddr_to_string(union sockaddr_any *sa, char *str, size_t size); +socklen_t sockaddr_len(union sockaddr_any *sa); + +#endif /* SOCKADDR_UTIL_H */ |