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

VxWorks

开发平台:

C/C++

  1. /* msgQDistLib.h - distributed message queue library header (VxFusion) */
  2. /* Copyright 1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,18feb99,drm  Added error code S_msgQDistLib_OVERALL_TIMEOUT
  7. 01b,12aug98,drm  removed #include of private files
  8. 01a,06jun97,ur   written.
  9. */
  10. #ifndef __INCmsgQDistLibh
  11. #define __INCmsgQDistLibh
  12. #include "vxWorks.h"
  13. #include "vwModNum.h"
  14. #include "msgQLib.h"
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif /* __cplusplus */
  18. /* defines */
  19. #define DIST_MSG_PRI_0 ((VX_TYPE_DIST_OBJ << 8) | 0x0) /* highest priority */
  20. #define DIST_MSG_PRI_1 ((VX_TYPE_DIST_OBJ << 8) | 0x1) /* priority 1 */
  21. #define DIST_MSG_PRI_2 ((VX_TYPE_DIST_OBJ << 8) | 0x2) /* priority 2 */
  22. #define DIST_MSG_PRI_3 ((VX_TYPE_DIST_OBJ << 8) | 0x3) /* priority 3 */
  23. #define DIST_MSG_PRI_4 ((VX_TYPE_DIST_OBJ << 8) | 0x4) /* priority 4 */
  24. #define DIST_MSG_PRI_5 ((VX_TYPE_DIST_OBJ << 8) | 0x5) /* priority 5 */
  25. #define DIST_MSG_PRI_6 ((VX_TYPE_DIST_OBJ << 8) | 0x6) /* priority 6 */
  26. #define DIST_MSG_PRI_7 ((VX_TYPE_DIST_OBJ << 8) | 0x7) /* lowest priority */
  27. #define S_msgQDistLib_INVALID_PRIORITY (M_msgQDistLib | 1) /* error code */
  28. #define S_msgQDistLib_INVALID_MSG_LENGTH (M_msgQDistLib | 2) /* error code */
  29. #define S_msgQDistLib_INVALID_TIMEOUT (M_msgQDistLib | 3) /* error code */
  30. #define S_msgQDistLib_NOT_GROUP_CALLABLE (M_msgQDistLib | 4) /* error code */
  31. #define S_msgQDistLib_RMT_MEMORY_SHORTAGE (M_msgQDistLib | 5) /* error code */
  32. #define S_msgQDistLib_OVERALL_TIMEOUT (M_msgQDistLib | 6) /* error code */
  33. /* function declarations */
  34. #if defined(__STDC__) || defined(__cplusplus)
  35. void msgQDistLibInit (void);
  36. STATUS msgQDistInit (int msgQDistMax);
  37. MSG_Q_ID msgQDistCreate (int maxMsgs, int maxMsgLength, int options);
  38. STATUS msgQDistSend (MSG_Q_ID msgQId, char *buffer, UINT nBytes,
  39. int msgQTimeout, int overallTimeout, int priority);
  40. int msgQDistReceive (MSG_Q_ID msgQId, char *buffer,
  41. UINT maxNBytes, int msgQTimeout, int overallTimeout);
  42. int msgQDistNumMsgs (MSG_Q_ID msgQId, int overallTimeout);
  43. #else   /* __STDC__ */
  44. void msgQDistLibInit ();
  45. STATUS msgQDistInit ();
  46. MSG_Q_ID msgQDistCreate ();
  47. STATUS msgQDistSend ();
  48. int msgQDistReceive ();
  49. int msgQDistNumMsgs ();
  50. #endif  /* __STDC__ */
  51. #ifdef __cplusplus
  52. }
  53. #endif /* __cplusplus */
  54. #endif /* __INCmsgQDistLibh */