diff --git a/src/library.js b/src/library.js index 2e0f3afb02e2e..c8205d2b5a555 100644 --- a/src/library.js +++ b/src/library.js @@ -6568,6 +6568,7 @@ LibraryManager.library = { ENOTSUP: 95, ENOTTY: 25, ENXIO: 6, + EOPNOTSUPP: 45, EOVERFLOW: 75, EOWNERDEAD: 130, EPERM: 1, @@ -6649,6 +6650,7 @@ LibraryManager.library = { 95: 'Operation not supported', 25: 'Inappropriate ioctl for device', 6: 'No such device or address', + 45: 'Op not supported on transport endpoint', 75: 'Value too large for defined data type', 130: 'Owner died', 1: 'Operation not permitted', @@ -7393,6 +7395,14 @@ LibraryManager.library = { } }, + socketpair__deps: ['__setErrNo', '$ERRNO_CODES'], + socketpair: function(domain, type, protocol, sv) { + // int socketpair(int domain, int type, int protocol, int sv[2]); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/socketpair.html + ___setErrNo(ERRNO_CODES.EOPNOTSUPP); + return -1; + }, + // pty.h openpty: function() { throw 'openpty: TODO' }, diff --git a/system/include/sys/socket.h b/system/include/sys/socket.h index 8ca6eccf8380b..56a37375247e2 100644 --- a/system/include/sys/socket.h +++ b/system/include/sys/socket.h @@ -68,6 +68,7 @@ ssize_t recv(int s, void *buf, size_t len, int flags); ssize_t send(int s, const void *buf, size_t len, int flags); int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen); ssize_t sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); +int socketpair(int domain, int type, int protocol, int sv[2]); struct msghdr {