LCOV - code coverage report
Current view: top level - zephyr/net/hdlc_rcp_if - hdlc_rcp_if.h Coverage Total Hit
Test: new.info Lines: 100.0 % 7 7
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            1 : /*
       2              :  * Copyright (c) 2024, NXP
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : /**
       8              :  * @file
       9              :  * @brief Public APIs of HDLC RCP communication Interface
      10              :  *
      11              :  * This file provide the HDLC APIs to be used by an RCP host
      12              :  */
      13              : 
      14              : #include <zephyr/sys/util.h>
      15              : #include <zephyr/net/net_if.h>
      16              : 
      17              : #ifdef __cplusplus
      18              : extern "C" {
      19              : #endif
      20              : 
      21              : /**
      22              :  * @brief OT RCP HDLC RX callback function.
      23              :  *
      24              :  * @note This function is called in the radio spinel HDLC level
      25              :  */
      26            1 : typedef void (*hdlc_rx_callback_t)(const uint8_t *data, uint16_t len, void *param);
      27              : 
      28              : /** HDLC interface configuration data. */
      29            1 : struct hdlc_api {
      30              :         /**
      31              :          * @brief HDLC interface API
      32              :          */
      33            1 :         struct net_if_api iface_api;
      34              : 
      35              :         /**
      36              :          * @brief Register the Spinel HDLC RX callback.
      37              :          *
      38              :          * @param hdlc_rx_callback pointer to the spinel HDLC RX callback
      39              :          * @param param pointer to the spinel HDLC interface
      40              :          *
      41              :          * @retval 0 The callback was successfully registered.
      42              :          * @retval -EIO The callback could not be registered.
      43              :          */
      44            1 :         int (*register_rx_cb)(hdlc_rx_callback_t hdlc_rx_callback, void *param);
      45              : 
      46              :         /**
      47              :          * @brief Transmit a HDLC frame
      48              :          *
      49              :          *
      50              :          * @param frame pointer to the HDLC frame to be transmitted.
      51              :          * @param length length of the HDLC frame to be transmitted.
      52              : 
      53              :          * @retval 0 The frame was successfully sent.
      54              :          * @retval -EIO The frame could not be sent due to some unspecified
      55              :          * interface error (e.g. the interface being busy).
      56              :          */
      57            1 :         int (*send)(const uint8_t *frame, uint16_t length);
      58              : 
      59              :         /**
      60              :          * @brief Deinitialize the device.
      61              :          *
      62              :          * @param none
      63              :          *
      64              :          * @retval 0 The interface was successfully stopped.
      65              :          * @retval -EIO The interface could not be stopped.
      66              :          */
      67            1 :         int (*deinit)(void);
      68              : };
      69              : 
      70              : /* Make sure that the interface API is properly setup inside
      71              :  * HDLC interface API struct (it is the first one).
      72              :  */
      73              : BUILD_ASSERT(offsetof(struct hdlc_api, iface_api) == 0);
      74              : 
      75              : #ifdef __cplusplus
      76              : }
      77              : #endif
        

Generated by: LCOV version 2.0-1