CTERMID(3)

NAME
ctermid, ctermid_r - generate terminal pathname

LIBRARY
libc

SYNOPSIS
#include <stdio.h>
char *
ctermid(char *buf);
char *
ctermid_r(char *buf);

DESCRIPTION
The ctermid() function generates a string, that, when used as a pathname, refers to the current controlling terminal of the calling process.

If buf is the NULL pointer, a pointer to a static area is returned. Otherwise, the pathname is copied into the memory referenced by buf. The argument buf is assumed to be at least L_ctermid (as defined in the include file <stdio.h>) bytes long.

The ctermid_r() function provides the same functionality as ctermid() except that if buf is a NULL pointer, NULL is returned.

The current implementation simply returns ‘/dev/tty’.

RETURN VALUES
The ctermid() function returns buf if it is non-NULL, otherwise it returns the address of a static buffer. The ctermid_r() function always returns buf, even if it is the NULL pointer.

ERRORS
The current implementation detects no error conditions.

SEE ALSO
ttyname(3)

STANDARDS
The ctermid() function conforms to p1003.1-88.

BUGS
By default the ctermid() function writes all information to an internal static object. Subsequent calls to ctermid() will modify the same object.