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