/[pearpc]/src/debug/debugtype.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /src/debug/debugtype.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations)
Wed Sep 5 17:11:21 2007 UTC (16 years, 7 months ago) by dpavlin
File MIME type: text/plain
File size: 1836 byte(s)
import upstream CVS
1 #ifndef EVALTYPE_H
2 #define EVALTYPE_H
3
4 #define MAX_EVALFUNC_PARAMS 8
5
6 #include "system/types.h"
7
8 /*
9 * Types
10 */
11
12 typedef enum {
13 TYPE_UNKNOWN,
14 TYPE_BYTE,
15 TYPE_HALF,
16 TYPE_WORD,
17 TYPE_DWORD,
18 } eval_inttype;
19
20 typedef enum {
21 REG_GPR,
22 REG_FPR,
23 REG_PC,
24 REG_CR,
25 REG_LR,
26 REG_CTR,
27 REG_XER,
28 REG_MSR,
29 REG_SRR0,
30 REG_SRR1,
31 } eval_regtype;
32
33 struct eval_int {
34 sint64 value;
35 eval_inttype type;
36 };
37
38 struct eval_float {
39 double value;
40 };
41
42 struct eval_str {
43 char *value;
44 int len;
45 };
46
47 struct eval_reg {
48 eval_regtype type;
49 int num;
50 };
51
52 struct eval_scalar;
53
54 struct eval_function {
55 char *name;
56 int param_count;
57 struct eval_scalar *params;
58 };
59
60 typedef enum {
61 SCALAR_EMPTY = 0,
62 SCALAR_INT,
63 SCALAR_REG,
64 SCALAR_STR,
65 SCALAR_FLOAT,
66 SCALAR_FUNCTION,
67 SCALAR_ANY,
68 SCALAR_VARARGS,
69 } eval_scalartype;
70
71 typedef union {
72 struct eval_int integer;
73 struct eval_str str;
74 struct eval_reg reg;
75 struct eval_float floatnum;
76 struct eval_function function;
77 } eval_scalarbody;
78
79 struct eval_scalar {
80 eval_scalartype type;
81 eval_scalarbody scalar;
82 };
83
84 struct eval_scalarlist {
85 int count;
86 struct eval_scalar *scalars;
87 };
88
89 typedef enum {
90 COMMAND_NOP = 0,
91 COMMAND_PRINT,
92 COMMAND_REGS,
93 COMMAND_FLOATS,
94 COMMAND_SETREG,
95 COMMAND_BREAK,
96 COMMAND_LIST_BREAK,
97 COMMAND_STEP,
98 COMMAND_NEXT,
99 COMMAND_CONTINUE,
100 COMMAND_QUIT,
101 COMMAND_E2P,
102 COMMAND_INSPECT_BYTE,
103 COMMAND_INSPECT_HALF,
104 COMMAND_INSPECT_WORD,
105 COMMAND_INSPECT_DWORD,
106 COMMAND_INSPECT_STRING,
107 COMMAND_INSPECT_MEM,
108 COMMAND_WATCH,
109 COMMAND_WATCH_BYTE,
110 COMMAND_WATCH_HALF,
111 COMMAND_WATCH_WORD,
112 COMMAND_WATCH_DWORD,
113 COMMAND_DELETE_WATCH,
114 COMMAND_DUMP,
115 COMMAND_DISASM,
116 COMMAND_HELP,
117 } eval_commandtype;
118
119 struct eval_command {
120 eval_commandtype type;
121 int paramcount;
122 struct eval_scalar param[3]; /* 3 ought to be enough for everybody ;) */
123 };
124
125 #endif /* EVALTYPE_H */

  ViewVC Help
Powered by ViewVC 1.1.26