19 #ifndef SRECORD_RECORD_H
20 #define SRECORD_RECORD_H
104 size_t the_data_length);
The srecord::record class is used to represent a data record read from a file.
static address_t decode(const data_t *data, size_t len, endian_t end)
The decode method is used to extract 'len' bytes from the given 'data' and assemble a valu.
@ max_data_length
The max_data_length is the largest number of data bytes which any record can hold.
type_t get_type(void) const
The get_type method is used to get the type of the record.
size_t get_length(void) const
The get_length method is used to get the length (number of bytes) of the record data.
static address_t decode_big_endian(const data_t *data, size_t len)
The decode_big_endian method is used to extract 'len' bytes from the given 'data' and assemble a big-...
record(type_t, address_t)
A constructor.
record(const record &)
The copy constructor.
int get_data(size_t n) const
The get_data method is used to fetch the nth data value.
address_t get_address(void) const
The get_address method is used to get the address of the record.
record(type_t the_type, address_t the_address, const data_t *the_data, size_t the_data_length)
A constructor.
void set_type(type_t arg)
The set_type method is used to set the type of the record.
void set_data(size_t n, data_t d)
The set_data method is used to set values in the data array.
type_t
The type of the various record types.
@ type_execution_start_address
bool address_range_fits_into_n_bits(unsigned nbits) const
The address_range_fits_into_n_bits method is used to test whether or not this record's address range ...
record(type_t)
A constructor.
bool is_all_zero(void) const
The is_all_zero method is used to determin if the record contains data bytes which are all zero.
uint8_t data_t
The type of record data values.
void set_data_extend(size_t n, data_t d)
The set_data_extend method is used to set values in the data array.
const data_t * get_data(void) const
The get_data method is used to get a ponter to the baseof the record data.
static size_t maximum_data_length(address_t addr)
The maximum_data_length method is used to determine the maximum data length possible within a record,...
static address_t decode_little_endian(const data_t *data, size_t len)
The decode_little_endian method is used to extract 'len' bytes from the given 'data' and assemble a l...
static void encode(data_t *data, address_t val, size_t len, endian_t end)
The encode method is used to break down 'val' into 'len' bytes of 'data'.
record()
The default constructor.
address_t get_address_end(void) const
The get_address_end method is used to get the address "off the end" of this record.
void set_length(size_t arg)
The set_length method is used to set the number of data bytes in the record data.
record & operator=(const record &)
The assignment operator.
uint32_t address_t
The type of record addresses.
static void encode_big_endian(data_t *data, address_t val, size_t len)
The encode_big_endian method is used to break down 'val' into 'len' bytes of 'data' orderdd big-endia...
void set_address(address_t arg)
The set_address method is used to set the address of the record.
static void encode_little_endian(data_t *data, address_t val, size_t len)
The encode_little_endian method is used to break down 'val' into 'len' bytes of 'data' orderdd big-en...