|  | # 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 | 
|  |  | 
|  | endmenu |