static char sccsid
[] = "@(#)wwpty.c 3.11 %G%";
* Copyright (c) 1983 Regents of the University of California,
* All rights reserved. Redistribution permitted subject to
* the terms of the Berkeley Software License Agreement.
* To satisfy Chris, we allocate pty's backwards, and if
* there are more than the ptyp's (i.e. the ptyq's)
* on the machine, we don't use the p's.
(void) strcpy(w
->ww_ttyname
, PTY
);
for (c
= 's'; c
>= 'p'; c
--) {
w
->ww_ttyname
[_PT
] = 'p';
w
->ww_ttyname
[_PQRS
] = c
;
w
->ww_ttyname
[_0_9
] = '0';
if (access(w
->ww_ttyname
, 0) < 0)
for (i
= 15; i
>= 0; i
--) {
w
->ww_ttyname
[_PT
] = 'p';
w
->ww_ttyname
[_0_9
] = "0123456789abcdef"[i
];
if ((w
->ww_pty
= open(w
->ww_ttyname
, 2)) < 0)
w
->ww_ttyname
[_PT
] = 't';
if ((tty
= open(w
->ww_ttyname
, 2)) < 0) {
if (ioctl(w
->ww_pty
, (int)TIOCPKT
, (char *)&on
) < 0) {