devfs revision 126744
1#!/bin/sh
2#
3# $FreeBSD: head/etc/rc.d/devfs 126744 2004-03-08 12:25:05Z pjd $
4#
5
6# PROVIDE: devfs
7# REQUIRE: LOGIN
8# BEFORE:  securelevel
9# KEYWORD: FreeBSD nojail
10
11. /etc/rc.subr
12
13name="devfs"
14start_cmd='devfs_start'
15stop_cmd=':'
16
17devfs_start()
18{
19	if [ -n "$devfs_system_ruleset" ]; then
20		devfs_init_rulesets
21		devfs_set_ruleset $devfs_system_ruleset /dev
22		devfs_apply_ruleset $devfs_system_ruleset /dev
23	fi
24	read_devfs_conf
25}
26
27read_devfs_conf()
28{
29	if [ -r /etc/devfs.conf ]; then
30		cd /dev
31		while read action device parameter; do
32			case "${action}" in
33			l*)	if [ -c ${device} -a ! -e ${parameter} ]; then
34					ln -fs ${device} ${parameter}
35				fi
36				;;
37			o*)	if [ -c ${device} ]; then
38					chown ${parameter} ${device}
39				fi
40				;;
41			p*)	if [ -c ${device} ]; then
42					chmod ${parameter} ${device}
43				fi
44				;;
45			esac
46		done < /etc/devfs.conf
47	fi
48}
49
50load_rc_config $name
51run_rc_command "$1"
52