CTERMID(3C) Standard C Library Functions CTERMID(3C)

NAME


ctermid, ctermid_r - generate path name for controlling terminal

SYNOPSIS


#include <stdio.h>

char *ctermid(char *s);


char *ctermid_r(char *s);


DESCRIPTION


ctermid()
The ctermid() function generates the path name of the controlling
terminal for the current process and stores it in a string.


If s is a null pointer, the string is stored in an internal static
area whose address is returned and whose contents are overwritten at
the next call to ctermid(). Otherwise, s is assumed to point to a
character array of at least L_ctermid elements. The path name is
placed in this array and the value of s is returned. The constant
L_ctermid is defined in the header <stdio.h>.

ctermid_r()
The ctermid_r() function behaves as ctermid() except that if s is a
null pointer, the function returns NULL.

USAGE


The difference between ctermid() and ttyname(3C) is that ttyname()
must be passed a file descriptor and returns the actual name of the
terminal associated with that file descriptor, while ctermid()
returns a string (/dev/tty) that will refer to the terminal if used
as a file name. The ttyname() function is useful only if the process
already has at least one file open to a terminal.


The ctermid() function is unsafe in multithreaded applications. The
ctermid_r() function is MT-Safe and should be used instead.


When compiling multithreaded applications, the _REENTRANT flag must
be defined on the compile line. This flag should be used only with
multithreaded applications.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+------------------------+
|Interface Stability | ctermid() is Standard |
+--------------------+------------------------+
|MT-Level | ctermid() is Unsafe; |
| | ctermid_r() is MT-Safe |
+--------------------+------------------------+

SEE ALSO


ttyname(3C), attributes(7)

July 25, 2000 CTERMID(3C)

tribblix@gmail.com :: GitHub :: Privacy