# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

if IPC_SERVICE_BACKEND_ICMSG

config IPC_SERVICE_BACKEND_ICMSG_CB_BUF_SIZE
	int "Size of static callback buffer size"
	range 1 65535
	default 255
	help
	  Size of callback buffer used for processing received data in work
	  queue thread. If you are sure that your application never sends data
	  data bigger than some size, you can safely change this option to
	  reduce RAM consumption in your application.

endif # IPC_SERVICE_BACKEND_ICMSG
