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§

source

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)

source

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

source

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

source

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

Object Safety§

This trait is not object safe.

Implementors§