Streams pty code.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24731 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2009-02-16 18:37:25 +00:00
parent 90856e57b7
commit 355ddbc828

View File

@@ -90,6 +90,38 @@ open_pty(void)
if(openpty(&master, &slave, line, 0, 0) == 0)
return;
#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 */
exit(77);