Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Dec 1995 04:38:13 +0200
From:      Heikki Suonsivu <hsu@clinet.fi>
To:        freebsd-bugs@freefall.FreeBSD.org
Subject:   Obsolete pty code patch committed (for devfs)?
Message-ID:  <199512020238.EAA18682@katiska.clinet.fi>

index | next in thread | raw e-mail


The below just committed in current doesn't seem right:

diff -cr /usr/previous/current/src/sys/kern/tty_pty.c /usr/current/src/sys/kern/tty_pty.c
*** /usr/previous/current/src/sys/kern/tty_pty.c	Sat Nov  4 18:40:47 1995
--- /usr/current/src/sys/kern/tty_pty.c	Wed Nov 29 18:34:18 1995
...  
***************
*** 733,735 ****
--- 737,797 ----
  	}
  	return (error);
  }
+ 
+ #define CDEV_MAJOR_S 5
+ #define CDEV_MAJOR_C 6
+ #ifdef JREMOD
+ struct cdevsw pts_cdevsw = 
+ 	{ ptsopen,	ptsclose,	ptsread,	ptswrite,	/*5*/
+ 	  ptyioctl,	ptsstop,	nullreset,	ptydevtotty,/* ttyp */
+ 	  ttselect,	nommap,		NULL };
+ 
+ struct cdevsw ptc_cdevsw = 
+ 	{ ptcopen,	ptcclose,	ptcread,	ptcwrite,	/*6*/
+ 	  ptyioctl,	nullstop,	nullreset,	ptydevtotty,/* ptyp */
+ 	  ptcselect,	nommap,		NULL };
+ 
+ static ptc_devsw_installed = 0;
+ 
+ static void 	ptc_drvinit(void *unused)
+ {
+ #ifdef DEVFS
+ 	int i
+ 	char jnames[] = "pqrstu"
+ 	char knames[] = "0123456789abcdef"

This is wrong; its pqrsPQRS and 0123456789abcdefghijklmnopqrstuv.

+ 	char devname[16];

32?

+ #define MAXUNITS (6 * 16)

256

+ #endif
+ 	dev_t dev;
+ 	dev_t dev_c;
+ 
+ 	if( ! ptc_devsw_installed ) {
+ 		dev = makedev(CDEV_MAJOR_S,0);
+ 		cdevsw_add(&dev,&pts_cdevsw,NULL);
+ 		dev_c = makedev(CDEV_MAJOR_C,0);
+ 		cdevsw_add(&dev_c,&ptc_cdevsw,NULL);
+ 		ptc_devsw_installed = 1;
+ #ifdef DEVFS
+ /*XXX*/
+ #if NPTY > MAXUNITS
+ #undef NPTY
+ #define NPTY MAXUNITS
+ #endif
+ 		for ( i = 0 ; i<NPTY ; i++ ) {
+ 			int x;
+ 
+ 			j = i / 16;

32?

+ 			k = i % 16;

32?

+ 			sprintf(devname,"pty%c%c",jnames[j],knames[k]);
+ 			x=devfs_add_devsw("/",devname,major(dev_c),0,DV_CHR,0,0,0600);
+ 			sprintf(devname,"tty%c%c",jnames[j],knames[k]);
+ 			x=devfs_add_devsw("/",devname,major(dev),0,DV_CHR,0,0,0600);
+ 		}
+ #endif
+     	}
+ }
+ 
+ SYSINIT(ptcdev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR_C,ptc_drvinit,NULL)
+ 
+ #endif /* JREMOD */
+ 


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512020238.EAA18682>