gem5
v21.0.0.0
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
c
d
e
f
i
l
m
o
p
r
s
t
v
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
:
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
_
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
v
Enumerator
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
systemc
ext
tlm_core
2
sockets
base_socket_if.hh
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
4
more contributor license agreements. See the NOTICE file distributed
5
with this work for additional information regarding copyright ownership.
6
Accellera licenses this file to you under the Apache License, Version 2.0
7
(the "License"); you may not use this file except in compliance with the
8
License. You may obtain a copy of the License at
9
10
http://www.apache.org/licenses/LICENSE-2.0
11
12
Unless required by applicable law or agreed to in writing, software
13
distributed under the License is distributed on an "AS IS" BASIS,
14
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
15
implied. See the License for the specific language governing
16
permissions and limitations under the License.
17
18
*****************************************************************************/
19
20
#ifndef __SYSTEMC_EXT_TLM_CORE_2_SOCKETS_BASE_SOCKET_IF_H__
21
#define __SYSTEMC_EXT_TLM_CORE_2_SOCKETS_BASE_SOCKET_IF_H__
22
23
#include <typeindex>
24
25
#include "../../../core/sc_export.hh"
26
#include "../../../core/sc_port.hh"
27
28
namespace
tlm
29
{
30
31
enum
tlm_socket_category
32
{
33
TLM_UNKNOWN_SOCKET
= 0,
34
TLM_INITIATOR_SOCKET
= 0x1,
35
TLM_TARGET_SOCKET
= 0x2,
36
37
TLM_MULTI_SOCKET
= 0x10,
38
39
TLM_MULTI_INITIATOR_SOCKET
=
TLM_INITIATOR_SOCKET
|
TLM_MULTI_SOCKET
,
40
TLM_MULTI_TARGET_SOCKET
=
TLM_TARGET_SOCKET
|
TLM_MULTI_SOCKET
41
};
42
43
class
tlm_base_socket_if
44
{
45
public
:
46
virtual
sc_core::sc_port_base
&
get_port_base
() = 0;
47
virtual
sc_core::sc_port_base
const
&
get_port_base
()
const
= 0;
48
virtual
sc_core::sc_export_base
&
get_export_base
() = 0;
49
virtual
sc_core::sc_export_base
const
&
get_export_base
()
const
= 0;
50
virtual
unsigned
int
get_bus_width
()
const
= 0;
51
virtual
std::type_index
get_protocol_types
()
const
= 0;
52
virtual
tlm_socket_category
get_socket_category
()
const
= 0;
53
54
protected
:
55
virtual
~tlm_base_socket_if
() {}
56
};
57
58
}
// namespace tlm
59
60
#endif // __SYSTEMC_EXT_TLM_CORE_2_SOCKETS_BASE_SOCKET_IF_H__
sc_core::sc_port_base
Definition:
sc_port.hh:74
tlm::TLM_MULTI_INITIATOR_SOCKET
@ TLM_MULTI_INITIATOR_SOCKET
Definition:
base_socket_if.hh:73
tlm::tlm_base_socket_if::get_port_base
virtual sc_core::sc_port_base & get_port_base()=0
sc_core::sc_export_base
Definition:
sc_export.hh:41
tlm::TLM_INITIATOR_SOCKET
@ TLM_INITIATOR_SOCKET
Definition:
base_socket_if.hh:68
tlm::TLM_MULTI_TARGET_SOCKET
@ TLM_MULTI_TARGET_SOCKET
Definition:
base_socket_if.hh:74
tlm::tlm_base_socket_if::get_protocol_types
virtual std::type_index get_protocol_types() const =0
tlm::tlm_base_socket_if::get_export_base
virtual sc_core::sc_export_base & get_export_base()=0
tlm::TLM_MULTI_SOCKET
@ TLM_MULTI_SOCKET
Definition:
base_socket_if.hh:71
tlm::tlm_base_socket_if::get_bus_width
virtual unsigned int get_bus_width() const =0
tlm::TLM_TARGET_SOCKET
@ TLM_TARGET_SOCKET
Definition:
base_socket_if.hh:69
tlm::tlm_socket_category
tlm_socket_category
Definition:
base_socket_if.hh:48
tlm
Definition:
analysis_fifo.hh:27
tlm::TLM_UNKNOWN_SOCKET
@ TLM_UNKNOWN_SOCKET
Definition:
base_socket_if.hh:67
tlm::tlm_base_socket_if::get_socket_category
virtual tlm_socket_category get_socket_category() const =0
tlm::tlm_base_socket_if::~tlm_base_socket_if
virtual ~tlm_base_socket_if()
Definition:
base_socket_if.hh:72
Generated on Tue Mar 23 2021 19:41:30 for gem5 by
doxygen
1.8.17