X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/dfe52f0a791b7f715dabfc7c64c08a7d2d423e8b..7557428c93299d9428ef49f250c7736b585b0474:/docs/config.tex?ds=sidebyside diff --git a/docs/config.tex b/docs/config.tex index 44b6689b5..17417c99a 100644 --- a/docs/config.tex +++ b/docs/config.tex @@ -9,25 +9,25 @@ it was written under. Syntax: \begin{Verbatim} -config [] # Section - option # Option +config [""] # Section + option "" # Option \end{Verbatim} Every parameter needs to be a single string and is formatted exactly -like a parameter for a shell function. The same rules for Quoting and +like a parameter for a shell function. The same rules for Quoting and special characters also apply, as it is parsed by the shell. \subsubsection{Parsing configuration files in custom scripts} -To be able to load configuration files, you need to include the common +To be able to load configuration files, you need to include the common functions with: \begin{Verbatim} . /etc/functions.sh \end{Verbatim} -Then you can use \texttt{config\_load \textit{}} to load config files. The function -first checks for \textit{} as absolute filename and falls back to loading +Then you can use \texttt{config\_load \textit{}} to load config files. The function +first checks for \textit{} as absolute filename and falls back to loading it from \texttt{/etc/config} (which is the most common way of using it). If you want to use special callbacks for sections and/or options, you @@ -36,13 +36,13 @@ need to define the following shell functions before running \texttt{config\_load \begin{Verbatim} config_cb() { - local type="$1" - local name="$2" - # commands to be run for every section + local type="$1" + local name="$2" + # commands to be run for every section } option_cb() { - # commands to be run for every option + # commands to be run for every option } \end{Verbatim} @@ -57,18 +57,34 @@ after \texttt{config\_load} is done. That allows you to process sections both before and after all options were processed. +Another way of iterating on config sections is using the \texttt{config\_foreach} command. + +Syntax: +\begin{Verbatim} +config_foreach [] [] +\end{Verbatim} + +This command will run the supplied function for every single config section in the currently +loaded config. The section name will be passed to the function as argument 1. +If the section type is added to the command line, the function will only be called for +sections of the given type. + + You can access already processed options with the \texttt{config\_get} command Syntax: \begin{Verbatim} -config_get