3 # DESCRIBE 2.2 - Describe the given devices. Author: Kees J. Bot
6 # - Arguments may not contain shell metacharacters.
9 0) flag
=; set -$
- /dev
;;
16 -e '/^[^bc]/s/.* /BAD BAD /' \
17 -e '/^[bc]/s/.* \([0-9][0-9]*\), *\([0-9][0-9]*\).* /\1 \2 /' \
21 while read major minor path
24 /*) name
=`expr $path : '.*/\\(.*\\)$'`
30 case $major in # One of the controllers? What is its controller nr?
38 1,0) des
="RAM disk" dev
=ram
40 1,1) des
="memory" dev
=mem
42 1,2) des
="kernel memory" dev
=kmem
44 1,3) des
="null device, data sink" dev
=null
46 1,4) des
="boot device loaded from boot image" dev
=boot
48 1,5) des
="null byte stream generator" dev
=zero
50 1,6) des
="boot image RAM disk" dev
=imgrd
53 ramdisk
=`expr $minor - 7`
54 des
="RAM disk $ramdisk" dev
=ram
$ramdisk
56 2,*) drive
=`expr $minor % 4`
57 case `expr $minor - $drive` in
58 0) des
='auto density' dev
="fd$drive"
60 4) des
='360k, 5.25"' dev
="pc$drive"
62 8) des
='1.2M, 5.25"' dev
="at$drive"
64 12) des
='360k in 720k, 5.25"' dev
="qd$drive"
66 16) des
='720k, 3.5"' dev
="ps$drive"
68 20) des
='360k in 1.2M, 5.25"' dev
="pat$drive"
70 24) des
='720k in 1.2M, 5.25"' dev
="qh$drive"
72 28) des
='1.44M, 3.5"' dev
="PS$drive"
74 112) des
='auto partition 0' dev
="fd${drive}p0"
76 116) des
='auto partition 1' dev
="fd${drive}p1"
78 120) des
='auto partition 2' dev
="fd${drive}p2"
80 124) des
='auto partition 3' dev
="fd${drive}p3"
84 des
="floppy drive $drive ($des)"
86 [38],[05]|
[38],[123][05]|
1[02],[05]|
1[02],[123][05])
87 drive
=`expr $minor / 5`
88 des
="controller $ctrlr disk $drive" dev
=c
${ctrlr}d
${drive}
90 [38],?|
[38],[123]?|
1[02],?|
1[02],[123]?
)
91 drive
=`expr $minor / 5`
92 par
=`expr $minor % 5 - 1`
93 des
="controller $ctrlr disk $drive partition $par"
94 dev
=c
${ctrlr}d${drive}p${par}
96 [38],12[89]|
[38],1[3-9]?|
[38],2??|
1[02],12[89]|
1[02],1[3-9]?|
1[02],2??
)
97 drive
=`expr \\( $minor - 128 \\) / 16`
98 par
=`expr \\( \\( $minor - 128 \\) / 4 \\) % 4`
99 sub
=`expr \\( $minor - 128 \\) % 4`
100 des
="hard disk $drive, partition $par, subpartition $sub"
101 des
="controller $ctrlr disk $drive partition $par slice $sub"
102 #par=`expr $drive '*' 5 + $par`
103 dev
=c
${ctrlr}d${drive}p${par}s${sub}
105 [38],6[4-9]|
[38],7?|
1[02],6[4-9]|
1[02],7?
)
106 tape
=`expr \\( $minor - 64 \\) / 2`
109 des
="controller $ctrlr tape $tape (non-rewinding)"
110 dev
=c
${ctrlr}t
${tape}n
113 des
="controller $ctrlr tape $tape (rewinding)"
114 dev
=c
${ctrlr}t
${tape}
117 4,0) des
="console device" dev
=console
119 4,[1-7])des
="virtual console $minor" dev
=ttyc
$minor
121 4,15) des
="diagnostics device" dev
=log
124 line
=`expr $minor - 16`
125 des
="serial line $line" dev
=tty0
$line
127 4,125) des
="video output" dev
=video
129 4,126) des
="auxiliary input" dev
=kbdaux
131 4,127) des
="keyboard input" dev
=kbd
133 4,12[89]|
4,1[3-8]?|
4,19[01])
134 p
=`expr \\( $minor - 128 \\) / 16 | tr '0123' 'pqrs'`
136 test $n -ge 10 && n
=`expr $n - 10 | tr '012345' 'abcdef'`
137 des
="pseudo tty `expr $minor - 128`" dev
=tty
$p$n
140 p
=`expr \\( $minor - 192 \\) / 16 | tr '0123' 'pqrs'`
142 test $n -ge 10 && n
=`expr $n - 10 | tr '012345' 'abcdef'`
143 des
="controller of tty$p$n" dev
=pty
$p$n
145 5,0) des
="anonymous tty" dev
=tty
147 6,0) des
="line printer, parallel port" dev
=lp
153 0) des
="IP stat" dev
=ipstat
157 des
="Pseudo IP #$n" dev
=psip
159 *) des
="raw ethernet #$n" dev
=eth
162 2) des
="raw IP #$n" dev
=ip
164 3) des
="TCP/IP #$n" dev
=tcp
166 4) des
="UDP #$n" dev
=udp
170 if [ "$name" = "$dev" ]
179 des
="block filter" dev
=filter
182 des
="audio" dev
=audio
185 des
="faulty block device driver" dev
=fbd
188 des
="kernel log" dev
=klog
191 des
="pseudo random number generator" dev
=urandom
194 des
="hello" dev
=hello
197 des
="UNIX domain socket" dev
=uds
207 echo "$path: not a device" >&2
211 echo "$path: cannot describe: major=$major, minor=$minor" >&2
217 *:*) echo "$path: nonstandard name for $dev: $des"