LCOV - code coverage report
Current view: top level - zephyr/net - canbus.h Coverage Total Hit
Test: new.info Lines: 100.0 % 7 7
Test Date: 2025-09-05 22:20:39

            Line data    Source code
       1            1 : /*
       2              :  * Copyright (c) 2019 Intel Corporation
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : /** @file
       8              :  *  @brief CAN bus socket API definitions.
       9              :  */
      10              : 
      11              : #ifndef ZEPHYR_INCLUDE_NET_CANBUS_H_
      12              : #define ZEPHYR_INCLUDE_NET_CANBUS_H_
      13              : 
      14              : #include <zephyr/types.h>
      15              : #include <zephyr/net/net_ip.h>
      16              : #include <zephyr/net/net_if.h>
      17              : #include <zephyr/drivers/can.h>
      18              : 
      19              : #ifdef __cplusplus
      20              : extern "C" {
      21              : #endif
      22              : 
      23              : /**
      24              :  * CAN L2 network driver API.
      25              :  */
      26            1 : struct canbus_api {
      27              :         /**
      28              :          * The net_if_api must be placed in first position in this
      29              :          * struct so that we are compatible with network interface API.
      30              :          */
      31            1 :         struct net_if_api iface_api;
      32              : 
      33              :         /** Send a CAN packet by socket */
      34            1 :         int (*send)(const struct device *dev, struct net_pkt *pkt);
      35              : 
      36              :         /** Close the related CAN socket */
      37            1 :         void (*close)(const struct device *dev, int filter_id);
      38              : 
      39              :         /** Set socket CAN option */
      40            1 :         int (*setsockopt)(const struct device *dev, void *obj, int level,
      41              :                           int optname,
      42              :                           const void *optval, socklen_t optlen);
      43              : 
      44              :         /** Get socket CAN option */
      45            1 :         int (*getsockopt)(const struct device *dev, void *obj, int level,
      46              :                           int optname,
      47              :                           const void *optval, socklen_t *optlen);
      48              : };
      49              : 
      50              : /* Make sure that the network interface API is properly setup inside
      51              :  * CANBUS API struct (it is the first one).
      52              :  */
      53              : BUILD_ASSERT(offsetof(struct canbus_api, iface_api) == 0);
      54              : 
      55              : #ifdef __cplusplus
      56              : }
      57              : #endif
      58              : 
      59              : #endif /* ZEPHYR_INCLUDE_NET_CANBUS_H_ */
        

Generated by: LCOV version 2.0-1