blob: 4e87e6e379fc9a4ba9b174632c69888ff28aa6bf [file] [log] [blame]
Enrico Granata91544802011-09-06 19:20:51 +00001//===-- SWIG Interface for SBData -------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10
11namespace lldb {
12
13class SBData
14{
15public:
16
Johnny Chen6a388c92011-09-15 22:05:38 +000017 SBData ();
Enrico Granata91544802011-09-06 19:20:51 +000018
Johnny Chen6a388c92011-09-15 22:05:38 +000019 SBData (const SBData &rhs);
Enrico Granata91544802011-09-06 19:20:51 +000020
Johnny Chen6a388c92011-09-15 22:05:38 +000021 ~SBData ();
Enrico Granata91544802011-09-06 19:20:51 +000022
Johnny Chen6a388c92011-09-15 22:05:38 +000023 uint8_t
24 GetAddressByteSize ();
Enrico Granata91544802011-09-06 19:20:51 +000025
Johnny Chen6a388c92011-09-15 22:05:38 +000026 void
27 Clear ();
Enrico Granata91544802011-09-06 19:20:51 +000028
Johnny Chen6a388c92011-09-15 22:05:38 +000029 bool
30 IsValid();
Enrico Granata91544802011-09-06 19:20:51 +000031
Johnny Chen6a388c92011-09-15 22:05:38 +000032 size_t
33 GetByteSize ();
Enrico Granata91544802011-09-06 19:20:51 +000034
Johnny Chen6a388c92011-09-15 22:05:38 +000035 lldb::ByteOrder
36 GetByteOrder();
Enrico Granata91544802011-09-06 19:20:51 +000037
Johnny Chen6a388c92011-09-15 22:05:38 +000038 float
39 GetFloat (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000040
Johnny Chen6a388c92011-09-15 22:05:38 +000041 double
42 GetDouble (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000043
Johnny Chen6a388c92011-09-15 22:05:38 +000044 long double
45 GetLongDouble (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000046
Johnny Chen6a388c92011-09-15 22:05:38 +000047 lldb::addr_t
48 GetAddress (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000049
Johnny Chen6a388c92011-09-15 22:05:38 +000050 uint8_t
51 GetUnsignedInt8 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000052
Johnny Chen6a388c92011-09-15 22:05:38 +000053 uint16_t
54 GetUnsignedInt16 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000055
Johnny Chen6a388c92011-09-15 22:05:38 +000056 uint32_t
57 GetUnsignedInt32 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000058
Johnny Chen6a388c92011-09-15 22:05:38 +000059 uint64_t
60 GetUnsignedInt64 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000061
Johnny Chen6a388c92011-09-15 22:05:38 +000062 int8_t
63 GetSignedInt8 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000064
Johnny Chen6a388c92011-09-15 22:05:38 +000065 int16_t
66 GetSignedInt16 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000067
Johnny Chen6a388c92011-09-15 22:05:38 +000068 int32_t
69 GetSignedInt32 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000070
Johnny Chen6a388c92011-09-15 22:05:38 +000071 int64_t
72 GetSignedInt64 (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000073
Johnny Chen6a388c92011-09-15 22:05:38 +000074 const char*
75 GetString (lldb::SBError& error, uint32_t offset);
Enrico Granata91544802011-09-06 19:20:51 +000076
Johnny Chen6a388c92011-09-15 22:05:38 +000077 bool
78 GetDescription (lldb::SBStream &description);
Enrico Granata91544802011-09-06 19:20:51 +000079
Johnny Chen6a388c92011-09-15 22:05:38 +000080 size_t
81 ReadRawData (lldb::SBError& error,
82 uint32_t offset,
83 void *buf,
84 size_t size);
Enrico Granata91544802011-09-06 19:20:51 +000085
Johnny Chen6a388c92011-09-15 22:05:38 +000086 void
87 SetData(lldb::SBError& error, const void *buf, size_t size, lldb::ByteOrder endian, uint8_t addr_size);
88
89 bool
90 Append(const SBData& rhs);
Enrico Granata91544802011-09-06 19:20:51 +000091
92
93};
94
95} // namespace lldb