Function nix::pty::posix_openpt[][src]

pub fn posix_openpt(flags: OFlag) -> Result<PtyMaster>

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::{O_RDWR, open};
use nix::pty::*;
use nix::sys::stat;

// Open a new PTY master
let master_fd = posix_openpt(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 = ptsname(&master_fd)?;

// Try to open the slave
let slave_fd = open(Path::new(&slave_name), O_RDWR, stat::Mode::empty())?;