comparison usr/src/uts/common/sys/socket.h @ 14022:19e11862653b

3713 Implement accept4() 3714 Implement pipe2() 3715 Implement dup3() 3716 Implement mkostemp() and mkostemps() 3719 so_socketpair syscall should preserve FD_CLOEXEC flag Reviewed by: Dan McDonald <danmcd@nexenta.com> Reviewed by: Robert Mustacchi <rm@joyent.com> Approved by: Garrett D'Amore <garrett@damore.org>
author Theo Schlossnagle <jesus@omniti.com>
date Thu, 11 Apr 2013 04:50:36 +0000
parents 1a1202688ff3
children
comparison
equal deleted inserted replaced
14021:1faa5bdf272f 14022:19e11862653b
104 #define SOCK_RDM 5 /* reliably-delivered message */ 104 #define SOCK_RDM 5 /* reliably-delivered message */
105 #define SOCK_SEQPACKET 6 /* sequenced packet stream */ 105 #define SOCK_SEQPACKET 6 /* sequenced packet stream */
106 #define SOCK_TYPE_MASK 0xffff /* type reside in these bits only */ 106 #define SOCK_TYPE_MASK 0xffff /* type reside in these bits only */
107 107
108 /* 108 /*
109 * Flags for socket() 109 * Flags for socket() and accept4()
110 */ 110 */
111 #define SOCK_CLOEXEC 0x80000 /* like open(2) O_CLOEXEC for socket */ 111 #define SOCK_CLOEXEC 0x080000 /* like open(2) O_CLOEXEC for socket */
112 #define SOCK_NONBLOCK 0x100000 /* like O_NONBLOCK */
113 #define SOCK_NDELAY 0x200000 /* like O_NDELAY */
112 114
113 /* 115 /*
114 * Option flags per-socket. 116 * Option flags per-socket.
115 */ 117 */
116 #define SO_DEBUG 0x0001 /* turn on debugging info recording */ 118 #define SO_DEBUG 0x0001 /* turn on debugging info recording */
520 #endif /* (_XPG4_2) && !defined(_XPG5) */ 522 #endif /* (_XPG4_2) && !defined(_XPG5) */
521 523
522 #if !defined(_KERNEL) || defined(_BOOT) 524 #if !defined(_KERNEL) || defined(_BOOT)
523 #ifdef __STDC__ 525 #ifdef __STDC__
524 extern int accept(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t); 526 extern int accept(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t);
527 extern int accept4(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t, int);
525 extern int bind(int, const struct sockaddr *, socklen_t); 528 extern int bind(int, const struct sockaddr *, socklen_t);
526 extern int connect(int, const struct sockaddr *, socklen_t); 529 extern int connect(int, const struct sockaddr *, socklen_t);
527 extern int getpeername(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t); 530 extern int getpeername(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t);
528 extern int getsockname(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t); 531 extern int getsockname(int, struct sockaddr *_RESTRICT_KYWD, Psocklen_t);
529 extern int getsockopt(int, int, int, void *_RESTRICT_KYWD, Psocklen_t); 532 extern int getsockopt(int, int, int, void *_RESTRICT_KYWD, Psocklen_t);
544 #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__) 547 #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__)
545 extern int sockatmark(int); 548 extern int sockatmark(int);
546 #endif /* !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__) */ 549 #endif /* !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__) */
547 #else /* __STDC__ */ 550 #else /* __STDC__ */
548 extern int accept(); 551 extern int accept();
552 extern int accept4();
549 extern int bind(); 553 extern int bind();
550 extern int connect(); 554 extern int connect();
551 extern int getpeername(); 555 extern int getpeername();
552 extern int getsockname(); 556 extern int getsockname();
553 extern int getsockopt(); 557 extern int getsockopt();