diff options
-rw-r--r-- | include/linux/Makefile.am | 2 | ||||
-rw-r--r-- | include/linux/socket.h | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am index 95f82d2..08c600b 100644 --- a/include/linux/Makefile.am +++ b/include/linux/Makefile.am @@ -1,2 +1,2 @@ SUBDIRS = netfilter -noinst_HEADERS = netlink.h +noinst_HEADERS = netlink.h socket.h diff --git a/include/linux/socket.h b/include/linux/socket.h new file mode 100644 index 0000000..8c1e501 --- /dev/null +++ b/include/linux/socket.h @@ -0,0 +1,21 @@ +#ifndef _LINUX_SOCKET_H +#define _LINUX_SOCKET_H + +/* + * Desired design of maximum size and alignment (see RFC2553) + */ +#define _K_SS_MAXSIZE 128 /* Implementation specific max size */ +#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *)) + /* Implementation specific desired alignment */ + +typedef unsigned short __kernel_sa_family_t; + +struct __kernel_sockaddr_storage { + __kernel_sa_family_t ss_family; /* address family */ + /* Following field(s) are implementation specific */ + char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; + /* space to achieve desired size, */ + /* _SS_MAXSIZE value minus size of ss_family */ +} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */ + +#endif /* _LINUX_SOCKET_H */ |