Table of Contents
The protocol
family is a collection of protocols that provides local (on-machine) interprocess
communication through the normal mechanisms. The family supports the
and socket types and uses filesystem pathnames for addressing.
addresses are variable-length filesystem pathnames of at most 104 characters.
The include file defines this address: struct sockaddr_un { u_char sun_len;
u_char sun_family; char sun_path[104]; }; Binding a name to a socket with
causes a socket file to be created in the filesystem. This file is removed
when the socket is closed-- must be used to remove the file. The protocol
family does not support broadcast addressing or any form of matching on
incoming messages. All addresses are absolute- or relative-pathnames of other
sockets. Normal filesystem access-control mechanisms are also applied when
referencing pathnames; e.g., the destination of a or must be writable.
The
protocol family is comprised of simple transport protocols that support
the and abstractions. sockets also support the communication of file
descriptors through the use of the field in the argument to and Any
valid descriptor may be sent in a message. The file descriptor(s) to be
passed are described using a that is defined in the include file The
type of the message is and the data portion of the messages is an array
of integers representing the file descriptors to be passed. The number of
descriptors being passed is defined by the length field of the message;
the length field is the sum of the size of the header plus the size of
the array of file descriptors. The received descriptor is a of the sender’s
descriptor, as if it were created with a call to Per-process descriptor
flags, set with are passed to a receiver. Descriptors that are awaiting
delivery, or that are purposely not received, are automatically closed
by the system when the destination socket is closed.
Table of Contents