GRANTPT(3) | Library Functions Manual | GRANTPT(3) |
grantpt
,
posix_openpt
, ptsname
,
ptsname_r
, unlockpt
—
pseudo-terminal access functions
#include
<stdlib.h>
int
grantpt
(int fildes);
char *
ptsname
(int fildes);
int
ptsname_r
(int fildes,
char *buffer, size_t
buflen);
int
unlockpt
(int fildes);
#include
<stdlib.h>
#include <fcntl.h>
int
posix_openpt
(int oflag);
The
grantpt
(),
ptsname
(),
ptsname_r
(),
unlockpt
(), and
posix_openpt
() functions allow access to
pseudo-terminal devices. The first four functions accept a file descriptor
that references the primary half of a pseudo-terminal pair. This file
descriptor is created with posix_openpt
().
The
grantpt
()
function is used to establish ownership and permissions of the replica
device counterpart to the primary device specified with
fildes. The replica device's ownership is set to the
real user ID of the calling process; its permissions are set to user
readable-writable and group writable. The group owner of the replica device
is also set to the group “tty
” if it
exists on the system; otherwise, it is left untouched.
The
ptsname
()
function returns a pointer to the full pathname of the replica device
counterpart to the primary device specified with
fildes. This value can be used to subsequently open
the appropriate replica after posix_openpt
() and
grantpt
() have been called. The
ptsname
() function is not guaranteed to be reentrant
or thread safe. The ptsname_r
() function stores the
full pathname of the replica device in the buffer pointed to by its
buffer argument, up to a maximum length of
buflen including the terminating NUL.
The
unlockpt
()
function unlocks the replica pseudo-terminal device associated with the
primary device to which fildes refers.
The
posix_openpt
()
function opens the first available primary pseudo-terminal device and
returns a descriptor to it. The oflag argument
specifies the flags used for opening the device:
The grantpt
() and
unlockpt
() functions return the value 0 if
successful; otherwise the value -1 is returned and the global
variable errno is set to indicate the error.
The ptsname
() function returns a pointer
to the name of the replica device on success; otherwise a
NULL
pointer is returned and the global variable
errno is set to indicate the error.
The ptsname_r
() function returns 0 if
successful. On failure, it returns -1 and the global variable
errno is set to indicate the error.
The posix_openpt
() function returns a file
descriptor to the first available primary pseudo-terminal device on success;
otherwise -1 is returned and the global variable errno
is set to indicate the error.
The grantpt
(),
ptsname
(), ptsname_r
(), and
unlockpt
() functions may fail and set
errno to:
EINVAL
]In addition, the ptsname_r
() function may
set errno to:
EINVAL
]NULL
.ERANGE
]In addition, the grantpt
() function may
set errno to:
EACCES
]The posix_openpt
() function may fail and
set errno to:
EINVAL
]EAGAIN
]ENXIO
]The grantpt
(),
ptsname
(), ptsname_r
(), and
unlockpt
() functions may also fail and set
errno for any of the errors specified for the
fstat(2) system call.
The posix_openpt
() function may also fail
and set errno for any of the errors specified for the
open(2) system call.
#include
<stdlib.h>
#include
<fcntl.h>
int
grantpt
(int
fildes);;
char *
ptsname
(int
fildes);;
int
unlockpt
(int
fildes);;
#include
<fcntl.h>
int
posix_openpt
(int
oflag);;
The grantpt
(),
ptsname
(), unlockpt
(), and
posix_openpt
() functions conform to
IEEE Std 1003.1-2001 (“POSIX.1”).
February 2, 2005 | Mac OS X 12 |