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

VxWorks

开发平台:

C/C++

  1. /* mqPxLibP.h - private POSIX message queue library header */
  2. /* Copyright 1984-1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,24mar99,elg  mqLibInit() must be in mqueue.h (SPR 20532).
  7. 01c,03feb94,kdl  moved structure definitions from mqPxLib.c.
  8. 01b,12jan94,kdl  changed mqLibInit() to mqPxLibInit(); added defines for
  9.  default queue and message size.
  10. 01a,02dec93,dvs  written
  11. */
  12. #ifndef __INCmqPxLibPh
  13. #define __INCmqPxLibPh
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #include "vxWorks.h"
  18. #include "mqueue.h"
  19. #include "objLib.h"
  20. #include "qLib.h"
  21. #include "symLib.h"
  22. #include "private/sigLibP.h"
  23. /* defines */
  24. #define MQ_HASH_SIZE_DEFAULT 6 /* default hash size */
  25. #define MQ_NUM_MSGS_DEFAULT 16 /* default messages per queue */
  26. #define MQ_MSG_SIZE_DEFAULT 16 /* default message size in bytes */
  27. struct mq_des
  28.     {
  29.     OBJ_CORE f_objCore;
  30.     int f_flag;
  31.     struct msg_que *f_data;
  32.     };
  33. struct msg_que
  34.     {
  35.     Q_HEAD msgq_cond_read;
  36.     Q_HEAD msgq_cond_data;
  37.     SYMBOL msgq_sym;
  38.     int msgq_sigTask;
  39.     struct sigpend msgq_sigPend;
  40.     unsigned long msgq_links;
  41.     unsigned long msgq_bmap;
  42.     struct sll_node *msgq_data_list[32];
  43.     struct sll_node *msgq_free_list;
  44.     struct mq_attr msgq_attr;
  45.     };
  46. struct sll_node
  47.     {
  48.     struct sll_node *sll_next;
  49.     size_t sll_size;
  50.     };
  51. #ifdef __cplusplus
  52. }
  53. #endif
  54. #endif /* __INCmqPxLibPh */