HP-UX Reference (11i v2 07/12) - 7 Device (Special) Files, 9 General Information, Index (vol 10)

u
UNIX(7P) UNIX(7P)
NAME
UNIX - local communication domain protocol
SYNOPSIS
#include <sys/types.h>
#include <sys/un.h>
DESCRIPTION
The local communication domain protocol, commonly referred to in the industry as the Unix domain pro-
tocol, utilizes the path name address format and the
AF_UNIX address family. This protocol can be used
as an alternative to the Internet protocol family (TCP/IP or UDP/IP) for communication between processes
executing on the same node. It has a significant throughput advantage when compared with local IP loop-
back, due primarily to its much lower code execution overhead. Data is looped back at the protocol layer
(OSI Level 4), rather than at the driver layer (OSI Level 2).
Only
SOCK_STREAM is supported in the AF_UNIX
address family.
The HP-UX implementation of the local communication domain protocol does not support the
MSG_OOB
flag in recv() (see recv(2)) and send() (see send(2)).
Addressing
AF_UNIX socket addresses are path names. They are limited to 92 bytes in length, including a terminat-
ing null byte. Calls to bind() to an AF_UNIX socket utilize an addressing structure called
structsockaddr_un (see bind(2)). Pointers to this structure should be used in all
AF_UNIX socket sys-
tem calls wherever they require a pointer to a
struct sockaddr.
The include file <sys/un.h> defines this addressing structure. Within this structure are two notable
fields. The first is sun_family, which must be set to AF_UNIX. The next is sun_path, which is the null-
terminated character string that specifies the path name of the file associated with the socket (for example,
/tmp/mysocket).
Only the passive (listening) socket must bind to an address. The active socket connects to that address, but
it does not need an address of its own.
For additional information on using AF_UNIX sockets for interprocess communication, refer to the BSD
Sockets Interface Programmer’s Guide.
Socket Buffer Size
For stream and datagram sockets, the maximum send and receive buffer size is 262142 bytes. The default
buffer size is 32768 bytes. The send and receive buffer sizes can be altered by using the
SO_SNDBUF and
SO_RCVBUF options of the setsockopt() system call. Refer to getsockopt (2) for details.
AUTHOR
AF_UNIX was developed by the University of California, Berkeley.
SEE ALSO
getsockopt(2), socket(2).
220 Hewlett-Packard Company 1 HP-UX 11i Version 2: December 2007 Update