GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Unix domain socket - Wikipedia

A Unix domain socket (UDS), also called a local socket or inter-process communication (IPC) socket, is a communication endpoint used for data exchange between processes running on the same Unix or Unix-like operating system.

The term Unix domain socket refers to the domain argument value AF_UNIX passed to the system call that creates the socket. The same communication domain can also be selected with AF_LOCAL.[1]

Valid type argument values for a UDS are:[1]

  • SOCK_STREAM (compare to TCP) – a stream-oriented socket
  • SOCK_DGRAM (compare to UDP) – a datagram-oriented socket that preserves message boundaries; on most Unix implementations, Unix domain datagram sockets are reliable and do not reorder datagrams
  • SOCK_SEQPACKET (compare to SCTP) – a connection-oriented sequenced-packet socket that preserves message boundaries and delivers messages in the order sent

The UDS facility is a standard component of a POSIX operating system.

The API for a UDS is similar to that of an Internet socket, but instead of using an underlying network protocol, communication takes place entirely within the operating system kernel. A UDS may use the file system as its address namespace. Some operating systems, such as Linux, provide additional namespaces. Processes refer to a UDS through a file system inode, allowing two processes to communicate by opening the same socket.

In addition to sending data, processes can pass file descriptors over a UDS connection by using the sendmsg() and recvmsg() system calls. This allows one process to grant another process access to a file descriptor that it would not otherwise be able to use.[2][3] This can be used to implement a rudimentary form of capability-based security.[4]

See also

  • Network socket – Software-based endpoint of network communications
  • Berkeley sockets – Inter-process communication API
  • Pipeline (Unix) – Mechanism for inter-process communication using message passing
  • Netlink – Linux kernel interface for inter-process communication between processes

References

  1. 1 2 "Linux Programmer's Manual (unix - sockets for local interprocess communication)". 30 April 2018. Retrieved 22 February 2019.
  2. ↑ "Archive of the "Postfix Discussions" mailing list". 30 September 2000. Archived from the original on 18 May 2013. Retrieved 29 September 2014.
  3. ↑ "Linux man page - cmsg(3): access ancillary data". Retrieved 9 October 2018.
  4. ↑ ""Secure Programming for Linux and Unix HOWTO", Section 3.4 "Sockets and Network Connections"". dwheeler.com. David A. Wheeler. 22 August 2004. Retrieved 29 September 2014.

External links

  • socket – System Interfaces Reference, The Single UNIX Specification, Version 5 from The Open Group
  • socketpair – System Interfaces Reference, The Single UNIX Specification, Version 5 from The Open Group
  • sendmsg – System Interfaces Reference, The Single UNIX Specification, Version 5 from The Open Group
  • recvmsg – System Interfaces Reference, The Single UNIX Specification, Version 5 from The Open Group
  • cmsg(3) – Linux Programmer's Manual – Library Functions from Manned.org
  • ucspi-unix, UNIX-domain socket client-server command-line tools
  • Unix sockets vs Internet sockets
  • Unix Sockets - Beej's Guide to Unix IPC

Retrieved from "https://en.wikipedia.org/w/index.php?title=Unix_domain_socket&oldid=1342528906"
Categories:
  • Network socket
  • Unix
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Use dmy dates from January 2019
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.