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

VxWorks

开发平台:

C/C++

  1. /* smUtilLib.h - include file for VxWorks shared memory utility library */
  2. /* Copyright 1984-1999 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 02d,16mar99,dat  smUtilIntRoutine is made global (SPR 25804)
  7. 02c,09feb96,dat  chg'd arg for smUtilSoftTas to be volatile
  8. 02b,22sep92,rrr  added support for c++
  9. 02a,04jul92,jcf  cleaned up.
  10. 01c,23jun92,elh  cleanup.
  11. 01b,02jun92,elh  the tree shuffle
  12.   -changed includes to have absolute path from h/
  13. 01a,07feb92,elh   created.
  14. */
  15. #ifndef __INCsmUtilLibh
  16. #define __INCsmUtilLibh
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /* includes */
  21. #include "netinet/in.h"
  22. #include "string.h"
  23. #include "intLib.h"
  24. #include "stdio.h"
  25. #include "errno.h"
  26. /* defines */
  27. /* priority types of routines connected to shared memory interrupts */
  28. #define LOW_PRIORITY   0
  29. #define HIGH_PRIORITY  1
  30. /* typedefs */
  31. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  32. #pragma align 1                 /* tell gcc960 not to optimize alignments */
  33. #endif  /* CPU_FAMILY==I960 */
  34. /* shared memory event handling routines */
  35. typedef struct         /* SM_ROUTINE - shared memory routine */
  36.     {
  37.     FUNCPTR    routine;  /* routine to call */
  38.     int        param;    /* routine parameter */
  39.     } SM_ROUTINE;
  40. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  41. #pragma align 0                 /* turn off alignment requirement */
  42. #endif  /* CPU_FAMILY==I960 */
  43. /* function prototypes */
  44. #if defined(__STDC__) || defined(__cplusplus)
  45. extern STATUS  smUtilMemProbe (char *pAddr, int op, int size, char *pVal);
  46. extern BOOL  smUtilSoftTas (volatile int * lockLocalAdrs);
  47. extern BOOL  smUtilTas (char * adrs);
  48. extern void smUtilTasClear (char * adrs);
  49. extern int  smUtilProcNumGet (void);
  50. extern STATUS  smUtilDelay (char * pAddr, int ticks);
  51. extern int  smUtilRateGet (void);
  52. extern STATUS  smUtilIntGen (SM_CPU_DESC *pCpuDesc, int cpuNum);
  53. extern STATUS  smUtilIntConnect (int priorityType, FUNCPTR routine,
  54.   int param, int intType,
  55.           int intArg1, int intArg2, int intArg3);
  56. extern void  smUtilIntRoutine (void);
  57. #else
  58. extern STATUS  smUtilMemProbe ();
  59. extern BOOL  smUtilSoftTas ();
  60. extern BOOL  smUtilTas ();
  61. extern void smUtilTasClear ();
  62. extern int  smUtilProcNumGet ();
  63. extern STATUS  smUtilDelay ();
  64. extern int  smUtilRateGet ();
  65. extern STATUS  smUtilIntGen ();
  66. extern STATUS  smUtilIntConnect ();
  67. extern void  smUtilIntRoutine ();
  68. #endif /* __STDC__ */
  69. #ifdef __cplusplus
  70. }
  71. #endif
  72. #endif /* __INCsmUtilLibh */