RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Microsoft::LEFormat::PageSet Class Reference

An image instance that is a collection of other images, conceptually pages. More...

#include <leexe.h>

Inheritance diagram for Microsoft::LEFormat::PageSet:
Linker::Image Linker::Contents

Public Member Functions

 PageSet (std::shared_ptr< LEFormat > file)
 
offset_t ImageSize () const override
 Retrieves the offset of the byte after the last one belonging to this format from the first one.
 
offset_t WriteFile (const std::shared_ptr< Linker::Writer > &wr, offset_t count, offset_t offset=0) const override
 Writes data of non-zero filled sections.
 
size_t ReadData (size_t bytes, offset_t offset, void *buffer) const override
 Attempts to fill a buffer with data.
 
- Public Member Functions inherited from Linker::Image
std::shared_ptr< const Image > AsImage () const override
 Retrieves a randomly accessible image.
 
uint64_t ReadUnsigned (size_t bytes, offset_t offset, EndianType endiantype) const
 Reads an unsigned number at a specific offset.
 
uint64_t ReadUnsigned (size_t bytes, offset_t offset) const
 Reads an unsigned number at a specific offset with the default endianness.
 
int64_t ReadSigned (size_t bytes, offset_t offset, EndianType endiantype) const
 Reads a signed number at a specific offset.
 
int64_t ReadSigned (size_t bytes, offset_t offset) const
 Reads a signed number at a specific offset with the default endianness.
 
int GetByte (offset_t offset) const
 Retrieve byte at a certain offset (optional, might not be defined)
 
offset_t WriteFile (const std::shared_ptr< Writer > &wr) const override
 Writes data of non-zero filled sections.
 
virtual offset_t WriteFile (const std::shared_ptr< Writer > &wr) const=0
 Writes data of non-zero filled sections.
 
- Public Member Functions inherited from Linker::Contents
std::shared_ptr< Image > AsImage ()
 Retrieves a randomly accessible image.
 

Public Attributes

std::shared_ptr< LEFormat > file
 
std::vector< PhysicalPageNumber > pages
 

Detailed Description

An image instance that is a collection of other images, conceptually pages.

When parsing an LE/LX binary image, the contents of objects might not appear contiguously, but instead as a collection of pages (typically 4 KiB in size). This class implements the Image interface but data crossing page boundaries can also be accessed.

Member Function Documentation

◆ ImageSize()

offset_t LEFormat::PageSet::ImageSize ( ) const
overridevirtual

Retrieves the offset of the byte after the last one belonging to this format from the first one.

Returns
The size of the image, or offset_t(-1) if it cannot be determined before writing to the file

Implements Linker::Contents.

◆ ReadData()

size_t LEFormat::PageSet::ReadData ( size_t  bytes,
offset_t  offset,
void *  buffer 
) const
overridevirtual

Attempts to fill a buffer with data.

Parameters
bytesThe (maximum) number of bytes to place in buffer
offsetThe offset in the image to start reading the data
bufferA byte buffer
Returns
Actual number of bytes copied into buffer

Implements Linker::Image.

◆ WriteFile()

offset_t LEFormat::PageSet::WriteFile ( const std::shared_ptr< Linker::Writer > &  wr,
offset_t  count,
offset_t  offset = 0 
) const
overridevirtual

Writes data of non-zero filled sections.

Reimplemented from Linker::Image.


The documentation for this class was generated from the following files: