[PATCH 3/3] [klibc] Add relevant socket.h definitions
maximilian attems
max at stro.at
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 at stro.at>
---
usr/include/sys/socket.h | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/usr/include/sys/socket.h b/usr/include/sys/socket.h
index 7d47087..a6357d1 100644
--- a/usr/include/sys/socket.h
+++ b/usr/include/sys/socket.h
@@ -9,6 +9,9 @@
#include <klibc/compiler.h>
#include <klibc/sysconfig.h>
#include <linux/socket.h>
+#include <linux/sockios.h> /* the SIOCxxx I/O controls */
+#include <linux/uio.h> /* iovec support */
+#include <asm/socket.h> /* arch-dependent defines */
#if _KLIBC_HAS_ARCHSOCKET_H
#include <klibc/archsocket.h>
#endif
@@ -27,6 +30,40 @@
# define SOCK_PACKET 10
#endif
+
+typedef unsigned short sa_family_t;
+
+struct sockaddr {
+ sa_family_t sa_family; /* address family, AF_xxx */
+ char sa_data[14]; /* 14 bytes of protocol address */
+};
+
+
+/*
+ * As we do 4.4BSD message passing we use a 4.4BSD message passing
+ * system, not 4.3. Thus msg_accrights(len) are now missing. They
+ * belong in an obscure libc emulation or the bin.
+ */
+
+struct msghdr {
+ void * msg_name; /* Socket name */
+ int msg_namelen; /* Length of name */
+ struct iovec * msg_iov; /* Data blocks */
+ size_t msg_iovlen; /* Number of blocks */
+ void * msg_control; /* Per protocol magic (eg BSD file descriptor passing) */
+ size_t msg_controllen; /* Length of cmsg list */
+ unsigned msg_flags;
+};
+
+
+/* address families */
+#define AF_INET 2 /* Internet IP Protocol */
+#define AF_INET6 10 /* IP version 6 */
+#define AF_PACKET 17 /* Packet family */
+
+/* Flags we can use with send/ and recv. */
+#define MSG_PEEK 2
+
typedef int socklen_t;
__extern int socket(int, int, int);
--
1.6.6.1
--r5Pyd7+fXNt84Ff3--
More information about the klibc
mailing list