25 #include <sys/syscall.h>
26 #include <sys/types.h>
30 # if defined(__thumb__) || defined(__ARM_EABI__)
31 # define UV_SYSCALL_BASE 0
33 # define UV_SYSCALL_BASE 0x900000
38 # if defined(__x86_64__)
39 # define __NR_recvmmsg 299
40 # elif defined(__arm__)
41 # define __NR_recvmmsg (UV_SYSCALL_BASE + 365)
46 # if defined(__x86_64__)
47 # define __NR_sendmmsg 307
48 # elif defined(__arm__)
49 # define __NR_sendmmsg (UV_SYSCALL_BASE + 374)
53 #ifndef __NR_utimensat
54 # if defined(__x86_64__)
55 # define __NR_utimensat 280
56 # elif defined(__i386__)
57 # define __NR_utimensat 320
58 # elif defined(__arm__)
59 # define __NR_utimensat (UV_SYSCALL_BASE + 348)
64 # if defined(__x86_64__)
65 # define __NR_preadv 295
66 # elif defined(__i386__)
67 # define __NR_preadv 333
68 # elif defined(__arm__)
69 # define __NR_preadv (UV_SYSCALL_BASE + 361)
74 # if defined(__x86_64__)
75 # define __NR_pwritev 296
76 # elif defined(__i386__)
77 # define __NR_pwritev 334
78 # elif defined(__arm__)
79 # define __NR_pwritev (UV_SYSCALL_BASE + 362)
84 # if defined(__x86_64__)
85 # define __NR_dup3 292
86 # elif defined(__i386__)
87 # define __NR_dup3 330
88 # elif defined(__arm__)
89 # define __NR_dup3 (UV_SYSCALL_BASE + 358)
93 #ifndef __NR_copy_file_range
94 # if defined(__x86_64__)
95 # define __NR_copy_file_range 326
96 # elif defined(__i386__)
97 # define __NR_copy_file_range 377
98 # elif defined(__s390__)
99 # define __NR_copy_file_range 375
100 # elif defined(__arm__)
101 # define __NR_copy_file_range (UV_SYSCALL_BASE + 391)
102 # elif defined(__aarch64__)
103 # define __NR_copy_file_range 285
104 # elif defined(__powerpc__)
105 # define __NR_copy_file_range 379
106 # elif defined(__arc__)
107 # define __NR_copy_file_range 285
112 # if defined(__x86_64__)
113 # define __NR_statx 332
114 # elif defined(__i386__)
115 # define __NR_statx 383
116 # elif defined(__aarch64__)
117 # define __NR_statx 397
118 # elif defined(__arm__)
119 # define __NR_statx (UV_SYSCALL_BASE + 397)
120 # elif defined(__ppc__)
121 # define __NR_statx 383
122 # elif defined(__s390__)
123 # define __NR_statx 379
127 #ifndef __NR_getrandom
128 # if defined(__x86_64__)
129 # define __NR_getrandom 318
130 # elif defined(__i386__)
131 # define __NR_getrandom 355
132 # elif defined(__aarch64__)
133 # define __NR_getrandom 384
134 # elif defined(__arm__)
135 # define __NR_getrandom (UV_SYSCALL_BASE + 384)
136 # elif defined(__ppc__)
137 # define __NR_getrandom 359
138 # elif defined(__s390__)
139 # define __NR_getrandom 349
146 #if defined(__i386__)
147 unsigned long args[4];
162 #elif defined(__NR_sendmmsg)
163 return syscall(__NR_sendmmsg,
fd, mmsg, vlen, 0);
165 return errno = ENOSYS, -1;
171 #if defined(__i386__)
172 unsigned long args[5];
188 #elif defined(__NR_recvmmsg)
189 return syscall(__NR_recvmmsg,
fd, mmsg, vlen, 0, 0);
191 return errno = ENOSYS, -1;
197 #if defined(__NR_preadv)
200 return errno = ENOSYS, -1;
206 #if defined(__NR_pwritev)
209 return errno = ENOSYS, -1;
215 #if defined(__NR_dup3)
218 return errno = ENOSYS, -1;
231 #ifdef __NR_copy_file_range
232 return syscall(__NR_copy_file_range,
240 return errno = ENOSYS, -1;
253 #if defined(__NR_statx) && !defined(__ANDROID__)
256 return errno = ENOSYS, -1;
262 #if defined(__NR_getrandom)
265 return errno = ENOSYS, -1;
static static fork const void static count static fd const char const char static newpath const char static path const char path
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags long
ssize_t uv__pwritev(int fd, const struct iovec *iov, int iovcnt, int64_t offset)
ssize_t uv__preadv(int fd, const struct iovec *iov, int iovcnt, int64_t offset)
int uv__dup3(int oldfd, int newfd, int flags)
int uv__sendmmsg(int fd, struct uv__mmsghdr *mmsg, unsigned int vlen)
ssize_t uv__fs_copy_file_range(int fd_in, ssize_t *off_in, int fd_out, ssize_t *off_out, size_t len, unsigned int flags)
int uv__statx(int dirfd, const char *path, int flags, unsigned int mask, struct uv__statx *statxbuf)
int uv__recvmmsg(int fd, struct uv__mmsghdr *mmsg, unsigned int vlen)
ssize_t uv__getrandom(void *buf, size_t buflen, unsigned flags)
static static fork const void static count static fd const char static mode const char static pathname const char static path const char static dev const char static group static getpid static getuid void void static data static pause const char static mode static sync const char const char static newpath const char static pathname unsigned long static filedes void static end_data_segment static handler static getegid char static len static pgid const char static path oldfd
static struct sockaddr static addrlen static backlog const void static flags void flags
static const z80_opcode fd[]