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.
For a block.
Receive the section and its pairs for the current configuration.
config.each do |section, key, value| # ... end
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
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.