xref: /netbsd-src/external/gpl3/gdb.old/dist/sim/ppc/basics.h (revision 8b657b0747480f8989760d71343d6dd33f8d4cf9)
1 /*  This file is part of the program psim.
2 
3     Copyright (C) 1994-1997, Andrew Cagney <cagney@highland.com.au>
4 
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 3 of the License, or
8     (at your option) any later version.
9 
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14 
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, see <http://www.gnu.org/licenses/>.
17 
18     */
19 
20 
21 #ifndef _BASICS_H_
22 #define _BASICS_H_
23 
24 /* This must come before any other includes.  */
25 #include "defs.h"
26 
27 
28 /* many things pass around the cpu and psim object with out knowing
29    what it is */
30 
31 typedef struct _cpu cpu;
32 typedef struct _psim psim;
33 typedef struct _device device;
34 typedef struct _device_instance device_instance;
35 typedef struct _event_queue event_queue;
36 typedef struct _event_entry_tag *event_entry_tag;
37 
38 
39 /* many things are moving data between the host and target */
40 
41 typedef enum {
42   cooked_transfer,
43   raw_transfer,
44 } transfer_mode;
45 
46 
47 /* possible exit statuses */
48 
49 typedef enum {
50   was_continuing, was_trap, was_exited, was_signalled
51 } stop_reason;
52 
53 
54 /* disposition of an object when things are next restarted */
55 
56 typedef enum {
57   permenant_object,
58   tempoary_object,
59 } object_disposition;
60 
61 
62 /* directions */
63 
64 typedef enum {
65   bidirect_port,
66   input_port,
67   output_port,
68 } port_direction;
69 
70 
71 
72 /* Basic configuration */
73 
74 #include "std-config.h"
75 #include "inline.h"
76 
77 
78 /* Basic host dependant mess - hopefully <stdio.h> + <stdarg.h> will
79    bring potential conflicts out in the open */
80 
81 #include <stdarg.h>
82 #include <stdio.h>
83 #include <stdlib.h>
84 
85 
86 /* Basic definitions - ordered so that nothing calls what comes after
87    it */
88 
89 #include "sim_callbacks.h"
90 
91 #include "debug.h"
92 
93 #include "words.h"
94 #include "bits.h"
95 #include "sim-endian.h"
96 
97 #endif /* _BASICS_H_ */
98