Trait gio::prelude::UnixFDMessageExtManual
source · pub trait UnixFDMessageExtManual: Sized {
// Required methods
fn append_fd<T: AsRawFd>(&self, fd: T) -> Result<(), Error>;
fn steal_fds(&self) -> Vec<RawFd>;
}
Required Methods§
sourcefn append_fd<T: AsRawFd>(&self, fd: T) -> Result<(), Error>
fn append_fd<T: AsRawFd>(&self, fd: T) -> Result<(), Error>
Adds a file descriptor to self
.
The file descriptor is duplicated using dup()
. You keep your copy
of the descriptor and the copy contained in self
will be closed
when self
is finalized.
A possible cause of failure is exceeding the per-process or system-wide file descriptor limit.
fd
a valid open file descriptor
Returns
sourcefn steal_fds(&self) -> Vec<RawFd>
fn steal_fds(&self) -> Vec<RawFd>
Returns the array of file descriptors that is contained in this object.
After this call, the descriptors are no longer contained in
self
. 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-None
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 None
. In case there are no file
descriptors contained in self
, an empty array is returned.
Returns
an array of file descriptors