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

VxWorks

开发平台:

C/C++

  1. /* loadLibP.h - object module loader private library header */
  2. /* Copyright 2002 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,16may02,fmk  written
  7. */
  8. #ifndef __INCloadLibPh
  9. #define __INCloadLibPh
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #include "moduleLib.h"
  14. #include "loadLib.h"
  15. /* type definitions */
  16. typedef void *  SYM_ADRS;               /* symbol's address */
  17. typedef struct
  18.     {
  19.     char * symName;                /* common symbol's name */
  20.     BOOL vxWorksSymMatched; /* TRUE if core syms are included */
  21.     void * pSymAddrBss; /* matching bss sym's addr, if any */
  22.     SYM_TYPE bssSymType; /* exact type of matching bss symbol */
  23.     void * pSymAddrData; /* matching data sym's addr, if any */
  24.     SYM_TYPE dataSymType; /* exact type of matching data symbol */
  25.     } COMMON_INFO;
  26. /* function declarations */
  27. extern MODULE_ID loadModuleAtSym (int fd, int symFlag, char **ppText,
  28.   char **ppData, char **ppBss,
  29.   SYMTAB_ID symTbl);
  30. extern MODULE_ID loadModuleGet (char *fileName, int format, int *symFlag);
  31. extern void addSegNames (int fd, char *pText, char *pData, char *pBss,
  32.  SYMTAB_ID symTbl, UINT16 group);
  33. extern STATUS loadSegmentsAllocate (SEG_INFO *pSeg);
  34. extern STATUS loadCommonManage (int comAreaSize, int comAlignment,   
  35.                                 char *symName, SYMTAB_ID symTbl,
  36.                                 SYM_ADRS *pSymAddr, SYM_TYPE *pSymType, 
  37.                                 int loadFlag, SEG_INFO *pSeg, 
  38.                                 int group);
  39. extern STATUS loadCommonMatch (COMMON_INFO * pCommInfo, SYMTAB_ID symTblId);
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif /* __INCloadLibPh */