osp.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __OSP_H__
  2. #define __OSP_H__
  3. #include "gendef.h"
  4. typedef enum
  5. {
  6. Ret_OK,
  7. Ret_NoMem,
  8. Ret_ParErr,
  9. Ret_Timeout,
  10. Ret_Fail
  11. }KB_OSPRet;
  12. typedef enum
  13. {
  14. KB_Wait,
  15. KD_NoWait
  16. }KB_OSPWaitMode;
  17. typedef enum
  18. {
  19. J_OSP_WAIT_FIFO,
  20. J_OSP_WAIT_PRIO
  21. }KB_OSPQueMode;
  22. typedef struct
  23. {
  24. UINT32 Word1;
  25. UINT32 Word2;
  26. UINT32 Word3;
  27. UINT32 Word4;
  28. }KB_OSPMsgNode;
  29. typedef struct T_TaskInfo_st OSP_TaskInfo;
  30. struct T_TaskInfo_st
  31. {
  32. task_t *pTask;
  33. tdesc_t *pTaskDesc;
  34. UINT8  *pTaskStack;
  35. OSP_TaskInfo *pNext;
  36. };
  37. typedef struct T_QueueInfo_st T_OSP_QueueInfo;
  38. struct T_QueueInfo_st
  39. {
  40. message_queue_t *pQueueId;
  41. void *pQueueBuf;
  42. T_OSP_QueueInfo *pNext;
  43. };
  44. #ifdef ST_OS21
  45. #define MS_TO_TICKS(X) ((X)*(time_ticks_per_sec()/1000))
  46. #else
  47. #define MS_TO_TICKS(X) ((X)*(ST_GetClocksPerSecond()/1000))
  48. #endif
  49. KB_OSPRet KB_OSPInit(void);
  50. KB_OSPRet KB_OSPTaskInit(const char* pName,UINT32 dStackSize,void (*entryPoint)(void*),
  51. INT32 dPriority,void *pPara,UINT32 *pTaskId);
  52. KB_OSPRet KB_OSPTaskDel(UINT32 dTaskId);
  53. KB_OSPRet KB_OSPTaskSetPri(UINT32 dTaskId, INT32 dPriority);
  54. UINT32 KB_OSPTaskGetID(void);
  55. KB_OSPRet KB_OSPTaskDelay(UINT32 dMilliSeconds);
  56. KB_OSPRet KB_OSPTaskSus(UINT32 dTaskId);
  57. KB_OSPRet KB_OSPTaskRes(UINT32 dTaskId);
  58. KB_OSPRet KB_OSPQueInit(const char* pName,UINT32 dMaxMessages,UINT32 *pQueueId);
  59. KB_OSPRet KB_OSPSemDel(UINT32 nSemId);
  60. KB_OSPRet KB_OSPQueDel(UINT32 nQueID);
  61. KB_OSPRet KB_OSPMsgSend(UINT32 nQueID,KB_OSPMsgNode *pMsgNode);
  62. KB_OSPRet KB_OSPSemSet(UINT32 nSemId);
  63. KB_OSPRet KB_OSPMsgGet(UINT32 nQueID,KB_OSPWaitMode nWaitMode,UINT32 nTime,KB_OSPMsgNode *pMsgNode);
  64. KB_OSPRet KB_OSPSemInit(const char* pName,UINT32 nSemMax,KB_OSPQueMode nQueMode,UINT32 *pSemID);
  65. KB_OSPRet KB_OSPSemGet(UINT32 nSemId,KB_OSPWaitMode nWaitMode,UINT32 nTime);
  66. void* KB_OSPMalloc(UINT32 dSize);
  67. KB_OSPRet KB_OSPFree(void *pFree);
  68. void InserQueueNode(T_OSP_QueueInfo *node);
  69. #endif
  70. /*EOF*/