zephyr/include/sys
Peter Bigot 33103828dc lib: add cbprintf capability
This commit adds a C99 stdio value formatter capability where
generated text is emitted through a callback.  This allows generation
of arbitrarily long output without a buffer, functionality that is
core to printk, logging, and other system and application needs.

The formatter supports most C99 specifications, excluding:
* %Lf long double conversion
* wide character output

Kconfig options allow disabling features like floating-point
conversion if they are not necessary.  By default most conversions are
enabled.

The original z_vprintk() implementation is adapted to meet the
interface requirements of cbvprintf, and made available as an opt-in
feature for space-constrained applications that do not need full
formatting support.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-11-13 06:38:01 -05:00
..
__assert.h assert: Completely remove file info and condition expression 2020-01-13 13:59:55 +01:00
arch_interface.h timing: do not repeatedly do init()/start()/stop() 2020-11-11 23:55:49 -05:00
atomic.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
base64.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
byteorder.h sys: byteorder: Fix incorrect shift in sys_get_be48/le48 2020-09-21 11:17:59 +02:00
cbprintf.h lib: add cbprintf capability 2020-11-13 06:38:01 -05:00
check.h base: add error checking macros 2020-01-20 17:19:54 -05:00
crc.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
device_mmio.h kernel: demote k_mem_map to z_mem_map 2020-09-03 14:24:38 -04:00
dlist.h
errno_private.h kernel: support using thread local storage for errno 2020-10-24 10:52:00 -07:00
fdtable.h net: getsockname: Call via vtable instead of ioctl 2020-08-14 09:47:51 -07:00
kobject.h kernel: move kernel object APIs to own header 2020-10-12 12:21:46 -04:00
libc-hooks.h arm: cortex_m: add support for thread local storage 2020-10-24 10:52:00 -07:00
list_gen.h
math_extras_impl.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
math_extras.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mem_manage.h kernel: demote k_mem_map to z_mem_map 2020-09-03 14:24:38 -04:00
mempool_base.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mempool.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mutex.h include: sys: use C linkage 2020-10-22 07:49:07 -05:00
notify.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
onoff.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
printk.h
rb.h
ring_buffer.h lib: os: ring_buffer: Cleaning checkpatch warnings 2020-11-11 13:17:49 +01:00
sem.h linker: add iterable section macros 2020-06-24 17:09:22 -04:00
sflist.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
slist.h
speculation.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sys_heap.h lib/os/heap: debugging facility to dump the heap structure to the cconsole 2020-06-26 11:41:43 -07:00
sys_io.h sys/sys_io.h: Memory mapped I/O APIs must be pointer-sized, not 32 bit! 2020-07-08 12:34:09 +02:00
thread_stack.h kernel: Add cache coherence management framework 2020-10-21 06:38:53 -04:00
time_units.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
timeutil.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
util_internal.h sys/util: fix macro support when building with C++ 2020-08-12 16:39:37 -05:00
util_macro.h doc: fix reference/util after sys/util.h split 2020-11-10 15:40:31 +01:00
util.h sys: util: add BIT64_MASK 2020-11-13 06:38:01 -05:00