Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Standard C Library Functionsctermid(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(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface Stabilityctermid is Standard
MT-Levelctermid is Unsafe; ctermid_r is MT-Safe

SEE ALSO

 

ttyname(3C), attributes(5)


SunOS 5.9Go To TopLast Changed 25 Jul 2000

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.