NAME
socketpair - create a pair of connected sockets
SYNOPSIS
#include <sys/types.h> /* See NOTES */ #include <sys/socket.h> int socketpair(int domain, int type, int protocol, int sv[2]);
DESCRIPTION
The socketpair() call creates an unnamed pair of connected sockets in the specified domain, of the specified type, and using the optionally specified protocol. For further details of these arguments, see socket(2). The file descriptors used in referencing the new sockets are returned in sv[0] and sv[1]. The two sockets are indistinguishable.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately. On Linux (and other systems), socketpair() does not modify sv on failure. A requirement standardizing this behavior was added in POSIX.1-2016.
ERRORS
EAFNOSUPPORT The specified address family is not supported on this machine. EFAULT The address sv does not specify a valid part of the process address space. EMFILE The per-process limit on the number of open file descriptors has been reached. ENFILE The system-wide limit on the total number of open files has been reached. EOPNOTSUPP The specified protocol does not support creation of socket pairs. EPROTONOSUPPORT The specified protocol is not supported on this machine.
CONFORMING TO
POSIX.1-2001, POSIX.1-2008, 4.4BSD. socketpair() first appeared in 4.2BSD. It is generally portable to/from non-BSD systems supporting clones of the BSD socket layer (including System V variants).
NOTES
On Linux, the only supported domain for this call is AF_UNIX (or synonymously, AF_LOCAL). (Most implementations have the same restriction.) Since Linux 2.6.27, socketpair() supports the SOCK_NONBLOCK and SOCK_CLOEXEC flags in the type argument, as described in socket(2). POSIX.1 does not require the inclusion of <sys/types.h>, and this header file is not required on Linux. However, some historical (BSD) implementations required this header file, and portable applications are probably wise to include it.
SEE ALSO
pipe(2), read(2), socket(2), write(2), socket(7), unix(7)
COLOPHON
This page is part of release 4.09 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
More Linux Commands
manpages/mpx.2.html
mpx(2) - unimplemented system calls - Linux manual page.....
These system calls are not implemented in the Linux kernel. RETURN VALUE These system calls always return -1 and set errno to ENOSYS. NOTES Note that ftime(3),
manpages/Tk_AddOption.3.html
Tk_AddOption(3) - Add an option to the option database......
This procedure is invoked to add an option to the database associated with tkwins main window. Name contains the option being specified and consists of names an
manpages/wprintf.3.html
wprintf(3) - formatted wide-character output conversion.....
The wprintf() family of functions is the wide-character equivalent of the printf(3) family of functions. It performs formatted output of wide characters. The wp
manpages/gst-launch-0.10.1.html
gst-launch-0.10(1) - build and run a GStreamer pipeline.....
PIPELINE CONTROL PIPELINE EXAMPLES ENVIRONMENT VARIABLES FILES SEE ALSO AUTHOR NAME gst-launch - build and run a GStreamer pipeline SYNOPSIS gst-launch [OPTION.
manpages/SDL_OpenAudio.3.html
SDL_OpenAudio(3) - Opens the audio device with the desired p
This function opens the audio device with the desired parameters, and returns 0 if successful, placing the actual hardware parameters in the structure pointed t
manpages/XAllowDeviceEvents.3.html
XAllowDeviceEvents(3) - release queued events (Man Page)....
The XAllowDeviceEvents function releases some queued events if the client has caused a device to freeze. It has no effect if the specified time is earlier than
manpages/Tk_FreeCursor.3.html
Tk_FreeCursor(3) - maintain database of cursors (Man Page)
These procedures manage a collection of cursors being used by an application. The procedures allow cursors to be re-used efficiently, thereby avoiding server ov
manpages/gtk-update-icon-cache.1.html
gtk-update-icon-cache(1) - Icon theme caching utility.......
gtk-update-icon-cache creates mmapable cache files for icon themes. It expects to be given the PATH to a icon theme directory containing an index.theme, e.g. /u
manpages/acl_get_file.3.html
acl_get_file(3) - get an ACL by filename - Linux man page...
The acl_get_file() function retrieves the access ACL associated with a file or directory, or the default ACL associated with a directory. The pathname for the f
manpages/terminfo.3ncurses.html
terminfo(3ncurses) - curses interfaces to terminfo database
These low-level routines must be called by programs that have to deal directly with the terminfo database to handle certain terminal capabilities, such as progr
manpages/Tcl_Exit.3.html
Tcl_Exit(3) - end the application or thread (and invoke exit
The procedures described here provide a graceful mechanism to end the execution of a Tcl application. Exit handlers are invoked to cleanup the applications stat
manpages/XChangeGC.3.html
XChangeGC(3) - create or free graphics contexts and graphics
The XCreateGC function creates a graphics context and returns a GC. The GC can be used with any destination drawable having the same root and depth as the speci
