# Interface: com.pnfsoftware.jeb.core.units.codeobject.ISymbolInformation

Generic representation of a code symbol information. Method results are all optional; methods may return 0 or null if the data is irrelevant to the loader type they are part of.

## Static Field: FLAG_ABSOLUTE
Type: `int`

Constant value: `8`
Description: the symbol address is absolute

## Static Field: FLAG_EXPORTED
Type: `int`

Constant value: `2`
Description: the symbol represent an object that is exported \(publicly exposed\) by the code unit

## Static Field: FLAG_FUNCTION_CODE_CONTIGUOUS
Type: `int`

Constant value: `4`
Description: this flag may be used with [FUNCTION](SymbolType#FUNCTION) symbols that have a non\-zero symbol size: it serves to indicate that the routine code is a contiguous list of instructions \(no inner data or undefined bytes, no loose basic blocks\)

## Static Field: FLAG_IMPORTED
Type: `int`

Constant value: `1`
Description: the symbol represent an object that is imported by the code unit

## Static Field: FLAG_METADATA
Type: `int`

Constant value: `16`
Description: metadata symbols for linker or compiler, whose name is not useful

## Method: getFlags
- return type: `int`

Description: Get the symbol flags. A valid combination of `FLAG_xxx`.
return: the flags

## Method: getIdentifier
- return type: `long`

Description: Get the symbol identifier. Optional.
return: the symbol identifier

## Method: getName
- return type: `java.lang.String`

Description: Get the symbol name. 

 Special syntax for imported functions: the function name may be prefixed by the library name that contains it. A bang character is used as a separator. Example: `kernel32.dll!Sleep`
 Note: the method name may be mangled; it may be fully qualified. The library name is optional; its extension is optional \(eg, .dll, .so\); it may be a full path.
return: the symbol name

## Method: getProcessorMode
- return type: `int`

Description: Retrieve the optional processor mode associated to this symbol, if the address points to code. This value is optional, implementations may return 0.
return: the optional processor mode \(refer to [IProcessor](IProcessor) for standard values\)

## Method: getRelativeAddress
- return type: `long`

Description: Get the base\-relative address of the description of the symbol. Informative and optional.
return: the base\-relative address of the symbol description

## Method: getSymbolDataTypeInformation
- return type: `java.lang.String`

Description: Retrieve optional symbol data type information.
return: data type information, or null if none

## Method: getSymbolRelativeAddress
- return type: `long`

Description: Get the base\-relative address of the symbol.
return: the symbol RVA

## Method: getSymbolSize
- return type: `long`

Description: Get the size of the symbol. May not be known.
return: the symbol size

## Method: getType
- return type: `com.pnfsoftware.jeb.core.units.codeobject.SymbolType`

Description: Get the symbol type.
return: the type

