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

A buffer that can be used to read and store data from a file. More...

#include <buffer.h>

Inheritance diagram for Linker::Buffer:
Linker::ActualImage Linker::Image Linker::Section

Public Member Functions

 Buffer (size_t size)
 
offset_t ImageSize () const override
 Retrieves size of stored data.
 
void ReadFile (Reader &rd)
 
void ReadFile (Reader &rd, offset_t count)
 
offset_t WriteFile (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.
 
virtual offset_t WriteFile (Writer &wr, offset_t count, offset_t offset=0) const=0
 Writes data of non-zero filled sections.
 
virtual offset_t WriteFile (Writer &wr) const
 Writes data of non-zero filled sections.
 
- Public Member Functions inherited from Linker::ActualImage
std::shared_ptr< const ActualImageAsImage () 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)
 
- Public Member Functions inherited from Linker::Image
std::shared_ptr< ActualImageAsImage ()
 Retrieves a randomly accessible image.
 

Static Public Member Functions

static std::shared_ptr< BufferReadFromFile (Reader &rd)
 
static std::shared_ptr< BufferReadFromFile (Reader &rd, offset_t count)
 

Protected Attributes

std::vector< uint8_t > data
 

Friends

class Section
 
class Image
 

Detailed Description

A buffer that can be used to read and store data from a file.

Member Function Documentation

◆ ImageSize()

offset_t Buffer::ImageSize ( ) const
overridevirtual

Retrieves size of stored data.

Implements Linker::Image.

◆ ReadData()

size_t Buffer::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::ActualImage.

Reimplemented in Linker::Section.

◆ WriteFile() [1/3]

offset_t Image::WriteFile ( Writer & wr) const
virtual

Writes data of non-zero filled sections.

Reimplemented from Linker::Image.

Reimplemented in Linker::Section.

◆ WriteFile() [2/3]

offset_t Buffer::WriteFile ( Writer & wr,
offset_t count,
offset_t offset = 0 ) const
overridevirtual

Writes data of non-zero filled sections.

Implements Linker::Image.

Reimplemented in Linker::Section, and Linker::Section.

◆ WriteFile() [3/3]

virtual offset_t Linker::Image::WriteFile ( Writer & wr,
offset_t count,
offset_t offset = 0 ) const
virtual

Writes data of non-zero filled sections.

Implements Linker::Image.

Reimplemented in Linker::Section, and Linker::Section.


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