Package ghidra.app.util.bin.format.pe
Class TLSDirectory
- java.lang.Object
-
- ghidra.app.util.bin.format.pe.TLSDirectory
-
- All Implemented Interfaces:
StructConverter
public class TLSDirectory extends java.lang.Object implements StructConverter
A class to represent the IMAGE_TLS_DIRECTORY32 and IMAGE_TLS_DIRECTORY64 data structures.
typedef struct _IMAGE_TLS_DIRECTORY32 { DWORD StartAddressOfRawData; DWORD EndAddressOfRawData; DWORD AddressOfIndex; // PDWORD DWORD AddressOfCallBacks; // PIMAGE_TLS_CALLBACK * DWORD SizeOfZeroFill; DWORD Characteristics; } IMAGE_TLS_DIRECTORY32; typedef IMAGE_TLS_DIRECTORY32 * PIMAGE_TLS_DIRECTORY32;
typedef struct _IMAGE_TLS_DIRECTORY64 { ULONGLONG StartAddressOfRawData; ULONGLONG EndAddressOfRawData; PDWORD AddressOfIndex; PIMAGE_TLS_CALLBACK * AddressOfCallBacks; DWORD SizeOfZeroFill; DWORD Characteristics; } IMAGE_TLS_DIRECTORY64; typedef IMAGE_TLS_DIRECTORY64 * PIMAGE_TLS_DIRECTORY64;
-
-
Constructor Summary
Constructors Constructor Description TLSDirectory()
DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getAddressOfCallBacks()
long
getAddressOfIndex()
int
getCharacteristics()
Reserved, currently set to 0.long
getEndAddressOfRawData()
Returns the ending address of the range of memory used to initialize a new thread's TLS data in memory.java.lang.String
getName()
Returns the name of the structure.int
getSizeOfZeroFill()
long
getStartAddressOfRawData()
Returns the beginning address of a range of memory used to initialize a new thread's TLS data in memory.DataType
toDataType()
Returns a structure datatype representing the contents of the implementor of this interface.
-
-
-
Method Detail
-
getStartAddressOfRawData
public long getStartAddressOfRawData()
Returns the beginning address of a range of memory used to initialize a new thread's TLS data in memory.- Returns:
- the beginning address of a range of memory used to initialize a new thread's TLS data in memory.
-
getEndAddressOfRawData
public long getEndAddressOfRawData()
Returns the ending address of the range of memory used to initialize a new thread's TLS data in memory.- Returns:
- the ending address of the range of memory used to initialize a new thread's TLS data in memory.
-
getAddressOfIndex
public long getAddressOfIndex()
- Returns:
- the index to locate the thread local data.
-
getAddressOfCallBacks
public long getAddressOfCallBacks()
- Returns:
- the address of an array of
PIMAGE_TLS_CALLBACK
function pointers
-
getSizeOfZeroFill
public int getSizeOfZeroFill()
- Returns:
- the size in bytes of the initialization data
-
getCharacteristics
public int getCharacteristics()
Reserved, currently set to 0.- Returns:
- reserved, currently set to 0
-
toDataType
public DataType toDataType() throws DuplicateNameException
Description copied from interface:StructConverter
Returns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }
The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Specified by:
toDataType
in interfaceStructConverter
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already exists- See Also:
StructConverter.toDataType()
-
getName
public java.lang.String getName()
Returns the name of the structure.- Returns:
- the name of the structure
-
-