1POSIX_OPENPT(3)            Linux Programmer's Manual           POSIX_OPENPT(3)
2
3
4

NAME

6       posix_openpt - open a pseudoterminal device
7

SYNOPSIS

9       #include <stdlib.h>
10       #include <fcntl.h>
11
12       int posix_openpt(int flags);
13
14   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
15
16       posix_openpt(): _XOPEN_SOURCE >= 600
17

DESCRIPTION

19       The  posix_openpt()  function  opens  an  unused  pseudoterminal master
20       device, returning a file descriptor that can be used to refer  to  that
21       device.
22
23       The  flags argument is a bit mask that ORs together zero or more of the
24       following flags:
25
26       O_RDWR Open the device for both reading and writing.  It  is  usual  to
27              specify this flag.
28
29       O_NOCTTY
30              Do  not  make  this  device  the  controlling  terminal  for the
31              process.
32

RETURN VALUE

34       On success, posix_openpt() returns a  file  descriptor  (a  nonnegative
35       integer) which is the lowest numbered unused file descriptor.  On fail‐
36       ure, -1 is returned, and errno is set to indicate the error.
37

ERRORS

39       See open(2).
40

VERSIONS

42       Glibc support for posix_openpt() has been provided since version 2.2.1.
43

ATTRIBUTES

45       For  an  explanation  of  the  terms  used   in   this   section,   see
46       attributes(7).
47
48       ┌───────────────┬───────────────┬─────────┐
49Interface      Attribute     Value   
50       ├───────────────┼───────────────┼─────────┤
51posix_openpt() │ Thread safety │ MT-Safe │
52       └───────────────┴───────────────┴─────────┘

CONFORMING TO

54       POSIX.1-2001, POSIX.1-2008.
55
56       posix_openpt()  is  part  of  the  UNIX  98 pseudoterminal support (see
57       pts(4)).
58

NOTES

60       Some older UNIX implementations that support System  V  (aka  UNIX  98)
61       pseudoterminals don't have this function, but it is easy to implement:
62
63           int
64           posix_openpt(int flags)
65           {
66               return open("/dev/ptmx", flags);
67           }
68
69       Calling  posix_openpt()  creates a pathname for the corresponding pseu‐
70       doterminal slave device.  The pathname  of  the  slave  device  can  be
71       obtained  using  ptsname(3).   The slave device pathname exists only as
72       long as the master device is open.
73

SEE ALSO

75       open(2), getpt(3), grantpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)
76

COLOPHON

78       This page is part of release 5.07 of the Linux  man-pages  project.   A
79       description  of  the project, information about reporting bugs, and the
80       latest    version    of    this    page,    can     be     found     at
81       https://www.kernel.org/doc/man-pages/.
82
83
84
85                                  2020-04-11                   POSIX_OPENPT(3)
Impressum