ttyname, ttyname_r - devuelven el nombre de una terminal
Biblioteca Estándar C (
libc,
-lc)
#include <unistd.h>
char *ttyname(int fd);
int ttyname_r(int fd, char buf[.buflen], size_t buflen);
The function
ttyname() returns a pointer to the null-terminated pathname
of the terminal device that is open on the file descriptor
fd, or NULL
on error (for example, if
fd is not connected to a terminal). The
return value may point to static data, possibly overwritten by the next call.
The function
ttyname_r() stores this pathname in the buffer
buf
of length
buflen.
The function
ttyname() returns a pointer to a pathname on success. On
error, NULL is returned, and
errno is set to indicate the error. The
function
ttyname_r() returns 0 on success, and an error number upon
error.
- EBADF
- Descriptor de fichero incorrecto.
- ENODEV
-
fd refers to a slave pseudoterminal device but the
corresponding pathname could not be found (see NOTES).
- ENOTTY
-
fd no hace referencia a un dispositivo
terminal.
- ERANGE
- (ttyname_r()) buflen es demasiado
pequeño para permitir el almacenamiento del nombre de ruta.
Para obtener una explicación de los términos usados en esta
sección, véase
attributes(7).
Interfaz |
Atributo |
Valor |
ttyname() |
Seguridad del hilo |
MT-Unsafe race:ttyname |
ttyname_r() |
Seguridad del hilo |
Multi-hilo seguro |
POSIX.1-2001, POSIX.1-2008, 4.2BSD.
A process that keeps a file descriptor that refers to a
pts(4) device
open when switching to another mount namespace that uses a different
/dev/ptmx instance may still accidentally find that a device path of
the same name for that file descriptor exists. However, this device path
refers to a different device and thus can't be used to access the device that
the file descriptor refers to. Calling
ttyname() or
ttyname_r()
on the file descriptor in the new mount namespace will cause these functions
to return NULL and set
errno to
ENODEV.
tty(1),
fstat(2),
ctermid(3),
isatty(3),
pts(4)
La traducción al español de esta página del manual fue
creada por Miguel Pérez Ibars <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]