Opennet Firmware
UCI

Hilfreiche Funktionen zum lesenden und schreibenden Zugriff auf die UCI-basierte Konfiguration. Mehr ...

Funktionen

 uci_add_list (uci_path, new_item)
 Füge einen neuen Wert zu einer UCI-Liste hinzu und achte dabei auf Einmaligkeit. Mehr ...
 
 uci_get_list (uci_path)
 Liefere alle einzelnen Elemente einer UCI-Liste zurück. Mehr ...
 
 uci_get_list_index (uci_path, value)
 Ermittle die ID eines UCI-Listenelements. Mehr ...
 
 uci_is_in_list (uci_path, item)
 Prüfe ob ein Element in einer Liste vorkommt. Mehr ...
 
 uci_delete_list (uci_path, value)
 Lösche ein Element einer UCI-Liste. Mehr ...
 
 uci_replace_list ()
 Replace the items in a list. Wanted items are expected via stdin (one per line, uci_path). Mehr ...
 
 uci_delete (uci_path)
 Lösche ein UCI-Element. Mehr ...
 
 filter_uci_show_value_quotes ()
 Entferne fuehrende und abschliessende Quotes um die Werte der "uci show"-Ausgabe herum. Mehr ...
 
 create_uci_section_if_missing ()
 Prüfe, ob eine definierte UCI-Sektion existiert und lege sie andernfalls an. Mehr ...
 

Ausführliche Beschreibung

Hilfreiche Funktionen zum lesenden und schreibenden Zugriff auf die UCI-basierte Konfiguration.

Dokumentation der Funktionen

◆ create_uci_section_if_missing()

create_uci_section_if_missing ( )

Prüfe, ob eine definierte UCI-Sektion existiert und lege sie andernfalls an.

Rückgabe
Sektion wurde angelegt (True) oder war bereits vorhanden (false).

Definiert in Zeile 58 der Datei uci.sh.

◆ filter_uci_show_value_quotes()

filter_uci_show_value_quotes ( )

Entferne fuehrende und abschliessende Quotes um die Werte der "uci show"-Ausgabe herum.

Seit Chaos Calmer liefert 'uci show' die Werte (nach dem "=") mit Single-Quotes zurück. Dies ist schön für die Splittung von Listen, aber nervig für unsere Bedingungsprüfung. Wir entfernen die Quotes daher.

Achtung
Das Ergebnis ist fuer die Verarbeitung von Listen-Elemente unbrauchbar, da diese separiert von Quotes umgeben sind.

Definiert in Zeile 54 der Datei uci.sh.

◆ uci_add_list()

uci_add_list ( uci_path  ,
new_item   
)

Füge einen neuen Wert zu einer UCI-Liste hinzu und achte dabei auf Einmaligkeit.

Parameter
uci_pathDer UCI-Pfad des Listenelements.
new_itemDer neue Wert, der zur Liste hinzugefügt werden soll.

Die Funktion ist vergleichbar mit "uci add_list". Es werden jedoch keine doppelten Einträge erzeugt. Somit entfällt die Prüfung auf Vorhandensein des Eintrags.

Definiert in Zeile 10 der Datei uci.sh.

◆ uci_delete()

uci_delete ( uci_path  )

Lösche ein UCI-Element.

Parameter
uci_pathDer UCI-Pfad des Elements.

Keine Fehlermeldung, falls das Element nicht existiert.

Definiert in Zeile 46 der Datei uci.sh.

◆ uci_delete_list()

uci_delete_list ( uci_path  ,
value   
)

Lösche ein Element einer UCI-Liste.

Parameter
uci_pathDer UCI-Pfad der Liste.
valueDer Inhalt des zu löschenden Elements. Es findet ein Vergleich auf Identität (kein Muster) statt.

Falls das Element nicht existiert, endet die Funktion stillschweigend ohne Fehlermeldung.

Definiert in Zeile 33 der Datei uci.sh.

◆ uci_get_list()

uci_get_list ( uci_path  )

Liefere alle einzelnen Elemente einer UCI-Liste zurück.

Parameter
uci_pathDer UCI-Pfad eines Elements.
Rückgabe
Die Einträge sind zeilenweise voneinander getrennt.

Definiert in Zeile 15 der Datei uci.sh.

◆ uci_get_list_index()

uci_get_list_index ( uci_path  ,
value   
)

Ermittle die ID eines UCI-Listenelements.

Parameter
uci_pathDer UCI-Pfad der Liste.
valueDer Inhalt des zu suchenden Elements.
Rückgabe
Die ID des Listenelements (beginnend bei Null) wird zurückgeliefert.

Falls das Element nicht gefunden wird, ist das Ergebnis leer.

Definiert in Zeile 22 der Datei uci.sh.

◆ uci_is_in_list()

uci_is_in_list ( uci_path  ,
item   
)

Prüfe ob ein Element in einer Liste vorkommt.

Parameter
uci_pathDer UCI-Pfad der Liste.
itemDas zu suchende Element.

Definiert in Zeile 27 der Datei uci.sh.

◆ uci_replace_list()

uci_replace_list ( )

Replace the items in a list. Wanted items are expected via stdin (one per line, uci_path).

Parameter
uci_pathThe path of the UCI list.

This function is idempotent. Thus it takes care to avoid unnecessary changes (e.g. an existing list being replaced with all of its current members). This works around UCI's behaviour of not detecting (and discarding) no-change-operations. The list is removed if no items were supplied. Some processes may rely on the avoidance of unnecessary changes.

Definiert in Zeile 41 der Datei uci.sh.