Skip to main content

sendmsg

Function sendmsg 

Source
pub fn sendmsg(
    sock: BorrowedFd<'_>,
    request: &SendMessageRequest<'_>,
) -> Result<SendMessageResult, Errno>
Expand description

Envoie un message avec données de contrôle (ancillaires).

Wrappeur de sendmsg(2). Supporte l’envoi multi-buffer et le passage de FDs via SCM_RIGHTS. NOSIGNAL est activé par défaut.

§Parameters

  • sock : FD du socket.
  • request : description du message à envoyer.

§Errors

Voir send. De plus :

  • EINVAL : nombre de FDs dans request.fds dépasse SCM_MAX_FD.

§Examples

use air_sys_syscall::net::sendmsg;
use air_sys_types::net::{IoSlice, MessageFlags, SendMessageRequest};
use air_sys_types::fd::BorrowedFd;

let data = b"hello";
let iov = [IoSlice::new(data)];
let req = SendMessageRequest {
    iov: &iov,
    address: None,
    fds: &[],
    flags: MessageFlags::empty(),
};
sendmsg(fd, &req).expect("sendmsg");