The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The 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-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]