Class: MachO::LoadCommands::BuildVersionCommand
- Inherits:
-
LoadCommand
- Object
- MachOStructure
- LoadCommand
- MachO::LoadCommands::BuildVersionCommand
- Defined in:
- lib/macho/load_commands.rb
Overview
A load command containing the minimum OS version on which the binary was built for its platform. Corresponds to LC_BUILD_VERSION.
Defined Under Namespace
Classes: ToolEntries
Constant Summary collapse
- FORMAT =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
"L=6".freeze
- SIZEOF =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
24
Instance Attribute Summary collapse
-
#minos ⇒ Integer
readonly
The minimum OS version X.Y.Z packed as x16.y8.z8.
- #platform ⇒ Integer readonly
-
#sdk ⇒ Integer
readonly
The SDK version X.Y.Z packed as x16.y8.z8.
-
#tool_entries ⇒ ToolEntries
readonly
Tool entries.
Attributes inherited from LoadCommand
Instance Method Summary collapse
-
#initialize(view, cmd, cmdsize, platform, minos, sdk, ntools) ⇒ BuildVersionCommand
constructor
private
A new instance of BuildVersionCommand.
-
#minos_string ⇒ String
A string representation of the binary's minimum OS version.
-
#sdk_string ⇒ String
A string representation of the binary's SDK version.
Methods inherited from LoadCommand
create, new_from_bin, #offset, #serializable?, #serialize, #to_s, #type
Methods inherited from MachOStructure
Constructor Details
#initialize(view, cmd, cmdsize, platform, minos, sdk, ntools) ⇒ BuildVersionCommand
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 BuildVersionCommand.
1151 1152 1153 1154 1155 1156 1157 |
# File 'lib/macho/load_commands.rb', line 1151 def initialize(view, cmd, cmdsize, platform, minos, sdk, ntools) super(view, cmd, cmdsize) @platform = platform @minos = minos @sdk = sdk @tool_entries = ToolEntries.new(view, ntools) end |
Instance Attribute Details
#minos ⇒ Integer (readonly)
Returns the minimum OS version X.Y.Z packed as x16.y8.z8.
1134 1135 1136 |
# File 'lib/macho/load_commands.rb', line 1134 def minos @minos end |
#platform ⇒ Integer (readonly)
1131 1132 1133 |
# File 'lib/macho/load_commands.rb', line 1131 def platform @platform end |
#sdk ⇒ Integer (readonly)
Returns the SDK version X.Y.Z packed as x16.y8.z8.
1137 1138 1139 |
# File 'lib/macho/load_commands.rb', line 1137 def sdk @sdk end |
#tool_entries ⇒ ToolEntries (readonly)
Returns tool entries.
1140 1141 1142 |
# File 'lib/macho/load_commands.rb', line 1140 def tool_entries @tool_entries end |
Instance Method Details
#minos_string ⇒ String
A string representation of the binary's minimum OS version.
1196 1197 1198 1199 1200 1201 1202 1203 |
# File 'lib/macho/load_commands.rb', line 1196 def minos_string binary = "%032b" % minos segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } segs.join(".") end |
#sdk_string ⇒ String
A string representation of the binary's SDK version.
1207 1208 1209 1210 1211 1212 1213 1214 |
# File 'lib/macho/load_commands.rb', line 1207 def sdk_string binary = "%032b" % sdk segs = [ binary[0..15], binary[16..23], binary[24..31] ].map { |s| s.to_i(2) } segs.join(".") end |