summaryrefslogtreecommitdiff
path: root/recipes/klibc/klibc-1.5.20/socket.h.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/klibc/klibc-1.5.20/socket.h.patch')
-rw-r--r--recipes/klibc/klibc-1.5.20/socket.h.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/recipes/klibc/klibc-1.5.20/socket.h.patch b/recipes/klibc/klibc-1.5.20/socket.h.patch
new file mode 100644
index 0000000000..864fa2296c
--- /dev/null
+++ b/recipes/klibc/klibc-1.5.20/socket.h.patch
@@ -0,0 +1,160 @@
+upstream: http://www.zytor.com/pipermail/klibc/2010-February/002486.html,http://www.zytor.com/pipermail/klibc/2010-February/002487.html,http://www.zytor.com/pipermail/klibc/2010-February/002488.html
+status: pending
+comment: squashed 3 commits togheter
+
+Subject: Add relevant socket.h definitions
+From: maximilian attems <max@stro.at>
+Date: Tue Feb 23 06:02:42 PST 2010
+
+
+linux-2.6 9c501935a3cdcf6b1d35aaee3aa11c7a7051a305 cleaned
+<linux/socket.h> from allmost any userspace export.
+
+thus define the stuff that used to be there in klibc socket.h
+
+Signed-off-by: maximilian attems <max@stro.at>
+
+Modified for compatibility with pre 2.6.33 kernels in OpenEmbedded
+---
+Index: klibc-1.5.16/usr/include/sys/socket.h
+===================================================================
+--- a/usr/include/sys/socket.h 2010-03-13 22:33:51.000000000 +0100
++++ b/usr/include/sys/socket.h 2010-05-31 00:44:16.000000000 +0200
+@@ -9,6 +9,14 @@
+ #include <klibc/compiler.h>
+ #include <klibc/sysconfig.h>
+ #include <linux/socket.h>
++
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <linux/sockios.h> /* the SIOCxxx I/O controls */
++#include <linux/uio.h> /* iovec support */
++#include <asm/socket.h> /* arch-dependent defines */
++#endif
++
+ #include <linux/uio.h>
+ #include <asm/socket.h>
+ #if _KLIBC_HAS_ARCHSOCKET_H
+@@ -29,6 +37,8 @@
+ # define SOCK_PACKET 10
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++
+ #ifndef AF_INET
+ #define AF_UNSPEC 0
+ #define AF_UNIX 1 /* Unix domain sockets */
+@@ -148,7 +158,12 @@
+ sa_family_t sa_family; /* address family, AF_xxx */
+ char sa_data[14]; /* 14 bytes of protocol address */
+ };
++
++#endif
++
+ typedef int socklen_t;
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
+ struct msghdr {
+ void *msg_name;
+ int msg_namelen;
+@@ -158,7 +173,7 @@
+ size_t msg_controllen;
+ unsigned msg_flags;
+ };
+-
++#endif
+ /* Ancillary data structures and cmsg macros are also hidden under __KERNEL__ */
+ #ifndef CMSG_FIRSTHDR
+ /*
+Index: klibc-1.5.16/usr/kinit/nfsmount/nfsmount.h
+===================================================================
+--- a/usr/kinit/nfsmount/nfsmount.h 2009-01-04 20:28:03.000000000 +0100
++++ b/usr/kinit/nfsmount/nfsmount.h 2010-05-30 23:00:36.000000000 +0200
+@@ -3,6 +3,12 @@
+
+ #include <linux/nfs_mount.h>
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#define MNTPROC_MNT 1
++#define MNTPROC_UMNT 3
++#endif
++
+ extern int nfs_port;
+
+ extern int nfsmount_main(int argc, char *argv[]);
+Index: klibc-1.5.16/usr/kinit/nfsmount/dummypmap.c
+===================================================================
+--- a/usr/kinit/nfsmount/dummypmap.c 2009-01-04 20:28:03.000000000 +0100
++++ b/usr/kinit/nfsmount/dummypmap.c 2010-05-30 23:08:29.000000000 +0200
+@@ -39,7 +39,12 @@
+
+ static int bind_portmap(void)
+ {
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++ int sock = socket(AF_INET, SOCK_DGRAM, 0);
++#else
+ int sock = socket(PF_INET, SOCK_DGRAM, 0);
++#endif
+ struct sockaddr_in sin;
+
+ if (sock < 0)
+Index: klibc-1.5.16/usr/kinit/nfsmount/mount.c
+===================================================================
+--- a/usr/kinit/nfsmount/mount.c 2010-05-30 22:30:26.000000000 +0200
++++ b/usr/kinit/nfsmount/mount.c 2010-05-30 23:13:15.000000000 +0200
+@@ -294,11 +294,21 @@
+ }
+ mounted = 1;
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++ if (data->flags & NFS_MOUNT_TCP) {
++ sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
++ } else {
++ sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
++ }
++#else
+ if (data->flags & NFS_MOUNT_TCP) {
+ sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+ } else {
+ sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ }
++#endif
++
+
+ if (sock == -1) {
+ perror("socket");
+Index: klibc-1.5.16/usr/kinit/nfsmount/sunrpc.c
+===================================================================
+--- a/usr/kinit/nfsmount/sunrpc.c 2009-01-04 20:28:03.000000000 +0100
++++ b/usr/kinit/nfsmount/sunrpc.c 2010-05-30 23:11:12.000000000 +0200
+@@ -152,7 +152,12 @@
+
+ memset(clnt, 0, sizeof(clnt));
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++ if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
++#else
+ if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
++#endif
+ perror("socket");
+ goto bail;
+ }
+@@ -197,7 +202,12 @@
+
+ memset(clnt, 0, sizeof(clnt));
+
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++ if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
++#else
+ if ((sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
++#endif
+ perror("socket");
+ goto bail;
+ }
+--
+1.6.6.1