10 #ifndef LLDB_SBData_h_
11 #define LLDB_SBData_h_
27 uint8_t GetAddressByteSize();
29 void SetAddressByteSize(uint8_t addr_byte_size);
37 lldb::ByteOrder GetByteOrder();
39 void SetByteOrder(lldb::ByteOrder endian);
43 double GetDouble(
lldb::SBError &error, lldb::offset_t offset);
45 long double GetLongDouble(
lldb::SBError &error, lldb::offset_t offset);
47 lldb::addr_t GetAddress(
lldb::SBError &error, lldb::offset_t offset);
49 uint8_t GetUnsignedInt8(
lldb::SBError &error, lldb::offset_t offset);
51 uint16_t GetUnsignedInt16(
lldb::SBError &error, lldb::offset_t offset);
53 uint32_t GetUnsignedInt32(
lldb::SBError &error, lldb::offset_t offset);
55 uint64_t GetUnsignedInt64(
lldb::SBError &error, lldb::offset_t offset);
57 int8_t GetSignedInt8(
lldb::SBError &error, lldb::offset_t offset);
59 int16_t GetSignedInt16(
lldb::SBError &error, lldb::offset_t offset);
61 int32_t GetSignedInt32(
lldb::SBError &error, lldb::offset_t offset);
63 int64_t GetSignedInt64(
lldb::SBError &error, lldb::offset_t offset);
65 const char *GetString(
lldb::SBError &error, lldb::offset_t offset);
67 size_t ReadRawData(
lldb::SBError &error, lldb::offset_t offset,
void *buf,
71 lldb::addr_t base_addr = LLDB_INVALID_ADDRESS);
79 void SetData(
lldb::SBError &error,
const void *buf,
size_t size,
80 lldb::ByteOrder endian, uint8_t addr_size);
83 bool Append(
const SBData &rhs);
85 static lldb::SBData CreateDataFromCString(lldb::ByteOrder endian,
86 uint32_t addr_byte_size,
93 static lldb::SBData CreateDataFromUInt64Array(lldb::ByteOrder endian,
94 uint32_t addr_byte_size,
98 static lldb::SBData CreateDataFromUInt32Array(lldb::ByteOrder endian,
99 uint32_t addr_byte_size,
103 static lldb::SBData CreateDataFromSInt64Array(lldb::ByteOrder endian,
104 uint32_t addr_byte_size,
108 static lldb::SBData CreateDataFromSInt32Array(lldb::ByteOrder endian,
109 uint32_t addr_byte_size,
113 static lldb::SBData CreateDataFromDoubleArray(lldb::ByteOrder endian,
114 uint32_t addr_byte_size,
118 bool SetDataFromCString(
const char *data);
120 bool SetDataFromUInt64Array(uint64_t *array,
size_t array_len);
122 bool SetDataFromUInt32Array(uint32_t *array,
size_t array_len);
124 bool SetDataFromSInt64Array(int64_t *array,
size_t array_len);
126 bool SetDataFromSInt32Array(int32_t *array,
size_t array_len);
128 bool SetDataFromDoubleArray(
double *array,
size_t array_len);
132 lldb_private::DataExtractor *
get()
const;
134 lldb_private::DataExtractor *operator->()
const;
136 lldb::DataExtractorSP &operator*();
138 const lldb::DataExtractorSP &operator*()
const;
140 SBData(
const lldb::DataExtractorSP &data_sp);
142 void SetOpaque(
const lldb::DataExtractorSP &data_sp);
151 lldb::DataExtractorSP m_opaque_sp;
156 #endif // LLDB_SBData_h_