ptsname

PTSNAME(3)                 Linux Programmer's Manual                PTSNAME(3)

NAME
       ptsname, ptsname_r - get the name of the slave pseudoterminal

SYNOPSIS
       #include <stdlib.h>

       char *ptsname(int fd);
       int ptsname_r(int fd, char *buf, size_t buflen);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       ptsname():
           Since glibc 2.24:
               _XOPEN_SOURCE >= 500 ||
                   (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
           Glibc 2.23 and earlier:
               _XOPEN_SOURCE

       ptsname_r():
           _GNU_SOURCE

DESCRIPTION
       The ptsname() function returns the name of the slave pseudoterminal de-
       vice corresponding to the master referred to by fd.

       The ptsname_r() function is the reentrant equivalent of ptsname().   It
       returns  the  name  of the slave pseudoterminal device as a null-termi-
       nated string in the buffer pointed to  by  buf.   The  buflen  argument
       specifies the number of bytes available in buf.

RETURN VALUE
       On  success,  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, NULL is returned.

       On  success, ptsname_r() returns 0.  On failure, a nonzero value is re-
       turned and errno is set to indicate the error.

ERRORS
       EINVAL (ptsname_r() only) buf is NULL.  (This error  is  returned  only
              for glibc 2.25 and earlier.)

       ENOTTY fd does not refer to a pseudoterminal master device.

       ERANGE (ptsname_r() only) buf is too small.

VERSIONS
       ptsname() is provided in glibc since version 2.1.

ATTRIBUTES
       For  an  explanation  of  the  terms  used  in  this  section,  see at-
       tributes(7).

       +------------+---------------+------------------------+
       |Interface   | Attribute     | Value                  |
       +------------+---------------+------------------------+
       |ptsname()   | Thread safety | MT-Unsafe race:ptsname |
       +------------+---------------+------------------------+
       |ptsname_r() | Thread safety | MT-Safe                |
       +------------+---------------+------------------------+
CONFORMING TO
       ptsname():
        POSIX.1-2001, POSIX.1-2008.

       ptsname() is part of the UNIX 98 pseudoterminal support (see pts(4)).

       ptsname_r() is a Linux extension, that is proposed for inclusion in the
       next  major  revision of POSIX.1 (Issue 8).  A version of this function
       is documented on Tru64 and HP-UX, but on those implementations,  -1  is
       returned  on  error, with errno set to indicate the error.  Avoid using
       this function in portable programs.

SEE ALSO
       grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)

COLOPHON
       This page is part of release 5.05 of the Linux  man-pages  project.   A
       description  of  the project, information about reporting bugs, and the
       latest    version    of    this    page,    can     be     found     at
       https://www.kernel.org/doc/man-pages/.

                                  2017-09-15                        PTSNAME(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024 Hurricane Electric. All Rights Reserved.