]> git.proxmox.com Git - wasi-libc.git/blob - libc-bottom-half/cloudlibc/src/libc/sys/uio/pwritev.c
7ebcde84b48eadfc591931add95fdabd4b819c74
[wasi-libc.git] / libc-bottom-half / cloudlibc / src / libc / sys / uio / pwritev.c
1 // Copyright (c) 2015-2016 Nuxi, https://nuxi.nl/
2 //
3 // SPDX-License-Identifier: BSD-2-Clause
4
5 #include <sys/types.h>
6 #include <sys/uio.h>
7
8 #include <wasi/core.h>
9 #include <errno.h>
10
11 ssize_t pwritev(int fildes, const struct iovec *iov, int iovcnt, off_t offset) {
12 if (iovcnt < 0 || offset < 0) {
13 errno = EINVAL;
14 return -1;
15 }
16 size_t bytes_written;
17 __wasi_errno_t error = __wasi_fd_pwrite(
18 fildes, (const __wasi_ciovec_t *)iov, iovcnt, offset, &bytes_written);
19 if (error != 0) {
20 errno = error;
21 return -1;
22 }
23 return bytes_written;
24 }