module FFI::IO
This module implements a couple of class methods to play with IO
.
Public Class Methods
@param [Integer] fd file decriptor @param [String] mode mode string @return [::IO] Synonym for IO::for_fd
.
# File lib/ffi/io.rb, line 39 def self.for_fd(fd, mode = "r") ::IO.for_fd(fd, mode) end
@param [#read] io io to read from @param [AbstractMemory] buf destination for data read from io
@param [nil, Integer] len maximul number of bytes to read from io
. If nil
,
read until end of file.
@return [Integer] length really read, in bytes
A version of IO#read that reads data from an IO
and put then into a native buffer.
This will be optimized at some future time to eliminate the double copy.
# File lib/ffi/io.rb, line 53 def self.native_read(io, buf, len) tmp = io.read(len) return -1 unless tmp buf.put_bytes(0, tmp) tmp.length end