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