/[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

Annotation of /src/debug/debugtype.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide 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 dpavlin 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