10 #ifndef LLVM_SUPPORT_DATAEXTRACTOR_H
11 #define LLVM_SUPPORT_DATAEXTRACTOR_H
15 #include "llvm/Support/DataTypes.h"
20 uint8_t IsLittleEndian;
29 : Data(Data), IsLittleEndian(IsLittleEndian), AddressSize(AddressSize) {}
60 const char *
getCStr(uint32_t *offset_ptr)
const;
86 uint64_t
getUnsigned(uint32_t *offset_ptr, uint32_t byte_size)
const;
111 int64_t
getSigned(uint32_t *offset_ptr, uint32_t size)
const;
148 uint8_t
getU8(uint32_t *offset_ptr)
const;
173 uint8_t *
getU8(uint32_t *offset_ptr, uint8_t *dst, uint32_t count)
const;
191 uint16_t
getU16(uint32_t *offset_ptr)
const;
216 uint16_t *
getU16(uint32_t *offset_ptr, uint16_t *dst, uint32_t count)
const;
232 uint32_t
getU32(uint32_t *offset_ptr)
const;
257 uint32_t *
getU32(uint32_t *offset_ptr, uint32_t *dst, uint32_t count)
const;
273 uint64_t
getU64(uint32_t *offset_ptr)
const;
298 uint64_t *
getU64(uint32_t *offset_ptr, uint64_t *dst, uint32_t count)
const;
316 int64_t
getSLEB128(uint32_t *offset_ptr)
const;
334 uint64_t
getULEB128(uint32_t *offset_ptr)
const;
349 return offset + length >= offset &&
isValidOffset(offset + length - 1);
size_t size() const
size - Get the string size.