pub enum ControlMessage<'a> {
    ScmRights(&'a [RawFd]),
    ScmCreds,
    Ipv6PacketInfo(&'a in6_pktinfo),
}
Expand description

A type-safe zero-copy wrapper around a single control message, as used wih sendmsg. More types may be added to this enum; do not exhaustively pattern-match it.

Further reading

Variants

ScmRights(&'a [RawFd])

A message of type SCM_RIGHTS, containing an array of file descriptors passed between processes.

See the description in the “Ancillary messages” section of the unix(7) man page.

Using multiple ScmRights messages for a single sendmsg call isn’t recommended since it causes platform-dependent behaviour: It might swallow all but the first ScmRights message or fail with EINVAL. Instead, you can put all fds to be passed into a single ScmRights message.

ScmCreds

A message of type SCM_CREDS, containing the pid, uid, euid, gid and groups of a process connected to the socket.

This is similar to the socket options LOCAL_CREDS and LOCAL_PEERCRED, but requires a process to explicitly send its credentials.

Credentials are always overwritten by the kernel, so this variant does have any data, unlike the receive-side [ControlMessageOwned::ScmCreds][#enum.ControlMessageOwned.html#variant.ScmCreds].

For further information, please refer to the unix(4) man page.

Ipv6PacketInfo(&'a in6_pktinfo)

Configure the sending addressing and interface for v6

For further information, please refer to the ipv6(7) man page.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.