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

VxWorks

开发平台:

C/C++

  1. /* eventLib.h - events library header file */
  2. /* Copyright 2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,15jan02,bwa  Removed events 25 to 32 from list of events available to user.
  7. 01c,13nov01,bwa  Changed EVENTxx defs to VXEVxx.
  8. 01b,17oct01,bwa  Added #include "vwModNum.h". Added 2 errnos.
  9. 01a,20sep01,bwa  Created
  10. */
  11. #ifndef __INCeventLibh
  12. #define __INCeventLibh
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "vxWorks.h"
  17. #include "vwModNum.h"
  18. /* errnos */
  19. #define S_eventLib_TIMEOUT (M_eventLib | 0x0001)
  20. #define S_eventLib_NOT_ALL_EVENTS (M_eventLib | 0x0002)
  21. #define S_eventLib_ALREADY_REGISTERED (M_eventLib | 0x0003)
  22. #define S_eventLib_EVENTSEND_FAILED (M_eventLib | 0x0004)
  23. #define S_eventLib_ZERO_EVENTS (M_eventLib | 0x0005)
  24. #define S_eventLib_TASK_NOT_REGISTERED (M_eventLib | 0x0006)
  25. #define S_eventLib_NULL_TASKID_AT_INT_LEVEL (M_eventLib | 0x0007)
  26. /* options */
  27. #define EVENTS_WAIT_ALL 0x00 /* wait for all events to occur */
  28. #define EVENTS_WAIT_ANY 0x01 /* wait for one of many events  */
  29. #define EVENTS_RETURN_ALL 0x02 /* return all events received   */
  30. #define EVENTS_FETCH 0x80 /* return events received immediately */
  31. /* resource-related options */
  32. #define EVENTS_OPTIONS_NONE 0x00
  33. #define EVENTS_SEND_ONCE 0x01  /* unregister events after eventSend   */
  34. #define EVENTS_ALLOW_OVERWRITE 0x02  /* can overwrite previous registration */
  35. #define EVENTS_SEND_IF_FREE 0x04  /* send events in xxxEvStart()         */
  36. /*
  37.  * Defines for all 24 events available to users. Events 25 to 32 are reserved
  38.  * for system use and should never be used outside of that scope
  39.  */
  40. #define VXEV01 0x00000001
  41. #define VXEV02 0x00000002
  42. #define VXEV03 0x00000004
  43. #define VXEV04 0x00000008
  44. #define VXEV05 0x00000010
  45. #define VXEV06 0x00000020
  46. #define VXEV07 0x00000040
  47. #define VXEV08 0x00000080
  48. #define VXEV09 0x00000100
  49. #define VXEV10 0x00000200
  50. #define VXEV11 0x00000400
  51. #define VXEV12 0x00000800
  52. #define VXEV13 0x00001000
  53. #define VXEV14 0x00002000
  54. #define VXEV15 0x00004000
  55. #define VXEV16 0x00008000
  56. #define VXEV17 0x00010000
  57. #define VXEV18 0x00020000
  58. #define VXEV19 0x00040000
  59. #define VXEV20 0x00080000
  60. #define VXEV21 0x00100000
  61. #define VXEV22 0x00200000
  62. #define VXEV23 0x00400000
  63. #define VXEV24 0x00800000
  64. #define VXEV_USER_MASK 0x00ffffff
  65. #ifndef _ASMLANGUAGE
  66. /* function declaration */
  67. #if defined(__STDC__) || defined(__cplusplus)
  68. extern STATUS eventSend (int taskId, UINT32 events);
  69. extern STATUS eventReceive (
  70.     UINT32 events,
  71.     UINT8 options,
  72.     int timeout,
  73.     UINT32 *eventsReceived
  74.    );
  75. extern STATUS eventClear (void);
  76. #else
  77. extern STATUS eventSend ();
  78. extern STATUS eventReceive ();
  79. extern STATUS eventClear ();
  80. #endif
  81. #endif /* _ASMLANGUAGE */
  82. #ifdef __cplusplus
  83. }
  84. #endif
  85. #endif /* __INCeventLibh */