HPlogo HP-UX Reference Volume 4 of 5 > t

ttyname(3C)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

ttyname(), ttyname_r(), isatty() — find name of a terminal

SYNOPSIS

#include <unistd.h>

char *ttyname(int fildes);

int ttyname_r(int fildes, char *buffer, size_t buflen);

int isatty(int fildes);

DESCRIPTION

ttyname() returns a pointer to a string containing the null-terminated path name of the terminal device associated with file descriptor fildes.

isatty() returns 1 if fildes is associated with a terminal device, 0 otherwise.

Reentrant Interfaces

ttyname_r() returns the result string in the supplied buffer. The buffer is buflen characters long and should have space for the name and the terminating null character. The maximum length of the terminal name is TTY_NAME_MAX.

RETURN VALUE

ttyname() returns a NULL pointer if fildes does not describe a terminal device in directory /dev. ttyname_r() returns a zero upon success and an error number upon failure.

ERRORS

isatty() and ttyname() fail if any of the following conditions are encountered:

[EBADF]

The fildes argument is invalid.

[ENOTTY]

An inappropriate I/O control operation has been attempted.

APPLICATION USAGE

The return value for ttyname() points to static data whose content is overwritten by each call. ttyname() is not thread-safe. ttyname_r() is thread-safe. ttyname() and ttyname_r() are not async-cancel-safe. A cancellation point may occur when a thread is executing ttyname() or ttyname_r().

WARNINGS

For streams ptys, ttyname() and isatty() do not consider master ptys to be tty devices. It should also be noted that ttyname() returns a pointer to the master pty name for all master pty devices. This is a result of device files being linked together.

Users of ttyname_r() should also note that the prototype of this function has changed in this release for conformance with the POSIX.1c Threads standard. The old prototype of ttyname_r() is supported for compatibility with existing DCE applications only.

FILES

/dev/* /dev/pty/*

STANDARDS CONFORMANCE

ttyname(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

ttyname_r(): POSIX.1c

isatty(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1

© Hewlett-Packard Development Company, L.P.