May 25, 2004 PTSNAME 3

### NAME

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

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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.ps;

`

### SEE ALSO

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

### STANDARDS

The ptsname(``) function conforms to IEEE Std 1003.1-2001 (``POSIX.1'') . Its first release was in X/Open Portability Guide Issue 4, Version 2 (``XPG4.2'') .