OSDN Git Service

bits/socket.h: add SOCK_CLOEXEC and SOCK_NONBLOCK support
authorVladimir Zapolskiy <vzapolskiy@gmail.com>
Tue, 1 Jun 2010 16:02:39 +0000 (20:02 +0400)
committerKhem Raj <raj.khem@gmail.com>
Tue, 1 Jun 2010 19:39:15 +0000 (12:39 -0700)
This patch adds support for SOCK_CLOEXEC and SOCK_NONBLOCK socket
descriptor flags, which are introduced since Linux 2.6.27

Signed-off-by: Vladimir Zapolskiy <vzapolskiy@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
libc/sysdeps/linux/common/bits/socket.h

index ac5a433..11f6e97 100644 (file)
@@ -53,10 +53,20 @@ enum __socket_type
   SOCK_SEQPACKET = 5,          /* Sequenced, reliable, connection-based,
                                   datagrams of fixed maximum length.  */
 #define SOCK_SEQPACKET SOCK_SEQPACKET
-  SOCK_PACKET = 10             /* Linux specific way of getting packets
+  SOCK_PACKET = 10,            /* Linux specific way of getting packets
                                   at the dev level.  For writing rarp and
                                   other similar things on the user level. */
 #define SOCK_PACKET SOCK_PACKET
+
+  /* Flags to be ORed into the type parameter of socket and socketpair and
+     used for the flags parameter of paccept.  */
+
+  SOCK_CLOEXEC = 02000000,     /* Atomically set close-on-exec flag for the
+                                  new descriptor(s).  */
+#define SOCK_CLOEXEC SOCK_CLOEXEC
+  SOCK_NONBLOCK = 04000                /* Atomically mark descriptor(s) as
+                                  non-blocking.  */
+#define SOCK_NONBLOCK SOCK_NONBLOCK
 };
 
 /* Protocol families.  */