# Copyright Laird Connectivity 2021. All rights reserved.
# Copyright Nordic Semiconductor ASA 2022. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

# The Kconfig file is dedicated to Dummy transport of MCUmgr
# subsystem and provides Kconfig options to control aspects of
# the transport.
#
# Options defined in this file should be prefixed:
#  MCUMGR_TRANSPORT_DUMMY_

menuconfig MCUMGR_TRANSPORT_DUMMY
	bool "Dummy SMP backend"
	select BASE64
	help
	  Enables the dummy SMP backend which can be used for unit testing
	  SMP functionality without needing a real interface or driver.

if MCUMGR_TRANSPORT_DUMMY

config MCUMGR_TRANSPORT_DUMMY_RX_BUF_SIZE
	int "Size of receive buffer for dummy interface mcumgr fragments"
	default 128
	help
	  Specifies the size of the mcumgr dummy backend receive buffer,
	  in bytes. This value must be large enough to accommodate any
	  line sent by an mcumgr client.

endif # MCUMGR_TRANSPORT_DUMMY
