Path: utzoo!utgpu!attcan!ncrcan!hcr!larry From: larry@hcr.UUCP (Larry Philps) Newsgroups: comp.unix.i386,comp.unix.questions Subject: Re: Help needed with Streams based pseudo ttys Message-ID: <1330@hcr.UUCP> Date: 6 Jul 89 13:55:35 GMT References: <670@vision.UUCP> Reply-To: larry@zeus.UUCP (Larry Philps) Organization: HCR Corporation, Toronto Lines: 50 In article <670@vision.UUCP> andyw@vision.UUCP (Andy Warner) writes: > I need information on how to use the streams based pseudo-ttys >distributed with Interactive 386/ix 2.0. There is a single clone major >(/dev/ptmx), and 16 slaves (/dev/pts???). The major can be opened, but >I can never open the slaves, even with the master being held open. It >would seem only sensible due to the clone nature of the master, that >I need to perform some operation to discover which slave to open. The >header file defines two ioctl flags, but doesn't elaborate. Interactive >refused to answer my questions, well they didn't exactly refuse, they just >never rang back. I have not tried this with the 386ix 2.0 version of ptys, but have done similar things with other "clone" pty implementations. The code to do such a thing is usually (using your names for the devices): int master, slave; struct stat statbuf; char slavetty[sizeof("/dev/pts00")]; ... /* Get the master side */ if ((master = open("/dev/ptmx", O_RDWR)) < 0) { perror("/dev/ptmx"); exit(1); } /* * Stat the master and look at the minor device number of the * rdev field to find out which pty the clone device assigned * to us. Then form the name of the corresponding slave pty */ if (fstat(master, &statbuf) < 0) { perror("fstat"); exit(2); } (void) sprintf(slavetty, "/dev/pts%02d", minor(statbuf.st_rdev)); if ((slave = open(slavetty, O_RDWR) < 0) { perror(slavetty); exit(2); } Warning: I have not tested this or even copied it, I just typed it in off the top of my head. This is what I would try. Use at your own risk. --- Larry Philps HCR Corporation 130 Bloor St. West, 10th floor Toronto, Ontario. M5S 1N5 (416) 922-1937 {utzoo,utcsri,uunet}!hcr!larry