class method
Socket::AncillaryData.int
(::Symbol, ::Symbol, ::Symbol, ::Symbol) -> instance
Socket::AncillaryData.int(family, cmsg_level, cmsg_type, integer) => ancillarydata
ext/socket/ancdata.c
View on GitHub ↗
static VALUE
ancillary_s_int(VALUE klass, VALUE vfamily, VALUE vlevel, VALUE vtype, VALUE integer)
{
int family = rsock_family_arg(vfamily);
int level = rsock_level_arg(family, vlevel);
int type = rsock_cmsg_type_arg(family, level, vtype);
int i = NUM2INT(integer);
return ancdata_new(family, level, type, rb_str_new((char*)&i, sizeof(i)));
}
Creates a new Socket::AncillaryData object which contains a int as data.
The size and endian is dependent on the host.
Example
require 'socket' p Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno) #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>