man-pages/man3/ptsname.3

99 lines
2.1 KiB
Groff

.\" Hey Emacs! This file is -*- nroff -*- source.
.\" This page is in the public domain. - aeb
.\"
.\" 2004-12-17, mtk, added description of ptsname_r() + ERRORS
.\"
.TH PTSNAME 3 2008-09-03 "" "Linux Programmer's Manual"
.SH NAME
ptsname, ptsname_r \- get the name of the slave pseudo-terminal
.SH SYNOPSIS
.nf
.B #define _XOPEN_SOURCE
.br
.B #include <stdlib.h>
.sp
.BI "char *ptsname(int " fd ");"
.sp
.B #define _GNU_SOURCE
.br
.B #include <stdlib.h>
.sp
.BI "int ptsname_r(int " fd ", char *" buf ", size_t " buflen ");"
.fi
.SH DESCRIPTION
The
.BR ptsname ()
function returns the name of the slave pseudo-terminal (pty) device
corresponding to the master referred to by
.IR fd .
The
.BR ptsname_r ()
function is the reentrant equivalent of
.BR ptsname ().
It returns the name of the slave pseudo-terminal device as a
null-terminated string in the buffer pointed to by
.IR buf .
The
.I buflen
argument specifies the number of bytes available in
.IR buf .
.SH "RETURN VALUE"
On success,
.BR ptsname ()
returns a pointer to a string in static storage which will be
overwritten by subsequent calls.
This pointer must not be freed.
On failure, a NULL pointer is returned.
On success,
.BR ptsname_r ()
returns 0.
On failure, a nonzero value is returned
and
.I errno
is set to indicate the error.
.\" In fact the errno value is also returned as the function
.\" result -- MTK, Dec 04
.SH ERRORS
.TP
.B EINVAL
.RB ( ptsname_r ()
only)
.I buf
is NULL.
.TP
.B ENOTTY
.I fd
does not refer to a pseudo-terminal master device.
.TP
.B ERANGE
.RB ( ptsname_r ()
only)
.I buf
is too small.
.SH VERSIONS
.BR ptsname ()
is provided in glibc since version 2.1.
.SH "CONFORMING TO"
.BR ptsname ()
is part of the UNIX 98 pseudo-terminal support (see
.BR pts (4)).
This function is specified in POSIX.1-2001.
.BR ptsname_r ()
is a Linux extension.
A version of this function is documented on Tru64 and HP-UX, but
on those implementations, \-1 is returned on error, with
.I errno
set to indicate the error.
Avoid using this function in portable programs.
.SH "SEE ALSO"
.BR grantpt (3),
.BR posix_openpt (3),
.BR ttyname (3),
.BR unlockpt (3),
.BR pts (4),
.BR feature_test_macros (7),
.BR pty (7)