# Copyright Runtime.io 2018. All rights reserved.
# Copyright Nordic Semiconductor ASA 2020-2022. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

config MGMT_CBORATTR_MAX_SIZE
	int "The maximum size of a CBOR attribute during decoding"
	default 512
	help
	  The maximum size of a CBOR attribute during decoding

config MGMT_CBORATTR_FLOAT_SUPPORT
	bool "Support for float"
	help
	  The option enables float processing within CBOR attributes.
	  If your code requires processing of float numbers by CBOR,
	  the option needs to be enabled.
	  Disabling the option slightly reduces code footprint.

config MGMT_VERBOSE_ERR_RESPONSE
	bool "Support verbose error response"
	help
	  Support for encoding "rc" code explanation in form of "rsn"
	  text string.  This is useful, when returning MGMT_ERR_EUNKNOWN,
	  to add additional information on the source of an error.
	  Note that the "rsn" is string additional to "rc" code,
	  so MCUMGR_BUF_SIZE should be large enough to be able to encode
	  both.
