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

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::{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())?;