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

VxWorks

开发平台:

C/C++

  1. /* evtLogLibP.h - event log header */
  2. /* Copyright 1994-2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01k,09may02,pcm  added preceding underscore to ASMLANGUAGE
  7. 01j,18oct01,tcr  update for VxWorks 5.5
  8. 01i,17feb98,pr   changed prototype for evtLogO and evtLogOInt.
  9. 01h,02feb98,nps  Allow inclusion in (68k) assembler source.
  10. 01g,27jan98 cth  added BEGIN, CONFIG, BUFFER, END sizes, added function 
  11.  declarations, updated copyright
  12. 01f,31jul97 nps  WindView 2.0 -
  13.                  EVTLOG_STR_SIZE was incorrectly defined as 18, should be 22.
  14. 01e,14dec94 rdc  mods for am29k.
  15. 01d,28nov94 rdc  mods for x86.
  16. 01c,05may94,smb  corrected macro name EVTLOG_T1_SIZE
  17. 01b,12jan94,c_s  made EVTLOG_*_SIZE constants architecture-specific; commented
  18.            +maf    them, and added definition of MAX_KERNEL_EVENT_SIZE.
  19.            SPR #2840.
  20. 01a,10dec93,smb  written.
  21. */
  22. #ifndef __INCevtloglibph
  23. #define __INCevtloglibph
  24. #ifndef _ASMLANGUAGE
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28. #include "private/wvBufferP.h"
  29. #endif /* !_ASMLANGUAGE */
  30. /* defines */
  31. #define MAX_WV_TASKS 500        /* should be the same MAX_DSP_TASKS */
  32. /* sizes of some common events. */
  33. #define EVENT_BEGIN_SIZE   (sizeof(short) + (5 * sizeof(int)))
  34. #define EVENT_END_SIZE     (sizeof (short))
  35. #define EVENT_CONFIG_SIZE  (sizeof (short) + (7 * sizeof(int)))
  36. #define EVENT_BUFFER_SIZE  (sizeof(short) + sizeof(int))
  37. #define EVENT_COMMENT_SIZE (sizeof(short) + sizeof(int))
  38. #if (CPU_FAMILY==MC680X0 || CPU_FAMILY==I80X86 || CPU_FAMILY==AM29XXX)
  39. /*
  40.  * These constants represent the sizes of various categories of events
  41.  * in the 68k family instrumented kernel, for use by assembly routines.
  42.  */
  43. #define EVTLOG_T0_SIZE  6 /* timestamped; no parameters */
  44. #define EVTLOG_T1_SIZE 10 /* timestamped; one parameter */
  45. #define EVTLOG_M0_SIZE  2 /* not timestamped; no params */
  46. #define EVTLOG_M1_SIZE  6 /* not timestamped; one param   */
  47. #define EVTLOG_M2_SIZE 10 /* not timestamped; two params  */
  48. #define EVTLOG_M3_SIZE 14 /* not timestamped; three params*/
  49. #define EVTLOG_O_SIZE 26 /* timestamped; up to six params*/
  50. #define EVTLOG_STR_SIZE 22 /* base size of initial task evt*/
  51. #define EVTLOG_PT_SIZE 14 /* eventpoint   */
  52. #define EVTDISPATCH_SIZE 14 /* (max) size of "dispatch" */
  53. #define EVTIDLE_SIZE  6 /* idle */
  54. /* 
  55.  * The MAX_KERNEL_EVENT_SIZE is the size of the largest event that will 
  56.  * be placed in the buffer after a call to scrPadToBuffer.
  57.  */
  58. #define MAX_KERNEL_EVENT_SIZE EVTDISPATCH_SIZE
  59. #else /* CPU_FAMILY==MC680X0 || CPU_FAMILY==I80X86 || CPU_FAMILY==AM29XXX */
  60. /* XXX
  61. #error You must recompute the event size macros for a new architecture.
  62.  for the moment 
  63.  */
  64. /*
  65.  * These constants represent the sizes of various categories of events
  66.  * in the 68k family instrumented kernel, for use by assembly routines.
  67.  */
  68. #define EVTLOG_T0_SIZE           6      /* timestamped; no parameters   */
  69. #define EVTLOG_T1_SIZE          10      /* timestamped; one parameter   */
  70. #define EVTLOG_M0_SIZE           2      /* not timestamped; no params   */
  71. #define EVTLOG_M1_SIZE           6      /* not timestamped; one param   */
  72. #define EVTLOG_M2_SIZE          10      /* not timestamped; two params  */
  73. #define EVTLOG_M3_SIZE          14      /* not timestamped; three params*/
  74. #define EVTLOG_O_SIZE           26      /* timestamped; up to six params*/
  75. #define EVTLOG_STR_SIZE         22      /* base size of initial task evt*/
  76. #define EVTLOG_PT_SIZE          14      /* eventpoint                   */
  77. #define EVTDISPATCH_SIZE        14      /* (max) size of "dispatch"     */
  78. #define EVTIDLE_SIZE             6      /* idle                         */
  79. #define MAX_KERNEL_EVENT_SIZE EVTDISPATCH_SIZE
  80. #endif /* CPU_FAMILY==MC680X0 || CPU_FAMILY==I80X86 || CPU_FAMILY==AM29XXX */
  81. #ifndef _ASMLANGUAGE
  82. /* function declarations */
  83. #if defined(__STDC__) || defined(__cplusplus)
  84. extern void evtObjLogFuncBind (void);
  85. extern void evtLogFuncBind (void);
  86. extern void evtBufferBind (BUFFER_ID bufId);
  87. extern void evtHeaderLog (void);
  88. extern void evtLogTasks (void);
  89. extern void evtLogOInt (event_t action, int nParam, int arg1, int arg2, 
  90. int arg3, int arg4, int arg5);
  91. extern void evtLogO    (event_t action, int nParam, int arg1, int arg2, 
  92. int arg3, int arg4, int arg5);
  93. extern int evtLogPoint (event_t action, void *addr, size_t nbytes, char *buf);
  94. #else   /* __STDC__ */
  95. extern void evtObjLogFuncBind ();
  96. extern void evtLogFuncBind ();
  97. extern void evtBufferBind ();
  98. extern void evtHeaderLog ();
  99. extern void evtLogTasks ();
  100. extern void evtLogOInt ();
  101. extern void evtLogO ();
  102. extern int evtLogPoint ();
  103. #endif  /* __STDC__ */
  104. #ifdef __cplusplus
  105. }
  106. #endif
  107. #endif /* !_ASMLANGUAGE */
  108. #endif /* __INCevtloglibph*/