1# Copyright (c) 2016 Intel Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4menu "Utility Library"
5
6config JSON_LIBRARY
7	bool "Build JSON library"
8	help
9	  Build a minimal JSON parsing/encoding library. Used by sample
10	  applications such as the NATS client.
11
12config RING_BUFFER
13	bool "Ring buffers"
14	help
15	  Enable usage of ring buffers. This is similar to kernel FIFOs but ring
16	  buffers manage their own buffer memory and can store arbitrary data.
17	  For optimal performance, use buffer sizes that are a power of 2.
18
19config NOTIFY
20	bool "Asynchronous Notifications"
21	help
22	  Use this API to support async transactions.
23
24config BASE64
25	bool "Base64 encoding and decoding"
26	help
27	  Enable base64 encoding and decoding functionality
28
29config ONOFF
30	bool "On-Off Manager"
31	select NOTIFY
32	help
33	  An on-off manager supports an arbitrary number of clients of a
34	  service which has a binary state.  Example applications are power
35	  rails, clocks, and binary device power management.
36
37config WINSTREAM
38	bool "Lockless shared memory window byte stream"
39	help
40	  Winstream is a byte stream IPC for use in shared memory
41	  "windows", generally for transmit to non-Zephyr contexts that
42	  can't share Zephyr APIs or data structures.
43
44if WINSTREAM
45config WINSTREAM_STDLIB_MEMCOPY
46	bool "Use standard memcpy() in winstream"
47	help
48	  The sys_winstream utility is sometimes used in early boot
49	  environments before the standard library is usable.  By
50	  default it uses a simple internal bytewise memcpy().  Set
51	  this to use the one from the standard library.
52endif
53
54config UTF8
55	bool "UTF-8 string operation supported"
56	help
57	  Enable the utf8 API. The API implements functions to specifically
58	  handle UTF-8 encoded strings.
59
60endmenu
61