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	  Provide highly efficient ring buffer management for arbitrary data.
16	  Some facilities such as kernel pipes are built on top of this.
17	  May be used directly e.g. when the pipe overhead is unnecessary.
18
19config RING_BUFFER_LARGE
20	bool "Allow large ring buffer sizes"
21	depends on RING_BUFFER
22	help
23	  Increase maximum buffer size from 32KB to 2GB. When this is enabled,
24	  all struct ring_buf instances become 12 bytes bigger.
25
26config NOTIFY
27	bool "Asynchronous Notifications"
28	help
29	  Use this API to support async transactions.
30
31config BASE64
32	bool "Base64 encoding and decoding"
33	help
34	  Enable base64 encoding and decoding functionality
35
36config ONOFF
37	bool "On-Off Manager"
38	select NOTIFY
39	help
40	  An on-off manager supports an arbitrary number of clients of a
41	  service which has a binary state.  Example applications are power
42	  rails, clocks, and binary device power management.
43
44config WINSTREAM
45	bool "Lockless shared memory window byte stream"
46	help
47	  Winstream is a byte stream IPC for use in shared memory
48	  "windows", generally for transmit to non-Zephyr contexts that
49	  can't share Zephyr APIs or data structures.
50
51if WINSTREAM
52config WINSTREAM_STDLIB_MEMCOPY
53	bool "Use standard memcpy() in winstream"
54	help
55	  The sys_winstream utility is sometimes used in early boot
56	  environments before the standard library is usable.  By
57	  default it uses a simple internal bytewise memcpy().  Set
58	  this to use the one from the standard library.
59endif
60
61config UTF8
62	bool "UTF-8 string operation supported"
63	help
64	  Enable the utf8 API. The API implements functions to specifically
65	  handle UTF-8 encoded strings.
66
67config COBS
68	bool "Consistent overhead byte stuffing"
69	select NET_BUF
70	help
71	  Enable consistent overhead byte stuffing
72
73endmenu
74