comSysLib.h
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* comSysLib.h - VxWorks VxDCOM cross-OS support */
  2. /* Copyright (c) 1998 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01x,13jul01,dbs  move some macros out to comMisc.h
  7. 01w,27jun01,dbs  add realloc function
  8. 01v,21jun01,nel  Add GUID and time prototypes.
  9. 01u,21jun01,dbs  fix up new name and C compilation
  10. 01t,19aug99,aim  removed TASK_SPAWN
  11. 01s,19aug99,aim  removed TASK_SLEEP and TASK_LOCK macros
  12. 01r,19aug99,aim  change assert to VXDCOM_ASSERT
  13. 01q,13aug99,aim  added ARG_UNUSED macro
  14. 01p,16jul99,aim  remove #undef Free
  15. 01o,17jun99,aim  fix assert definition
  16. 01n,17jun99,aim  added DECLARE_IUNKNOWN_METHODS
  17. 01m,17jun99,dbs  make sure Allocator is included for target build
  18. 01l,10jun99,dbs  fix NEW macro for Solaris
  19. 01k,10jun99,dbs  move all vxdcom-provate calls into here
  20. 01j,09jun99,aim  fix assert again
  21. 01i,09jun99,aim  fix DELZERO macro
  22. 01h,09jun99,aim  added DELZERO
  23. 01g,03jun99,dbs  fix W32 Sleep
  24. 01f,03jun99,dbs  fix UNLOCK for W32
  25. 01e,02jun99,aim  changes for solaris build
  26. 01d,02jun99,dbs  move all OS-specific into here
  27. 01c,27may99,dbs  change name, add more target-specific stuff
  28. 01b,22apr99,dbs  add task-priority to START_TASK macro
  29. 01a,20apr99,dbs  created during Grand Renaming
  30. */
  31. /*
  32. DESCRIPTION:
  33. This file defines OS-specific features to allow VxCOM / VxDCOM to be
  34. built on multiple 'target's. One of the macros VXDCOM_PLATFORM_XXXX
  35. will be set on the make command line, with 'XXXX' being one of the
  36. following values:-
  37.   VXWORKS -- all VxWorks targets including simulators
  38.   SOLARIS -- Sun/Solaris test-build environment
  39.   LINUX   -- Linux test-build environment
  40.   
  41.   WIN32   -- (OBSOLETE) Win32 test-build environment
  42.   
  43. */
  44. #ifndef __INCcomSysLib_h
  45. #define __INCcomSysLib_h
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49.     
  50. /* VxCOM private functions for OS-agnosticism... */
  51. unsigned long comSysLocalGet (void);
  52. void comSysLocalSet (unsigned long);
  53. void*    comSysAlloc (unsigned long);
  54. void*    comSysRealloc (void*, unsigned long);
  55. void     comSysFree (void*);
  56. int      comSysAddressGet (unsigned char*);
  57. void comSysGuidCreate (void * result);
  58. unsigned long  comSysTimeGet (void);
  59. /* Generic internal mem-allocation functions/macros... */
  60. #define COM_MEM_ALLOC(nb)  comSysAlloc (nb)
  61. #define COM_MEM_FREE(pv)   comSysFree (pv)
  62. /* Platform-specific specialisations... */
  63. #ifndef TRUE
  64. #define TRUE (1)
  65. #endif
  66. #ifndef FALSE
  67. #define FALSE (0)
  68. #endif
  69. #define ARG_UNUSED(A) {if (&A) /* no-op */ ;}
  70. #ifdef __cplusplus
  71. }
  72. #endif
  73. #endif /* __INCcomSysLib_h */