]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/vx-share/xdr_rdb.h
Initial creation of sourceware repository
[thirdparty/binutils-gdb.git] / gdb / vx-share / xdr_rdb.h
1 /* xdr_rdb.h - xdr for additional rdb structures */
2
3 /* Copyright 1992 Free Software Foundation, Inc.
4
5 This code was donated by Wind River Systems, Inc. */
6
7 /*
8 modification history
9 --------------------
10 01c,25may91,maf rolled RDBVERS for VxGDB 1.0 version.
11 01b,12apr91,maf rolled RDBVERS.
12 01a,09jan91,maf created using v1a of xdr_rdb.h for 4.0.2 VxWorks 68k.
13 added struct SOURCE_STEP.
14 */
15
16 #ifndef INCxdrrdbh
17 #define INCxdrrdbh
18
19 enum arg_type {
20 T_UNKNOWN = 0,
21 T_BYTE = 1,
22 T_WORD = 2,
23 T_INT = 3,
24 T_FLOAT = 4,
25 T_DOUBLE = 5
26 };
27 typedef enum arg_type arg_type;
28 bool_t xdr_arg_type();
29
30
31 struct arg_value {
32 arg_type type;
33 union {
34 char v_byte;
35 short v_word;
36 int v_int;
37 float v_fp;
38 double v_dp;
39 } arg_value_u;
40 };
41 typedef struct arg_value arg_value;
42 bool_t xdr_arg_value();
43
44 struct func_call {
45 int func_addr;
46 struct {
47 u_int args_len;
48 arg_value *args_val;
49 } args;
50 };
51 typedef struct func_call func_call;
52 bool_t xdr_func_call();
53
54
55 typedef char *arg_one;
56 bool_t xdr_arg_one();
57
58
59 typedef struct {
60 u_int arg_array_len;
61 arg_one *arg_array_val;
62 } arg_array;
63 bool_t xdr_arg_array();
64
65
66 /*
67 * Structures used to pass structures required for
68 * process control but not part of the standard ptrace interface
69 */
70
71 /*
72 * arg_info is used to pass arguments into process start
73 */
74 struct arg_info {
75 int rargc;
76 char **rargv;
77 };
78 typedef struct arg_info Arg_info;
79
80
81 enum EVENT_TYPE {
82 EVENT_BREAK = 0,
83 EVENT_STOP = 1,
84 EVENT_EXIT = 2,
85 EVENT_BUS_ERR = 3,
86 EVENT_SUSPEND = 4,
87 EVENT_ZERO_DIV = 5,
88 EVENT_SIGNAL = 6,
89 EVENT_START = 7
90 };
91 typedef enum EVENT_TYPE EVENT_TYPE;
92
93
94 struct RDB_EVENT {
95 int status;
96 int taskId;
97 EVENT_TYPE eventType;
98 int sigType;
99 };
100 typedef struct RDB_EVENT RDB_EVENT;
101
102
103 struct TASK_START {
104 int status;
105 int pid;
106 };
107 typedef struct TASK_START TASK_START;
108
109
110 struct SYMBOL_ADDR {
111 int status;
112 u_int addr;
113 };
114 typedef struct SYMBOL_ADDR SYMBOL_ADDR;
115
116 struct SOURCE_STEP {
117 int taskId;
118 u_int startAddr;
119 u_int endAddr;
120 };
121 typedef struct SOURCE_STEP SOURCE_STEP;
122
123 #define MAX_ARG_CNT 10
124 #define MAX_FUNC_ARGS 100
125 #define MAX_ARG_LEN 100
126
127
128 bool_t xdr_arg_info();
129 bool_t xdr_EVENT_TYPE();
130 bool_t xdr_RDB_EVENT();
131 bool_t xdr_TASK_START();
132 bool_t xdr_SYMBOL_ADDR();
133 bool_t xdr_SOURCE_STEP();
134
135 #define RDBPROG (u_long) 0x44444444
136 #define RDBVERS (u_long) 3
137 #endif INCxdrrdbh