Opens a pseudo-terminal device.
Standard C library (libc.a)
#include <stdlib.h<
#include <fcntl.h>
 int posix_openpt (oflag
)
int oflag;
The posix_openpt subroutine establishes a connection between a master device for a pseudo terminal and a file descriptor. The file descriptor is used by other I/O functions that refer to that pseudo terminal.
The file status flags and file access modes of the open file description are set according to the value of the oflag parameter.
| Item | Description | 
|---|---|
| oflag |   Values for the oflag parameter are
constructed by a bitwise-inclusive OR of flags from the following
list, defined in the <fcntl.h> file:  
 
 The behavior of other values for the oflag parameter is unspecified.  | 
Upon successful completion, the posix_openpt subroutine opens a master pseudo-terminal device and returns a non-negative integer representing the lowest numbered unused file descriptor. Otherwise, -1 is returned and the errno global variable is set to indicate the error.
| Item | Description | 
|---|---|
| EMFILE | OPEN_MAX file descriptors are currently open in the calling process. | 
| ENFILE | The maximum allowable number of files is currently open in the system. | 
| Item | Description | 
|---|---|
| EINVAL | The value of the oflag parameter is not valid. | 
| EAGAIN | Out of pseudo-terminal resources. | 
| ENOSR | Out of STREAMS resources. | 
#include <fcntl.h>
#include <stdio.h>
int masterfd, slavefd;
char *slavedevice;
masterfd = posix_openpt(O_RDWR|O_NOCTTY);
if (masterfd == -1
   || grantpt (masterfd) == -1
      || unlockpt (masterfd) == -1
      || (slavedevice = ptsname (masterfd)) == NULL)
      return -1;
printf("slave device is: %s\n", slavedevice);
slavefd = open(slavedevice, O_RDWR|O_NOCTTY);
if (slavefd < 0)
   return -1;