Trait gio::prelude::UnixFDListExtManual
source · pub trait UnixFDListExtManual:
Sealed
+ IsA<UnixFDList>
+ Sized {
// Provided methods
fn append<T: AsRawFd>(&self, fd: T) -> Result<i32, Error> { ... }
fn get(&self, index_: i32) -> Result<RawFd, Error> { ... }
fn peek_fds(&self) -> Vec<RawFd> { ... }
fn steal_fds(&self) -> Vec<RawFd> { ... }
}
Provided Methods§
sourcefn append<T: AsRawFd>(&self, fd: T) -> Result<i32, Error>
fn append<T: AsRawFd>(&self, fd: T) -> Result<i32, 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.
The index of the file descriptor in the list is returned. If you use this index with g_unix_fd_list_get() then you will receive back a duplicated copy of the same file descriptor.
§fd
a valid open file descriptor
§Returns
the index of the appended fd in case of success, else -1 (and @error is set)
sourcefn get(&self, index_: i32) -> Result<RawFd, Error>
fn get(&self, index_: i32) -> Result<RawFd, Error>
Gets a file descriptor out of @self.
@index_ specifies the index of the file descriptor to get. It is a programmer error for @index_ to be out of range; see g_unix_fd_list_get_length().
The file descriptor is duplicated using dup() and set as close-on-exec before being returned. You must call close() on it when you are done.
A possible cause of failure is exceeding the per-process or system-wide file descriptor limit.
§index_
the index into the list
§Returns
the file descriptor, or -1 in case of error
sourcefn peek_fds(&self) -> Vec<RawFd>
fn peek_fds(&self) -> Vec<RawFd>
Returns the array of file descriptors that is contained in this object.
After this call, the descriptors remain the property of @self. The caller must not close them and must not free the array. The array is valid only until @self is changed in any way.
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
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. The file descriptors in the array are set to close-on-exec.
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