pub fn pty_peer(master: BorrowedFd<'_>) -> Result<OwnedFd, Errno>Expand description
pty_peer (TIOCGPTPEER) — ouvre directement l’esclave de master et
renvoie son descripteur.
Voie moderne (Linux 4.13+) : elle évite le TOCTOU du chemin /dev/pts/N
(où l’esclave pourrait être substitué entre la résolution du nom et
l’ouverture). L’argument ioctl est une valeur entière de drapeaux
d’ouverture — O_RDWR | O_NOCTTY | O_CLOEXEC, O_CLOEXEC étant demandé
explicitement (cet ioctl ne l’ajoute pas, contrairement à crate::fs::openat).
La valeur de retour de l’ioctl est le nouveau fd de l’esclave.
Prérequis : l’esclave doit être déverrouillé au préalable (pty_unlock).
§Errors
- [
Errno::ENOTTY] :mastern’est pas un maître de PTY. - [
Errno::EBADF] :mastern’est pas un descripteur valide. - [
Errno::EINVAL] : kernel antérieur à 4.13 (ioctl non pris en charge).