PTSNAME(3)

NAME
ptsname - get the pathname of the slave pseudo-terminal device

LIBRARY
libc

SYNOPSIS
#include <stdlib.h>
char *
ptsname(int masterfd);

DESCRIPTION
The ptsname() function returns the pathname of the slave pseudo-terminal device that corresponds to the master pseudo-terminal device associated with masterfd. The ptsname() function is not reentrant or thread-safe.

RETURN VALUES
If successful, ptsname() returns a pointer to a nul-terminated string containing the pathname of the slave pseudo-terminal device. If an error occurs ptsname() will return NULL and errno is set to indicate the error.

ERRORS
The ptsname() function will fail if:

[EACCESS]
    the corresponding pseudo-terminal device could not be accessed.

[EBADF]
    masterfd is not a valid descriptor.

[EINVAL]
    masterfd is not associated with a master pseudo-terminal device.

NOTES
The error returns of ptsname() are a NetBSD extension. The ptsname() function is equivalent to:

    	struct ptmget pm;
    	return ioctl(masterfd, TIOCPTSNAME, pm) == -1 ? NULL : pm.sn;

SEE ALSO
ioctl(2), grantpt(3), posix_openpt(3), unlockpt(3)

STANDARDS
The ptsname() function conforms to p1003.1-2001. Its first release was in xpg4.2.