Man page - ttyname_r(3)

Packages contains this manual

Available languages:

en fr es ja ru ro de

Manual

ttyname

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
ATTRIBUTES
STANDARDS
HISTORY
NOTES
SEE ALSO

NAME

ttyname, ttyname_r - return name of a terminal

LIBRARY

Standard C library ( libc , -lc )

SYNOPSIS

#include <unistd.h>

char *ttyname(int fd );
int ttyname_r(int
fd , char buf [. buflen ], size_t buflen );

DESCRIPTION

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 .

RETURN VALUE

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.

ERRORS

EBADF

Bad file descriptor.

ENODEV

fd refers to a slave pseudoterminal device but the corresponding pathname could not be found (see NOTES).

ENOTTY

fd does not refer to a terminal device.

ERANGE

( ttyname_r ()) buflen was too small to allow storing the pathname.

ATTRIBUTES

For an explanation of the terms used in this section, see attributes (7).

Image grohtml-446209-1.png

STANDARDS

POSIX.1-2008.

HISTORY

POSIX.1-2001, 4.2BSD.

NOTES

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 .

SEE ALSO

tty (1), fstat (2), ctermid (3), isatty (3), pts (4)