include: Add linux/socket.h
__kernel_sa_family_t is defined and used since Linux 3.1, so on systems with older kernels (like CentOS 6.7, which still ships a 2.6.32 kernel) the build with the current UAPI headers fails. And using the native headers on such system does not really work either because we use structs, defines, and enum values from the newer headers in the kernel-netlink plugin. __kernel_sa_family_t is defined in linux/socket.h so we ship that too (in particular the simplified UAPI version from Linux 3.7+). Fixes #1099.
This commit is contained in:
parent
a215008c11
commit
e7143fe998
|
@ -1,2 +1,2 @@
|
|||
EXTRA_DIST = linux/if_alg.h linux/ipsec.h linux/netlink.h linux/rtnetlink.h \
|
||||
linux/pfkeyv2.h linux/udp.h linux/xfrm.h sys/queue.h
|
||||
linux/pfkeyv2.h linux/udp.h linux/socket.h linux/xfrm.h sys/queue.h
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef _UAPI_LINUX_SOCKET_H
|
||||
#define _UAPI_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 /* _UAPI_LINUX_SOCKET_H */
|
Loading…
Reference in New Issue