home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / gdb-4.9 / gdb / vx-share / xdr_rdb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-12  |  2.5 KB  |  138 lines

  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
  138.