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

VxWorks

开发平台:

C/C++

  1. /* wdbEvtLib.h - header file for remote debug events */
  2. /* Copyright 1984-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01f,25apr02,jhw  Added C++ support (SPR 76304).
  7. 01e,12feb99,dbt  use wdb/ prefix to include wdb.h header file.
  8. 01d,04feb98,dbt  moved eventpoint handling to wdbEvtptLib.h
  9. 01c,07jun95,ms added prototype for wdbEvtptDeleteAll
  10. 01b,05apr95,ms  new data types.
  11. 01a,20sep94,ms  written.
  12. */
  13. #ifndef __INCwdbEvtLibh
  14. #define __INCwdbEvtLibh
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. /* includes */
  19. #include "wdb/dll.h"
  20. #include "wdb/wdb.h"
  21. /* data types */
  22. typedef struct /* hidden */
  23.     {
  24.     dll_t evt_list;
  25.     WDB_EVT_TYPE evt_type;
  26.     UINT32    (*evt_eventAdd) (WDB_EVTPT_ADD_DESC *pEvtpt, UINT32 *pId);
  27.     UINT32    (*evt_eventDel) (TGT_ADDR_T *pId);
  28.     } WDB_EVT_CLASS;
  29. typedef struct
  30.     {
  31.     dll_t node;
  32.     BOOL onQueue;
  33.     void        (*getEvent)     (void *arg, WDB_EVT_DATA *pEvtData);
  34.     void        (*deq)          (void *arg);
  35.     void *      arg;
  36.     } WDB_EVT_NODE;
  37. /* function prototypes */
  38. #if defined(__STDC__)
  39. extern void    wdbEventNodeInit (WDB_EVT_NODE * pEvtNode,
  40. void (*getEvent) (void *arg, WDB_EVT_DATA *pEvtData),
  41. void (*deq) (void *arg),
  42. void *arg);
  43. extern void    wdbEventPost (WDB_EVT_NODE * pEvtNode);
  44. extern STATUS wdbEventDeq (WDB_EVT_NODE * pEvtNode);
  45. extern void    wdbEventClassConnect (WDB_EVT_CLASS * pEvtList);
  46. extern BOOL  (*__wdbEventListIsEmpty) (void);
  47. extern void (*__wdbEvtptDeleteAll) (void);
  48. #else  /* defined(__STDC__) */
  49. extern void    wdbEventNodeInit ();
  50. extern void    wdbEventPost ();
  51. extern STATUS wdbEventDeq ();
  52. extern void    wdbEventClassConnect ();
  53. extern BOOL  (*__wdbEventListIsEmpty) ();
  54. extern void (*__wdbEvtptDeleteAll) ();
  55. #endif /* defined(__STDC__) */
  56. #define wdbEventListIsEmpty() (__wdbEventListIsEmpty == NULL ? TRUE : 
  57. (*__wdbEventListIsEmpty)())
  58. #define wdbEvtptDeleteAll() {if (__wdbEvtptDeleteAll != NULL)
  59.      (*__wdbEvtptDeleteAll)();}
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif  /* __INCwdbEvtLibh */