module FFI::LibC
Constants
- NI_DGRAM
- NI_MAXHOST
- NI_MAXSERV
- NI_NAMEREQD
- NI_NOFQDN
- NI_NUMERICHOST
- NI_NUMERICSERV
- NULL
The
NULL
constant- RUSAGE_CHILDREN
- RUSAGE_SELF
bits/resource.h (Linux) / sys/resource.h (Darwin)
- RUSAGE_THREAD
Public Class Methods
each_ifaddr() { |ifaddr| ... }
click to toggle source
Enumerates over the Interface Addresses.
@yield [ifaddr]
The given block will be passed each Interface Address.
@yieldparam [Ifaddrs] ifaddr
An Interface Address.
@return [Enumerator]
If no block is given, an enumerator will be returned.
@since 0.1.0
# File lib/ffi/libc/libc.rb, line 165 def self.each_ifaddr return enum_for(__method__) unless block_given? ptr = MemoryPointer.new(:pointer) if getifaddrs(ptr) == -1 raise_error end if (ifaddrs = ptr.get_pointer(0)).null? return end ifaddr = Ifaddrs.new(ifaddrs) while ifaddr yield ifaddr ifaddr = ifaddr.next end freeifaddrs(ifaddrs) end
raise_error(error=self.errno)
click to toggle source
# File lib/ffi/libc/libc.rb, line 26 def self.raise_error(error=self.errno) raise(strerror(error)) end
rusage(who=RUSAGE_SELF)
click to toggle source
Gets the RUsage
for the user.
@param [RUSAGE_SELF, RUSAGE_CHILDREN
, RUSAGE_THREAD
] who
Whome to get RUsage statistics for.
@return [RUsage]
The RUsage statistics.
@raise [RuntimeError]
An error has occurred.
@since 0.1.0
# File lib/ffi/libc/libc.rb, line 210 def self.rusage(who=RUSAGE_SELF) rusage = RUsage.new unless (ret = getrusage(who,rusage)) == 0 raise_error(ret) end return rusage end