]>
Commit | Line | Data |
---|---|---|
320054e8 DG |
1 | #include <unistd.h> |
2 | #include <limits.h> | |
3 | #include <errno.h> | |
4 | ||
5 | long fpathconf(int fd, int name) | |
6 | { | |
7 | static const short values[] = { | |
8 | [_PC_LINK_MAX] = _POSIX_LINK_MAX, | |
9 | [_PC_MAX_CANON] = _POSIX_MAX_CANON, | |
10 | [_PC_MAX_INPUT] = _POSIX_MAX_INPUT, | |
11 | [_PC_NAME_MAX] = NAME_MAX, | |
12 | [_PC_PATH_MAX] = PATH_MAX, | |
79a9b408 | 13 | #ifdef __wasilibc_unmodified_upstream // WASI has no pipes |
320054e8 | 14 | [_PC_PIPE_BUF] = PIPE_BUF, |
9f0d8e85 DG |
15 | #else |
16 | [_PC_PIPE_BUF] = -1, | |
17 | #endif | |
320054e8 DG |
18 | [_PC_CHOWN_RESTRICTED] = 1, |
19 | [_PC_NO_TRUNC] = 1, | |
20 | [_PC_VDISABLE] = 0, | |
21 | [_PC_SYNC_IO] = 1, | |
22 | [_PC_ASYNC_IO] = -1, | |
23 | [_PC_PRIO_IO] = -1, | |
24 | [_PC_SOCK_MAXBUF] = -1, | |
25 | [_PC_FILESIZEBITS] = FILESIZEBITS, | |
26 | [_PC_REC_INCR_XFER_SIZE] = 4096, | |
27 | [_PC_REC_MAX_XFER_SIZE] = 4096, | |
28 | [_PC_REC_MIN_XFER_SIZE] = 4096, | |
29 | [_PC_REC_XFER_ALIGN] = 4096, | |
30 | [_PC_ALLOC_SIZE_MIN] = 4096, | |
31 | [_PC_SYMLINK_MAX] = -1, | |
32 | [_PC_2_SYMLINKS] = 1 | |
33 | }; | |
34 | if (name >= sizeof(values)/sizeof(values[0])) { | |
35 | errno = EINVAL; | |
36 | return -1; | |
37 | } | |
38 | return values[name]; | |
39 | } |