Provided by: manpages-es_1.55-10_all bug

NOMBRE

       openpty, login_tty, forkpty - utilidades tty

SINOPSIS

       #include <pty.h>  /* para openpty y forkpty */
       #include <utmp.h> /* para login_tty */

       int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize * winp);

       int login_tty(int fd);

       pid_t forkpty(int *amaster, char *name, struct termios *termp, struct winsize *winp);

DESCRIPCIÓN

       La  función  openpty() busca una pseudo-tty disponible y devuelve los descriptores de fichero para la pty
       maestra y esclava en amaster y aslave.  Si name es distinto de NULL, el  nombre  de  fichero  de  la  pty
       esclava  se  devuelve en name.  Si termp es distinto de NULL, se asignará a los parámetros de terminal de
       la pty esclava los valores en termp.  Si winp es distinto de NULL, el tamaño de  la  ventana  de  la  pty
       esclava se fijará con los valores en winp.

       La función login_tty() prepara un inicio de sesión en la tty fd (que puede ser un dispositivo tty real, o
       la pty esclava de una pseudo-tty devuelta por openpty()) creando una nueva sesión, haciendo que fd sea la
       terminal  de  control del proceso actual, poniendo fd como entrada, salida y salida de error estándar del
       proceso actual, y cerrando fd.

       La función forkpty() combina openpty(), fork(), y login_tty() para crear un nuevo proceso operando en una
       pseudo-tty. El descriptor de fichero del lado maestro de la pseudo-tty  es  devuelto  en  amaster,  y  el
       nombre  de  fichero de la pty esclava en name si éste no es NULL. Los parámetros termp y winp , si no son
       NULL, determinarán los atributos de la terminal y el tamaño de la ventana del lado esclavo de la  pseudo-
       tty.

VALOR DEVUELTO

       Si  una  llamada a openpty(), login_tty(), o forkpty() no tiene éxito, se devuelve -1 y se modifica errno
       para indicar el error. En otro caso, openpty(), login_tty(), y el proceso hijo de forkpty() devuelven  0,
       y el proceso padre de forkpty() devuelve el identificador de proceso del proceso hijo.

ERRORES

       openpty() fallará si:

       ENOENT No hay ttys disponibles.

       login_pty() fallará si ioctl() falla al poner a fd como terminal de control del proceso actual.

       forkpty() fallará si openpty() o fork() fallan.

FICHEROS

       /dev/[pt]ty[pqrstuwxyzabcdePQRST][0123456789abcdef]

CONFORME A

       Éstas son funciones de BSD, presentes en libc5 y glibc2.

VÉASE TAMBIÉN

       fork(2)

BSD MANPAGE                                     13 diciembre 2001                                     OPENPTY(3)