Method: Facter::Freebsd::FfiHelper.kenv
- Defined in:
- lib/facter/resolvers/freebsd/ffi/ffi_helper.rb
.kenv(action, name, value = nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/facter/resolvers/freebsd/ffi/ffi_helper.rb', line 20 def self.kenv(action, name, value = nil) case action when :get len = Libc::KENV_MVALLEN + 1 value = FFI::MemoryPointer.new(:char, len) res = Libc.kenv(Libc::KENV_GET, name, value, len) return nil if res.negative? value.read_string(res).chomp("\0") else raise "Action #{action} not supported" end end |