summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsocket
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libsocket')
-rw-r--r--usr/src/lib/libsocket/common/llib-lsocket3
-rw-r--r--usr/src/lib/libsocket/common/mapfile-vers7
-rw-r--r--usr/src/lib/libsocket/socket/weaks.c11
3 files changed, 19 insertions, 2 deletions
diff --git a/usr/src/lib/libsocket/common/llib-lsocket b/usr/src/lib/libsocket/common/llib-lsocket
index 104dc78235..3e2bc0a167 100644
--- a/usr/src/lib/libsocket/common/llib-lsocket
+++ b/usr/src/lib/libsocket/common/llib-lsocket
@@ -22,6 +22,7 @@
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
+/* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
/* LINTLIBRARY */
/* PROTOLIB1 */
@@ -82,6 +83,7 @@ int __xnet_socketpair(int domain, int type, int protocol, int *sv);
int bind(int s, const struct sockaddr *name, socklen_t namelen);
int listen(int s, int backlog);
int accept(int s, struct sockaddr *addr, Psocklen_t addrlen);
+int accept4(int s, struct sockaddr *addr, Psocklen_t addrlen, int flags);
int connect(int s, const struct sockaddr *name, socklen_t namelen);
int shutdown(int s, int how);
ssize_t recv(int s, void *buf, size_t len, int flags);
@@ -100,6 +102,7 @@ int setsockopt(int s, int level, int optname, const void *optval, socklen_t optl
int _bind(int s, const struct sockaddr *name, int namelen);
int _listen(int s, int backlog);
int _accept(int s, struct sockaddr *addr, int *addrlen);
+int _accept4(int s, struct sockaddr *addr, int *addrlen, int flags);
int _connect(int s, struct sockaddr *name, int namelen);
int _shutdown(int s, int how);
int _recv(int s, char *buf, int len, int flags);
diff --git a/usr/src/lib/libsocket/common/mapfile-vers b/usr/src/lib/libsocket/common/mapfile-vers
index 4ecd9350f2..2f7777f395 100644
--- a/usr/src/lib/libsocket/common/mapfile-vers
+++ b/usr/src/lib/libsocket/common/mapfile-vers
@@ -21,6 +21,7 @@
#
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
#
+# Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
#
# MAPFILE HEADER START
@@ -38,6 +39,11 @@
$mapfile_version 2
+SYMBOL_VERSION ILLUMOS_0.1 { # Illumos additions
+ global:
+ accept4;
+} SUNW_1.7;
+
SYMBOL_VERSION SUNW_1.7 {
global:
freeifaddrs;
@@ -191,6 +197,7 @@ $endif
SYMBOL_VERSION SUNWprivate_1.3 {
global:
+ _accept4;
_link_aton;
_link_ntoa;
_nss_initf_ethers;
diff --git a/usr/src/lib/libsocket/socket/weaks.c b/usr/src/lib/libsocket/socket/weaks.c
index ffd794647e..51e8d13e06 100644
--- a/usr/src/lib/libsocket/socket/weaks.c
+++ b/usr/src/lib/libsocket/socket/weaks.c
@@ -24,7 +24,7 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
+/* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved. */
#include <sys/types.h>
#include <sys/socket.h>
@@ -44,6 +44,7 @@
#pragma weak bind = _bind
#pragma weak listen = _listen
#pragma weak accept = _accept
+#pragma weak accept4 = _accept4
#pragma weak connect = _connect
#pragma weak shutdown = _shutdown
#pragma weak recv = _recv
@@ -92,7 +93,13 @@ _listen(int sock, int backlog)
int
_accept(int sock, struct sockaddr *addr, int *addrlen)
{
- return (_so_accept(sock, addr, addrlen, SOV_DEFAULT));
+ return (_so_accept(sock, addr, addrlen, SOV_DEFAULT, 0));
+}
+
+int
+_accept4(int sock, struct sockaddr *addr, int *addrlen, int flags)
+{
+ return (_so_accept(sock, addr, addrlen, SOV_DEFAULT, flags));
}
int