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

VxWorks

开发平台:

C/C++

  1. /* objLibP.h - private object management library header */
  2. /* Copyright 1984-1992 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,15oct93,cd   added #ifndef _ASMLANGUAGE.
  7. 01c,10dec93,smb  removed objHelp
  8. 01b,22sep92,rrr  added support for c++
  9. 01a,04jul92,jcf  extracted from v1j objLib.h.
  10. */
  11. #ifndef __INCobjLibPh
  12. #define __INCobjLibPh
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. #include "vxWorks.h"
  17. #include "objLib.h"
  18. #include "classLib.h"
  19. #ifndef _ASMLANGUAGE
  20. #if CPU_FAMILY==I960
  21. #pragma align 1 /* tell gcc960 not to optimize alignments */
  22. #endif /* CPU_FAMILY==I960 */
  23. typedef struct obj_core /* OBJ_CORE */
  24.     {
  25.     struct obj_class *pObjClass; /* pointer to object's class */
  26.     } OBJ_CORE;
  27. #if CPU_FAMILY==I960
  28. #pragma align 0 /* turn off alignment requirement */
  29. #endif /* CPU_FAMILY==I960 */
  30. /* function declarations */
  31. #if defined(__STDC__) || defined(__cplusplus)
  32. extern OBJ_ID  objCreate (CLASS_ID classId, ...);
  33. extern STATUS  objInit (CLASS_ID classId, OBJ_ID objId, ...);
  34. extern STATUS  objDelete (OBJ_ID objId);
  35. extern STATUS  objDestroy (OBJ_ID objId, BOOL dealloc, int timeout);
  36. extern STATUS  objFree (CLASS_ID classId, char *pObject);
  37. extern STATUS  objTerminate (OBJ_ID objId);
  38. extern void * objAlloc (CLASS_ID classId);
  39. extern void * objAllocExtra (CLASS_ID classId, unsigned nExtraBytes,
  40.        void ** ppExtra);
  41. extern void  objCoreInit (OBJ_CORE *pObjCore, CLASS_ID pObjClass);
  42. extern void  objCoreTerminate (OBJ_CORE *pObjCore);
  43. #else /* __STDC__ */
  44. extern OBJ_ID  objCreate ();
  45. extern STATUS  objDelete ();
  46. extern STATUS  objDestroy ();
  47. extern STATUS  objFree ();
  48. extern STATUS  objInit ();
  49. extern STATUS  objTerminate ();
  50. extern void * objAlloc ();
  51. extern void * objAllocExtra ();
  52. extern void  objCoreInit ();
  53. extern void  objCoreTerminate ();
  54. #endif /* __STDC__ */
  55. #endif /* _ASMLANGUAGE */
  56. #ifdef __cplusplus
  57. }
  58. #endif
  59. #endif /* __INCobjLibPh */