1#ifndef	_SYS_UN_H
 2#define	_SYS_UN_H
 3
 4#ifdef __cplusplus
 5extern "C" {
 6#endif
 7
 8#include <features.h>
 9
10#define __NEED_sa_family_t
11#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
12#define __NEED_size_t
13#endif
14
15#include <bits/alltypes.h>
16
17#ifdef __wasilibc_unmodified_upstream /* WASI has no UNIX-domain sockets */
18struct sockaddr_un {
19	sa_family_t sun_family;
20	char sun_path[108];
21};
22#else
23#include <__struct_sockaddr_un.h>
24#endif
25
26#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
27#ifdef __wasilibc_unmodified_upstream /* Declare strlen with the same attributes as <string.h> uses */
28size_t strlen(const char *);
29#else
30size_t strlen(const char *) __attribute__((__nothrow__, __leaf__, __pure__, __nonnull__(1)));
31#endif
32#define SUN_LEN(s) (2+strlen((s)->sun_path))
33#endif
34
35#ifdef __cplusplus
36}
37#endif
38
39#endif