master
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