Root/package/base-files/files/lib/functions/uci-defaults.sh

1#!/bin/sh
2# Copyright (C) 2011 OpenWrt.org
3
4UCIDEF_LEDS_CHANGED=0
5
6ucidef_set_led_netdev() {
7    local cfg="led_$1"
8    local name=$2
9    local sysfs=$3
10    local dev=$4
11
12    uci -q get system.$cfg && return 0
13
14    uci batch <<EOF
15set system.$cfg='led'
16set system.$cfg.name='$name'
17set system.$cfg.sysfs='$sysfs'
18set system.$cfg.trigger='netdev'
19set system.$cfg.dev='$dev'
20set system.$cfg.mode='link tx rx'
21EOF
22    UCIDEF_LEDS_CHANGED=1
23}
24
25ucidef_set_led_usbdev() {
26    local cfg="led_$1"
27    local name=$2
28    local sysfs=$3
29    local dev=$4
30
31    uci -q get system.$cfg && return 0
32
33    uci batch <<EOF
34set system.$cfg='led'
35set system.$cfg.name='$name'
36set system.$cfg.sysfs='$sysfs'
37set system.$cfg.trigger='usbdev'
38set system.$cfg.dev='$dev'
39set system.$cfg.interval='50'
40EOF
41    UCIDEF_LEDS_CHANGED=1
42}
43
44ucidef_set_led_wlan() {
45    local cfg="led_$1"
46    local name=$2
47    local sysfs=$3
48    local trigger=$4
49
50    uci -q get system.$cfg && return 0
51
52    uci batch <<EOF
53set system.$cfg='led'
54set system.$cfg.name='$name'
55set system.$cfg.sysfs='$sysfs'
56set system.$cfg.trigger='$trigger'
57EOF
58    UCIDEF_LEDS_CHANGED=1
59}
60
61ucidef_set_led_switch() {
62    local cfg="led_$1"
63    local name=$2
64    local sysfs=$3
65    local trigger=$4
66    local port_mask=$5
67
68    uci -q get system.$cfg && return 0
69
70    uci batch <<EOF
71set system.$cfg='led'
72set system.$cfg.name='$name'
73set system.$cfg.sysfs='$sysfs'
74set system.$cfg.trigger='$trigger'
75set system.$cfg.port_mask='$port_mask'
76EOF
77    UCIDEF_LEDS_CHANGED=1
78}
79
80ucidef_set_led_default() {
81    local cfg="led_$1"
82    local name=$2
83    local sysfs=$3
84    local default=$4
85
86    uci -q get system.$cfg && return 0
87
88    uci batch <<EOF
89set system.$cfg='led'
90set system.$cfg.name='$name'
91set system.$cfg.sysfs='$sysfs'
92set system.$cfg.default='$default'
93EOF
94    UCIDEF_LEDS_CHANGED=1
95}
96
97ucidef_set_led_rssi() {
98    local cfg="led_$1"
99    local name=$2
100    local sysfs=$3
101    local iface=$4
102    local minq=$5
103    local maxq=$6
104    local offset=$7
105    local factor=$8
106
107    uci -q get system.$cfg && return 0
108
109    uci batch <<EOF
110set system.$cfg='led'
111set system.$cfg.name='$name'
112set system.$cfg.sysfs='$sysfs'
113set system.$cfg.trigger='rssi'
114set system.$cfg.iface='rssid_$iface'
115set system.$cfg.minq='$minq'
116set system.$cfg.maxq='$maxq'
117set system.$cfg.offset='$offset'
118set system.$cfg.factor='$factor'
119EOF
120    UCIDEF_LEDS_CHANGED=1
121}
122
123ucidef_set_rssimon() {
124    local dev="$1"
125    local refresh="$2"
126    local threshold="$3"
127
128    local cfg="rssid_$dev"
129
130    uci -q get system.$cfg && return 0
131
132    uci batch <<EOF
133set system.$cfg='rssid'
134set system.$cfg.dev='$dev'
135set system.$cfg.refresh='$refresh'
136set system.$cfg.threshold='$threshold'
137EOF
138    UCIDEF_LEDS_CHANGED=1
139}
140
141ucidef_commit_leds()
142{
143    [ "$UCIDEF_LEDS_CHANGED" == "1" ] && uci commit system
144}
145
146ucidef_set_interface_loopback() {
147    uci batch <<EOF
148set network.loopback='interface'
149set network.loopback.ifname='lo'
150set network.loopback.proto='static'
151set network.loopback.ipaddr='127.0.0.1'
152set network.loopback.netmask='255.0.0.0'
153EOF
154}
155
156ucidef_set_interface_raw() {
157    local cfg=$1
158    local ifname=$2
159
160    uci batch <<EOF
161set network.$cfg='interface'
162set network.$cfg.ifname='$ifname'
163set network.$cfg.proto='none'
164EOF
165}
166
167ucidef_set_interface_lan() {
168    local ifname=$1
169
170    uci batch <<EOF
171set network.lan='interface'
172set network.lan.ifname='$ifname'
173set network.lan.type='bridge'
174set network.lan.proto='static'
175set network.lan.ipaddr='192.168.1.1'
176set network.lan.netmask='255.255.255.0'
177EOF
178}
179
180ucidef_set_interface_wan() {
181    local ifname=$1
182
183    uci batch <<EOF
184set network.wan='interface'
185set network.wan.ifname='$ifname'
186set network.wan.proto='dhcp'
187EOF
188}
189
190ucidef_set_interfaces_lan_wan() {
191    local lan_ifname=$1
192    local wan_ifname=$2
193
194    ucidef_set_interface_lan "$lan_ifname"
195    ucidef_set_interface_wan "$wan_ifname"
196}
197
198ucidef_set_interface_macaddr() {
199    local ifname=$1
200    local mac=$2
201
202    uci batch <<EOF
203set network.$ifname.macaddr='$mac'
204EOF
205}
206
207ucidef_add_switch() {
208    local name=$1
209    local reset=$2
210    local enable=$3
211    uci batch <<EOF
212add network switch
213set network.@switch[-1].name='$name'
214set network.@switch[-1].reset='$reset'
215set network.@switch[-1].enable_vlan='$enable'
216EOF
217}
218
219ucidef_add_switch_vlan() {
220    local device=$1
221    local vlan=$2
222    local ports=$3
223    uci batch <<EOF
224add network switch_vlan
225set network.@switch_vlan[-1].device='$device'
226set network.@switch_vlan[-1].vlan='$vlan'
227set network.@switch_vlan[-1].ports='$ports'
228EOF
229}
230
231

Archive Download this file



interactive