/* * Copyright Runtime.io 2018. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_INCLUDE_MGMT_BUF_H_ #define ZEPHYR_INCLUDE_MGMT_BUF_H_ #include #include "tinycbor/cbor.h" #include "tinycbor/cbor_buf_writer.h" struct net_buf; struct cbor_nb_reader { struct cbor_decoder_reader r; struct net_buf *nb; }; struct cbor_nb_writer { struct cbor_encoder_writer enc; struct net_buf *nb; }; /** * @brief Allocates a net_buf for holding an mcumgr request or response. * * @return A newly-allocated buffer net_buf on success; * NULL on failure. */ struct net_buf *mcumgr_buf_alloc(void); /** * @brief Frees an mcumgr net_buf * * @param nb The net_buf to free. */ void mcumgr_buf_free(struct net_buf *nb); /** * @brief Initializes a CBOR writer with the specified net_buf. * * @param cnw The writer to initialize. * @param nb The net_buf that the writer will write to. */ void cbor_nb_writer_init(struct cbor_nb_writer *cnw, struct net_buf *nb); /** * @brief Initializes a CBOR reader with the specified net_buf. * * @param cnr The reader to initialize. * @param nb The net_buf that the reader will read from. */ void cbor_nb_reader_init(struct cbor_nb_reader *cnr, struct net_buf *nb); #endif