1#!/bin/sh -
2#	$NetBSD: SVR4_MAKEDEV,v 1.9 2001/02/10 23:25:51 eeh Exp $
3#
4# Copyright (c) 1995 Christos Zoulas
5# All rights reserved.
6#
7# Redistribution and use in source and binary forms, with or without
8# modification, are permitted provided that the following conditions
9# are met:
10# 1. Redistributions of source code must retain the above copyright
11#    notice, this list of conditions and the following disclaimer.
12# 2. Redistributions in binary form must reproduce the above copyright
13#    notice, this list of conditions and the following disclaimer in the
14#    documentation and/or other materials provided with the distribution.
15# 3. The names of the authors may not be used to endorse or promote products
16#    derived from this software without specific prior written permission
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29# Device "make" file.  Valid arguments:
30#	all	everything
31# Terminal devices:
32#	ptmx		pty master multiplexer
33#			Use the ptyfs for the slaves.
34# Network:
35#	udp		UDP socket creation
36#	tcp		TCP socket creation
37#	rawip		RAW socket creation
38#	ticlts		UNIX datagram creation
39#	ticotsord	UNIX stream creation (with orderly release)
40#	ticots		UNIX stream creation
41# Various:
42#	wabi		Windows emulation; /dev/null for now
43#
44PATH=/sbin:/bin/:/usr/bin:/usr/sbin:/usr/etc
45MACHINE=${MACHINE:-`/usr/bin/uname -m`}
46umask 77
47
48case $MACHINE in
49amiga)		major=51;;
50atari)		major=51;;
51hp300)		major=36;;
52i386)		major=43;;
53mac68k)		major=44;;
54mvme68k)	major=38;;
55next68k)	major=44;;
56news68k)	major=75;;
57sparc*)		major=43;;
58sun3)		major=83;;
59x68k)		major=42;;
60*)
61		echo $MACHINE: unsupported machine >&2
62		exit 1
63		;;
64esac
65
66for i
67do
68
69unit=`expr $i : '[a-z][a-z]*\([0-9][0-9]*\)'`
70[ "$unit" ] || unit=0
71
72case $i in
73
74all)
75	sh SVR4_MAKEDEV ptmx
76	sh SVR4_MAKEDEV tcp udp rawip ticlts ticotsord ticots wabi
77	;;
78
79ptmx)
80	mknod -R -u bin -g bin -m 666 $i c ptm 2
81	;;
82
83tcp)
84	rm -f $i
85	mknod $i		c $major 35
86	chown bin.bin $i
87	chmod 666 $i
88	;;
89
90
91udp)
92	rm -f $i
93	mknod $i		c $major 36
94	chown bin.bin $i
95	chmod 666 $i
96	;;
97
98rawip)
99	rm -f $i
100	mknod $i		c $major 37
101	chown bin.bin $i
102	chmod 666 $i
103	;;
104
105ticlts)
106	rm -f $i
107	mknod $i		c $major 38
108	chown bin.bin $i
109	chmod 666 $i
110	;;
111
112ticotsord)
113	rm -f $i
114	mknod $i		c $major 39
115	chown bin.bin $i
116	chmod 666 $i
117	;;
118
119ticots)
120	rm -f $i
121	mknod $i		c $major 40
122	chown bin.bin $i
123	chmod 666 $i
124	;;
125
126
127wabi)
128	rm -f $i
129	case $MACHINE in
130	amiga|\
131	atari|\
132	hp300|\
133	i386|\
134	mac68k|\
135	mvme68k|\
136	next68k|\
137	x68k)
138		mknod $i	c 2 2;;	# /dev/null
139	news68k|\
140	sparc*|\
141	sun3)
142		mknod $i	c 3 2;;	# /dev/null
143	esac
144	chown bin.bin $i
145	chmod 666 $i
146	;;
147
148*)
149	echo $i: unknown device 2>&1
150	exit 1
151	;;
152esac
153done
154
155