diff options
author | Stef Walter <stef@memberwebs.com> | 2004-07-08 18:27:54 +0000 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2004-07-08 18:27:54 +0000 |
commit | ac7e532095160a85ca03476aa707ef80a8a8ce5b (patch) | |
tree | 4e331300e5f11192869e66b9f08e58c4cf13cce3 /src/sock_any.h | |
parent | 17e2bbdacafb2c969d26a89ede3b57b60dc19bc1 (diff) |
Initial import
Diffstat (limited to 'src/sock_any.h')
-rw-r--r-- | src/sock_any.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/sock_any.h b/src/sock_any.h new file mode 100644 index 0000000..693bd2a --- /dev/null +++ b/src/sock_any.h @@ -0,0 +1,33 @@ + +#ifndef __SOCK_ANY_H__ +#define __SOCK_ANY_H__ + +#include <sys/socket.h> +#include <sys/un.h> +#include <netinet/in.h> + +struct sockaddr_any +{ + union _sockaddr_any + { + /* The header */ + struct sockaddr a; + + /* The different types */ + struct sockaddr_un un; + struct sockaddr_in in; +#ifdef HAVE_INET6 + struct sockaddr_in6 in6; +#endif + } s; + size_t namelen; +}; + +#define SANY_ADDR(any) ((any).s.a) +#define SANY_LEN(any) ((any).namelen) +#define SANY_TYPE(any) ((any).s.a.sa_family) + +int sock_any_pton(const char* addr, struct sockaddr_any* any, int defport); +int sock_any_ntop(struct sockaddr_any* any, char* addr, size_t addrlen); + +#endif /* __SOCK_ANY_H__ */ |