Barrelfish
Functions
pty.c File Reference

posix pseudo terminal implementation More...

Functions

int posix_openpt (int oflag)
 Open a pseudo-terminal device. More...
 
int unlockpt (int fd)
 Unlock a pseudo-terminal master/slave pair.
 
int grantpt (int fd)
 Grant access to the slave pseudo-terminal device.
 
char * ptsname (int fd)
 Get name of the slave pseudo-terminal device.
 
int ptm_close (int fd)
 
ssize_t ptm_read (int fd, void *buf, size_t count)
 Read on pseudo-terminal master. (thread-safe) More...
 
ssize_t ptm_write (int fd, const void *buf, size_t count)
 Write on pseudo-terminal master. (thread-safe) More...
 
int pts_close (int fd)
 
iref_t posixcompat_pts_get_iref (int fd)
 Retrieve interface reference of session interface associated with pseudo-terminal. More...
 

Detailed Description

posix pseudo terminal implementation

This implementation provides a blocking API to pseudo-terminals with buffered input and unbuffered output.

Function Documentation

int posix_openpt ( int  oflag)

Open a pseudo-terminal device.

Exports a terminal interface and creates the file '/dev/pts/0' for the slave side.

Note
The vfs must be initialized before this function is called.
iref_t posixcompat_pts_get_iref ( int  fd)

Retrieve interface reference of session interface associated with pseudo-terminal.

Parameters
fdFile descriptor of slave side.
Returns
Interface reference associated with fd or IREF_NULL on error.
int ptm_close ( int  fd)

Wrapper functions for master side.

ssize_t ptm_read ( int  fd,
void *  buf,
size_t  count 
)

Read on pseudo-terminal master. (thread-safe)

Called, when a read happens on a file-descriptor of type FDTAB_TYPE_PTM. Should not be called directly by applications. Implements POSIX read semantics.

ssize_t ptm_write ( int  fd,
const void *  buf,
size_t  count 
)

Write on pseudo-terminal master. (thread-safe)

Called, when a write happens on a file-descriptor of type FDTAB_TYPE_PTM. Should not be called directly by applications. Implements POSIX write semantics.

int pts_close ( int  fd)

Wrapper functions for slave side.