Streams pty code.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24731 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -90,6 +90,38 @@ open_pty(void)
|
|||||||
if(openpty(&master, &slave, line, 0, 0) == 0)
|
if(openpty(&master, &slave, line, 0, 0) == 0)
|
||||||
return;
|
return;
|
||||||
#endif /* HAVE_OPENPTY .... */
|
#endif /* HAVE_OPENPTY .... */
|
||||||
|
#ifdef STREAMSPTY
|
||||||
|
{
|
||||||
|
char *clone[] = {
|
||||||
|
"/dev/ptc",
|
||||||
|
"/dev/ptmx",
|
||||||
|
"/dev/ptm",
|
||||||
|
"/dev/ptym/clone",
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
char **q;
|
||||||
|
int p;
|
||||||
|
for(q = clone; *q; q++){
|
||||||
|
master = open(*q, O_RDWR);
|
||||||
|
if(master >= 0){
|
||||||
|
#ifdef HAVE_GRANTPT
|
||||||
|
grantpt(master);
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_UNLOCKPT
|
||||||
|
unlockpt(master);
|
||||||
|
#endif
|
||||||
|
strlcpy(line, ptsname(master), sizeof(line));
|
||||||
|
slave = open(line, O_RDWR);
|
||||||
|
if (slave < 0)
|
||||||
|
errx(1, "failed to open slave");
|
||||||
|
ioctl(slave, I_PUSH, "ptem");
|
||||||
|
ioctl(slave, I_PUSH, "ldterm");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* STREAMSPTY */
|
||||||
|
|
||||||
/* more cases, like open /dev/ptmx, etc */
|
/* more cases, like open /dev/ptmx, etc */
|
||||||
|
|
||||||
exit(77);
|
exit(77);
|
||||||
|
Reference in New Issue
Block a user