# Copyright (c) 2018 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config TINYCBOR
	bool "DEPRECATED: tinyCBOR Support"
	help
	  This option enables the tinyCBOR library.
	  Note: This module is deprecated, please use ZCBOR instead.

if TINYCBOR

config CBOR_ENCODER_NO_CHECK_USER
	bool "No encoder checks for user args for validity"
	help
	  This option specifies whether a check user exists for a cbor encoder.

config CBOR_PARSER_MAX_RECURSIONS
	int "Parser max recursions"
	default 1024
	help
	  This option specifies max recursions for the parser.

config CBOR_PARSER_NO_STRICT_CHECKS
	bool "No strict parser checks"
	help
	  This option enables the strict parser checks.

config CBOR_FLOATING_POINT
	bool "Floating point support"
	select REQUIRES_FULL_LIBC
	help
	  This option enables floating point support.

config CBOR_HALF_FLOAT_TYPE
	bool "Half float type support"
	select REQUIRES_FULL_LIBC
	help
	  This option enables half float type support.

config CBOR_WITHOUT_OPEN_MEMSTREAM
	bool "Without open memstream"
	default y
	help
	  This option enables open memstream support.

config CBOR_PRETTY_PRINTING
	bool "Implement pretty printing functionality"
	help
	  This option enables cbor_value_to_pretty_stream function.

endif # TINYCBOR
