7 #ifndef RETDEC_LOADER_RETDEC_LOADER_SEGMENT_H
8 #define RETDEC_LOADER_RETDEC_LOADER_SEGMENT_H
41 std::pair<const std::uint8_t*, std::uint64_t>
getRawData()
const;
44 const std::string&
getName()
const;
45 void setName(
const std::string& name);
47 bool getBytes(std::vector<unsigned char>& result)
const;
48 bool getBytes(std::vector<unsigned char>& result, std::uint64_t addressOffset, std::uint64_t size)
const;
49 bool getBits(std::string& result)
const;
50 bool getBits(std::string& result, std::uint64_t addressOffset, std::uint64_t bytesCount)
const;
52 bool setBytes(
const std::vector<unsigned char>& value, std::uint64_t addressOffset);
54 void resize(std::uint64_t newSize);
55 void shrink(std::uint64_t shrinkOffset, std::uint64_t newSize);
void setName(const std::string &name)
Definition: segment.cpp:153
const std::string & getName() const
Definition: segment.cpp:143
std::uint64_t getAddress() const
Definition: segment.cpp:41
std::uint64_t _address
Definition: segment.h:61
void shrink(std::uint64_t shrinkOffset, std::uint64_t newSize)
Definition: segment.cpp:274
bool getBits(std::string &result) const
Definition: segment.cpp:217
const retdec::common::RangeContainer< std::uint64_t > & getNonDecodableAddressRanges() const
Definition: segment.cpp:112
const retdec::fileformat::SecSeg * getSecSeg() const
Definition: segment.cpp:31
bool containsAddress(std::uint64_t address) const
Definition: segment.cpp:165
retdec::common::Range< std::uint64_t > getPhysicalAddressRange() const
Definition: segment.cpp:102
std::uint64_t getPhysicalEndAddress() const
Definition: segment.cpp:61
retdec::common::RangeContainer< std::uint64_t > _nonDecodableRanges
Definition: segment.h:65
std::uint64_t getPhysicalSize() const
Definition: segment.cpp:82
Segment(const retdec::fileformat::SecSeg *secSeg, std::uint64_t address, std::uint64_t size, std::unique_ptr< SegmentDataSource > &&dataSource)
Definition: segment.cpp:16
std::pair< const std::uint8_t *, std::uint64_t > getRawData() const
Definition: segment.cpp:123
bool getBytes(std::vector< unsigned char > &result) const
Definition: segment.cpp:177
std::unique_ptr< SegmentDataSource > _dataSource
Definition: segment.h:63
std::uint64_t _size
Definition: segment.h:62
std::string _name
Definition: segment.h:64
retdec::common::Range< std::uint64_t > getAddressRange() const
Definition: segment.cpp:92
void addNonDecodableRange(retdec::common::Range< std::uint64_t > range)
Definition: segment.cpp:300
std::uint64_t getEndAddress() const
Definition: segment.cpp:51
const retdec::fileformat::SecSeg * _secSeg
Definition: segment.h:60
std::uint64_t getSize() const
Definition: segment.cpp:71
void resize(std::uint64_t newSize)
Definition: segment.cpp:258
bool setBytes(const std::vector< unsigned char > &value, std::uint64_t addressOffset)
Definition: segment.cpp:241
bool hasName() const
Definition: segment.cpp:133
Declaration of templated Range class.
Header file for fileformat types and structures.
Declaration of operations over ranges.
Definition: archive_wrapper.h:19
Basic class for section and segment.
Declaration of segment data source class.