quic/qbox
Loading...
Searching...
No Matches
systemc-components
common
include
backends
net-backend.h
1
/*
2
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
3
* Author: GreenSocs 2022
4
*
5
* SPDX-License-Identifier: BSD-3-Clause
6
*/
7
8
#pragma once
9
10
#include <macs/payload.h>
11
12
class
NetworkBackend
13
{
14
protected
:
15
void
* m_opaque;
16
void
(*m_receive)(
void
*
opaque
,
Payload
&
frame
);
17
int
(*m_can_receive)(
void
*
opaque
);
18
19
public
:
20
NetworkBackend
()
21
{
22
m_opaque =
NULL
;
23
m_receive =
NULL
;
24
m_can_receive =
NULL
;
25
}
26
27
virtual
void
send(
Payload
&
frame
) = 0;
28
29
void
register_receive(
void
*
opaque
,
void
(*receive)(
void
*
opaque
,
Payload
&
frame
),
int
(*can_receive)(
void
*
opaque
))
30
{
31
m_opaque =
opaque
;
32
m_receive = receive;
33
m_can_receive = can_receive;
34
}
35
};
NetworkBackend
Definition
net-backend.h:13
Payload
Definition
payload.h:15
QemuTargetSocket
Definition
target.h:160
Generated by
1.9.8