4.4BSD/usr/src/sys/vax/if/ACC/conf/MAKEDEV.acc

#!/bin/sh -
#
#	@(#)MAKEDEV.local	1.00 (ACC) 5/19/89
#
# Terminal multiplexors:
#	xx*	unibus acp5250/6250 with x29 option
# Special purpose devices:
#	pi*	unibus acp5250/6250 with programmers interface option
#
X29_MAJOR=60
XPI_MAJOR=61

umask 77
for i
do
case $i in

local)
	echo "acceptable arguments are pi, xt, and pad"
	;;

xt*|pad*)
	case $i in
	pad*) name=pad ;;
	xt*)  name=xt  ;;
	esac
	unit=`expr $i : "$name\(.*\)"`
	if [ ! -f x29show ] ; then
		/etc/mknod x29show c $X29_MAJOR 255
	fi
	case $unit in
	0) ch=J ;; 1) ch=K ;; 2) ch=L ;; 3) ch=M ;;
	4) ch=N ;; 5) ch=O ;; 6) ch=P ;; 7) ch=Q ;;
	*) echo bad unit for $name in: $i ;;
	esac
	count=16 ;
	eval `echo $ch $unit $X29_MAJOR $count $name |
	  awk ' { ch = $1; u = $4 * $2; m = $3; cnt = $4; n=$5 } END {
	    for (i = 0; i < cnt; i++)
	      if (n == "pad")
		if (i < 10)
		  printf("/etc/mknod pad%s%x c %d %d; ",ch,i,m,128+u+i);
		else
		  printf("/etc/mknod pad%s%c c %d %d; ",ch,87+i,m,128+u+i);
	      else
	        if (i < 10)
		  printf("/etc/mknod tty%s%x c %d %d; ",ch,i,m,u+i);
	        else
		  printf("/etc/mknod tty%s%c c %d %d; ",ch,87+i,m,u+i); }'`
	;;

pi*)
	class=`expr $i : 'pi\(.*\)'`
	case $class in
	0) offset=0  name=a;;
	1) offset=32 name=b;;
	2) offset=64 name=c;;
	3) offset=96 name=d;;
	*) echo bad unit for pi in: $i;;
	esac
	case $class in
	0|1|2|3)
		umask 0
		eval `echo $offset $name $XPI_MAJOR | awk ' { b=$1; n=$2; m=$3 } END {
			for (i = 0; i < 32; i++)
				printf("/etc/mknod pi%s%02d c %d %d; ", \
					n, i, m, b+i); }'`
		umask 77
		;;

	esac
	;;
esac
done