Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dummy.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 Intel Corporation.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
13#ifndef ZEPHYR_INCLUDE_NET_DUMMY_H_
14#define ZEPHYR_INCLUDE_NET_DUMMY_H_
15
16#include <zephyr/net/net_if.h>
17#include <zephyr/net/net_pkt.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
33struct dummy_api {
38 struct net_if_api iface_api;
39
41 int (*send)(const struct device *dev, struct net_pkt *pkt);
42
47 enum net_verdict (*recv)(struct net_if *iface, struct net_pkt *pkt);
48
50 int (*start)(const struct device *dev);
51
53 int (*stop)(const struct device *dev);
54};
55
56/* Make sure that the network interface API is properly setup inside
57 * dummy API struct (it is the first one).
58 */
59BUILD_ASSERT(offsetof(struct dummy_api, iface_api) == 0);
60
61#ifdef __cplusplus
62}
63#endif
64
69#endif /* ZEPHYR_INCLUDE_NET_DUMMY_H_ */
net_verdict
Net Verdict.
Definition net_core.h:102
Public API for network interface.
Network packet buffer descriptor API.
Runtime device structure (in ROM) per driver instance.
Definition device.h:412
Dummy L2 API operations.
Definition dummy.h:33
int(* stop)(const struct device *dev)
Stop the device.
Definition dummy.h:53
enum net_verdict(* recv)(struct net_if *iface, struct net_pkt *pkt)
Receive a network packet (only limited use for this, for example receiving capturing packets and post...
Definition dummy.h:47
int(* send)(const struct device *dev, struct net_pkt *pkt)
Send a network packet.
Definition dummy.h:41
int(* start)(const struct device *dev)
Start the device.
Definition dummy.h:50
struct net_if_api iface_api
The net_if_api must be placed in first position in this struct so that we are compatible with network...
Definition dummy.h:38
Network Interface structure.
Definition net_if.h:680
Network packet.
Definition net_pkt.h:91