Function nix::pty::posix_openpt [−][src]
Expand description
Open a pseudoterminal device (see
posix_openpt(3)
)
posix_openpt()
returns a file descriptor to an existing unused pseuterminal master device.
Examples
A common use case with this function is to open both a master and slave PTY pair. This can be done as follows:
use std::path::Path;
use nix::fcntl::{OFlag, open};
use nix::pty::{grantpt, posix_openpt, ptsname, unlockpt};
use nix::sys::stat::Mode;
// Open a new PTY master
let master_fd = posix_openpt(OFlag::O_RDWR)?;
// Allow a slave to be generated for it
grantpt(&master_fd)?;
unlockpt(&master_fd)?;
// Get the name of the slave
let slave_name = unsafe { ptsname(&master_fd) }?;
// Try to open the slave
let _slave_fd = open(Path::new(&slave_name), OFlag::O_RDWR, Mode::empty())?;