zephyr/include
Tobias Svehagen ca872a44c1 lib: posix: Add support for eventfd
This implements a file descriptor used for event notification that
behaves like the eventfd in Linux.

The eventfd supports nonblocking operation by setting the EFD_NONBLOCK
flag and semaphore operation by settings the EFD_SEMAPHORE flag.

The major use case for this is when using poll() and the sockets that
you poll are dynamic. When a new socket needs to be added to the poll,
there must be some way to wake the thread and update the pollfds before
calling poll again. One way to solve it is to have a timeout set in the
poll call and only update the pollfds during a timeout but that is not
a very nice solution. By instead including an eventfd in the pollfds,
it is possible to wake the polling thread by simply writing to the
eventfd.

Signed-off-by: Tobias Svehagen <tobias.svehagen@gmail.com>
2020-04-28 09:57:41 +03:00
..
app_memory kernel: fix k_mem_partition data types 2019-12-12 14:48:42 -08:00
arch kconfig: Rename CONFIG_FLOAT to CONFIG_FPU 2020-04-27 19:03:44 +02:00
audio doc: reference: Add pages for audio 2020-03-18 11:47:24 +01:00
bluetooth Bluetooth: Mesh: Add cfg cli list getters 2020-04-23 14:03:17 +03:00
canbus doc: doxygen: add missing groups and categorise 2020-03-14 13:01:03 -04:00
cmsis_rtos_v1
cmsis_rtos_v2 global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
console
crypto docs: crypto: crypto API documentation 2020-03-14 13:01:03 -04:00
data treewide: avoid address-of-compound-literal idiom in headers 2019-12-18 21:53:17 +01:00
debug include: debug: remove old stack functions 2020-03-14 13:10:19 -04:00
devicetree drivers: flash: replace DT_FLASH_DEV_NAME with DT macro 2020-04-27 18:43:20 -05:00
dfu DFU: add init function with area id as parameter 2020-03-10 15:07:27 +02:00
disk doc: reference: Add disk access API 2020-03-18 11:47:24 +01:00
display subsys/cfb: move MSB_FIRST down to font capabilities 2020-04-27 13:27:03 +02:00
drivers Bluetooth: HCI: Add helpers to create events 2020-04-20 21:59:47 +03:00
dt-bindings include: bindings: dma define the bindings for stm32 soc series 2020-04-17 03:13:02 -05:00
fs fs: littlefs: force alignment for buffers 2020-04-11 15:33:35 -04:00
linker arm: Convert DT_CCM_* to new devicetree.h macros 2020-04-26 06:04:46 -05:00
logging api: Fix internal log macros to allow use of U suffix in LOG_LEVEL_N. 2020-04-22 17:36:07 +02:00
mgmt mgmt: smp: add UDP transport for SMP 2020-04-17 10:16:25 +03:00
net net: coap: Add initial tx time to coap_pending structure 2020-04-28 09:50:45 +03:00
posix lib: posix: Add support for eventfd 2020-04-28 09:57:41 +03:00
power power: add system power management direct force mode. 2020-01-24 21:37:40 -05:00
random doc: doxygen: add missing groups and categorise 2020-03-14 13:01:03 -04:00
settings doc: doxygen: add missing groups and categorise 2020-03-14 13:01:03 -04:00
shell shell: Add shell_set_root_cmd function 2020-04-17 11:34:01 +02:00
stats
storage
sys kernel: rename initializers to be internal 2020-04-24 22:27:08 +02:00
toolchain toolchain: Fix warning about too few arguments on BUILD_ASSERT() 2020-04-11 11:09:20 -04:00
tracing tracing: move headers under include/tracing 2020-02-07 15:58:05 -05:00
usb usb: make usb descriptor power options configurable 2019-12-20 19:46:16 -05:00
zephyr include: Remove compat include headers 2019-12-10 08:39:37 -05:00
cache.h
device.h device: Provide a dummy macro for device_pm_control_nop on disabled PM 2020-03-27 14:48:30 +02:00
devicetree.h devicetree: add CONFIG_LEGACY_DEVICETREE_MACROS 2020-04-23 11:03:53 -05:00
exc_handle.h
fatal.h
generated_dts_board.h dts: Add include/generated_dts_board.h for backwards compatibility 2020-01-17 17:57:59 +01:00
init.h kernel: add sys init level for SMP 2020-03-25 19:07:28 -04:00
irq_nextlevel.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
irq_offload.h kernel: sychronize irq_offload() access 2019-11-08 15:16:43 -08:00
irq.h irq: Remove return value from IRQ_CONNECT and IRQ_DIRECT_CONNECT 2020-04-17 13:19:07 -05:00
kernel_includes.h kernel: move thread stack macros to new header 2020-04-21 18:45:45 -04:00
kernel_structs.h kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
kernel_version.h
kernel.h kernel: use designated initializers consistently 2020-04-27 15:03:33 -07:00
mempool_heap.h kernel: Add k_mem_pool compatibility layer on top of k_heap 2020-04-14 10:05:55 -07:00
mempool_sys.h kernel: Refactor k_mem_pool APIs into a base and derived level 2020-04-14 10:05:55 -07:00
ptp_clock.h scripts: Replace hard-coded subsystem list with __subsystem annotations. 2020-03-11 17:13:39 +02:00
sched_priq.h
shared_irq.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
spinlock.h kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
sw_isr_table.h sw_isr_table.h: fix __COUNTER__ usage 2020-04-17 18:28:37 +02:00
sys_clock.h include: Move waitq and timeout structs to kernel_structs.h 2020-04-14 10:05:55 -07:00
syscall_handler.h kernel: rename struct _k_object 2020-03-17 20:11:27 +02:00
syscall.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
timeout_q.h kernel/timeout: Add timeout remaining/expires APIs 2020-03-31 19:40:47 -04:00
toolchain.h
wait_q.h
zephyr.h