fyf_queue.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:4k
源码类别:

数据库系统

开发平台:

C/C++

  1. /******************************************************************************/
  2. /*    Copyright (c) 2008 Embedded Internet Solutions, Inc                     */
  3. /*    All rights reserved. You are not allowed to copy or distribute          */
  4. /*    the code without permission.                                            */
  5. /*    This is the demo implenment of the Porting APIs needed by            */
  6. /*    MiddleWare.                                                             */
  7. /*    Maybe you should modify it accorrding to Platform.                      */
  8. /*                                                                            */
  9. /*    $author szhy 2008/07/03                                              */
  10. /******************************************************************************/
  11. #ifndef __FYF_QUEUE_H__
  12. #define __FYF_QUEUE_H__
  13. typedef struct
  14. {
  15. unsigned int qlstWordOfMsg;
  16. unsigned int q2ndWordOfMsg;
  17. unsigned int q3rdWordOfMsg;
  18. unsigned int q4thWordOfMsg;
  19. }FYF_QUEUE_MESSAGE;
  20. typedef struct
  21. {
  22. BU32 (*FYF_CPI_queue_create)(const PU08 name,BU32 len,BU32 wait_mode);
  23. BS32 (*FYF_CPI_queue_destroy)(BU32 handle);
  24. BS32 (*FYF_CPI_queue_send)(BU32 handle,FYF_QUEUE_MESSAGE *msg);
  25. BS32 (*FYF_CPI_queue_recv)(BU32 handle,FYF_QUEUE_MESSAGE *mgs,
  26. BS32 wait_time);
  27. }FYF_QUEUE_PORTING; 
  28. /******************************************************************************/
  29. /*Description: register queue                                                 */
  30. /*Input      : porting   */
  31. /*Output     : no                                                             */
  32. /*Return     : no                                           */
  33. /******************************************************************************/
  34. void FYF_API_queue_register(FYF_QUEUE_PORTING *porting);
  35. /******************************************************************************/
  36. /*Description: message queue create                                           */
  37. /*Input      : max queue length, wait mode                                    */
  38. /*Output     : no                                                             */
  39. /*Return     : >0 success, <=0 failure                                        */
  40. /******************************************************************************/
  41. BU32 FYF_API_queue_create(const PU08 name,BU32 len,BU32 wait_mode);
  42.  /******************************************************************************/
  43. /*Description: message queue destroy                                           */
  44. /*Input      : queue handle                                                    */
  45. /*Output     : no                                                              */
  46. /*Return     : 0 success, -1 failure                                           */
  47. /*******************************************************************************/ 
  48. BS32 FYF_API_queue_destroy(BU32 handle);
  49. /******************************************************************************/
  50. /*Description: message queue send                                             */
  51. /*Input      : queue handle, message                                          */
  52. /*Output     : no                                                             */
  53. /*Return     : 0 success, -1 failure                                          */
  54. /******************************************************************************/
  55. BS32 FYF_API_queue_send(BU32 handle,FYF_QUEUE_MESSAGE * msg);
  56. /******************************************************************************/
  57. /*Description: message queue receive                                          */
  58. /*Input      : queue handle, address to record message, wait mode, wait time  */
  59. /*Output     : no                                                             */
  60. /*Return     : FYF_OS_QUEUE_SEM_STATUS_AVAILABLE success,                     */
  61. /*             FYF_OS_QUEUE_SEM_STATUS_UNAVAILABLE failure                    */
  62. /******************************************************************************/   
  63. BS32 FYF_API_queue_recv(BU32 handle,FYF_QUEUE_MESSAGE * msg,BS32 wait_time);
  64. #endif