The Open Group Base Specifications Issue 7, 2018 edition
IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
Copyright © 2001-2018 IEEE and The Open Group

NAME

sys/un.h - definitions for UNIX domain sockets

SYNOPSIS

#include <sys/un.h>

DESCRIPTION

The <sys/un.h> header shall define the sockaddr_un structure, which shall include at least the following members:

sa_family_t  sun_family  Address family. 
char         sun_path[]  Socket pathname. 

The sockaddr_un structure is used to store addresses for UNIX domain sockets. Pointers to this type shall be cast by applications to struct sockaddr * for use with socket functions.

The <sys/un.h> header shall define the sa_family_t type as described in <sys/socket.h>.


The following sections are informative.

APPLICATION USAGE

The size of sun_path has intentionally been left undefined. This is because different implementations use different sizes. For example, 4.3 BSD uses a size of 108, and 4.4 BSD uses a size of 104. Since most implementations originate from BSD versions, the size is typically in the range 92 to 108.

Applications should not assume a particular length for sun_path or assume that it can hold {_POSIX_PATH_MAX} bytes (256).

Although applications are required to initialize all members (including any non-standard ones) of a sockaddr_in6 structure (see <netinet/in.h>), the same is not required for the sockaddr_un structure, since historically many applications only initialized the standard members. Despite this, applications are encouraged to initialize sockaddr_un structures in a manner similar to the required initialization of sockaddr_in6 structures.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<netinet/in.h>, <sys/socket.h>

XSH bind, socket, socketpair

CHANGE HISTORY

First released in Issue 6. Derived from the XNS, Issue 5.2 specification.

Issue 7

The value for {_POSIX_PATH_MAX} is updated to 256.

POSIX.1-2008, Technical Corrigendum 1, XBD/TC1-2008/0074 [355] is applied.

POSIX.1-2008, Technical Corrigendum 2, XBD/TC2-2008/0081 [934] is applied.

End of informative text.

 

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2018 IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]