… | |
… | |
87 | *ttydev = _getpty (&pfd, O_RDWR | O_NONBLOCK | O_NOCTTY, 0622, 0); |
87 | *ttydev = _getpty (&pfd, O_RDWR | O_NONBLOCK | O_NOCTTY, 0622, 0); |
88 | if (*ttydev != NULL) |
88 | if (*ttydev != NULL) |
89 | return pfd; |
89 | return pfd; |
90 | #endif |
90 | #endif |
91 | |
91 | |
92 | #ifdef PTYS_ARE_GETPTY |
|
|
93 | char *ptydev; |
|
|
94 | |
|
|
95 | while ((ptydev = getpty ()) != NULL) |
|
|
96 | if ((pfd = open (ptydev, O_RDWR | O_NOCTTY, 0)) >= 0) |
|
|
97 | { |
|
|
98 | *ttydev = ptydev; |
|
|
99 | return pfd; |
|
|
100 | } |
|
|
101 | #endif |
|
|
102 | |
|
|
103 | #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) |
92 | #if defined(HAVE_GRANTPT) && defined(HAVE_UNLOCKPT) |
104 | # if defined(PTYS_ARE_GETPT) || defined(PTYS_ARE_PTMX) |
93 | # if defined(PTYS_ARE_POSIX) || defined(PTYS_ARE_PTMX) |
105 | |
94 | |
106 | { |
95 | { |
107 | # ifdef PTYS_ARE_GETPT |
96 | # ifdef PTYS_ARE_POSIX |
108 | pfd = getpt (); |
97 | pfd = posix_openpt (O_RDWR); |
109 | # else |
98 | # else |
110 | pfd = open ("/dev/ptmx", O_RDWR | O_NOCTTY, 0); |
99 | pfd = open ("/dev/ptmx", O_RDWR | O_NOCTTY, 0); |
111 | # endif |
100 | # endif |
112 | |
101 | |
113 | if (pfd >= 0) |
102 | if (pfd >= 0) |