## nng_socket_pair Create a connected pair of BSD sockets. ### Synopsis ```c #include #include int nng_socket_pair(int fds[2]); ``` ### Description The `nng_socket_pair` function creates a pair of connected BSD sockets. These sockets, which are returned in the _fds_ array, are suitable for use with the xref:../tran/socket.adoc[_socket_] transport. On POSIX platforms, this is a thin wrapper around the standard `socketpair` function, using the `AF_UNIX` family and the `SOCK_STREAM` socket type. NOTE: At present only POSIX platforms implementing `socketpair` are supported with this function. TIP: This function may be useful for creating a shared connection between a parent process and a child process on UNIX platforms, without requiring the processes use a shared filesystem or TCP connection. ### Return Values This function returns 0 on success, and non-zero otherwise. ### Errors [horizontal] `NNG_ENOMEM`:: Insufficient memory exists. `NNG_ENOTSUP`:: This platform does not support socket pairs. ### See Also xref:../tran/socket.adoc[BSD Socket Transport]