class Gio::UnixFDMessage
- Gio::UnixFDMessage
- Gio::SocketControlMessage
- GObject::Object
- Reference
- Object
Overview
This #GSocketControlMessage contains a #GUnixFDList. It may be sent using g_socket_send_message() and received using g_socket_receive_message() over UNIX sockets (ie: sockets in the %G_SOCKET_FAMILY_UNIX family). The file descriptors are copied between processes by the kernel.
For an easier way to send and receive file descriptors over stream-oriented UNIX sockets, see g_unix_connection_send_fd() and g_unix_connection_receive_fd().
Note that <gio/gunixfdmessage.h>
belongs to the UNIX-specific GIO
interfaces, thus you have to use the gio-unix-2.0.pc
pkg-config
file when using it.
Defined in:
lib/gi-crystal/src/auto/gio-2.0/unix_fd_message.crConstructors
-
.new : self
Creates a new #GUnixFDMessage containing an empty file descriptor list.
- .new(*, fd_list : Gio::UnixFDList | Nil = nil)
-
.new_with_fd_list(fd_list : Gio::UnixFDList) : self
Creates a new #GUnixFDMessage containing list.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#append_fd(fd : Int32) : Bool
Adds a file descriptor to message.
-
#fd_list : Gio::UnixFDList
Gets the #GUnixFDList contained in message.
- #fd_list=(value : Gio::UnixFDList | Nil) : Gio::UnixFDList | Nil
-
#hash(hasher)
See
Object#hash(hasher)
-
#steal_fds : Enumerable(Int32)
Returns the array of file descriptors that is contained in this object.
Instance methods inherited from class Gio::SocketControlMessage
==(other : self)
==,
hash(hasher)
hash,
level : Int32
level,
msg_type : Int32
msg_type,
serialize(data : Pointer(Void)) : Nil
serialize,
size : UInt64
size
Constructor methods inherited from class Gio::SocketControlMessage
new
new
Class methods inherited from class Gio::SocketControlMessage
deserialize(level : Int32, type : Int32, data : Bytes) : Gio::SocketControlMessage
deserialize,
g_type : UInt64
g_type
Instance methods inherited from class GObject::Object
==(other : self)
==,
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Creates a new #GUnixFDMessage containing list.
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
Adds a file descriptor to message.
The file descriptor is duplicated using dup(). You keep your copy of the descriptor and the copy contained in message will be closed when message is finalized.
A possible cause of failure is exceeding the per-process or system-wide file descriptor limit.
Gets the #GUnixFDList contained in message. This function does not return a reference to the caller, but the returned list is valid for the lifetime of message.
Returns the array of file descriptors that is contained in this object.
After this call, the descriptors are no longer contained in message. Further calls will return an empty list (unless more descriptors have been added).
The return result of this function must be freed with g_free(). The caller is also responsible for closing all of the file descriptors.
If length is non-nil
then it is set to the number of file
descriptors in the returned array. The returned array is also
terminated with -1.
This function never returns nil
. In case there are no file
descriptors contained in message, an empty array is returned.