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

VxWorks

开发平台:

C/C++

  1. /* windLibP.h - VxWorks kernel header file */
  2. /* Copyright 1984-2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01d,22may02,jgn  move vxTicks & vxAbsTicks here - SPR #70255
  7. 01c,22sep92,rrr  added support for c++
  8. 01b,19jul92,pme  added windReadyQPut() and windReadyQRemove().
  9.  windPendQPut(), windDelete(), windPendQRemove() return STATUS.
  10. 01a,04jul92,jcf  extracted from wind.h.
  11. */
  12. #ifndef __INCwindLibPh
  13. #define __INCwindLibPh
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #include "vxWorks.h"
  18. #include "vwModNum.h"
  19. #include "qLib.h"
  20. #include "taskLib.h"
  21. #include "semLib.h"
  22. #include "private/wdLibP.h"
  23. /* variable declarations */
  24. extern BOOL   kernelState; /* mutex to enter kernel state */
  25. extern BOOL   kernelIsIdle; /* boolean reflecting idle state */
  26. extern ULONG    vxTicks;                /* relative time counter */
  27. extern UINT64 vxAbsTicks; /* absolute time counter */
  28. /* function declarations */
  29. #if defined(__STDC__) || defined(__cplusplus)
  30. extern void windSpawn (WIND_TCB *pTcb);
  31. extern STATUS windDelete (WIND_TCB *pTcb);
  32. extern void windSuspend (WIND_TCB *pTcb);
  33. extern void windResume (WIND_TCB *pTcb);
  34. extern void windPriNormalSet (WIND_TCB *pTcb, UINT priNormal);
  35. extern void windPrioritySet (WIND_TCB *pTcb, UINT priority);
  36. extern void windSemDelete (SEM_ID semId);
  37. extern void windTickAnnounce (void);
  38. extern STATUS windDelay (int timeout);
  39. extern STATUS windUndelay (WIND_TCB *pTcb);
  40. extern STATUS windWdStart (WDOG *wdId, int timeout);
  41. extern void windWdCancel (WDOG *wdId);
  42. extern void windPendQGet (Q_HEAD *pQHead);
  43. extern void windReadyQPut (WIND_TCB * pTcb);
  44. extern void windReadyQRemove (Q_HEAD *pQHead, int timeout);
  45. extern void windPendQFlush (Q_HEAD *pQHead);
  46. extern STATUS windPendQPut (Q_HEAD *pQHead, int timeout);
  47. extern STATUS windPendQRemove (WIND_TCB *pTcb);
  48. extern void windPendQTerminate (Q_HEAD *pQHead);
  49. extern STATUS windExit ();
  50. extern void windIntStackSet (char *pBotStack);
  51. extern void vxTaskEntry ();
  52. extern void intEnt ();
  53. extern void intExit ();
  54. extern UINT64 tick64Get ();
  55. extern void tick64Set (UINT64 ticks);
  56. #else
  57. extern void windSpawn ();
  58. extern STATUS windDelete ();
  59. extern void windSuspend ();
  60. extern void windResume ();
  61. extern void windPriNormalSet ();
  62. extern void windPrioritySet ();
  63. extern void windSemDelete ();
  64. extern void windTickAnnounce ();
  65. extern STATUS windDelay ();
  66. extern STATUS windUndelay ();
  67. extern STATUS windWdStart ();
  68. extern void windWdCancel ();
  69. extern void windPendQGet ();
  70. extern void windReadyQPut ();
  71. extern void windReadyQRemove ();
  72. extern void windPendQFlush ();
  73. extern STATUS windPendQPut ();
  74. extern STATUS windPendQRemove ();
  75. extern void windPendQTerminate ();
  76. extern STATUS windExit ();
  77. extern void windIntStackSet ();
  78. extern void vxTaskEntry ();
  79. extern void intEnt ();
  80. extern void intExit ();
  81. extern UINT64 tick64Get ();
  82. extern void tick64Set ();
  83. #endif /* __STDC__ */
  84. #ifdef __cplusplus
  85. }
  86. #endif
  87. #endif /* __INCwindLibPh */