msgQSmLib.h
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* msgQSmLib.h - shared message queue library header file */
  2. /* Copyright 1984-1992 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,29sep92,pme  removed msgQSmNumMsgs(), msgQSmSend(), msgQSmReceived()
  7.  and msgQSmInfoGet() functions prototypes.
  8. 01b,22sep92,rrr  added support for c++
  9. 01a,19jul92,pme  cleaned up according to code review.
  10.                  written.
  11. */
  12. #ifndef __INCmsgQSmLibh
  13. #define __INCmsgQSmLibh
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #include "vxWorks.h"
  18. #include "vwModNum.h"
  19. #include "msgQLib.h"
  20. /* typedefs */
  21. typedef struct sm_msg_q * SM_MSG_Q_ID; /* shared message queue ID */
  22. /* macros */
  23. /* The following macro determines the number of bytes needed to buffer
  24.  * a message of the specified length.  The node size is rounded up for
  25.  * efficiency an alignement.  The total buffer space required for a pool for
  26.  * <maxMsgs> messages each of up to <maxMsgLength> bytes is:
  27.  *
  28.  *     maxMsgs * SM_MSG_NODE_SIZE (maxMsgLength)
  29.  */
  30. #define SM_MSG_NODE_SIZE(msgLength)
  31. (((sizeof (SM_MSG_NODE) + msgLength) + 3) & ~3)
  32. /* function declarations */
  33. #if defined(__STDC__) || defined(__cplusplus)
  34. extern MSG_Q_ID  msgQSmCreate (int maxMsgs, int maxMsgLength, int options);
  35. extern void      msgQSmShowInit ();
  36. #else   /* __STDC__ */
  37. extern MSG_Q_ID  msgQSmCreate ();
  38. extern void      msgQSmShowInit ();
  39. #endif  /* __STDC__ */
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif /* __INCmsgQSmLibh */