Skip to main content

bind

Function bind 

Source
pub fn bind(sock: BorrowedFd<'_>, address: &SocketAddr) -> Result<(), Errno>
Expand description

Lie un socket à une adresse locale.

Wrappeur de bind(2). Pour les sockets Unix path-based, supprimer le chemin existant avec unlinkat (en ignorant ENOENT) avant d’appeler bind est la convention recommandée.

§Parameters

  • sock : FD du socket.
  • address : adresse locale à lier.

§Errors

  • EADDRINUSE : adresse déjà utilisée.
  • EADDRNOTAVAIL : adresse non disponible sur cet hôte.
  • EINVAL : socket déjà lié ou adresse invalide.
  • EACCES : permission refusée (ex. bind sur un port < 1024 sans privilèges).

§Examples

use air_sys_syscall::net::{socket, bind};
use air_sys_types::net::{SocketAddr, SocketDomain, SocketType, UnixSocketAddr};
use air_sys_types::fd::AsFd;

let fd = socket(SocketDomain::Unix, SocketType::Stream, 0).expect("socket");
bind(fd.as_fd(), &SocketAddr::Unix(UnixSocketAddr::Path(
    std::ffi::CString::new("/tmp/air.sock").expect("cstring"),
))).expect("bind");