|  | /* | 
|  | * Copyright (c) 2024, Tenstorrent AI ULC | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | #include <stdarg.h> | 
|  | #include <stddef.h> | 
|  | #include <stdint.h> | 
|  |  | 
|  | #include <zephyr/posix/unistd.h> | 
|  | #include <zephyr/posix/sys/select.h> | 
|  | #include <zephyr/posix/sys/socket.h> | 
|  | #include <zephyr/sys/fdtable.h> | 
|  |  | 
|  | /* prototypes for external, not-yet-public, functions in fdtable.c or fs.c */ | 
|  | int zvfs_fcntl(int fd, int cmd, va_list arg); | 
|  | int zvfs_ftruncate(int fd, off_t length); | 
|  | off_t zvfs_lseek(int fd, off_t offset, int whence); | 
|  |  | 
|  | int fcntl(int fd, int cmd, ...) | 
|  | { | 
|  | int ret; | 
|  | va_list args; | 
|  |  | 
|  | va_start(args, cmd); | 
|  | ret = zvfs_fcntl(fd, cmd, args); | 
|  | va_end(args); | 
|  |  | 
|  | return ret; | 
|  | } | 
|  | #ifdef CONFIG_POSIX_FD_MGMT_ALIAS_FCNTL | 
|  | FUNC_ALIAS(fcntl, _fcntl, int); | 
|  | #endif /* CONFIG_POSIX_FD_MGMT_ALIAS_FCNTL */ | 
|  |  | 
|  | int ftruncate(int fd, off_t length) | 
|  | { | 
|  | return zvfs_ftruncate(fd, length); | 
|  | } | 
|  | #ifdef CONFIG_POSIX_FD_MGMT_ALIAS_FTRUNCATE | 
|  | FUNC_ALIAS(ftruncate, _ftruncate, int); | 
|  | #endif /* CONFIG_POSIX_FD_MGMT_ALIAS_FTRUNCATE */ | 
|  |  | 
|  | off_t lseek(int fd, off_t offset, int whence) | 
|  | { | 
|  | return zvfs_lseek(fd, offset, whence); | 
|  | } | 
|  | #ifdef CONFIG_POSIX_FD_MGMT_ALIAS_LSEEK | 
|  | FUNC_ALIAS(lseek, _lseek, off_t); | 
|  | #endif /* CONFIG_POSIX_FD_MGMT_ALIAS_LSEEK */ |