]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/common/hw-base.h
sim: drop use of bfd/configure.host
[thirdparty/binutils-gdb.git] / sim / common / hw-base.h
CommitLineData
b85e4829
AC
1/* The common simulator framework for GDB, the GNU Debugger.
2
3666a048 3 Copyright 2002-2021 Free Software Foundation, Inc.
b85e4829
AC
4
5 Contributed by Andrew Cagney and Red Hat.
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
4744ac1b 11 the Free Software Foundation; either version 3 of the License, or
b85e4829
AC
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
4744ac1b 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c
SS
21
22
23#ifndef HW_BASE
24#define HW_BASE
25
26/* Create a primative device */
27
28struct hw *hw_create
29(struct sim_state *sd,
30 struct hw *parent,
31 const char *family,
32 const char *name,
33 const char *unit,
34 const char *args);
35
36
37/* Complete the creation of that device (finish overrides methods
38 using the set_hw_* operations below) */
39
40void hw_finish
41(struct hw *me);
42
43int hw_finished_p
44(struct hw *me);
45
46
47/* Delete the entire device */
48
49void hw_delete
50(struct hw *me);
51
52
53/* Override device methods */
54
55typedef void (hw_delete_callback)
56 (struct hw *me);
57
ce13044d 58extern void set_hw_delete(struct hw* hw, hw_delete_callback method);
c906108c
SS
59
60
61/* ALLOC */
62
63extern void create_hw_alloc_data
64(struct hw *hw);
65extern void delete_hw_alloc_data
66(struct hw *hw);
67
68
69/* PORTS */
70
71extern void create_hw_port_data
72(struct hw *hw);
73extern void delete_hw_port_data
74(struct hw *hw);
75
76
77/* PROPERTIES */
78
79extern void create_hw_property_data
80(struct hw *hw);
81extern void delete_hw_property_data
82(struct hw *hw);
83
84
85/* EVENTS */
86
87extern void create_hw_event_data
88(struct hw *hw);
89extern void delete_hw_event_data
90(struct hw *hw);
91
92
93/* HANDLES */
94
95extern void create_hw_handle_data
96(struct hw *hw);
97extern void delete_hw_handle_data
98(struct hw *hw);
99
100
101/* INSTANCES */
102
103extern void create_hw_instance_data
104(struct hw *hw);
105extern void delete_hw_instance_data
106(struct hw *hw);
107
108
109#endif