ttyname(3)

ttyname3

Get name of associated terminal (tty) from file descriptor

Usage

#include <unistd.h>

char *

ttyname(int fd);

int

ttyname_r(int fd, char *buf, size_t len);

int

isatty(int fd);

Library

Standard C Library (libc, -lc)

Overview

These functions operate on file descriptors for terminal type devices.

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.

Return values

The isatty() function returns 1 if fd refers to a terminal type device; otherwise, it returns 0 and may set errno to indicate the error. 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.

Errors

These functions may fail if:

[EBADF]

The fd argument is not a valid file descriptor.

[ENOTTY]

The file associated with fd is not a terminal.

Additionally, ttyname_r() may fail if:

[ERANGE]

The bufsize argument is smaller than the length of the string to be returned.

Releases

163 releases since Mac OS X 10.0; the text changed 5 times.

  1. 10.0–10.1.5
  2. 10.2–10.2.8
  3. 10.3–10.4.11
  4. 10.5–10.12.6
  5. 10.13–10.13.3
  6. 10.13.4–26.5

History

The isatty() and ttyname() functions appeared in Version 7 AT&T UNIX. The ttyname_r() function appeared in FreeBSD 6.0.

From Libc 1752.120.2 in macOS 26.5. Parsed by carta from the page's mdoc source.