nuttx/include/nuttx
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
..
1wire
analog channel gain switching in aefc by ioctl 2023-10-16 21:55:40 +08:00
audio audio:add 24K sample rate support 2023-09-15 02:26:03 +08:00
binfmt Exec: Support run exec in current task 2023-09-20 16:53:30 +08:00
can include: Fix nxstyle errors 2023-05-04 02:07:01 +08:00
clk clk:fix some issues when use rpmsg clk 2023-09-22 08:47:23 +08:00
contactless
crypto Added NXP SE05x support (secure element) 2023-09-09 15:54:08 +08:00
dma dma: support source/destination address auto step 2023-09-27 00:47:02 +08:00
drivers drivers: fix devascii_register warning 2023-08-11 21:20:13 +08:00
eeprom
efuse Add ATSAMA5D2/D4 Secure Fuse Controller (SFC) driver 2023-05-12 16:29:48 -03:00
fs libc: add support for custom streams with fopencookie() 2023-10-18 21:13:01 +08:00
himem
hwspinlock hwspinlock: Fix typo error(spin_lock_restore to spin_unlock_irqrestore) 2023-07-25 13:03:31 +02:00
i2c
input input/touchscreen: Bring up TSIOC_[SET|GET]CALIB macro 2023-09-20 20:51:38 +08:00
ioexpander drivers/ioexpander: Add const to the value array of multiwritepin 2023-09-28 10:09:51 +08:00
lcd drivers/lcd : add ioctl passthrough for LCD driver 2023-08-19 01:50:41 +08:00
leds drivers/userled: add an interface to support LED effects. 2023-06-27 14:44:00 -03:00
lib stdio: Move lib_stream_[initialize|release] from libc/stdio to sched/tls 2023-10-17 13:34:00 +08:00
math math/mpi: add mpi driver in math 2023-10-17 13:43:43 +08:00
mbox
mm mm/kmap: Change kmm_user_map to kmm_map_user 2023-09-29 21:06:16 +08:00
modem cxd56/alt1250: Change power on sequence 2023-07-06 13:18:57 +08:00
motor Cleanup interface and a4988 implementation 2023-10-16 08:55:53 +08:00
mtd mtd:add dhara compatiblity layer 2023-08-22 23:16:14 +08:00
net include: nuttx: Re-allocate SIOCDENYINETSOCK 2023-09-21 01:08:11 +08:00
note note: remove remaining event code 2023-10-17 09:07:06 +08:00
nx Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
power support pm runtime base function 2023-09-16 14:44:08 +08:00
rc
regmap nuttx/drivers: add regmap subsystems support. 2023-09-27 00:46:51 +08:00
reset Fixed the reset format error 2023-08-11 20:39:16 +08:00
rf
rptun nuttx: change RPTUNIOC_START and RPTUNIOC_STOP to synchronous 2023-09-20 00:42:02 +08:00
segger c++ compatibility: rename reserved c++ keywords 'public' and 'this' 2023-09-16 19:45:02 +08:00
sensors refine: move BIT Macro to nuttx/bits.h 2023-10-12 14:52:56 +08:00
serial drivers/serial: add ram uart driver 2023-09-19 09:41:07 +08:00
spi driver/spi_slave: support spi_slave asynchronous 2023-07-28 19:11:16 +03:00
syslog syslog: add syslog channel filtering function 2023-07-13 01:04:07 +08:00
timers pwm: add option to set channel output polarity with IOCTL command 2023-08-24 18:25:47 -03:00
usb usbdev/mtp: support mtp class driver 2023-09-16 14:40:08 +08:00
usrsock
video video/fb: Add fb_register_device 2023-10-09 13:18:36 +03:00
virtio virtio: add virtio framework in NuttX 2023-08-10 03:39:39 +08:00
wireless include/nuttx/wireless/lte/lte.h: add fw_version field to lte_version_t 2023-07-23 19:56:38 +08:00
.gitignore
addrenv.h mm_heap: mm dump and panic only valid for the heap own by OS 2023-08-02 06:11:59 -07:00
allsyms.h libc/symtab: Don't include symtab.h in the header files 2023-07-10 23:03:17 +03:00
arch.h sched: add smp function call 2023-10-18 09:57:50 +08:00
ascii.h
atexit.h
bits.h refine: move BIT Macro to nuttx/bits.h 2023-10-12 14:52:56 +08:00
board.h assert: add regs parameter to board_crashdump function 2023-06-13 09:42:27 +08:00
cache.h armv7/8 cache: add up_get_xcache_size() support 2023-07-15 15:11:07 +08:00
can.h
cancelpt.h fs:add syncfs api for sync whole fs data 2023-09-23 15:58:00 +08:00
clock.h timer: handle perf count overflow 2023-10-02 16:11:43 +02:00
compiler.h kasan: add builtin_return_address(0) to kasan 2023-09-24 03:48:39 +08:00
crc8.h
crc16.h
crc32.h
crc64.h
elf.h binfmt: Always include arch/elf.h in include/nuttx/elf.h 2023-06-25 19:02:53 -03:00
environ.h
envpath.h
fdcheck.h libc/fdcheck: add fdcheck module 2023-06-10 02:19:58 +08:00
fdt.h fdt: Add initial FDT support and procfs for userspace export 2023-08-05 12:41:06 -07:00
gdbstub.h libs/libc:Support gdb rsp protocol 2023-07-15 01:57:11 +08:00
hashtable.h
init.h support stm32f429i-disco run open flash loader 2023-08-05 12:40:02 -07:00
ipcc.h
irq.h Indent the include statement by two spaces 2023-05-16 12:34:32 -03:00
kmalloc.h mm: include malloc.h in mm/mm.h 2023-06-11 19:37:04 +03:00
kthread.h
lirc.h
list.h list: update list.h 2023-09-26 00:15:21 +08:00
mmcsd.h mmcsd: Rename mmc_rpmb_frame_s to rpmb_frame 2023-09-10 23:10:42 +08:00
module.h
mqueue.h Indent the define statement by two spaces 2023-05-21 09:52:08 -03:00
mutex.h
notifier.h notifier: add BLOCKING_INIT_NOTIFIER_HEAD support 2023-09-19 09:32:17 +08:00
nuttx.h
page.h PAGESIZE and PAGEMASK seems as common macro 2023-09-10 18:18:15 +08:00
panic_notifier.h assert: add more information to panic notifier 2023-08-03 03:17:22 -07:00
pgalloc.h
progmem.h
pthread.h sched/tls: remove PTHREAD_CLEANUP from Kconfig 2023-06-14 12:00:48 +08:00
queue.h queue.h: Implement double link list queue split 2023-09-12 22:09:00 +08:00
random.h
reboot_notifier.h reboot: Remove SYS_DOWN to avoid the confusion 2023-04-21 20:37:59 +03:00
sched_note.h note: remove remaining event code 2023-10-17 09:07:06 +08:00
sched.h sched: add smp function call 2023-10-18 09:57:50 +08:00
scsi.h
sdio_slave.h Add the module of SDIO Slave 2023-08-22 20:28:24 +08:00
sdio.h
semaphore.h semaphore: Optimize priority inheritance with only one holder 2023-06-17 08:26:46 +03:00
signal.h style: fix multiple style issues and remove unused 2023-09-16 14:17:47 +08:00
spawn.h sched/spawn: remove spawn proxy thread to simplify task/posix_spawn() 2023-04-27 17:35:58 +08:00
spinlock.h fix: Mac sim-02 compiler issue 2023-10-16 08:55:01 +08:00
streams.h c++ compatibility: rename reserved c++ keywords 'public' and 'this' 2023-09-16 19:45:02 +08:00
symtab.h libc/symtab: Move SYMTAB_XXX from unistd/Kconfig to symtab/Kconfig 2023-07-10 13:09:47 -03:00
tls.h tls: Move task_tls_alloc and task_tls_destruct to libc 2023-08-28 11:02:18 +03:00
trace.h
userspace.h
vt100.h
wdog.h
wqueue.h wqueue: add work_cancel_sync() support 2023-09-19 15:52:48 +08:00
zoneinfo.h