wtxmsg.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:37k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* wtxmsg.h - WTX message definition */
  2. /* Copyright 1984-1997 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 03a,14jun01,pch  Add new WTX_TS_INFO_GET_V2 service to handle WTX_RT_INFO
  7.  change (from BOOL32 hasFpp to UINT32 hasCoprocessor)
  8.  without breaking existing clients.
  9. 02z,09may01,dtr  Replacing hasFpp and HasAltivec with hasCoprocessor.
  10. 02y,06feb01,dtr  Adding check for altivec support.
  11. 02x,18aug98,pcn  Moved WTX_SVC_TYPE and renamed WTX_MSG_EVTPT_LIST_GET.
  12. 02w,28jul98,lcs  Change TOOL_ID field of WTX_EVTPT_INFO structure to a uint32
  13. 02v,20jul98,pcn  Added evtptNum and toolId in the wtxEventpointListGet return
  14.  list.
  15. 02u,19jun98,pcn  Added new fields in WTX_MSG_FILE_LOAD_DESC structure.
  16. 02t,26may98,pcn  Changed WTX_MSG_EVTPT_LIST_2 in WTX_MSG_EVTPT_LIST_GET.
  17. 02s,08apr98,fle  doc: limit element comment to column 75 for manual generation
  18.  purpose
  19. 02r,07apr98,fle  doc: changed wtx_dasm_desc in wtx_msg_dasm_desc for mangen
  20. 02q,24mar98,dbt  added WTX_CONTEXT_STATUS_GET.
  21. 02p,03mar98,fle  got rid of WTX_REGISTRY_PING service
  22. 02o,02mar98,pcn  WTX 2: added WTX_EVENTPOINT_ADD_2, WTX_EVENTPOINT_LIST_2,
  23.  WTX_CACHE_TEXT_UPDATE, WTX_MEM_WIDTH_READ,
  24.  WTX_MEM_WIDTH_WRITE, WTX_OBJ_MODULE_CHECKSUM,
  25.  WTX_OBJ_MODULE_LOAD_2, WTX_OBJ_MODULE_UNLOAD_2,
  26.  WTX_UNREGISTER_FOR_EVENT, WTX_EVENT_LIST_GET,
  27.  WTX_COMMAND_SEND. Removed WTX_UN_REGIS_FOR_EVENT. Added
  28.  WTX_MSG_MEM_WIDTH_READ_DESC, WTX_MSG_MEM_WIDTH_COPY_DESC,
  29.  WTX_SVC_TYPE, WTX_MSG_LOG_CTRL, WTX_EVENT_NODE,
  30.  WTX_MSG_EVENT_LIST, WTX_LD_M_FILE_DESC,
  31.  WTX_MSG_FILE_LOAD_DESC, WTX_EVENT_2, WTX_EVTPT_2,
  32.  WTX_MSG_EVTPT_DESC_2, WTX_MSG_EVTPT_LIST_2.
  33. 02n,26jan98,fle  added WTX_REGISTRY_PING service number
  34. 02m,29aug97,fle  Adding the WTX_MEM_DISASSEMBLE service : creating 
  35.  WTX_MSG_DASM_INST_LIST, WTX_DASM_INST_LIST and 
  36.  WTX_MSG_DASM_DESC structures.
  37. 02l,06dec96,dgp  doc: correct spelling
  38. 02k,30sep96,elp  put in share/, added WTX_OBJ_MODULE_UNDEF_SYM_ADD (SPR# 6775).
  39. 02j,17jun96,p_m  changed flags type in WTX_MSG_OPEN_DESC (SPR# 4941).
  40. 02i,10jun96,elp  re-installed WTX_MSG_SYM_TBL_INFO type to prevent
  41.  compatibility problems.
  42. 02h,20may96,elp  added WTX_SYM_TBL_INFO type (SPR# 6502).
  43. 02g,25oct95,p_m  added WTX_AGENT_MODE_GET service (SPR# 5231) and 
  44.  WTX_DIRECT_CALL.
  45. 02f,17jul95,p_m  cleaned comments for manual generation.
  46. 02d,06jun95,p_m  replaced moduleNameOrId in WTX_MSG_SYM_MATCH_DESC by an union.
  47. 02c,01jun95,p_m  removed WTX_MSG_CALL_PARAM. added returnType and pReserved
  48.  and replaced isText by contextType in WTX_MSG_CONTEXT_DESC.
  49. 02b,30may95,p_m  completed WTX_MEM_SCAN and WTX_MEM_MOVE implementation.
  50. 02a,26may95,p_m  added match field in WTX_MSG_MEM_SCAN_DESC.
  51. 01z,23may95,p_m  made missing name changes.
  52. 01y,22may95,jcf  name revision.
  53. 01x,18may95,p_m  added WTX_VIO_CHAN_GET and WTX_VIO_CHAN_RELEASE.
  54.  removed DETECTION in enventpoint.
  55. 01w,16may95,p_m  added WTX_MSG_KILL_DESC and WTX_TARGET_ATTACH.
  56. 01v,10may95,pad  modified WTX_MSG_SYM_LIST and WTX_MSG_SYM_MATCH_DESC to get
  57.  defined or unknown symbols associated with a module.
  58. 01u,09may95,p_m  added wtxregd related messages. added Target Server version
  59.  in WTX_MSG_TS_INFO.
  60. 01t,04may95,s_w  Put in WTX_xxx message numbers previously in private/wtxp.h
  61. 01s,02may95,pad  changed WTX_MSG_MODULE_INFO format field from UINT32 to char *
  62. 01r,04apr95,p_m  fixed WTX_MSG_CONTEXT_DESC.stackBase comment.
  63. 01q,29mar95,p_m  added comments. removed #include "comtypes.h".
  64.  changed addr type in OBJ_SEGMENT to TGT_ADDR_T.
  65. 01p,28mar95,p_m  took care of comments line length for manual generation.
  66. 01o,24mar95,p_m  changed addr type in LD_M_SECTION to TGT_ADDR_T.
  67. 01n,19mar95,c_s  updated gopher structures.
  68. 01m,20mar95,f_v  fix few syntax error to work with mgtools
  69. 01l,16mar95,p_m  added WTX_MSG_VIO_FILE_LIST.
  70. 01k,15mar95,p_m  changed #include "vxWorks.h" to #include "host.h".
  71. 01j,10mar95,p_m  made endian field a UINT32.
  72. 01i,03mar95,p_m  replaced WRAPSTRING by char *.
  73.  added gopher structure for WTX.
  74. 01h,27feb95,p_m  cleanup up WTX_MSG_MEM_SCAN_DESC.
  75.  added symTblId to WTX_MSG_SYM_TBL_INFO.
  76.  simplified WTX_WDB_SERVICE_DESC.
  77. 01g,25feb95,jcf  extended WTX_TS_INFO.  converted spaces to tabs.
  78. 01f,20feb95,pad  added WTX_WTX_SERVICE_DESC type. Modified type
  79.  WTX_MSG_SERVICE_DESC.
  80. 01e,09feb95,p_m  renamed structures for more coherency.
  81.  get rid of structures shared with WDB.
  82.  added comments and cleanup.
  83. 01d,08feb95,p_m  added loadFlag in WTX_MODULE_INFO.
  84. 01c,30jan95,p_m  added additional routines and filenames in SERVICE_DESC.
  85.  changed rtnObjFile to svcObjFile in SERVICE_DESC.
  86.  added WTX_MEM_XFER; added WTX_MEM_SET_DESC;
  87.  added WTX_REG_WRITE;
  88. 01b,22jan95,p_m  added TOOL_DESC field in WTX_TS_INFO.
  89.  replaced #include "wdb/wdbtypes.h" by #include "wdbtypes.h".
  90.  replaced rtnName with initRtnName in SERVICE_DESC.
  91. 01a,20jan95,p_m  written.
  92. */
  93. #ifndef __INCwtxmsgh
  94. #define __INCwtxmsgh
  95. #ifdef __cplusplus
  96. extern "C" {
  97. #endif
  98. #ifdef HOST
  99. #include "host.h"
  100. #else
  101. #include "vxWorks.h"
  102. #endif /* HOST */
  103. #include "wtxtypes.h" /* basic wtx types */
  104. /* WTX requests */
  105. #define WTX_TOOL_ATTACH 1
  106. #define WTX_TOOL_DETACH 2
  107. #define WTX_TS_INFO_GET_V1 3   /* info includes BOOL32 hasFpp */
  108. #define WTX_TARGET_RESET 4
  109. #define WTX_TS_LOCK 5
  110. #define WTX_TS_UNLOCK 6
  111. #define WTX_TARGET_ATTACH 7
  112. #define WTX_TS_INFO_GET_V2 8   /* info includes UINT32 hasCoprocessor */
  113. /*
  114.  * Prior to the introduction of support for multiple coprocessor types,
  115.  * request #3 was named WTX_TS_INFO_GET.  Older clients may still make
  116.  * this request, and will expect to receive a result containing the BOOL32
  117.  * field hasFpp.  Meanwhile, older target servers will not understand the
  118.  * new WTX_TS_INFO_GET_V2 request.
  119.  *
  120.  * For full compatibility, new servers must support both WTX_TS_INFO_GET_V1
  121.  * and WTX_TS_INFO_GET_V2, returning the appropriate result for each.  New
  122.  * clients should use WTX_TS_INFO_GET_V2 to obtain information concerning
  123.  * all available coprocessors, but if this request is not recognized they
  124.  * should issue WTX_TS_INFO_GET_V1 to determine whether an FPP is present.
  125.  *
  126.  * The following #define is to enable existing clients to be recompiled
  127.  * without breaking.  When compiling an upgraded client, it could be removed
  128.  * to help ensure that all uses of the older message have been changed.
  129.  */
  130. #define WTX_TS_INFO_GET WTX_TS_INFO_GET_V1
  131. #define WTX_CONTEXT_CREATE 10
  132. #define WTX_CONTEXT_KILL 11
  133. #define WTX_CONTEXT_SUSPEND 12
  134. #define WTX_CONTEXT_CONT 13
  135. #define WTX_CONTEXT_RESUME 14
  136. #define WTX_CONTEXT_STEP 15
  137. #define WTX_CONTEXT_STATUS_GET 16
  138. #define WTX_EVENTPOINT_ADD 20
  139. #define WTX_EVENTPOINT_DELETE 21
  140. #define WTX_EVENTPOINT_LIST 22
  141. #define WTX_EVENTPOINT_ADD_2    23
  142. #define WTX_EVENTPOINT_LIST_GET 24
  143. #define WTX_MEM_CHECKSUM 30
  144. #define WTX_MEM_READ 31
  145. #define WTX_MEM_WRITE 32
  146. #define WTX_MEM_SET 33
  147. #define WTX_MEM_SCAN 34
  148. #define WTX_MEM_MOVE 35
  149. #define WTX_MEM_ALLOC 36
  150. #define WTX_MEM_FREE 37
  151. #define WTX_MEM_INFO_GET 38
  152. #define WTX_MEM_ALIGN 39
  153. #define WTX_MEM_REALLOC 40
  154. #define WTX_MEM_ADD_TO_POOL 41
  155. #define WTX_MEM_DISASSEMBLE 42
  156. #define WTX_CACHE_TEXT_UPDATE   43
  157. #define WTX_MEM_WIDTH_READ      44
  158. #define WTX_MEM_WIDTH_WRITE     45
  159. #define WTX_REGS_GET 50
  160. #define WTX_REGS_SET 51
  161. #define WTX_OPEN 60
  162. #define WTX_VIO_READ 61
  163. #define WTX_VIO_WRITE 62
  164. #define WTX_CLOSE 63
  165. #define WTX_VIO_CTL 64
  166. #define WTX_VIO_FILE_LIST 65
  167. #define WTX_VIO_CHAN_GET 66
  168. #define WTX_VIO_CHAN_RELEASE 67
  169. #define WTX_OBJ_MODULE_LOAD 70
  170. #define WTX_OBJ_MODULE_UNLOAD 71
  171. #define WTX_OBJ_MODULE_LIST 72
  172. #define WTX_OBJ_MODULE_INFO_GET 73
  173. #define WTX_OBJ_MODULE_FIND 74
  174. #define WTX_OBJ_MODULE_UNDEF_SYM_ADD 75
  175. #define WTX_OBJ_MODULE_CHECKSUM         76
  176. #define WTX_OBJ_MODULE_LOAD_2           77
  177. #define WTX_OBJ_MODULE_UNLOAD_2         78
  178. #define WTX_SYM_TBL_CREATE 80
  179. #define WTX_SYM_TBL_DELETE 81
  180. #define WTX_SYM_TBL_LIST_GET 82
  181. #define WTX_SYM_LIST_GET 83
  182. #define WTX_SYM_TBL_INFO_GET 84
  183. #define WTX_SYM_FIND 85
  184. #define WTX_SYM_ADD 86
  185. #define WTX_SYM_REMOVE 87
  186. #define WTX_EVENT_GET 100
  187. #define WTX_REGISTER_FOR_EVENT 101
  188. #define WTX_UNREGISTER_FOR_EVENT 102
  189. #define WTX_EVENT_ADD 103
  190. #define WTX_EVENT_LIST_GET           104
  191. #define WTX_GOPHER_EVAL 110
  192. #define WTX_FUNC_CALL 111
  193. #define WTX_SERVICE_ADD 112
  194. #define WTX_WTX_SERVICE_LIST 113
  195. #define WTX_WDB_SERVICE_LIST 114
  196. #define WTX_CONSOLE_CREATE 115
  197. #define WTX_CONSOLE_KILL 116
  198. #define WTX_AGENT_MODE_SET 117
  199. #define WTX_AGENT_MODE_GET 118
  200. #define WTX_DIRECT_CALL 119
  201. #define WTX_OBJ_KILL 120
  202. #define WTX_OBJ_RESTART 121
  203. #define WTX_COMMAND_SEND        122
  204. #define WTX_REGISTER 201
  205. #define WTX_UNREGISTER 202
  206. #define WTX_INFO_GET 203
  207. #define WTX_INFO_Q_GET 204
  208. /* typedefs */
  209. typedef enum wtx_value_t /* Simple types definitions */
  210.     {
  211.     V_INT8 = 0, /* 8  bit signed integer    */
  212.     V_INT16 = 1, /* 16 bit signed integer    */
  213.     V_INT32 = 2, /* 32 bit signed integer    */
  214.     V_UINT8 = 3, /* 8  bit unsigned integer  */
  215.     V_UINT16 = 4, /* 16 bit unsigned integer  */
  216.     V_UINT32 = 5, /* 32 bit unsigned integer  */
  217.     V_DOUBLE = 6, /* Double floating point    */
  218.     V_BOOL32 = 7, /* 32 bit boolean           */
  219.     V_PCHAR = 8, /* Character pointer        */
  220.     V_PVOID = 9, /* Void pointer             */
  221.     V_TGT_ADDR = 10, /* Target address           */
  222.     V_TGT_ARG = 11 /* Target task argument     */
  223.     } WTX_VALUE_T;
  224. typedef struct wtx_value /* Simple type value      */
  225.     {
  226.     WTX_VALUE_T valueType; /* Value type             */
  227.     union
  228. {
  229. INT8 v_int8; /* 8  bit signed value    */
  230. INT16 v_int16; /* 16 bit signed value    */
  231. INT32 v_int32; /* 32 bit signed value    */
  232. UINT8 v_uint8; /* 8  bit unsigned value  */
  233. UINT16 v_uint16; /* 16 bit unsigned value  */
  234. UINT32 v_uint32; /* 32 bit unsigned value  */
  235. double v_double; /* Double value           */
  236. BOOL32 v_bool32; /* 32 bit boolean value   */
  237. char * v_pchar; /* String value           */
  238. void * v_pvoid; /* Void pointer value     */
  239. TGT_ADDR_T v_tgt_addr; /* Target address value   */
  240. TGT_ARG_T v_tgt_arg; /* Target task arg. value */
  241. } value_u;
  242.     } WTX_VALUE;
  243. typedef struct wtx_msg_result /* Simple request result */
  244.     {
  245.     WTX_CORE wtxCore; /* WTX message core      */
  246.     WTX_VALUE val; /* Result value of call  */
  247.     } WTX_MSG_RESULT;
  248. typedef struct wtx_msg_param /* Simple request parameter */
  249.     {
  250.     WTX_CORE wtxCore; /* WTX message core         */
  251.     WTX_VALUE param; /* Param value of call      */
  252.     } WTX_MSG_PARAM;
  253. typedef struct wtx_mem_region /* Memory region descriptor */
  254.     {
  255.     TGT_ADDR_T baseAddr; /* Mem. region base address */
  256.     UINT32 size; /* Mem. region size         */
  257.     UINT32 attribute; /* Mem. region attributes   */
  258.     } WTX_MEM_REGION;
  259. typedef struct wtx_rt_info /* Target runtime information  */   {
  260.     UINT32 rtType; /* Runtime type                */
  261.     char * rtVersion; /* Run time version            */
  262.     UINT32 cpuType; /* Target processor type       */
  263.     UINT32 hasCoprocessor; /* Coprocessors:  see below    */
  264.     BOOL32 hasWriteProtect;/* Text write protect avail.   */
  265.     UINT32 pageSize; /* Size of a page              */
  266.     UINT32 endian; /* Endianness (LITTLE or BIG)  */
  267.     char * bspName; /* Board support package name  */
  268.     char * bootline; /* Boot file name              */
  269.     TGT_ADDR_T memBase; /* Target main mem. base addr. */
  270.     UINT32 memSize; /* Target main mem. size       */
  271.     UINT32 numRegions; /* Number of mem. regions      */
  272.     WTX_MEM_REGION * memRegion; /* Mem. region descriptor(s)   */
  273.     TGT_ADDR_T hostPoolBase; /* Tgtsvr mem. pool            */
  274.     UINT32 hostPoolSize; /* Tgtsvr mem. pool size       */
  275.     } WTX_RT_INFO;
  276. /*
  277.  * The hasCoprocessor field is bit-significant, see definitions of
  278.  * WTX_FPP_MASK etc. in wtxtypes.h
  279.  */
  280. typedef struct wtx_agent_info /* Target agent information   */
  281.     {
  282.     char * agentVersion; /* WDB agent version          */
  283.     UINT32 mtu; /* Max. transfer size (bytes) */
  284.     UINT32 mode; /* Available agent modes      */
  285.     } WTX_AGENT_INFO;
  286. typedef struct wtx_tgt_info /* Target information          */
  287.     {
  288.     WTX_AGENT_INFO agentInfo; /* Info on the agent           */
  289.     WTX_RT_INFO rtInfo; /* Info on the run time system */
  290.     } WTX_TGT_INFO;
  291. typedef struct wtx_tgt_link_desc  /* Link descriptor        */
  292.     {
  293.     char * name; /* Target/host link name  */
  294.     UINT32 type; /* Target/host link type  */
  295.     UINT32 speed; /* Target/host link speed */
  296.     } WTX_TGT_LINK_DESC;
  297. typedef struct wtx_tool_desc /* Tool descriptor        */
  298.     {
  299.     UINT32 id; /* Unique tool identifier */
  300.     char * toolName; /* Tool name              */
  301.     char * toolArgv; /* Tool argv parameters   */
  302.     char * toolVersion; /* Tool version           */
  303.     char * userName; /* User name              */
  304.     void * pReserved; /* Reserved               */
  305.     struct wtx_tool_desc * next; /* ptr to next tool desc. */
  306.     } WTX_TOOL_DESC;
  307. typedef WTX_TOOL_DESC * TOOL_ID;
  308. typedef struct wtx_msg_ts_info /* TS information message     */
  309.     {
  310.     WTX_CORE wtxCore; /* WTX message core           */
  311.     WTX_TGT_LINK_DESC tgtLinkDesc; /* Target link descriptor     */
  312.     WTX_TGT_INFO tgtInfo; /* Info obtained from Target  */
  313.     WTX_TOOL_DESC * pWtxToolDesc; /* Info about attached Tools  */
  314.     char * version; /* Target Server version      */
  315.     char * userName; /* Target server user name    */
  316.     char * startTime; /* Target server start time   */
  317.     char * accessTime; /* Target server access time  */
  318.     char * lockMsg; /* Lock/authorization message */
  319.     void * pReserved; /* Reserved                   */
  320.     } WTX_MSG_TS_INFO;
  321. typedef struct wtx_msg_ts_lock /* Lock message     */
  322.     {
  323.     WTX_CORE wtxCore; /* WTX message core */
  324.     UINT32 lockType; /* Lock type to use */
  325.     } WTX_MSG_TS_LOCK;
  326. typedef struct wtx_msg_ts_unlock /* Unlock message           */
  327.     {
  328.     WTX_CORE wtxCore; /* WTX message core         */
  329.     BOOL32 force; /* Force unlock type to use */
  330.     } WTX_MSG_TS_UNLOCK;
  331. typedef struct wtx_msg_tool_desc  /* Tool desc. message */
  332.     {
  333.     WTX_CORE wtxCore; /* WTX message core   */
  334.     WTX_TOOL_DESC wtxToolDesc; /* Tool descriptor    */
  335.     } WTX_MSG_TOOL_DESC;
  336. typedef struct wtx_msg_tool_id /* Tool identifier message */
  337.     {
  338.     WTX_CORE wtxCore; /* WTX message core        */
  339.     } WTX_MSG_TOOL_ID;
  340. typedef struct wtx_msg_kill_desc /* Kill descriptor message    */
  341.     {
  342.     WTX_CORE wtxCore; /* WTX message core           */
  343.     UINT32 request; /* Object kill flag           */
  344.     WTX_VALUE arg; /* Object kill additional arg */
  345.     } WTX_MSG_KILL_DESC;
  346. typedef struct wtx_symbol /* Symbol descriptor           */
  347.     {
  348.     UINT32 status; /* Ret. val. for FIND request  */
  349.     UINT32 symTblId; /* Symbol table id             */ 
  350.     char * name; /* Symbol name                 */
  351.     BOOL32 exactName; /* FALSE if _name is OK        */
  352.     TGT_ADDR_T value; /* Symbol value                */
  353.     UINT8 type; /* Symbol type                 */
  354.     UINT8 typeMask; /* Symbol type mask for lookup */
  355.     UINT16 group; /* Symbol group                */
  356.     char * moduleName; /* Module name                 */
  357.     void * pReserved; /* Reserved                    */
  358.     struct wtx_symbol * next; /* ptr to next symbol in list  */
  359.     } WTX_SYMBOL;
  360. typedef struct wtx_msg_symbol_desc /* Symbol message   */
  361.     {
  362.     WTX_CORE wtxCore; /* WTX message core */
  363.     WTX_SYMBOL symbol; /* Symbol           */
  364.     } WTX_MSG_SYMBOL_DESC;
  365. typedef struct wtx_sym_list /* Symbol list          */
  366.     {
  367.     WTX_SYMBOL * pSymbol; /* Start of symbol list */
  368.     } WTX_SYM_LIST;
  369. typedef struct wtx_msg_sym_list /* Symbol list message           */
  370.     {
  371.     WTX_CORE wtxCore; /* WTX message core              */
  372.     WTX_SYM_LIST  symList; /* Symbol list                   */
  373.     BOOL32 moreToCome; /* TRUE if symbols are remaining */
  374.     } WTX_MSG_SYM_LIST;
  375. typedef struct wtx_msg_open_desc /* File opening descriptor    */
  376.     {
  377.     WTX_CORE wtxCore; /* WTX message core           */
  378.     char * filename; /* Filename                   */
  379.     WTX_OPEN_FLAG flags; /* Unix style open flags      */
  380.     INT32 mode; /* Unix style mode            */
  381.     INT32 channel; /* Channel id for redirection */
  382.     } WTX_MSG_OPEN_DESC;
  383. typedef struct wtx_msg_vio_ctl_desc /* VIO control descriptor */
  384.     {
  385.     WTX_CORE wtxCore;  /* WTX message core       */
  386.     INT32 channel; /* VIO channel number     */
  387.     UINT32 request; /* Control operation      */
  388.     UINT32 arg; /* Control argument       */
  389.     } WTX_MSG_VIO_CTL_DESC;
  390. typedef struct wtx_msg_vio_copy_desc /* Virtual I/O data          */
  391.     {
  392.     WTX_CORE wtxCore;  /* WTX message core          */
  393.     UINT32 channel; /* Virtual I/O channel       */
  394.     UINT32 maxBytes; /* Maximum bytes to transfer */
  395.     void * baseAddr; /* Base address of data      */
  396.     } WTX_MSG_VIO_COPY_DESC;
  397. typedef struct wtx_vio_file_desc /* Virtual file descriptor      */
  398.     {
  399.     char * name; /* File or device name          */
  400.     INT32 fd; /* File descriptor              */
  401.     INT32 channel; /* Channel for redirection      */
  402.     INT32 fp; /* File pointer for streams     */
  403.     INT32 type; /* File type                    */
  404.     INT32 mode; /* Open mode (O_RDONLY ...)     */
  405.     INT32 status; /* Open or closed               */
  406.     INT32 addlInfo; /* Extra info. (eg: process id) */
  407.     struct wtx_vio_file_desc * next; /* ptr to next desc. for list   */
  408.     } WTX_VIO_FILE_DESC;
  409. typedef struct wtx_msg_vio_file_list /* VIO files list message */
  410.     {
  411.     WTX_CORE wtxCore;  /* WTX message core       */
  412.     WTX_VIO_FILE_DESC * pVioFileList; /* VIO file list          */
  413.     } WTX_MSG_VIO_FILE_LIST;
  414. typedef struct ld_m_section /* Object module section desc. */
  415.     {
  416.     UINT32 flags; /* SEC_LOAD, etc.              */
  417.     TGT_ADDR_T addr;    /* Section address             */
  418.     UINT32 length; /* Section length              */
  419.     } LD_M_SECTION;
  420. typedef struct wtx_msg_ld_m_file_desc /* Object module file desc.  */ 
  421.     {
  422.     WTX_CORE     wtxCore; /* WTX message core          */
  423.     char *     filename; /* Object file name          */
  424.     INT32     loadFlag; /* Behavior control flags    */
  425.     UINT32    moduleId; /* Module identifier         */
  426.     UINT32     nSections; /* Number of sections        */
  427.     LD_M_SECTION *  section; /* Section description       */
  428.     WTX_SYM_LIST    undefSymList; /* List of undefined symbols */
  429.     } WTX_MSG_LD_M_FILE_DESC;
  430. typedef struct wtx_msg_module_list /* Object module list       */
  431.     {
  432.     WTX_CORE wtxCore; /* WTX message core         */
  433.     UINT32 numObjMod;  /* Number of module in list */
  434.     UINT32 *   modIdList;  /* List of object module id */
  435.     } WTX_MSG_MODULE_LIST;
  436. typedef struct obj_segment /* Object module segment */
  437.     {
  438.     UINT32 flags; /* Segment flags         */
  439.     TGT_ADDR_T addr; /* Segment address       */
  440.     UINT32 length; /* Segment length        */
  441.     UINT32 reserved1; /* Reserved              */
  442.     UINT32 reserved2; /* Reserved              */
  443.     } OBJ_SEGMENT;
  444. typedef struct wtx_msg_module_info /* Object module information */
  445.     {
  446.     WTX_CORE    wtxCore; /* WTX message core          */
  447.     UINT32    moduleId; /* Module Id                 */
  448.     char *    moduleName; /* Module name               */
  449.     char *    format; /* Object file format        */
  450.     UINT32    group; /* Group number              */
  451.     int    loadFlag; /* Flags used to load mod.   */
  452.     UINT32    nSegments; /* Number of segments        */
  453.     OBJ_SEGMENT * segment; /* Segment description       */
  454.     void *    pReserved; /* Reserved                  */
  455.     } WTX_MSG_MODULE_INFO;
  456. typedef struct wtx_msg_mod_name_or_id /* Module name or identifier */
  457.     {
  458.     WTX_CORE wtxCore; /* WTX message core          */
  459.     UINT32 moduleId; /* Module Id                 */
  460.     char * filename; /* Module file name          */
  461.     } WTX_MSG_MOD_NAME_OR_ID;
  462. typedef struct wtx_sym_tbl_info
  463.     {
  464.     UINT32 symTblId; /* Symbol table identifier */
  465.     UINT32 symNum; /* Number of symbols       */
  466.     BOOL32 sameNameOk; /* Name clash policy       */
  467.     } WTX_SYM_TBL_INFO;
  468. typedef struct wtx_msg_sym_tbl_info /* Symbol table information */
  469.     {
  470.     WTX_CORE wtxCore; /* WTX message core */
  471.     UINT32 symTblId; /* Symbol table identifier  */
  472.     UINT32 symNum; /* Number of symbols        */
  473.     BOOL32 sameNameOk; /* Name clash policy        */
  474.     } WTX_MSG_SYM_TBL_INFO;
  475. typedef struct wtx_msg_sym_match_desc /* Symbol lookup descriptor     */
  476.     {
  477.     WTX_CORE wtxCore; /* WTX message core             */
  478.     UINT32 symTblId; /* Symbol table to look at      */
  479.     BOOL32 matchString; /* Match string if TRUE, look   */
  480. /* Around adrs if FALSE         */
  481.     TGT_ADDR_T adrs; /* Addr. around which to look   */
  482.     char * stringToMatch; /* Substring to match           */
  483.     BOOL32 byModuleName; /* TRUE if module name is given */
  484.     union
  485. {
  486. UINT32 moduleId; /* Module identifier            */
  487. char * moduleName; /* or module name               */
  488. } module; 
  489.     BOOL32 listUnknownSym; /* Get unknown symbols if TRUE  */
  490.     BOOL32 giveMeNext; /* TRUE for a follow-up req     */
  491.     } WTX_MSG_SYM_MATCH_DESC;
  492. typedef struct wtx_event_desc /* WTX event desc.        */
  493.     {
  494.     char * event; /* Event descriptor       */
  495.     INT32 addlDataLen; /* Additional data length */
  496.     char * addlData; /* Additional data (VIO)  */
  497.     } WTX_EVENT_DESC;
  498. typedef struct wtx_msg_event_desc   /* Event message    */
  499.     {
  500.     WTX_CORE wtxCore; /* WTX message core */
  501.     WTX_EVENT_DESC eventDesc; /* Event descriptor */
  502.     } WTX_MSG_EVENT_DESC;
  503. typedef struct wtx_msg_event_reg_desc /* WTX event register desc.  */
  504.     {
  505.     WTX_CORE wtxCore; /* WTX message core          */
  506.     char * evtRegExp; /* Register event reg. expr. */
  507.     } WTX_MSG_EVENT_REG_DESC;
  508. typedef struct wtx_wdb_service_desc /* WDB service descriptor */
  509.     {
  510.     UINT32 rpcNum; /* RPC service number     */
  511.     char * name; /* Service name           */
  512.     char * svcObjFile; /* Module for new service */ 
  513.     char * initRtnName; /* Svc init. routine name */
  514.     } WTX_WDB_SERVICE_DESC;
  515. typedef struct wtx_wtx_service_desc /* WTX service descriptor    */
  516.     {
  517.     char * svcObjFile; /* xdr/service routines file */
  518.     char * svcProcName; /* Service procedure name    */
  519.     char * inProcName; /* Input xdr procedure name  */
  520.     char * outProcName; /* Output xdr procedure name */
  521.     } WTX_WTX_SERVICE_DESC;
  522. typedef struct wtx_msg_service_desc /* protocol service desc. */
  523.     {
  524.     WTX_CORE wtxCore;  /* WTX msg core  */
  525.     WTX_WTX_SERVICE_DESC * pWtxServiceDesc; /* WTX service   */
  526.     WTX_WDB_SERVICE_DESC * pWdbServiceDesc; /* WDB service   */
  527.     } WTX_MSG_SERVICE_DESC;
  528. typedef struct wtx_msg_service_list /* Protocol service list    */
  529.     {
  530.     WTX_CORE wtxCore; /* WTX message core         */
  531.     UINT32 nServices; /* Num. of services in list */
  532.     WTX_WDB_SERVICE_DESC *serviceDesc; /* Services list            */
  533.     } WTX_MSG_SERVICE_LIST;
  534. typedef struct wtx_console_desc  /* WTX Virtual console desc. */
  535.     {
  536.     INT32 fdIn; /* Stdin for redirection     */
  537.     INT32 fdOut; /* Stdout for redirection    */
  538.     INT32 pid; /* Process identifier        */
  539.     char * name; /* Console name              */
  540.     char * display; /* Display name eg: host:0   */
  541.     void * pReserved; /* Reserved                  */
  542.     } WTX_CONSOLE_DESC;
  543. typedef struct wtx_msg_console_desc /* WTX Virtual console desc. */
  544.     {
  545.     WTX_CORE wtxCore; /* WTX message core          */
  546.     WTX_CONSOLE_DESC wtxConsDesc; /* Console descriptor        */
  547.     } WTX_MSG_CONSOLE_DESC;
  548. typedef struct wtx_msg_mem_info   /* Memory information         */
  549.     {
  550.     WTX_CORE wtxCore; /* WTX message core           */
  551.     UINT32  curBytesFree; /* Number of free bytes       */
  552.     UINT32  curBytesAllocated; /* Cur. # of bytes alloc.     */
  553.     UINT32  cumBytesAllocated; /* Cum. # of bytes alloc.     */
  554.     UINT32  curBlocksFree; /* Cur. # of free blocks      */
  555.     UINT32  curBlocksAlloc; /* Cur. # of blocks alloc.    */
  556.     UINT32  cumBlocksAlloc; /* Cum. # of blocks alloc.    */
  557.     UINT32  avgFreeBlockSize; /* Average free blocks size   */
  558.     UINT32  avgAllocBlockSize; /* Average alloc. blocks size */
  559.     UINT32  cumAvgAllocBlockSize; /* Cum. avg alloc. block size */
  560.     UINT32  biggestBlockSize; /* Size of biggest block      */
  561.     void *  pReserved; /* Reserved                   */
  562.     } WTX_MSG_MEM_INFO;
  563. typedef struct wtx_mem_xfer /* Memory transfer           */
  564.     {
  565.     UINT32 numBytes; /* Num. of bytes to transfer */
  566.     TGT_ADDR_T destination; /* Destination address       */
  567.     char * source; /* Source address            */
  568.     } WTX_MEM_XFER;
  569. typedef struct wtx_msg_mem_xfer_desc /* Memory transfer message */
  570.     {
  571.     WTX_CORE wtxCore; /* WTX message core        */
  572.     WTX_MEM_XFER memXfer; /* Mem. transfer desc.     */
  573.     } WTX_MSG_MEM_XFER_DESC;
  574. typedef struct wtx_event /* Target event             */
  575.     {
  576.     WTX_EVENT_TYPE  eventType; /* Type of event            */
  577.     TGT_ARG_T     eventArg; /* Event type dependent arg */
  578.     } WTX_EVENT;
  579. typedef struct wtx_context /* Context desc.   */
  580.     {
  581.     WTX_CONTEXT_TYPE contextType; /* Type of context */
  582.     WTX_CONTEXT_ID_T contextId; /* Context ID      */
  583.     } WTX_CONTEXT;
  584. typedef struct wtx_action /* Action descriptor         */
  585.     {
  586.     WTX_ACTION_TYPE actionType; /* Action type to perform    */
  587.     UINT32 actionArg; /* Action dependent argument */
  588.     TGT_ADDR_T callRtn; /* Function to ACTION_CALL   */
  589.     TGT_ARG_T callArg; /* Function argument         */
  590.     } WTX_ACTION;
  591. typedef struct wtx_msg_context /* Context message  */
  592.     {
  593.     WTX_CORE wtxCore; /* WTX message core */
  594.     WTX_CONTEXT_TYPE contextType; /* Type of context  */
  595.     WTX_CONTEXT_ID_T contextId; /* Context ID       */
  596.     } WTX_MSG_CONTEXT;
  597. typedef struct wtx_evtpt /* Eventpoint desc.   */
  598.     {
  599.     WTX_EVENT event; /* Event to detect    */
  600.     WTX_CONTEXT context; /* Context descriptor */
  601.     WTX_ACTION action; /* Action to perform  */
  602.     } WTX_EVTPT;
  603. typedef struct wtx_msg_evtpt_desc /* Eventpoint message */
  604.     {
  605.     WTX_CORE wtxCore; /* WTX message core   */
  606.     WTX_EVTPT wtxEvtpt; /* Eventpoint         */
  607.     } WTX_MSG_EVTPT_DESC;
  608. typedef struct wtx_msg_evtpt_list   /* Eventpoint list message */
  609.     {
  610.     WTX_CORE wtxCore; /* WTX message core        */
  611.     UINT32 nEvtpt; /* Num. eventpoint in list */
  612.     WTX_EVTPT * pEvtpt; /* Eventpoint list         */
  613.     } WTX_MSG_EVTPT_LIST;
  614. typedef struct wtx_msg_reg_write /* Register(s) to set       */
  615.     {
  616.     WTX_CORE wtxCore; /* WTX message core         */
  617.     WTX_REG_SET_TYPE  regSetType; /* Type of register set     */
  618.     WTX_CONTEXT   context; /* Associated context       */
  619.     WTX_MEM_XFER  memXfer; /* New value of register(s) */
  620.     } WTX_MSG_REG_WRITE;
  621.   
  622. typedef struct WTX_MSG_REG_READ /* Register(s) to get       */
  623.     {
  624.     WTX_CORE      wtxCore; /* WTX message core         */
  625.     WTX_REG_SET_TYPE    regSetType; /* Type of register set     */
  626.     WTX_CONTEXT      context; /* Associated context       */
  627.     WTX_MEM_REGION   memRegion; /* Register block subregion */
  628.     } WTX_MSG_REG_READ;
  629. typedef struct wtx_msg_mem_block_desc /* Target memory block      */
  630.     {
  631.     WTX_CORE wtxCore; /* WTX message core         */
  632.     TGT_ADDR_T startAddr; /* Blocks starts from here  */
  633.     UINT32 numBytes; /* Number of bytes in block */
  634.     } WTX_MSG_MEM_BLOCK_DESC;
  635. typedef struct wtx_msg_mem_read_desc /* Target memory read desc. */
  636.     {
  637.     WTX_CORE wtxCore; /* WTX message core         */
  638.     TGT_ADDR_T source; /* Source mem. address      */
  639.     UINT32 destination; /* Destination mem. address */
  640.     UINT32 numBytes; /* Number of bytes to read  */
  641.     } WTX_MSG_MEM_READ_DESC;
  642. typedef struct wtx_msg_mem_copy_desc /* Target memory copy desc.   */
  643.     {
  644.     WTX_CORE wtxCore; /* WTX message core           */
  645.     UINT32 source; /* Encode from here           */
  646.     TGT_ADDR_T destination; /* Decode to here             */
  647.     UINT32 numBytes; /* Bytes to copy/bytes copied */
  648.     } WTX_MSG_MEM_COPY_DESC;
  649. typedef struct wtx_msg_mem_scan_desc /* Target memory scan desc.   */
  650.     {
  651.     WTX_CORE wtxCore; /* WTX message core           */
  652.     BOOL32 match; /* TRUE for matching pattern  */
  653.     TGT_ADDR_T startAddr; /* Start addr. for scanning   */
  654.     TGT_ADDR_T endAddr; /* End addr. for scanning     */
  655.     UINT32 numBytes; /* Number of bytes in pattern */
  656.     void * pattern; /* Byte pattern to look for   */
  657.     } WTX_MSG_MEM_SCAN_DESC;
  658. typedef struct wtx_msg_mem_move_desc /* Target memory move desc. */
  659.     {
  660.     WTX_CORE wtxCore; /* WTX message core         */
  661.     TGT_ADDR_T source; /* Copy from here           */
  662.     TGT_ADDR_T destination; /* To there                 */
  663.     UINT32 numBytes; /* Number of bytes to copy  */
  664.     } WTX_MSG_MEM_MOVE_DESC;
  665. typedef struct wtx_msg_mem_set_desc /* Memory setting desc.        */
  666.     {
  667.     WTX_CORE wtxCore; /* WTX message core            */
  668.     UINT32 value; /* Value to set                */
  669.     UINT8 width; /* Value width 1, 2 or 4 bytes */
  670.     TGT_ADDR_T startAddr; /* Set from here               */
  671.     UINT32 numItems; /* Number of items to set      */
  672.     } WTX_MSG_MEM_SET_DESC;
  673. typedef struct wtx_msg_context_desc /* Context creation desc. */
  674.     {
  675.     WTX_CORE wtxCore; /* WTX message core       */
  676.     WTX_CONTEXT_TYPE contextType; /* Type of context        */
  677.     WTX_RETURN_TYPE returnType; /* Int or double          */
  678.     char * name; /* Task name              */
  679.     UINT32 priority; /* Task priority          */
  680.     UINT32 options; /* Task options           */
  681.     TGT_ADDR_T stackBase; /* Base of stack          */
  682.     UINT32 stackSize; /* Stack size             */
  683.     TGT_ADDR_T entry; /* Context entry point    */
  684.     INT32 redirIn; /* Redir. in file or 0    */
  685.     INT32 redirOut; /* Redir. out file or 0   */
  686.     TGT_ARG_T args[WTX_MAX_ARG_CNT]; /* Arguments              */
  687.     void *  pReserved; /* Reserved               */
  688.     } WTX_MSG_CONTEXT_DESC;
  689. typedef struct wtx_msg_context_step_desc /* Single step desc.        */
  690.     {
  691.     WTX_CORE wtxCore; /* WTX message core          */
  692.     WTX_CONTEXT   context; /* Context to step           */
  693.     TGT_ADDR_T startAddr; /* Lower bound of step range */
  694.     TGT_ADDR_T endAddr; /* Upper bound of step range */
  695.     } WTX_MSG_CONTEXT_STEP_DESC;
  696. typedef struct wtx_gopher_tape /* Gopher tape    */
  697.     {
  698.     UINT16 len; /* Length of tape */
  699.     char * data; /* Tape data      */
  700.     } WTX_GOPHER_TAPE;
  701. typedef struct WTX_MSG_GOPHER_TAPE  /* Gopher tape message */
  702.     {
  703.     WTX_CORE wtxCore; /* WTX message core    */
  704.     WTX_GOPHER_TAPE tape; /* Gopher tape         */
  705.     } WTX_MSG_GOPHER_TAPE;
  706. typedef struct wtx_msg_wtxregd_pattern /* wtxregd pattern           */
  707.     {
  708.     WTX_CORE wtxCore; /* WTX message core          */
  709.     char * name; /* Pattern to match wpwrName */
  710.     char * type; /* Pattern to match wpwrType */
  711.     char * key; /* Pattern to match wpwrKey  */
  712.     } WTX_MSG_WTXREGD_PATTERN;
  713. typedef struct wtx_svr_desc /* Server descriptor    */
  714.     {
  715.     char * wpwrName; /* Name of wpwr service */
  716.     char * wpwrType; /* Type of service      */
  717.     char * wpwrKey; /* Unique service key   */
  718.     } WTX_SVR_DESC;
  719. typedef struct wtx_msg_svr_desc /* Server descriptor message */
  720.     {
  721.     WTX_CORE wtxCore; /* WTX message core          */
  722.     WTX_SVR_DESC wtxSvrDesc; /* Server Descriptor         */
  723.     } WTX_MSG_SVR_DESC;
  724. typedef struct wtx_svr_desc_q /* Server descriptor queue */
  725.     {
  726.     WTX_SVR_DESC     wtxSvrDesc; /* Server Descriptor       */
  727.     struct wtx_svr_desc_q * pNext; /* Next descriptor         */
  728.     } WTX_SVR_DESC_Q;
  729. typedef struct wtx_msg_svr_desc_q /* Server desc. queue message */
  730.     {
  731.     WTX_CORE   wtxCore; /* WTX message core           */
  732.     WTX_SVR_DESC_Q   wtxSvrDescQ; /* Server Descriptor Queue    */
  733.     } WTX_MSG_SVR_DESC_Q;
  734. typedef struct wtx_msg_dasm_desc /* Instructions desc. to match   */
  735.     {
  736.     WTX_CORE wtxCore; /* WTX message core              */
  737.     
  738.     TGT_ADDR_T startAddr; /* Disassembling start address   */
  739.     TGT_ADDR_T endAddr; /* Disassembling end address     */
  740.     UINT32 nInst; /* Number of instructions to get */
  741.     BOOL32 printAddr; /* Prepends instruction address  */
  742.     BOOL32 printOpcodes; /* Prepends instruction opcodes  */
  743.     BOOL32 giveMeNext; /* TRUE for a follow-up req      */
  744.     BOOL32 hexAddr; /* Turn off "symbolic + offset"  */
  745.     } WTX_MSG_DASM_DESC;
  746. typedef struct wtx_dasm_inst_list /* Instructions list             */
  747.     {
  748.     char * pInst; /* Start of inst list            */
  749.     UINT32 nextInst; /* Next instruction address      */
  750.     UINT32 listSize; /* List size                     */
  751.     } WTX_DASM_INST_LIST;
  752. typedef struct wtx_msg_dasm_inst_list /* Instructions list message     */
  753.     {
  754.     WTX_CORE wtxCore; /* WTX message core              */
  755.     WTX_DASM_INST_LIST  instList; /* Symbol list                   */
  756.     BOOL32 moreToCome; /* TRUE if instructions remain   */
  757.     } WTX_MSG_DASM_INST_LIST;
  758. typedef struct wtx_msg_mem_width_read_desc  /* Target memory read desc. */
  759.     {
  760.     WTX_CORE            wtxCore;        /* WTX message core             */
  761.     TGT_ADDR_T          source;         /* Source mem. address          */
  762.     UINT32              destination;    /* Destination mem. address     */
  763.     UINT32              numBytes;       /* Number of bytes to read      */
  764.     UINT8               width;          /* Value width 1, 2 or 4 bytes  */
  765.     } WTX_MSG_MEM_WIDTH_READ_DESC;
  766. typedef struct wtx_msg_mem_width_copy_desc  /* Target memory copy desc. */
  767.     {
  768.     WTX_CORE            wtxCore;        /* WTX message core             */
  769.     UINT32              source;         /* Encode from here             */
  770.     TGT_ADDR_T          destination;    /* Decode to here               */
  771.     UINT32              numBytes;       /* Bytes to copy/bytes copied   */
  772.     UINT8               width;          /* Value width 1, 2 or 4 bytes  */
  773.     } WTX_MSG_MEM_WIDTH_COPY_DESC;
  774. typedef struct wtx_msg_log_ctrl         /* Logging control message */
  775.     {
  776.     WTX_CORE wtxCore;                   /* WTX message core        */
  777.     WTX_SVC_TYPE    svcDesc;            /* Service type and action */
  778.     WTX_VALUE       svcParam;           /* Parameter needed        */
  779.     int             svcValue;           /* Extra parameter         */
  780.     } WTX_MSG_LOG_CTRL;
  781. typedef struct wtx_event_node           /* WTX event node desc.   */
  782.     {
  783.     struct wtx_event_desc    event;     /* Event descriptor       */
  784.     struct wtx_event_node *  pNext;     /* ptr to the next event  */
  785.     } WTX_EVENT_NODE;
  786. typedef struct wtx_msg_event_list       /* Message for all events */
  787.     {
  788.     WTX_CORE            wtxCore;        /* WTX message core       */
  789.     WTX_EVENT_NODE *    pEventList;     /* List of events         */
  790.     } WTX_MSG_EVENT_LIST;
  791. typedef struct wtx_ld_m_file_desc       /* Object module file desc.  */
  792.     {
  793.     char *              filename;       /* Object file name          */
  794.     INT32               loadFlag;       /* Behavior control flags    */
  795.     UINT32              moduleId;       /* Module identifier         */
  796.     UINT32              nSections;      /* Number of sections        */
  797.     LD_M_SECTION *      section;        /* Section description       */
  798.     WTX_SYM_LIST        undefSymList;   /* List of undefined symbols */
  799.     } WTX_LD_M_FILE_DESC;
  800. typedef struct wtx_msg_file_load_desc       /* File descriptor      */
  801.     {
  802.     WTX_CORE                    wtxCore;    /* WTX message core     */
  803.     struct wtx_ld_m_file_desc   fileDesc;   /* Obj mod file desc    */
  804.     char *                      buffer;     /* Slice of file        */
  805.     UINT32 flags;     /* Load mode flag     */
  806.     INT32                       numItems;   /* Number of items sent */
  807.     INT32                       fileSize;   /* File size            */
  808.     INT32                       numPacket;  /* Current packet sent  */
  809.     } WTX_MSG_FILE_LOAD_DESC;
  810. typedef struct wtx_event_2              /* Target event version 2 */
  811.     {
  812.     WTX_EVENT_TYPE      eventType;      /* type of event          */
  813.     UINT32              numArgs;        /* Number of arguments    */
  814.     TGT_ARG_T *         args;           /* List of arguments      */
  815.     } WTX_EVENT_2;
  816. typedef struct wtx_evtpt_2              /* Eventpoint desc. version 2 */
  817.     {
  818.     WTX_EVENT_2         event;          /* Event to detect version 2  */
  819.     WTX_CONTEXT         context;        /* Context descriptor         */
  820.     WTX_ACTION          action;         /* Action to perform          */
  821.     } WTX_EVTPT_2;
  822. typedef struct wtx_evtpt_info /* Eventpoint info */
  823.     {
  824.     WTX_EVTPT_2 wtxEvtpt; /* Eventpoint descriptor */
  825.     UINT32 toolId; /* Tool identifier  */
  826.     UINT32 evtptNum; /* Eventpoint identifier */
  827.     void * pReserved1; /* Reserved  */
  828.     void * pReserved2; /* Reserved  */
  829.     } WTX_EVTPT_INFO;
  830. typedef struct wtx_msg_evtpt_desc_2     /* Eventpoint message version 2 */
  831.     {
  832.     WTX_CORE            wtxCore;        /* WTX message core             */
  833.     WTX_EVTPT_2         wtxEvtpt;       /* Eventpoint version 2         */
  834.     } WTX_MSG_EVTPT_DESC_2;
  835. typedef struct wtx_msg_evtpt_list_2 /* Eventpoint list message */
  836.     {
  837.     WTX_CORE            wtxCore;        /* WTX message core        */
  838.     UINT32              nEvtpt;         /* Num. eventpoint in list */
  839.     WTX_EVTPT_INFO *    pEvtptInfo;     /* Eventpoint info list    */
  840.     } WTX_MSG_EVTPT_LIST_2;
  841. #ifdef __cplusplus
  842. }
  843. #endif
  844. #endif /* __INCwtxmsgh */