nuttx/sched
Michal Lenc 0a107ca6d9 libc: add support for custom streams with fopencookie()
This commit adds support for custom stream via fopencookie function.
The function allows the programmer the create his own custom stream
for IO operations and hook his custom functions to it.

This is a non POSIX interface defined in Standard C library and implemented
according to it. The only difference is in usage of off_t instead of
off64_t. Programmer can use 64 bits offset if CONFIG_FS_LARGEFILE is
enabled. In that case off_t is defined as int64_t (int32_t otherwise).

Field fs_fd is removed from file_struct and fs_cookie is used instead
as a shared variable for file descriptor or user defined cookie.

The interface will be useful for future fmemopen implementation.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2023-10-18 21:13:01 +08:00
..
addrenv cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
clock clock: replace all up_perf_xx with perf_xx 2023-10-02 16:11:43 +02:00
environ nuttx: use lib_free for memory de-allocation after strdup or asprintf 2023-08-08 11:58:29 -03:00
group sched: Remove the unused tcb argument from group_setupidlefiles 2023-10-17 17:23:05 +03:00
init sched: Remove the unused tcb argument from group_setupidlefiles 2023-10-17 17:23:05 +03:00
irq spinlock: implement read writer spinlock 2023-10-16 08:55:01 +08:00
misc assert: move the backtrace dump after the stack dump 2023-10-16 16:07:44 +08:00
module Fix loading of ET_DYN type of shared objects 2023-09-20 09:35:28 -04:00
mqueue mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
paging build: add initial cmake build system 2023-07-08 13:50:48 +08:00
pthread cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
sched sched: Exit immediately when cpuset change to 0. 2023-10-18 21:12:35 +08:00
semaphore fix: Mac sim-02 compiler issue 2023-10-16 08:55:01 +08:00
signal signal: use work_cancel_sync() to fix used after free 2023-09-19 15:52:48 +08:00
task cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
timer timer/timer_getoverrun: adjust the default errno from ENOSYS to EINVAL 2023-09-19 09:35:27 +08:00
tls libc: add support for custom streams with fopencookie() 2023-10-18 21:13:01 +08:00
wdog clock: replace all up_perf_xx with perf_xx 2023-10-02 16:11:43 +02:00
wqueue clock: replace all up_perf_xx with perf_xx 2023-10-02 16:11:43 +02:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig sched: add smp function call 2023-10-18 09:57:50 +08:00
Makefile group/group_addrenv: Move address environment from group -> tcb 2023-02-08 02:51:23 +08:00