Mercurial > illumos > illumos-gate
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(); |