404 lines
11 KiB
Plaintext
404 lines
11 KiB
Plaintext
# UVL - Reference-Spec
|
|
# This is a meta scheme defining the format of uci schemes.
|
|
# $Id: schema 3709 2008-11-04 21:28:07Z jow $
|
|
|
|
package schema
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Central package definition
|
|
#
|
|
# config package
|
|
# option ...
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# Section definition (schema.@package)
|
|
config section
|
|
option name 'package'
|
|
option title 'Definition of uci package'
|
|
option package 'schema'
|
|
option required false
|
|
option named false
|
|
option unique true
|
|
option dynamic false
|
|
|
|
# Section title (schema.@package.title)
|
|
config variable
|
|
option name 'title'
|
|
option title 'Title of the defined package'
|
|
option section 'schema.package'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Section description (schema.@package.description)
|
|
config variable
|
|
option name 'description'
|
|
option title 'Description of the defined package'
|
|
option section 'schema.package'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Central section definition
|
|
#
|
|
# config section
|
|
# option ...
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# Section definition (schema.@section)
|
|
config section
|
|
option name 'section'
|
|
option title 'Definition of uci section'
|
|
option package 'schema'
|
|
option required false
|
|
option named false
|
|
option unique false
|
|
option dynamic false
|
|
|
|
# Section name (schema.@section.name)
|
|
config variable
|
|
option name 'name'
|
|
option title 'Name of the defined section'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Section package (schema.@section.package)
|
|
config variable
|
|
option name 'package'
|
|
option title 'Parent package of the defined section'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Section title (schema.@section.title)
|
|
config variable
|
|
option name 'title'
|
|
option title 'Title of the defined section'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Section description (schema.@section.description)
|
|
config variable
|
|
option name 'description'
|
|
option title 'Description of the defined section'
|
|
option section 'schema.section'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Section dependencies (schema.@section.depends)
|
|
config variable
|
|
option name 'depends'
|
|
option title 'List of dependencies within and between defined sections'
|
|
option section 'schema.section'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Section required flag (schema.@section.required)
|
|
config variable
|
|
option name 'required'
|
|
option title 'Specify whether at least one instance of this section type must be defined in config'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
# Section unique flag (schema.@section.unique)
|
|
config variable
|
|
option name 'unique'
|
|
option title 'Specify whether only one instance of this section type is allowed in config'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
# Section named flag (schema.@section.named)
|
|
config variable
|
|
option name 'named'
|
|
option title 'Specify whether sections of this type must have a name set (are not anonymous)'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
# Section dynamic flag (schema.@section.dynamic)
|
|
config variable
|
|
option name 'dynamic'
|
|
option title 'Specify whether sections of this type may contain arbitary, not specified options'
|
|
option section 'schema.section'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Central variable definition
|
|
#
|
|
# config variable
|
|
# option ...
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# Variable definition (schema.@variable)
|
|
config section
|
|
option name 'variable'
|
|
option title 'Definition of uci variable'
|
|
option package 'schema'
|
|
option required false
|
|
option named false
|
|
option unique false
|
|
option dynamic false
|
|
|
|
# Variable name (schema.@variable.name)
|
|
config variable
|
|
option name 'name'
|
|
option title 'Name of the defined variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Variable section (schema.@variable.section)
|
|
config variable
|
|
option name 'section'
|
|
option title 'Parent section of the defined variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Variable title (schema.@variable.title)
|
|
config variable
|
|
option name 'title'
|
|
option title 'Title of the defined variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable description (schema.@variable.description)
|
|
config variable
|
|
option name 'description'
|
|
option title 'Description of the defined variable'
|
|
option section 'schema.variable'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable dependencies (schema.@variable.depends)
|
|
config variable
|
|
option name 'depends'
|
|
option title 'List of dependencies between defined variables'
|
|
option section 'schema.variable'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable required flag (schema.@variable.required)
|
|
config variable
|
|
option name 'required'
|
|
option title 'Specify whether this variable must be set in config'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
# Variable multiple values flag (schema.@variable.multival)
|
|
config variable
|
|
option name 'multival'
|
|
option title 'Specify whether this variable may contain multiple values separated by space'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|
|
|
|
# Variable type (schema.@variable.type)
|
|
config variable
|
|
option name 'type'
|
|
option title 'Type of this variable'
|
|
option section 'schema.variable'
|
|
option type 'enum'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Plain variable type (schema.@variable.type=variable)
|
|
config enum
|
|
option value 'variable'
|
|
option title 'This is a plain variable'
|
|
option variable 'schema.variable.type'
|
|
|
|
# Enum variable type (schema.@variable.type=enum)
|
|
config enum
|
|
option value 'enum'
|
|
option title 'This is a enum variable'
|
|
option variable 'schema.variable.type'
|
|
|
|
# List variable type (schema.@variable.type=list)
|
|
config enum
|
|
option value 'list'
|
|
option title 'This is a list variable'
|
|
option variable 'schema.variable.type'
|
|
|
|
# List-or-Option variable type (schema.@variable.type=lazylist)
|
|
config enum
|
|
option value 'lazylist'
|
|
option title 'This is a list or option variable'
|
|
option variable 'schema.variable.type'
|
|
|
|
# Reference variable type (schema.@variable.type=reference)
|
|
config enum
|
|
option value 'reference'
|
|
option title 'This is a reference (valueof) variable'
|
|
option variable 'schema.variable.type'
|
|
|
|
# Variable datatype (schema.@variable.datatype)
|
|
config variable
|
|
option name 'datatype'
|
|
option title 'Datatype of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable default value (schema.@variable.default)
|
|
config variable
|
|
option name 'default'
|
|
option title 'Default value of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable minimum length (schema.@variable.minlength)
|
|
config variable
|
|
option name 'minlength'
|
|
option title 'Minimum length of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'uint'
|
|
option required false
|
|
|
|
# Variable maximum length (schema.@variable.minlength)
|
|
config variable
|
|
option name 'maxlength'
|
|
option title 'Maximum length of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'uint'
|
|
option required false
|
|
|
|
# Variable minimum value (schema.@variable.minlength)
|
|
config variable
|
|
option name 'minimum'
|
|
option title 'Minimum value of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'integer'
|
|
option required false
|
|
|
|
# Variable maximum value (schema.@variable.minlength)
|
|
config variable
|
|
option name 'maximum'
|
|
option title 'Maximum value of this variable'
|
|
option section 'schema.variable'
|
|
option type 'variable'
|
|
option datatype 'integer'
|
|
option required false
|
|
|
|
# Variable validators (schema.@variable.validator)
|
|
config variable
|
|
option name 'validator'
|
|
option title 'Datatype of this variable'
|
|
option section 'schema.variable'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Variable value references (schema.@variable.valueof)
|
|
config variable
|
|
option name 'valueof'
|
|
option title 'Reference to section or option to read values from'
|
|
option section 'schema.variable'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Central enum definition
|
|
#
|
|
# config enum
|
|
# option ...
|
|
#-------------------------------------------------------------------------------
|
|
|
|
# Enum definition (schema.@enum)
|
|
config section
|
|
option name 'enum'
|
|
option title 'Definition of uci enum value'
|
|
option package 'schema'
|
|
option required false
|
|
option named false
|
|
option unique false
|
|
option dynamic false
|
|
|
|
# Enum value (schema.@enum.value)
|
|
config variable
|
|
option name 'value'
|
|
option title 'Value of the defined enum value'
|
|
option section 'schema.enum'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Enum variable (schema.@enum.variable)
|
|
config variable
|
|
option name 'variable'
|
|
option title 'Parent variable of the defined enum value'
|
|
option section 'schema.enum'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required true
|
|
|
|
# Enum value title (schema.@enum.title)
|
|
config variable
|
|
option name 'title'
|
|
option title 'Title of the defined enum value'
|
|
option section 'schema.enum'
|
|
option type 'variable'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Enum value description (schema.@enum.description)
|
|
config variable
|
|
option name 'description'
|
|
option title 'Description of the defined enum value'
|
|
option section 'schema.enum'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Enum value dependencies (schema.@enum.depends)
|
|
config variable
|
|
option name 'depends'
|
|
option title 'List of dependencies on defined variables'
|
|
option section 'schema.enum'
|
|
option type 'lazylist'
|
|
option datatype 'string'
|
|
option required false
|
|
|
|
# Enum value default flag (schema.@enum.default)
|
|
config variable
|
|
option name 'default'
|
|
option title 'Specify whether this value is the default value of the parent enum'
|
|
option section 'schema.enum'
|
|
option type 'variable'
|
|
option datatype 'boolean'
|
|
option required false
|