2 # Copyright (C) 2011 OpenWrt.org
5 UCIDEF_GPIO_SWITCHES_CHANGED
=0
7 ucidef_set_led_netdev
() {
13 uci
-q get system.
$cfg && return 0
17 set system.$cfg.name='$name'
18 set system.$cfg.sysfs='$sysfs'
19 set system.$cfg.trigger='netdev'
20 set system.$cfg.dev='$dev'
21 set system.$cfg.mode='link tx rx'
26 ucidef_set_led_usbdev
() {
32 uci
-q get system.
$cfg && return 0
36 set system.$cfg.name='$name'
37 set system.$cfg.sysfs='$sysfs'
38 set system.$cfg.trigger='usbdev'
39 set system.$cfg.dev='$dev'
40 set system.$cfg.interval='50'
45 ucidef_set_led_wlan
() {
51 uci
-q get system.
$cfg && return 0
55 set system.$cfg.name='$name'
56 set system.$cfg.sysfs='$sysfs'
57 set system.$cfg.trigger='$trigger'
62 ucidef_set_led_switch
() {
69 uci
-q get system.
$cfg && return 0
73 set system.$cfg.name='$name'
74 set system.$cfg.sysfs='$sysfs'
75 set system.$cfg.trigger='$trigger'
76 set system.$cfg.port_mask='$port_mask'
81 ucidef_set_led_default
() {
87 uci
-q get system.
$cfg && return 0
91 set system.$cfg.name='$name'
92 set system.$cfg.sysfs='$sysfs'
93 set system.$cfg.default='$default'
98 ucidef_set_led_rssi
() {
108 uci
-q get system.
$cfg && return 0
111 set system.$cfg='led'
112 set system.$cfg.name='$name'
113 set system.$cfg.sysfs='$sysfs'
114 set system.$cfg.trigger='rssi'
115 set system.$cfg.iface='rssid_$iface'
116 set system.$cfg.minq='$minq'
117 set system.$cfg.maxq='$maxq'
118 set system.$cfg.offset='$offset'
119 set system.$cfg.factor='$factor'
121 UCIDEF_LEDS_CHANGED
=1
124 ucidef_set_led_timer
() {
131 uci
-q get system.
$cfg && return 0
134 set system.$cfg='led'
135 set system.$cfg.name='$name'
136 set system.$cfg.sysfs='$sysfs'
137 set system.$cfg.trigger='timer'
138 set system.$cfg.delayon='$delayon'
139 set system.$cfg.delayoff='$delayoff'
141 UCIDEF_LEDS_CHANGED
=1
144 ucidef_set_led_mmc
() {
150 uci
-q get system.
$cfg && return 0
153 set system.$cfg='led'
154 set system.$cfg.name='$name'
155 set system.$cfg.sysfs='$sysfs'
156 set system.$cfg.trigger='$trigger'
158 UCIDEF_LEDS_CHANGED
=1
161 ucidef_set_led_trigger_gpio
() {
168 uci
-q get system.
$cfg && return 0
171 set system.$cfg='led'
172 set system.$cfg.name='$name'
173 set system.$cfg.sysfs='$sysfs'
174 set system.$cfg.trigger='gpio'
175 set system.$cfg.gpio='$gpio'
176 set system.$cfg.inverted='$inverted'
178 UCIDEF_LEDS_CHANGED
=1
181 ucidef_set_led_ide_disk
() {
186 uci
-q get system.
$cfg && return 0
189 set system.$cfg='led'
190 set system.$cfg.name='$name'
191 set system.$cfg.sysfs='$sysfs'
192 set system.$cfg.trigger='ide-disk'
194 UCIDEF_LEDS_CHANGED
=1
197 ucidef_set_rssimon
() {
202 local cfg
="rssid_$dev"
204 uci
-q get system.
$cfg && return 0
207 set system.$cfg='rssid'
208 set system.$cfg.dev='$dev'
209 set system.$cfg.refresh='$refresh'
210 set system.$cfg.threshold='$threshold'
212 UCIDEF_LEDS_CHANGED
=1
217 [ "$UCIDEF_LEDS_CHANGED" = "1" ] && uci commit system
220 ucidef_set_gpio_switch
() {
221 local cfg
="gpio_switch_$1"
224 # use "0" as default value
225 local default
="${4:-0}"
227 uci
-q get
"system.$cfg" && return 0
230 set system.$cfg='gpio_switch'
231 set system.$cfg.name='$name'
232 set system.$cfg.gpio_pin='$gpio_pin'
233 set system.$cfg.value='$default'
235 UCIDEF_GPIO_SWITCHES_CHANGED
=1
238 ucidef_commit_gpio_switches
()
240 [ "$UCIDEF_GPIO_SWITCHES_CHANGED" = "1" ] && uci commit system
243 ucidef_set_interface_loopback
() {
245 set network.loopback='interface'
246 set network.loopback.ifname='lo'
247 set network.loopback.proto='static'
248 set network.loopback.ipaddr='127.0.0.1'
249 set network.loopback.netmask='255.0.0.0'
250 set network.globals='globals'
251 set network.globals.ula_prefix='auto'
255 ucidef_set_interface_raw
() {
258 local proto
=${3:-"none"}
261 set network.$cfg='interface'
262 set network.$cfg.ifname='$ifname'
263 set network.$cfg.proto='$proto'
267 ucidef_set_interface_lan
() {
271 set network.lan='interface'
272 set network.lan.ifname='$ifname'
273 set network.lan.force_link=1
274 set network.lan.type='bridge'
275 set network.lan.proto='static'
276 set network.lan.ipaddr='192.168.1.1'
277 set network.lan.netmask='255.255.255.0'
278 set network.lan.ip6assign='60'
282 ucidef_set_interface_wan
() {
286 set network.wan='interface'
287 set network.wan.ifname='$ifname'
288 set network.wan.proto='dhcp'
289 set network.wan6='interface'
290 set network.wan6.ifname='$ifname'
291 set network.wan6.proto='dhcpv6'
295 ucidef_set_interfaces_lan_wan
() {
299 ucidef_set_interface_lan
"$lan_ifname"
300 ucidef_set_interface_wan
"$wan_ifname"
303 ucidef_set_interface_macaddr
() {
308 set network.$ifname.macaddr='$mac'
312 ucidef_add_switch
() {
318 set network.@switch[-1].name='$name'
319 set network.@switch[-1].reset='$reset'
320 set network.@switch[-1].enable_vlan='$enable'
324 ucidef_add_switch_vlan
() {
329 add network switch_vlan
330 set network.@switch_vlan[-1].device='$device'
331 set network.@switch_vlan[-1].vlan='$vlan'
332 set network.@switch_vlan[-1].ports='$ports'
336 ucidef_add_switch_port
() {
340 add network switch_port
341 set network.@switch_port[-1].device='$device'
342 set network.@switch_port[-1].port='$port'