Object
The Uname class encapsulates information about the system.
The Uname class encapsulates uname (platform) information.
The UnameStruct is used to store platform information for some methods.
The version of the sys-uname library
The basic instruction set architecture of the current system, e.g. sparc, i386, etc.
# File lib/unix/sys/uname.rb, line 260 def self.architecture uname.architecture end
The string consisting of the ASCII hexidecimal encoding of the name of the interface configured by boot(1M) followed by the DHCPACK reply from the server.
# File lib/unix/sys/uname.rb, line 274 def self.dhcp_cache uname.dhcp_cache end
The name of the of the hardware provider.
# File lib/unix/sys/uname.rb, line 294 def self.hw_provider uname.hw_provider end
The ASCII representation of the hardware-specific serial number of the physical machine on which the function is executed.
# File lib/unix/sys/uname.rb, line 288 def self.hw_serial uname.hw_serial.to_i end
The variant instruction set architectures executable on the current system.
# File lib/unix/sys/uname.rb, line 281 def self.isa_list uname.isa_list end
Returns the machine hardware type.
Example:
Uname.machine # => 'i686'
# File lib/unix/sys/uname.rb, line 240 def self.machine uname.machine end
Returns the model type.
Example:
Uname.model # => 'MacBookPro5,3'
# File lib/unix/sys/uname.rb, line 251 def self.model uname.model end
Returns the name of this node within the communications network to which this node is attached, if any. This is often, but not necessarily, the same as the host name.
Example:
Uname.nodename # => 'your_host.foo.com'
# File lib/unix/sys/uname.rb, line 210 def self.nodename uname.nodename end
The specific model of the hardware platform, e.g Sun-Blade-1500, etc.
# File lib/unix/sys/uname.rb, line 266 def self.platform uname.platform end
Returns the current release level of your operating system.
Example:
Uname.release # => '2.2.16-3'
# File lib/unix/sys/uname.rb, line 220 def self.release uname.release end
The Secure Remote Procedure Call domain name.
# File lib/unix/sys/uname.rb, line 300 def self.srpc_domain uname.srpc_domain end
Returns the name of this implementation of the operating system.
Example:
Uname.sysname # => 'SunOS'
# File lib/unix/sys/uname.rb, line 198 def self.sysname uname.sysname end
Returns a struct that contains the sysname, nodename, machine, version and release of your system.
On OS X it will also include the model.
On Solaris, it will also include the architecture and platform.
On HP-UX, it will also include the id_number.
Example:
require 'sys/uname' p Sys::Uname.uname
# File lib/unix/sys/uname.rb, line 137 def self.uname utsname = UnameFFIStruct.new if uname_c(utsname) < 0 raise Error, "uname() function call failed" end struct = UnameStruct.new struct[:sysname] = utsname[:sysname].to_s struct[:nodename] = utsname[:nodename].to_s struct[:release] = utsname[:release].to_s struct[:version] = utsname[:version].to_s struct[:machine] = utsname[:machine].to_s if RbConfig::CONFIG['host_os'] =~ /darwin|bsd/ struct[:model] = get_model() end if RbConfig::CONFIG['host_os'] =~ /sunos|solaris/ struct[:architecture] = get_si(SI_ARCHITECTURE) struct[:platform] = get_si(SI_PLATFORM) struct[:hw_serial] = get_si(SI_HW_SERIAL) struct[:hw_provider] = get_si(SI_HW_PROVIDER) struct[:srpc_domain] = get_si(SI_SRPC_DOMAIN) struct[:isa_list] = get_si(SI_ISALIST) struct[:dhcp_cache] = get_si(SI_DHCP_CACHE) # FFI and Solaris don't get along so well, so we try again struct[:sysname] = get_si(SI_SYSNAME) if struct.sysname.empty? struct[:nodename] = get_si(SI_HOSTNAME) if struct.nodename.empty? struct[:release] = get_si(SI_RELEASE) if struct.release.empty? struct[:version] = get_si(SI_VERSION) if struct.version.empty? struct[:machine] = get_si(SI_MACHINE) if struct.machine.empty? end if RbConfig::CONFIG['host_os'] =~ /hpux/ struct[:id_number] = utsname[:__id_number].to_s end if RbConfig::CONFIG['host_os'] =~ /linux/ struct[:domainname] = utsname[:domainname].to_s end # Let's add a members method that works for testing and compatibility if struct.members.nil? struct.instance_eval(%{ def members @table.keys.map{ |k| k.to_s } end }) end struct.freeze end
Generated with the Darkfish Rdoc Generator 2.