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.
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.
The posix_openpt subroutine will fail if:
| 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. |
The posix_openpt subroutine may fail if:
| EINVAL | The value of the oflag parameter is not valid. |
| EAGAIN | Out of pseudo-terminal resources. |
| ENOSR | Out of STREAMS resources. |
The following example describes how to open a pseudo-terminal and return the name of the slave device and file descriptor
#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(slave, O_RDWR|O_NOCTTY);
if (slavefd < 0)
return -1;
grantpt Subroutine, open, openx, open64, creat, or creat64 Subroutine, ptsname Subroutine.
unlockpt Subroutine in AIX 5L Version 5.2 Technical Reference: Base Operating System and Extensions Volume 2.
<fcntl.h> file in AIX 5L Version 5.2 Files Reference.