Class: MachO::Section64
- Inherits:
-
MachOStructure
- Object
- MachOStructure
- MachO::Section64
- Defined in:
- lib/macho/sections.rb
Overview
Represents a section of a segment for 64-bit architectures.
Instance Attribute Summary collapse
-
#addr ⇒ Fixnum
readonly
The memory address of the section.
-
#align ⇒ Fixnum
readonly
The section alignment (power of 2) of the section.
-
#flags ⇒ Fixnum
readonly
Flags for type and addrributes of the section.
-
#nreloc ⇒ Fixnum
readonly
The number of relocation entries.
-
#offset ⇒ Fixnum
readonly
The file offset of the section.
-
#reloff ⇒ Fixnum
readonly
The file offset of the section’s relocation entries.
-
#reserved1 ⇒ void
readonly
Reserved (for offset or index).
-
#reserved2 ⇒ void
readonly
Reserved (for count or sizeof).
-
#reserved3 ⇒ void
readonly
Reserved.
-
#sectname ⇒ String
readonly
The name of the section, including null pad bytes.
-
#segname ⇒ String
readonly
The name of the segment’s section, including null pad bytes.
-
#size ⇒ Fixnum
readonly
The size, in bytes, of the section.
Instance Method Summary collapse
-
#flag?(flag) ⇒ Boolean
True if ‘flag` is present in the sections’s flag field.
-
#initialize(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2, reserved3) ⇒ Section64
constructor
private
A new instance of Section64.
-
#section_name ⇒ String
The section’s name, with any trailing NULL characters removed.
-
#segment_name ⇒ String
The parent segment’s name, with any trailing NULL characters removed.
Methods inherited from MachOStructure
Constructor Details
#initialize(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2, reserved3) ⇒ Section64
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Section64.
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
# File 'lib/macho/sections.rb', line 174 def initialize(sectname, segname, addr, size, offset, align, reloff, nreloc, flags, reserved1, reserved2, reserved3) @sectname = sectname @segname = segname @addr = addr @size = size @offset = offset @align = align @reloff = reloff @nreloc = nreloc @flags = flags @reserved1 = reserved1 @reserved2 = reserved2 @reserved3 = reserved3 end |
Instance Attribute Details
#addr ⇒ Fixnum (readonly)
Returns the memory address of the section.
141 142 143 |
# File 'lib/macho/sections.rb', line 141 def addr @addr end |
#align ⇒ Fixnum (readonly)
Returns the section alignment (power of 2) of the section.
150 151 152 |
# File 'lib/macho/sections.rb', line 150 def align @align end |
#flags ⇒ Fixnum (readonly)
Returns flags for type and addrributes of the section.
159 160 161 |
# File 'lib/macho/sections.rb', line 159 def flags @flags end |
#nreloc ⇒ Fixnum (readonly)
Returns the number of relocation entries.
156 157 158 |
# File 'lib/macho/sections.rb', line 156 def nreloc @nreloc end |
#offset ⇒ Fixnum (readonly)
Returns the file offset of the section.
147 148 149 |
# File 'lib/macho/sections.rb', line 147 def offset @offset end |
#reloff ⇒ Fixnum (readonly)
Returns the file offset of the section’s relocation entries.
153 154 155 |
# File 'lib/macho/sections.rb', line 153 def reloff @reloff end |
#reserved1 ⇒ void (readonly)
This method returns an undefined value.
Returns reserved (for offset or index).
162 163 164 |
# File 'lib/macho/sections.rb', line 162 def reserved1 @reserved1 end |
#reserved2 ⇒ void (readonly)
This method returns an undefined value.
Returns reserved (for count or sizeof).
165 166 167 |
# File 'lib/macho/sections.rb', line 165 def reserved2 @reserved2 end |
#reserved3 ⇒ void (readonly)
This method returns an undefined value.
Returns reserved.
168 169 170 |
# File 'lib/macho/sections.rb', line 168 def reserved3 @reserved3 end |
#sectname ⇒ String (readonly)
Returns the name of the section, including null pad bytes.
135 136 137 |
# File 'lib/macho/sections.rb', line 135 def sectname @sectname end |
#segname ⇒ String (readonly)
Returns the name of the segment’s section, including null pad bytes.
138 139 140 |
# File 'lib/macho/sections.rb', line 138 def segname @segname end |
#size ⇒ Fixnum (readonly)
Returns the size, in bytes, of the section.
144 145 146 |
# File 'lib/macho/sections.rb', line 144 def size @size end |
Instance Method Details
#flag?(flag) ⇒ Boolean
Returns true if ‘flag` is present in the sections’s flag field.
204 205 206 |
# File 'lib/macho/sections.rb', line 204 def flag?(flag) flags & flag == flag end |
#section_name ⇒ String
Returns the section’s name, with any trailing NULL characters removed.
191 192 193 |
# File 'lib/macho/sections.rb', line 191 def section_name @sectname.delete("\x00") end |
#segment_name ⇒ String
Returns the parent segment’s name, with any trailing NULL characters removed.
196 197 198 |
# File 'lib/macho/sections.rb', line 196 def segment_name @segname.delete("\x00") end |