TTYNAME

get name of associated terminal (tty) from file descriptor

SYNOPSIS

#include <unistd.h>
char * ttyname(int fd); int ttyname_r(int fd char *buf size_t len); int isatty(int fd); int ttyslot(void);

LIBRARY

Standard C Library (libc, -lc)

DESCRIPTION

These functions operate on the system file descriptors for terminal type devices. These descriptors are not related to the standard I/O FILE typedef, but refer to the special device files found in /dev and named /dev/tty xx and for which an entry exists in the initialization file /etc/ttys. (See ttys(5))

The isatty function determines if the file descriptor fd refers to a valid terminal type device.

The ttyname function gets the related device name of a file descriptor for which isatty is true.

The ttyname function returns the name stored in a static buffer which will be overwritten on subsequent calls. The ttyname_r function takes a buffer and length as arguments to avoid this problem.

The ttyslot function fetches the current process’ control terminal number from the ttys(5) file entry.

RETURN VALUES

The ttyname function returns the null terminated name if the device is found and isatty is true; otherwise a NULL pointer is returned. The ttyname_r function returns 0 if successful. Otherwise an error number is returned.

The ttyslot function returns the unit number of the device file if found; otherwise the value zero is returned.

FILES

  • /dev/*
  • /etc/ttys

ERRORS

The ttyname_r may fail and return the following error codes:

  • [ENOTTY] The fd argument is not a valid file descriptor.
  • [ERANGE] The bufsize argument is smaller than the length of the string to be returned.

SEE ALSO

HISTORY

The isatty, ttyname, and ttyslot functions appeared in The ttyname_r function appeared in

Comments

Add Comment
  1. Submitting...