xref: /dragonfly/etc/rc.d/sysctl (revision b40e316c)
1#!/bin/sh
2#
3# $NetBSD: sysctl,v 1.12 2002/04/29 12:10:23 lukem Exp $
4# $FreeBSD: src/etc/rc.d/sysctl,v 1.12 2003/04/24 08:20:47 mtm Exp $
5# $DragonFly: src/etc/rc.d/sysctl,v 1.4 2004/01/27 00:55:43 rob Exp $
6#
7
8# PROVIDE: sysctl
9# REQUIRE: root
10# BEFORE:  DAEMON
11# KEYWORD: DragonFly FreeBSD NetBSD
12
13. /etc/rc.subr
14
15name="sysctl"
16stop_cmd=":"
17start_cmd="DragonFly_start"
18extra_commands="reload lastload"
19reload_cmd="DragonFly_start"
20lastload_cmd="DragonFly_start last"
21
22DragonFly_start()
23{
24	#
25	# Read in /etc/sysctl.conf and set things accordingly
26	#
27	if [ -f /etc/sysctl.conf ]; then
28		while read var comments
29		do
30			case ${var} in
31			\#*|'')
32				;;
33			*)
34				mib=${var%=*}
35				val=${var#*=}
36
37				if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then
38					case ${current_value} in
39					${val})
40						;;
41					*)
42						sysctl ${var}
43						;;
44					esac
45				elif [ "$1" = "last" ]; then
46					warn "sysctl ${mib} does not exist."
47				fi
48				;;
49			esac
50		done < /etc/sysctl.conf
51	fi
52}
53
54
55load_rc_config $name
56run_rc_command "$1"
57