6#ifndef ZEPHYR_INCLUDE_SYS_FDTABLE_H_
7#define ZEPHYR_INCLUDE_SYS_FDTABLE_H_
26 int (*
ioctl)(
void *obj,
unsigned int request, va_list args);
39int z_reserve_fd(
void);
51void z_finalize_fd(
int fd,
void *obj,
const struct fd_op_vtable *vtable);
64int z_alloc_fd(
void *obj,
const struct fd_op_vtable *vtable);
74void z_free_fd(
int fd);
92void *z_get_fd_obj(
int fd,
const struct fd_op_vtable *vtable,
int err);
106void *z_get_fd_obj_and_vtable(
int fd,
const struct fd_op_vtable **vtable,
121static inline int z_fdtable_call_ioctl(
const struct fd_op_vtable *vtable,
void *obj,
122 unsigned long request, ...)
127 va_start(args, request);
128 res = vtable->
ioctl(obj, request, args);
@ ZFD_IOCTL_SET_LOCK
Definition: fdtable.h:149
@ ZFD_IOCTL_POLL_PREPARE
Definition: fdtable.h:146
@ ZFD_IOCTL_FSYNC
Definition: fdtable.h:144
@ ZFD_IOCTL_LSEEK
Definition: fdtable.h:145
@ ZFD_IOCTL_POLL_OFFLOAD
Definition: fdtable.h:148
@ ZFD_IOCTL_POLL_UPDATE
Definition: fdtable.h:147
__SIZE_TYPE__ ssize_t
Definition: types.h:28
static struct k_spinlock lock
Definition: spinlock_error_case.c:12
int(* close)(void *obj)
Definition: fdtable.h:25
ssize_t(* read)(void *obj, void *buf, size_t sz)
Definition: fdtable.h:23
ssize_t(* write)(void *obj, const void *buf, size_t sz)
Definition: fdtable.h:24
int(* ioctl)(void *obj, unsigned int request, va_list args)
Definition: fdtable.h:26
Definition: kernel.h:2680