Skip to main content

recvmsg

Function recvmsg 

Source
pub fn recvmsg(
    sock: BorrowedFd<'_>,
    request: &mut ReceiveMessageRequest<'_>,
) -> Result<ReceiveMessageResult, Errno>
Expand description

Reçoit un message avec données de contrôle (ancillaires).

Wrappeur de recvmsg(2). Les FDs reçus via SCM_RIGHTS sont automatiquement encapsulés dans des [OwnedFd] avec CLOEXEC si [MessageFlags::CMSG_CLOEXEC] est dans request.flags.

§Parameters

  • sock : FD du socket.
  • request : buffers de destination et flags.

§Errors

Voir recv.

§Examples

use air_sys_syscall::net::recvmsg;
use air_sys_types::net::{IoSliceMut, MessageFlags, ReceiveMessageRequest};
use air_sys_types::fd::BorrowedFd;

let mut buffer = [0u8; 1024];
let mut iov = [IoSliceMut::new(&mut buffer)];
let mut req = ReceiveMessageRequest {
    iov: &mut iov,
    flags: MessageFlags::CMSG_CLOEXEC,
};
let result = recvmsg(fd, &mut req).expect("recvmsg");
// result.fds contient les OwnedFd reçus via SCM_RIGHTS