14#ifndef SIMICS_SYSTEMC_IFACE_ETHERNET_COMMON_SIMICS_ADAPTER_H
15#define SIMICS_SYSTEMC_IFACE_ETHERNET_COMMON_SIMICS_ADAPTER_H
17#include <simics/devs/ethernet.h>
28template<
typename TBase,
29 typename TInterface = EthernetCommonInterface>
35 ETHERNET_COMMON_INTERFACE, init_iface()) {
39 static void frame(conf_object_t *obj,
const frags_t *
frame,
40 eth_frame_crc_status_t crc_ok) {
51 adapter<TBase, TInterface>(obj)->frame(&f, crc_ok);
55 std::vector<std::string> description(conf_object_t *obj,
57 return descriptionBase<TBase, TInterface>(obj, type);
59 ethernet_common_interface_t init_iface() {
60 ethernet_common_interface_t iface = {};
Definition: ethernet_common_simics_adapter.h:31
static void frame(conf_object_t *obj, const frags_t *frame, eth_frame_crc_status_t crc_ok)
Definition: ethernet_common_simics_adapter.h:39
EthernetCommonSimicsAdapter()
Definition: ethernet_common_simics_adapter.h:33
Base class for mapping Simics interface to a C++ interface.
Definition: simics_adapter.h:45
#define MAX_FRAGS_FRAGS
Definition: frags.h:23
DescriptionType
Definition: description_interface.h:23
size_t len
Definition: frags.h:33
const uint8_t * start
Definition: frags.h:32
size_t len
Definition: frags.h:37
frags_frag_t fraglist[MAX_FRAGS_FRAGS]
Definition: frags.h:39
unsigned nfrags
Definition: frags.h:38