| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menu "Utility Library" |
| |
| config JSON_LIBRARY |
| bool "Build JSON library" |
| help |
| Build a minimal JSON parsing/encoding library. Used by sample |
| applications such as the NATS client. |
| |
| config JSON_LIBRARY_FP_SUPPORT |
| bool "Floating point support in JSON library" |
| depends on JSON_LIBRARY |
| select CBPRINTF_FP_SUPPORT |
| select REQUIRES_FULL_LIBC |
| help |
| Build the JSON library with support for floating point types. |
| |
| Requires a libc implementation with support for floating point |
| functions: strtof(), strtod(), isnan() and isinf(). |
| |
| config RING_BUFFER |
| bool "Ring buffers" |
| help |
| Provide highly efficient ring buffer management for arbitrary data. |
| Some facilities such as kernel pipes are built on top of this. |
| May be used directly e.g. when the pipe overhead is unnecessary. |
| |
| config RING_BUFFER_LARGE |
| bool "Allow large ring buffer sizes" |
| depends on RING_BUFFER |
| help |
| Increase maximum buffer size from 32KB to 2GB. When this is enabled, |
| all struct ring_buf instances become 12 bytes bigger. |
| |
| config NOTIFY |
| bool "Asynchronous Notifications" |
| help |
| Use this API to support async transactions. |
| |
| config BASE64 |
| bool "Base64 encoding and decoding" |
| help |
| Enable base64 encoding and decoding functionality |
| |
| config ONOFF |
| bool "On-Off Manager" |
| select NOTIFY |
| help |
| An on-off manager supports an arbitrary number of clients of a |
| service which has a binary state. Example applications are power |
| rails, clocks, and binary device power management. |
| |
| config WINSTREAM |
| bool "Lockless shared memory window byte stream" |
| help |
| Winstream is a byte stream IPC for use in shared memory |
| "windows", generally for transmit to non-Zephyr contexts that |
| can't share Zephyr APIs or data structures. |
| |
| if WINSTREAM |
| config WINSTREAM_STDLIB_MEMCOPY |
| bool "Use standard memcpy() in winstream" |
| help |
| The sys_winstream utility is sometimes used in early boot |
| environments before the standard library is usable. By |
| default it uses a simple internal bytewise memcpy(). Set |
| this to use the one from the standard library. |
| endif |
| |
| config UTF8 |
| bool "UTF-8 string operation supported" |
| help |
| Enable the utf8 API. The API implements functions to specifically |
| handle UTF-8 encoded strings. |
| |
| config COBS |
| bool "Consistent overhead byte stuffing" |
| select NET_BUF |
| help |
| Enable consistent overhead byte stuffing |
| |
| config GETOPT |
| bool "Getopt library support" |
| help |
| This option adds support of the sys_getopt API. |
| |
| config GETOPT_LONG |
| bool "Getopt long library support" |
| depends on GETOPT |
| help |
| This option adds support of the getopt long. |
| Different shell backends are using their own instance of getopt to |
| not interfere with each other. |
| All not shell threads share one global instance of getopt state, hence |
| apart from shell this library is not thread safe. User can add support |
| for other threads by extending function sys_getopt_state_get in |
| getopt_common.c file. |
| |
| endmenu |