1 //===-- SBSection.h ---------------------------------------------*- 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 #ifndef LLDB_SBSection_h_ 11 #define LLDB_SBSection_h_ 12 13 #include "lldb/API/SBDefines.h" 14 #include "lldb/API/SBData.h" 15 16 namespace lldb { 17 18 class SBSection 19 { 20 public: 21 22 SBSection (); 23 24 SBSection (const lldb::SBSection &rhs); 25 26 ~SBSection (); 27 28 const lldb::SBSection & 29 operator = (const lldb::SBSection &rhs); 30 31 bool 32 IsValid () const; 33 34 const char * 35 GetName (); 36 37 lldb::SBSection 38 GetParent(); 39 40 lldb::SBSection 41 FindSubSection (const char *sect_name); 42 43 size_t 44 GetNumSubSections (); 45 46 lldb::SBSection 47 GetSubSectionAtIndex (size_t idx); 48 49 lldb::addr_t 50 GetFileAddress (); 51 52 lldb::addr_t 53 GetLoadAddress (lldb::SBTarget &target); 54 55 lldb::addr_t 56 GetByteSize (); 57 58 uint64_t 59 GetFileOffset (); 60 61 uint64_t 62 GetFileByteSize (); 63 64 lldb::SBData 65 GetSectionData (); 66 67 lldb::SBData 68 GetSectionData (uint64_t offset, 69 uint64_t size); 70 71 SectionType 72 GetSectionType (); 73 74 bool 75 operator == (const lldb::SBSection &rhs); 76 77 bool 78 operator != (const lldb::SBSection &rhs); 79 80 bool 81 GetDescription (lldb::SBStream &description); 82 83 84 private: 85 86 friend class SBAddress; 87 friend class SBModule; 88 friend class SBTarget; 89 90 SBSection (const lldb::SectionSP §ion_sp); 91 92 lldb::SectionSP 93 GetSP() const; 94 95 void 96 SetSP(const lldb::SectionSP §ion_sp); 97 98 lldb::SectionWP m_opaque_wp; 99 }; 100 101 102 } // namespace lldb 103 104 #endif // LLDB_SBSection_h_ 105