Allocates a C struct with the types
provided.
See Fiddle::Pointer.malloc
for memory management issues.
# Automatically freeing the pointer when the block is exited - recommended Fiddle::Pointer.malloc(size, Fiddle::RUBY_FREE) do |pointer| ... end # Manually freeing but relying on the garbage collector otherwise pointer = Fiddle::Pointer.malloc(size, Fiddle::RUBY_FREE) ... pointer.call_free # Relying on the garbage collector - may lead to unlimited memory allocated before freeing any, but safe pointer = Fiddle::Pointer.malloc(size, Fiddle::RUBY_FREE) ... # Only manually freeing pointer = Fiddle::Pointer.malloc(size) begin ... ensure Fiddle.free pointer end # No free function and no call to free - the native memory will leak if the pointer is garbage collected pointer = Fiddle::Pointer.malloc(size) ...
Allocate size
bytes of memory and associate it with an optional freefunc
.
If a block is supplied, the pointer will be yielded to the block instead of being returned, and the return value of the block will be returned. A freefunc
must be supplied if a block is.
If a freefunc
is supplied it will be called once, when the pointer is garbage collected or when the block is left if a block is supplied or when the user calls call_free
, whichever happens first. freefunc
must be an address pointing to a function or an instance of Fiddle::Function
.
Encrypts data in a streaming fashion. Hand consecutive blocks of data to the update
method in order to encrypt it. Returns the encrypted data chunk. When done, the output of Cipher#final
should be additionally added to the result.
If buffer is given, the encryption/decryption result will be written to it. buffer will be resized automatically.
Indicated whether this Cipher
instance uses an Authenticated Encryption mode.
Not every message digest can be computed in one single pass. If a message digest is to be computed from several subsequent sources, then each may be passed individually to the Digest
instance.
digest = OpenSSL::Digest.new('SHA256') digest.update('First input') digest << 'Second input' # equivalent to digest.update('Second input') result = digest.digest
Returns hmac updated with the message to be authenticated. Can be called repeatedly with chunks of the message.
first_chunk = 'The quick brown fox jumps ' second_chunk = 'over the lazy dog' instance.update(first_chunk) #=> 5b9a8038a65d571076d97fe783989e52278a492a instance.update(second_chunk) #=> de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9
Retrieves the section and its pairs for the current configuration.
config.each do |section, key, value| # ... end
pass - string
name - A string describing the key.
key - Any PKey
.
cert - A X509::Certificate
.
The public_key portion of the certificate must contain a valid public key.
The not_before and not_after fields must be filled in.
ca - An optional array of X509::Certificate
‘s.
key_pbe - string
cert_pbe - string
key_iter - integer
mac_iter - integer
keytype - An integer representing an MSIE specific extension.
Any optional arguments may be supplied as nil
to preserve the OpenSSL
defaults.
See the OpenSSL
documentation for PKCS12_create().
Convert path
string to a class
Emit a map. The coder will be yielded to the block.
Emit a map with value
Returns a Psych::Parser::Mark
object that contains line, column, and index information.
Get the indentation level.
Set
the indentation level to level
. The level must be less than 10 and greater than 1.
Returns the exit status of the child for which PTY#check raised this exception
The scanner’s state of the current token. This value is the bitwise OR of zero or more of the Ripper::EXPR_*
constants.
returns the cmsg data as a string.
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").data #=> ""
Returns the netmask address of ifaddr. nil is returned if netmask is not available in ifaddr.