SBSection.h revision 3508c387c3f0c9ecc439d98048fd7694d41bab1b
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 16namespace lldb { 17 18class SBSection 19{ 20public: 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 FindSubSection (const char *sect_name); 39 40 size_t 41 GetNumSubSections (); 42 43 lldb::SBSection 44 GetSubSectionAtIndex (size_t idx); 45 46 lldb::addr_t 47 GetFileAddress (); 48 49 lldb::addr_t 50 GetByteSize (); 51 52 uint64_t 53 GetFileOffset (); 54 55 uint64_t 56 GetFileByteSize (); 57 58 lldb::SBData 59 GetSectionData (); 60 61 lldb::SBData 62 GetSectionData (uint64_t offset, 63 uint64_t size); 64 65 SectionType 66 GetSectionType (); 67 68 bool 69 operator == (const lldb::SBSection &rhs); 70 71 bool 72 operator != (const lldb::SBSection &rhs); 73 74 bool 75 GetDescription (lldb::SBStream &description); 76 77private: 78 79 friend class SBAddress; 80 friend class SBModule; 81 friend class SBTarget; 82 83 SBSection (const lldb::SectionSP §ion_sp); 84 85 lldb::SectionSP 86 GetSP() const; 87 88 void 89 SetSP(const lldb::SectionSP §ion_sp); 90 91 lldb::SectionWP m_opaque_wp; 92}; 93 94 95} // namespace lldb 96 97#endif // LLDB_SBSection_h_ 98