summaryrefslogtreecommitdiff
path: root/openwrt/package/base-files/default/etc/rc.common
blob: 667627862f08870b9f792ee2522d1663ca2ffe46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
. /etc/functions.sh

start() {
	return 0
}

stop() {
	return 0
}

reload() {
	return 1
}

restart() {
	stop
	start
}

boot() {
	start
}

shutdown() {
	return 0
}

disable() {
	rm -f /etc/rc.d/${initscript##*/}
}

enable() {
	disable
	ln -s /etc/init.d/${initscript##*/} /etc/rc.d/${initscript##*/}
}

depends() {
	return 0
}

help() {
	cat <<EOF
Syntax: $initscript [command]

Available commands:
	start	Start the service
	stop	Stop the service
	restart	Restart the service
	reload	Reload configuration files (or restart if that fails)
	enable	Enable the service (load at boot time)
	disable	Disable the service
$EXTRA_HELP
EOF
}

initscript="$1"
action="$2"

. "$initscript"

cmds=
for cmd in $EXTRA_COMMANDS; do
	cmds="$cmd) $cmd;;"
done
eval "case \"\$action\" in
	start) start;;
	stop) stop;;
	reload) reload || restart;;
	restart) restart;;
	enable) enable;;
	disable) disable;;
	boot) boot;;
	shutdown) shutdown;;
	$cmds
	*) help;;
esac"