binutils-gdb/gdb/vx-share/xdr_rdb.h
K. Richard Pixley dd3b648e8b Johns release
1991-03-28 16:28:29 +00:00

133 lines
2.4 KiB
C

/* xdr_rdb.h - xdr for additional rdb structures */
/*
modification history
--------------------
01a,23may90,llk created using xdr_dbx.h.
added arg_array to replace arg_info. arg_info had
MAXNCMDARGS (= 100) as the max limit of char strings,
but it should be MAX_TASK_ARGS (= 10).
*/
#ifndef INCxdrrdbh
#define INCxdrrdbh
enum arg_type {
T_UNKNOWN = 0,
T_BYTE = 1,
T_WORD = 2,
T_INT = 3,
T_FLOAT = 4,
T_DOUBLE = 5,
};
typedef enum arg_type arg_type;
bool_t xdr_arg_type();
struct arg_value {
arg_type type;
union {
char v_byte;
short v_word;
int v_int;
float v_fp;
double v_dp;
} arg_value_u;
};
typedef struct arg_value arg_value;
bool_t xdr_arg_value();
struct func_call {
int func_addr;
struct {
u_int args_len;
arg_value *args_val;
} args;
};
typedef struct func_call func_call;
bool_t xdr_func_call();
typedef char *arg_one;
bool_t xdr_arg_one();
typedef struct {
u_int arg_array_len;
arg_one *arg_array_val;
} arg_array;
bool_t xdr_arg_array();
/*
* Structures used to pass structures required for
* process control but not part of the standard ptrace interface
*/
/*
* arg_info is used to pass arguments into process start
*/
struct arg_info {
int rargc;
char **rargv;
};
typedef struct arg_info Arg_info;
enum EVENT_TYPE {
EVENT_BREAK = 0,
EVENT_STOP = 1,
EVENT_EXIT = 2,
EVENT_BUS_ERR = 3,
EVENT_SUSPEND = 4,
EVENT_ZERO_DIV = 5,
EVENT_SIGNAL = 6,
EVENT_START = 7,
};
typedef enum EVENT_TYPE EVENT_TYPE;
struct RDB_EVENT {
int status;
int taskId;
EVENT_TYPE eventType;
int sigType;
};
typedef struct RDB_EVENT RDB_EVENT;
struct TASK_START {
int status;
int pid;
};
typedef struct TASK_START TASK_START;
struct SYMBOL_ADDR {
int status;
u_int addr;
};
typedef struct SYMBOL_ADDR SYMBOL_ADDR;
struct SOURCE_STEP {
int taskId;
u_int startAddr;
u_int endAddr;
};
typedef struct SOURCE_STEP SOURCE_STEP;
#define MAX_ARG_CNT 10
#define MAX_FUNC_ARGS 100
#define MAX_ARG_LEN 100
bool_t xdr_arg_info();
bool_t xdr_EVENT_TYPE();
bool_t xdr_RDB_EVENT();
bool_t xdr_TASK_START();
bool_t xdr_SYMBOL_ADDR();
bool_t xdr_SOURCE_STEP();
#define RDBPROG (u_long) 0x44444444
#define RDBVERS (u_long) 1
#endif INCxdrrdbh