⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makedev

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻
📖 第 1 页 / 共 2 页
字号:
	unit=$tryunit	maxunits=10	id1=0	id2=0	minnum=0	scan=1	scancnt=0	savid1=0; savid2=0	case $tryname in	cx[ab]) chr=33; linecnt=16; skipcnt=0; base=0;;	cxy) chr=33; linecnt=8; skipcnt=8; base=0;;	dfa) chr=1; linecnt=4; skipcnt=4; base=0;;	dz[qv]) chr=1; linecnt=4; skipcnt=4; base=0;;	ss) chr=45; linecnt=4; skipcnt=4; base=1; id2=1; scan=1; maxunits=1;;	fc) chr=58; linecnt=4; skipcnt=4; base=1; id2=1; scan=1; maxunits=1;;	dh[qv]) chr=33; linecnt=8; skipcnt=8; base=0;;	sh) chr=51; linecnt=8; skipcnt=0; base=0; id2=4; scan=1; maxunits=1;;	dz) chr=1; linecnt=8; skipcnt=0; base=0;;	dmz) chr=34; linecnt=24; skipcnt=0; base=0;;	dhu) chr=33; linecnt=16; skipcnt=0; base=0;;	dmb) chr=44; linecnt=8; skipcnt=8; base=0; $MAKEDEV -s dmbsp$unit;;	dhb) chr=44; linecnt=16; skipcnt=0; base=0;;	dmf) chr=22; linecnt=8; skipcnt=0; base=0; $MAKEDEV -s dmfsp$unit;;	lta) chr=39; linecnt=16; skipcnt=0; base=0 ; maxunits=16;;	pty) umask 0; ttychr=20; ptychr=21; id2=0;;	qd) umask 111; chr=42 ; base=1;;	qv) umask 111; chr=0 ; base=1;;	sm) umask 111; chr=0 ; base=1;;	sg) umask 111; chr=0 ; base=1;;	fg) umask 111; chr=0 ; base=1;;	lx) umask 111; chr=54 ; base=0;;	mdc) umask 111; chr=0; base=1; linecnt=12; skipcnt=0; maxunits=3;;	mmlp) umask 111; chr=79; base=0;		if [ X$tryunit = X ]		then			tryunit=0		fi	;;	pfilt) chr=70; umask 066;		if [ X$tryunit = X ]		then			tryunit=0		fi	;;	dc) chr=34; linecnt=4; base=0; skipcnt=0; maxunits=4;		case $tryunit in		0)			cputype=`/etc/sizer -c`;			if [ $cputype = "DS3100" ] || [ $cputype = "DS5000" ]			then				base=2;				test -f ./mouse || 				{					echo -n "mouse "					/etc/mknod mouse c $chr 1				}			fi		;;		esac	;;	scc) chr=45; linecnt=4; base=2; skipcnt=0; maxunits=1;		case $tryunit in		0)			test -f ./mouse || 			{				echo -n "mouse "				/etc/mknod mouse c $chr 1			}		;;		esac	;;	xcons)		test -f ./xcons || 		{			echo -n "xcons "			/etc/mknod xcons c 71 0		}	;;	esac	case $tryname in	cx[aby]|dfa|dh[quvb]|sh|ss|fc|dm[fbz]|dz|dz[qv]|dc|scc|lta)	if test $tryunit -ge $maxunits 2>/dev/null	then		echo MAKEDEV: bad terminal unit in: \		     $fullname : $maxunits terminal devices maximum		umask 77		exit 1	fi	case $tryunit in	[0-9]*) ;;	*)		echo MAKEDEV: bad terminal unit in: \		     $fullname : $maxunits terminal devices maximum		umask 77		exit 1;;	esac	while :	do	if test -f ./tty$id1$id2	then		scancnt=0	else		scancnt=`expr $scancnt + 1`		if test $scancnt -eq 1		then			savid1=$id1			savid2=$id2		fi		if test $scancnt -ge `expr $linecnt - $base`		then			id1=$savid1			id2=$savid2			break		fi	fi	id2=`expr $id2 + $scan`	if test $id2 -ge 10	then		id2=0		case $id1 in		A) id1=B;; B) id1=C;;		C) id1=D;; D) id1=E;; E) id1=F;;		F) id1=G;; G) id1=H;; H) id1=I;;		I) id1=J;; J) id1=K;; K) id1=L;;		L) id1=M;; M) id1=N;; N) id1=O;;		O) id1=P;; P) id1=Q;; Q) id1=R;;		R) id1=S;; S) id1=T;; T) id1=U;;		U) id1=V;; V) id1=W;; W) id1=X;;		X) id1=Y;; Y) id1=Z;;		Z) echo MAKEDEV: reserved tty line characters: a-z		   umask 77		   exit 1		;;		*)			id1=`expr $id1 + 1`			if test $id1 -ge 10			then				id1=A			fi		;;		esac	fi	done	ls -l tty* > tmp$$ 2> /dev/null	while :	do	if test $base -ne $linecnt	then		minnum=`expr $linecnt '*' $tryunit + \		       $skipcnt '*' $tryunit + $base`		base=`expr $base + 1`		made=`awk ' BEGIN { s = "n" }			{ if ($4 == '$chr'"," && $5 == '$minnum')				s = "y"			}			END { print s }' tmp$$`		if test $made = "y"		then			continue		else			echo -n "tty"$id1$id2" "			/etc/mknod tty$id1$id2 c $chr $minnum		fi		id2=`expr $id2 + 1`		if test $id2 -ge 10		then			id2=0			case $id1 in			A) id1=B;; B) id1=C;;			C) id1=D;; D) id1=E;; E) id1=F;;			F) id1=G;; G) id1=H;; H) id1=I;;			I) id1=J;; J) id1=K;; K) id1=L;;			L) id1=M;; M) id1=N;; N) id1=O;;			O) id1=P;; P) id1=Q;; Q) id1=R;;			R) id1=S;; S) id1=T;; T) id1=U;;			U) id1=V;; V) id1=W;; W) id1=X;;			X) id1=Y;; Y) id1=Z;;			Z) echo MAKEDEV: reserved tty line characters: a-z			   umask 77			   exit 1			;;			*)				id1=`expr $id1 + 1`				if test $id1 -ge 10				then					id1=A				fi			;;			esac		fi	else		break	fi	done	rm tmp$$	umask 77	;;	pty)		case $tryunit in		0) base=0 ; id1=p;;		1) base=16 ; id1=q;;		2) base=32 ; id1=r;;		3) base=48 ; id1=s;;		4) base=64 ; id1=t;;		5) base=80 ; id1=u;;		6) base=96 ; id1=v;;		7) base=112 ; id1=w;;		8) base=128 ; id1=x;;		9) base=144 ; id1=y;;		10) base=160 ; id1=z;;		*)			echo MAKEDEV: bad pseudoterminal unit in: \			     $fullname : 10 pseudoterminal devices maximum			umask 77			exit 1		;;		esac		while :		do		if test $id2 -ge 10		then		    case $id2 in		    10) id2l=a;; 11) id2l=b;; 12) id2l=c;; 13) id2l=d;;		    14) id2l=e;; 15) id2l=f;; *) break;;		    esac		else		    id2l=$id2		fi		if test ! -f ./pty$id1$id2l ; then		echo -n "pty"$id1$id2l" "; /etc/mknod pty$id1$id2l c \					  $ptychr `expr $base + $id2`		fi		if test ! -f ./tty$id1$id2l ; then		echo -n "tty"$id1$id2l" "; /etc/mknod tty$id1$id2l c \					  $ttychr `expr $base + $id2`		fi		id2=`expr $id2 + 1`		done		umask 77	;;	qd)		case $tryunit in		0)			test ! -f ./qconsole &&			{				echo -n "qconsole "				/etc/mknod qconsole c $chr \					`expr $tryunit \* 4 + $base`				/bin/ln qconsole xcons				/bin/chmod 444 xcons			}		;;		esac		case $tryunit in		0)			test -f ./qd$tryunit ||			{				echo -n "qd"$tryunit" "				/etc/mknod qd$tryunit c $chr \					`expr $tryunit \* 4 + 2`			}		;;		1)			test -f ./qd$tryunit ||			{				echo -n "qd"$tryunit" "				/etc/mknod qd$tryunit c $chr \					`expr $tryunit \* 4 + 2`			}			test -f ./ttyc$tryunit ||			{				echo -n "ttyc"$tryunit" "				/etc/mknod ttyc$tryunit c $chr \					`expr $tryunit \* 4`			}		;;		*)			echo MAKEDEV: bad qdss unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;	qv)		case $tryunit in		0)			test -f ./qvscreen ||			{				echo -n "qvscreen "				/etc/mknod qvscreen c $chr $base				/bin/ln qvscreen xcons				/bin/chmod 444 xcons				echo -n "mouse "				/etc/mknod mouse c $chr `expr $base + 1`			}		;;		*)			echo MAKEDEV: bad qvss unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;# mdc - mipsmate dc7085 terminal and console serial line unit.#	Start with a base of 1 because the console is minor number 0.  The#	first msc unit (mdc0) only has 3 lines because the console occupies# 	the first line.##	mdclines = the number of tty lines created for this particular chip.#	mdcfile  = the base file name for this chip; ie tty03 -> 3.	mdc)		case $tryunit in		0)			mdclines=11;			mdcfile=0		;;		*)			echo MAKEDEV: bad mdc unit in: $fullname			umask 77			exit 1		;;		esac		umask 77		mdclinenum=0		mdcbase=`expr $mdcfile + 1`		while test $mdclinenum -lt $mdclines		do		    if test $mdcfile -lt 10		    then			    mdctens=0		    else			    mdctens=""		    fi		    test -f ./tty$mdctens$mdcfile || {			echo -n "tty"$mdctens$mdcfile" "			/etc/mknod tty$mdctens$mdcfile c $chr $mdcbase		    }		    mdcbase=`expr $mdcbase + 1`		    mdcfile=`expr $mdcfile + 1`		    mdclinenum=`expr $mdclinenum + 1`		done	;;	sm)		case $tryunit in		0)			test -f ./smscreen ||			{				echo -n "smscreen "				/etc/mknod smscreen c $chr `expr $base + 1`				/bin/ln smscreen xcons				/bin/chmod 444 xcons				echo -n "mouse "				/etc/mknod mouse c $chr $base			}		;;		*)			echo MAKEDEV: bad sm unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;	sg)		case $tryunit in		0)			test -f ./sgscreen ||			{				echo -n "sgscreen "				/etc/mknod sgscreen c $chr `expr $base + 1`				/bin/ln sgscreen xcons				/bin/chmod 444 xcons				echo -n "sg0 "				/etc/mknod sg0 c $chr $base			}		;;		*)			echo MAKEDEV: bad sg unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;	fg)		case $tryunit in		0)			test -f ./fgscreen ||			{				echo -n "fgscreen "				/etc/mknod fgscreen c $chr `expr $base + 1`				/bin/ln fgscreen xcons				/bin/chmod 444 xcons				echo -n "fg0 "				/etc/mknod fg0 c $chr $base			}		;;		*)			echo MAKEDEV: bad fg unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;	lx)		case $tryunit in		0)			test -f ./lx ||			{				echo -n "lx0 "				/etc/mknod lx0 c $chr $base			}		;;		*)			echo MAKEDEV: bad lx unit in: $fullname			umask 77			exit 1		;;		esac		umask 77	;;# This make special devices for the packetfilter. Each device is an# instance of a packetfilter application and NOT an interface.	pfilt)		case $tryunit in		0) base=0;;		1) base=64;;		2) base=128;;		3) base=192;;		*)			echo MAKEDEV: bad packetfilter unit in:\				$fullname : 4 packetfilter devices maximum.			umask 77			exit 1		;;		esac		umask 22		if test ! -d pf			then mkdir pf		fi		umask 133		while :		do		if test $id2 -le 63; then			min=`expr $base + $id2`			if test ! -f ./pf/pfilt$min ; then			echo -n "pfilt$min " ; /etc/mknod pf/pfilt$min c\							$chr $min			fi			id2=`expr $id2 + 1`		else			break;		fi		done	umask 77	;;# Make special devices for the multimedia layered product.#	mmlp)		case $tryunit in		0) base=0;;		*)			echo MAKEDEV: bad multimedia unit in:\				$fullname : 4 multimedia devices maximum.			umask 77			exit 1		;;		esac		umask 111		if test ! -d mmlp			then mkdir mmlp		fi		while :		do		if test $id1 -le 3; then			if test ! -f ./mmlp/av$id1 ; then			echo -n "av$id1 " ; /etc/mknod mmlp/av$id1 c\							$chr 0			fi			chr=`expr $chr + 1`			id1=`expr $id1 + 1`		else			break;		fi		done	umask 77	;;	esac;;		dm[bf]sp|lp|lpv)	umask 77	unit=$tryunit	case $tryname in	lp|lpv) chr=15 ; base=8 ; skipcnt=8;;	dmbsp) chr=44 ; base=128;;	dmfsp) chr=22 ; base=128;;	esac	if test $tryunit -le 4 2>/dev/null ; then	    while :	    do	    if test -f ./lp$tryunit ; then		tryunit=`expr $tryunit + 1`		if test $tryunit -ge 5 ; then			echo MAKEDEV: bad printer unit in: \			     $fullname : 5 printer devices maximum			exit 1		fi	    else		break	    fi	    done	    if test ! -f ./lp$tryunit ; then		echo -n "lp"$tryunit" "		case $tryname in		lp|lpv)			    /etc/mknod lp$tryunit c \			    $chr `expr $tryunit '*' $skipcnt`		;;		dm[bf]sp)			    /etc/mknod lp$tryunit c \			    $chr `expr $unit + $base`		;;		esac		chmod 666 ./lp$tryunit	    fi	else		echo MAKEDEV: bad printer unit in: \			     $fullname : 5 printer devices maximum		exit 1	fi;;xos)	for tryunit in 0 1	do		major=53		count=0		id1=0		id2=0		lcnt=0		if test -d x$tryunit		then			/bin/chmod 755 x$tryunit		else			/bin/rm -f x$tryunit			/bin/mkdir x$tryunit			/bin/chmod 755 x$tryunit		fi		while :		do			if test $id2 -ge 10			then	id2=0				id1=`expr $id1 + 1`			fi			if test ! -f x$tryunit/x$id1$id2			then			      if test $lcnt = 0			      then	echo ""			      fi			      echo -n "x"$tryunit/"x"$id1$id2" "			      /bin/rm -f x$tryunit/x$id1$id2			      minor=`expr $tryunit '*' 64 + $id1 '*' 10 + $id2`			      /etc/mknod x$tryunit/x$id1$id2 c $major $minor			      /bin/chmod 644 x$tryunit/x$id1$id2			      lcnt=`expr $lcnt + 1`			fi			if test $lcnt = 8			then	lcnt=0			fi			id2=`expr $id2 + 1`			count=`expr $count + 1`			if test $count -ge 64			then	break			fi		done	done;;pr)	case $tryunit in	0)		echo -n "pr0"		umask 33		/etc/mknod pr0 c 75 0	;;	*)		echo MAKEDEV: Support is only provided for pr unit 0: $fullname		umask 77		exit 1	;;	esac;;fya)	case $tryunit in	0)		echo -n "fya"		umask 600		if [ -f /dev/fya* ]		then			/bin/rm -f /dev/fya*		fi		for num in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15		do			/etc/mknod /dev/fya$num c 78 $num		done	;;	*)		echo MAKEDEV: Support is only provided for a group of 16 fya units.		exit 1	;;	esac;;local|urx|tm|ut|uu|up|dh|ct|va|vp|dn|ad|ik|ps)	echo MAKEDEV: attempting to execute $MAKEDEV.local:	/bin/sh $MAKEDEV.local $fullname;;*)	echo MAKEDEV: unknown device in: $fullname	exit 1;;esacif test $silent -eq 0 ; thenecho ""fidoneexit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -