| /* SPDX-License-Identifier: LGPL-2.1 OR MIT */ | |
| /* | |
| * uio for NOLIBC | |
| * Copyright (C) 2017-2021 Willy Tarreau <w@1wt.eu> | |
| * Copyright (C) 2025 Intel Corporation | |
| */ | |
| /* make sure to include all global symbols */ | |
| #include "../nolibc.h" | |
| #ifndef _NOLIBC_SYS_UIO_H | |
| #define _NOLIBC_SYS_UIO_H | |
| #include "../sys.h" | |
| #include <linux/uio.h> | |
| /* | |
| * ssize_t readv(int fd, const struct iovec *iovec, int count); | |
| */ | |
| static __attribute__((unused)) | |
| ssize_t _sys_readv(int fd, const struct iovec *iovec, int count) | |
| { | |
| return __nolibc_syscall3(__NR_readv, fd, iovec, count); | |
| } | |
| static __attribute__((unused)) | |
| ssize_t readv(int fd, const struct iovec *iovec, int count) | |
| { | |
| return __sysret(_sys_readv(fd, iovec, count)); | |
| } | |
| /* | |
| * ssize_t writev(int fd, const struct iovec *iovec, int count); | |
| */ | |
| static __attribute__((unused)) | |
| ssize_t _sys_writev(int fd, const struct iovec *iovec, int count) | |
| { | |
| return __nolibc_syscall3(__NR_writev, fd, iovec, count); | |
| } | |
| static __attribute__((unused)) | |
| ssize_t writev(int fd, const struct iovec *iovec, int count) | |
| { | |
| return __sysret(_sys_writev(fd, iovec, count)); | |
| } | |
| #endif /* _NOLIBC_SYS_UIO_H */ |