|
|
1.1 root 1: /*
2: Hatari - vars.h
3:
4: This file is distributed under the GNU General Public License, version 2
5: or at your option any later version. Read the file gpl.txt for details.
6: */
7:
8: #ifndef HATARI_VARS_H
9: #define HATARI_VARS_H
10:
11: typedef enum {
12: /* plain number */
13: VALUE_TYPE_NUMBER = 0,
14:
15: /* functions to call to get value */
16: VALUE_TYPE_FUNCTION32 = 2,
17:
18: /* internal Hatari value variables */
19: VALUE_TYPE_VAR32 = 4,
20:
21: /* size must match register size used in BreakCond_ParseRegister() */
22: VALUE_TYPE_REG16 = 16,
23: VALUE_TYPE_REG32 = 32
24: } value_t;
25:
26:
27: /* Hatari variable name & address array items */
28: typedef struct {
29: const char *name;
30: Uint32 *addr;
31: value_t vtype;
32: size_t bits;
33: const char *info;
34: } var_addr_t;
35:
36:
37: /* variables + CPU symbols readline callback for breakpoints & evaluate */
38: extern char *Vars_MatchCpuVariable(const char *text, int state);
39:
40: /* pointer to variable struct with given variable name */
41: extern const var_addr_t *Vars_ParseVariable(const char *name);
42:
43: /* get variable value for given variable name */
44: bool Vars_GetVariableValue(const char *name, Uint32 *value);
45:
46: /* get variable value for given variable struct */
47: extern Uint32 Vars_GetValue(const var_addr_t *hvar);
48:
49: /* list variables & their names */
50: extern int Vars_List(int nArgc, char *psArgv[]);
51:
52: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.