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

VxWorks

开发平台:

C/C++

  1. /* symLibP.h - private symbol library header file */
  2. /* Copyright 2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01a,15oct01,jn   created.
  7. */
  8. #ifndef __INCsymLibPh
  9. #define __INCsymLibPh
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. #include "private/symbolP.h"
  14. /* structure definitions */
  15. typedef struct symtab /* SYMTAB - symbol table */
  16.     {
  17.     OBJ_CORE objCore; /* object maintanance */
  18.     HASH_ID nameHashId; /* hash table for names */
  19.     SEMAPHORE symMutex; /* symbol table mutual exclusion sem */
  20.     PART_ID symPartId; /* memory partition id for symbols */
  21.     BOOL sameNameOk; /* symbol table name clash policy */
  22.     int nsymbols; /* current number of symbols in table */
  23.     } SYMTAB;
  24. typedef SYMTAB *SYMTAB_ID;
  25. /* function declarations */
  26. extern STATUS symFindSymbol
  27.     (
  28.     SYMTAB_ID   symTblId,       /* symbol table ID */
  29.     char *      name,           /* name to search for */
  30.     void * value, /* value of symbol to search for */
  31.     SYM_TYPE    type,           /* symbol type */
  32.     SYM_TYPE    mask,           /* type bits that matter */
  33.     SYMBOL_ID * pSymbolId       /* where to return pointer to matching symbol */
  34.     );
  35. extern STATUS symByCNameFind
  36.     (
  37.     SYMTAB_ID   symTblId, /* ID of symbol table to look in */
  38.     char * name, /* symbol name to look for   */
  39.     char ** pValue, /* where to put symbol value */
  40.     SYM_TYPE * pType /* where to put symbol type  */
  41.     );
  42. extern STATUS symNameGet
  43.     (
  44.     SYMBOL_ID  symbolId,
  45.     char **    pName
  46.     );
  47. extern STATUS symValueGet 
  48.     (
  49.     SYMBOL_ID  symbolId,
  50.     void **    pValue
  51.     );
  52. extern STATUS symTypeGet 
  53.     (
  54.     SYMBOL_ID  symbolId,
  55.     SYM_TYPE * pType
  56.     );
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60. #endif /* __INCsymLibPh */