[PATCH libmnl] include: cache copy of include/linux/socket.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This fixes compilation in Debian Squeeze:

  CC     attr.lo
In file included from ../include/libmnl/libmnl.h:9,
                 from socket.c:10:
../include/linux/netlink.h:35: error: expected specifier-qualifier-list before ‘__kernel_sa_family_t’
In file included from ../include/libmnl/libmnl.h:9,
                 from callback.c:11:
../include/linux/netlink.h:35: error: expected specifier-qualifier-list before ‘__kernel_sa_family_t’
socket.c: In function ‘mnl_socket_get_portid’:
socket.c:102: error: ‘const struct sockaddr_nl’ has no member named ‘nl_pid’
socket.c: In function ‘mnl_socket_bind’:
socket.c:146: error: ‘struct sockaddr_nl’ has no member named ‘nl_family’
socket.c:147: error: ‘struct sockaddr_nl’ has no member named ‘nl_groups’
socket.c:148: error: ‘struct sockaddr_nl’ has no member named ‘nl_pid’
socket.c:163: error: ‘struct sockaddr_nl’ has no member named ‘nl_family’
socket.c: In function ‘mnl_socket_sendto’:
socket.c:184: error: unknown field ‘nl_family’ specified in initializer
socket.c:185: warning: excess elements in struct initializer
socket.c:185: warning: (near initialization for ‘snl’)

Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
---
 include/linux/Makefile.am |    2 +-
 include/linux/socket.h    |   21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/socket.h

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 */
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux