com.ibm.dtfj.image
Interface ImagePointer
- public interface ImagePointer
com.ibm.dtfj.image.ImageAddressSpace.getPointer()
See Also:
com.ibm.dtfj.image.ImageAddressSpace#getPointer()
Method Summary
Modifier and Type | Method and Description |
---|---|
add(long offset)
Build a new image pointer offset from this one by the given amount.
|
|
|
equals(java.lang.Object obj)
|
|
getAddress()
Get the unwrapped address, represented as a Java long.
|
getAddressSpace()
Get the address space to which this pointer belongs.
|
|
|
getByteAt(long index)
Get the value at the given offset from this pointer.
|
|
getDoubleAt(long index)
Get the value at the given offset from this pointer.
|
|
getFloatAt(long index)
Get the value at the given offset from this pointer.
|
|
getIntAt(long index)
Get the value at the given offset from this pointer.
|
|
getLongAt(long index)
Get the value at the given offset from this pointer.
|
getPointerAt(long index)
Get the value at the given offset from this pointer.
|
|
|
getShortAt(long index)
Get the value at the given offset from this pointer.
|
|
hashCode()
|
|
isExecutable()
Tests memory execute permission.
|
|
isReadOnly()
Tests memory read/write permission.
|
|
isShared()
Tests memory shared permission.
|
Method Detail
getAddress
- long getAddress()
Returns:
the unwrapped address, represented as a 64-bit integer.
getAddressSpace
- ImageAddressSpace getAddressSpace( )
Get the address space to which this pointer belongs.
Returns:
the address space to which this pointer belongs.
add
- ImagePointer add(long offset)
Build a new image pointer offset from this one by the given amount.
Parameters:
offset
- Offset in bytes. Returns:
a new ImagePointer based at getAddress() + offset
isExecutable
- boolean isExecutable()
- throws DataUnavailable
Tests memory execute permission.
isReadOnly
- boolean isReadOnly()
- throws DataUnavailable
Tests memory read/write permission.
isShared
- boolean isShared()
- throws DataUnavailable
Tests memory shared permission.
getPointerAt
- ImagePointer getPointerAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer. To determine the number of bytes to skip after this
call to read the next value, use
ImageProcess.getPointerSize()
. Note: to create an
ImagePointer using an absolute address use com.ibm.dtfj.image.ImageAddressSpace.getPointer()
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 32 or 64-bit pointer stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted See Also:
ImageProcess.getPointerSize()
,
ImageAddressSpace#getPointer()
getLongAt
- long getLongAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 64-bit long stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted getIntAt
- int getIntAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 32-bit int stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted getShortAt
- short getShortAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 16-bit short stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted getByteAt
- byte getByteAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 8-bit byte stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted getFloatAt
- float getFloatAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 32-bit float stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted getDoubleAt
- double getDoubleAt(long index)
- throws MemoryAccessException
- CorruptDataException
Get the value at the given offset from this pointer.
Parameters:
index
- an offset (in bytes) from the current position Returns:
the 64-bit double stored at getAddress() + index
Throws:
MemoryAccessException
- if the memory cannot be read CorruptDataException
- if the memory should be in the image, but is missing or corrupted equals
- boolean equals(java.lang.Object obj)
Overrides:
equals
in class java.lang.Object
Parameters:
obj
- Returns:
True obj refers to the same Image Pointer in the image
hashCode
- int hashCode()
Overrides:
hashCode
in class java.lang.Object
Get the unwrapped address, represented as a Java long.
Use caution when comparing addresses, as some addresses may be negative.
Note that, on segmented memory architectures, it may not be possible to represent all addresses accurately as integers.