2013-01-23 19:03:17 +04:00
<?xml version="1.0"?>
2009-01-27 18:29:53 +03:00
<!-- A Relax NG schema for the libvirt node device XML format -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2020-09-30 14:54:58 +03:00
<include href="basictypes.rng"/>
2009-01-27 18:29:53 +03:00
<start>
2020-09-30 14:54:58 +03:00
<ref name="device"/>
2009-01-27 18:29:53 +03:00
</start>
2020-09-30 14:54:58 +03:00
<define name="device">
2009-01-27 18:29:53 +03:00
<element name="device">
<!-- The name of the network, used to refer to it through the API
and in virsh -->
<element name="name"><text/></element>
2013-10-04 01:11:57 +04:00
<optional>
<element name="path"><text/></element>
</optional>
2017-02-15 00:04:10 +03:00
<optional>
<element name="devnode">
2020-09-30 14:54:58 +03:00
<attribute name="type">
2017-02-15 00:04:10 +03:00
<value>dev</value>
</attribute>
<text/>
</element>
</optional>
<zeroOrMore>
<element name="devnode">
2020-09-30 14:54:58 +03:00
<attribute name="type">
2017-02-15 00:04:10 +03:00
<value>link</value>
</attribute>
<text/>
</element>
</zeroOrMore>
2009-01-27 18:29:53 +03:00
<optional>
2016-11-17 19:09:09 +03:00
<ref name="parent"/>
2009-01-27 18:29:53 +03:00
</optional>
2012-08-02 15:23:16 +04:00
<optional>
<element name="driver">
<element name="name"><text/></element>
</element>
</optional>
2009-01-27 18:29:53 +03:00
<zeroOrMore>
2010-03-01 22:09:26 +03:00
<ref name="capability"/>
2009-01-27 18:29:53 +03:00
</zeroOrMore>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="parent">
<element name="parent">
2016-11-17 19:09:09 +03:00
<choice>
<group>
2020-09-30 14:54:58 +03:00
<attribute name="wwnn">
<ref name="wwn"/>
2016-11-17 19:09:09 +03:00
</attribute>
2020-09-30 14:54:58 +03:00
<attribute name="wwpn">
<ref name="wwn"/>
2016-11-17 19:09:09 +03:00
</attribute>
<empty/>
</group>
<group>
2020-09-30 14:54:58 +03:00
<attribute name="fabric_wwn">
<ref name="wwn"/>
2016-11-17 19:09:09 +03:00
</attribute>
<empty/>
</group>
<text/>
</choice>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capability">
2009-01-27 18:29:53 +03:00
<element name="capability">
<choice>
2010-03-01 22:09:26 +03:00
<ref name="capsystem"/>
<ref name="cappcidev"/>
<ref name="capusbdev"/>
<ref name="capusbinterface"/>
<ref name="capnet"/>
<ref name="capscsihost"/>
2016-03-21 17:49:29 +03:00
<ref name="capscsitarget"/>
2010-03-01 22:09:26 +03:00
<ref name="capscsi"/>
<ref name="capstorage"/>
2017-02-15 00:04:12 +03:00
<ref name="capdrm"/>
2017-03-06 19:18:48 +03:00
<ref name="capmdev"/>
2017-05-22 09:38:22 +03:00
<ref name="capccwdev"/>
2020-09-14 22:11:44 +03:00
<ref name="capcssdev"/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capsystem">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>system</value>
</attribute>
<optional>
2020-09-30 14:54:58 +03:00
<element name="product"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
2020-09-30 14:54:58 +03:00
<element name="hardware">
2009-01-27 18:29:53 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="vendor"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="version"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="serial"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
2020-09-30 14:54:58 +03:00
<element name="uuid">
<ref name="UUID"/>
2009-01-27 18:29:53 +03:00
</element>
</element>
2020-09-30 14:54:58 +03:00
<element name="firmware">
2009-01-27 18:29:53 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="vendor"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="version"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="release_date"><text/></element>
2009-01-27 18:29:53 +03:00
</optional>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="cappcidev">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>pci</value>
</attribute>
2019-03-21 10:12:40 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="class">
2019-03-21 10:12:40 +03:00
<data type="string">
<param name="pattern">0x[0-9a-fA-F]{6}</param>
</data>
</element>
</optional>
2020-09-30 14:54:58 +03:00
<element name="domain">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="bus">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="slot">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="function">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="product">
<attribute name="id">
<ref name="hexuint"/>
2009-01-27 18:29:53 +03:00
</attribute>
<choice>
2010-03-01 22:09:26 +03:00
<text/>
<empty/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
2020-09-30 14:54:58 +03:00
<element name="vendor">
<attribute name="id">
<ref name="hexuint"/>
2009-01-27 18:29:53 +03:00
</attribute>
<choice>
2010-03-01 22:09:26 +03:00
<text/>
<empty/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
2012-08-02 15:23:16 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<attribute name="type">
2012-08-02 15:23:16 +04:00
<value>phys_function</value>
</attribute>
<optional>
2020-09-30 14:54:58 +03:00
<ref name="address"/>
2012-08-02 15:23:16 +04:00
</optional>
</element>
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<attribute name="type">
2012-08-02 15:23:16 +04:00
<value>virt_functions</value>
</attribute>
<optional>
2020-09-30 14:54:58 +03:00
<attribute name="maxCount">
<ref name="unsignedInt"/>
2016-04-03 21:57:58 +03:00
</attribute>
2012-08-02 15:23:16 +04:00
</optional>
2016-04-03 21:57:58 +03:00
<zeroOrMore>
2020-09-30 14:54:58 +03:00
<ref name="address"/>
2016-04-03 21:57:58 +03:00
</zeroOrMore>
2012-08-02 15:23:16 +04:00
</element>
</optional>
2016-04-03 21:36:40 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<attribute name="type">
2016-04-03 21:36:40 +03:00
<choice>
<value>pci-bridge</value>
<value>cardbus-bridge</value>
</choice>
</attribute>
</element>
</optional>
2017-03-06 19:17:34 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<attribute name="type">
2017-03-06 19:17:34 +03:00
<value>mdev_types</value>
</attribute>
<oneOrMore>
2020-09-30 14:54:58 +03:00
<element name="type">
<attribute name="id">
<data type="string"/>
2017-03-06 19:17:34 +03:00
</attribute>
<optional>
2020-09-30 14:54:58 +03:00
<element name="name"><text/></element>
2017-03-06 19:17:34 +03:00
</optional>
2020-09-30 14:54:58 +03:00
<element name="deviceAPI">
2017-09-07 12:58:26 +03:00
<value>vfio-pci</value>
2017-03-06 19:17:34 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="availableInstances">
<ref name="unsignedInt"/>
2017-03-06 19:17:34 +03:00
</element>
</element>
</oneOrMore>
</element>
2017-09-07 13:16:04 +03:00
</optional>
2017-03-06 19:17:34 +03:00
2013-06-23 22:01:00 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="iommuGroup">
<attribute name="number">
<ref name="unsignedInt"/>
2013-06-23 22:01:00 +04:00
</attribute>
<oneOrMore>
2020-09-30 14:54:58 +03:00
<ref name="address"/>
2013-06-23 22:01:00 +04:00
</oneOrMore>
</element>
</optional>
2014-05-07 20:07:12 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="numa">
2014-05-07 20:07:12 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<attribute name="node">
<data type="int"/>
2014-05-07 20:07:12 +04:00
</attribute>
</optional>
</element>
2016-03-15 14:22:03 +03:00
</optional>
2014-05-15 12:13:45 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="pci-express">
2014-05-15 12:13:45 +04:00
<zeroOrMore>
2020-09-30 14:54:58 +03:00
<element name="link">
<attribute name="validity">
2014-05-15 12:13:45 +04:00
<choice>
<value>cap</value>
<value>sta</value>
</choice>
</attribute>
<optional>
2020-09-30 14:54:58 +03:00
<attribute name="port">
<ref name="unsignedInt"/>
2014-05-15 12:13:45 +04:00
</attribute>
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<attribute name="speed">
2014-05-15 12:13:45 +04:00
<data type="string">
<param name="pattern">[0-9]+(.[0-9]+)?</param>
</data>
</attribute>
</optional>
2020-09-30 14:54:58 +03:00
<attribute name="width">
<ref name="unsignedInt"/>
2014-05-15 12:13:45 +04:00
</attribute>
</element>
</zeroOrMore>
</element>
</optional>
2009-01-27 18:29:53 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capusbdev">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>usb_device</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="bus">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="device">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="product">
<attribute name="id">
<ref name="hexuint"/>
2009-01-27 18:29:53 +03:00
</attribute>
<choice>
2010-03-01 22:09:26 +03:00
<text/>
<empty/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
2020-09-30 14:54:58 +03:00
<element name="vendor">
<attribute name="id">
<ref name="hexuint"/>
2009-01-27 18:29:53 +03:00
</attribute>
<choice>
2010-03-01 22:09:26 +03:00
<text/>
<empty/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capusbinterface">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>usb</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="number">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="class">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="subclass">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="protocol">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
<optional>
2020-09-30 14:54:58 +03:00
<element name="description">
2010-03-01 22:09:26 +03:00
<text/>
2009-01-27 18:29:53 +03:00
</element>
</optional>
</define>
2020-09-30 14:54:58 +03:00
<define name="capnet">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>net</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="interface">
2009-01-27 18:29:53 +03:00
<text/>
</element>
<optional>
2020-09-30 14:54:58 +03:00
<element name="address">
<ref name="mac"/>
2009-01-27 18:29:53 +03:00
</element>
</optional>
2014-06-05 19:36:31 +04:00
<ref name="link-speed-state"/>
2009-01-27 18:29:53 +03:00
2015-02-23 18:38:29 +03:00
<zeroOrMore>
2020-09-30 14:54:58 +03:00
<element name="feature">
<attribute name="name">
<ref name="netfeaturename"/>
2015-02-23 18:38:29 +03:00
</attribute>
</element>
</zeroOrMore>
2009-01-27 18:29:53 +03:00
<zeroOrMore>
2020-09-30 14:54:58 +03:00
<ref name="subcapnet"/>
2009-01-27 18:29:53 +03:00
</zeroOrMore>
</define>
2020-09-30 14:54:58 +03:00
<define name="netfeaturename">
<data type="string">
<param name="pattern">[a-zA-Z\-_]+</param>
2015-02-23 18:38:29 +03:00
</data>
</define>
2020-09-30 14:54:58 +03:00
<define name="subcapnet">
<element name="capability">
2009-01-27 18:29:53 +03:00
<choice>
2020-09-30 14:54:58 +03:00
<ref name="subcapnet80203"/>
<ref name="subcapnet80211"/>
2009-01-27 18:29:53 +03:00
</choice>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="subcapnet80203">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>80203</value>
</attribute>
</define>
2020-09-30 14:54:58 +03:00
<define name="subcapnet80211">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>80211</value>
</attribute>
</define>
2020-09-30 14:54:58 +03:00
<define name="capsfchost">
<attribute name="type">
2011-12-06 16:09:03 +04:00
<value>fc_host</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="wwnn">
<ref name="wwn"/>
2011-12-06 16:09:03 +04:00
</element>
2020-09-30 14:54:58 +03:00
<element name="wwpn">
<ref name="wwn"/>
2011-12-06 16:09:03 +04:00
</element>
2017-01-16 16:27:34 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="fabric_wwn">
<ref name="wwn"/>
2017-01-16 16:27:34 +03:00
</element>
</optional>
2011-12-06 16:09:03 +04:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capsvports">
<attribute name="type">
2011-12-06 16:09:03 +04:00
<value>vports_ops</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="max_vports">
<ref name="unsignedInt"/>
2013-01-07 21:05:32 +04:00
</element>
2020-09-30 14:54:58 +03:00
<element name="vports">
<ref name="unsignedInt"/>
2013-01-07 21:05:32 +04:00
</element>
2011-12-06 16:09:03 +04:00
</define>
2009-01-27 18:29:53 +03:00
2020-09-30 14:54:58 +03:00
<define name="capscsihost">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>scsi_host</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="host">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2011-12-06 16:09:03 +04:00
2014-06-05 21:17:05 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="unique_id">
<ref name="positiveInteger"/>
2014-06-05 21:17:05 +04:00
</element>
</optional>
2011-12-06 16:09:03 +04:00
<optional>
<zeroOrMore>
2020-09-30 14:54:58 +03:00
<element name="capability">
2011-12-06 16:09:03 +04:00
<choice>
2020-09-30 14:54:58 +03:00
<ref name="capsfchost"/>
<ref name="capsvports"/>
2011-12-06 16:09:03 +04:00
</choice>
</element>
</zeroOrMore>
</optional>
2009-01-27 18:29:53 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capsfcrport">
<attribute name="type">
2017-05-22 09:38:25 +03:00
<value>fc_remote_port</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="rport">
2017-05-22 09:38:25 +03:00
<text/>
</element>
2020-09-30 14:54:58 +03:00
<element name="wwpn">
<ref name="wwn"/>
2017-05-22 09:38:25 +03:00
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capscsitarget">
<attribute name="type">
2016-03-21 17:49:29 +03:00
<value>scsi_target</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="target">
2016-03-21 17:49:29 +03:00
<text/>
</element>
2017-05-22 09:38:25 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<ref name="capsfcrport"/>
2017-05-22 09:38:25 +03:00
</element>
</optional>
2016-03-21 17:49:29 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capscsi">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>scsi</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="host">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="bus">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="target">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="lun">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="type">
2009-01-27 18:29:53 +03:00
<text/>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capstorage">
<attribute name="type">
2009-01-27 18:29:53 +03:00
<value>storage</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="block">
<ref name="path"/>
2009-01-27 18:29:53 +03:00
</element>
<optional>
2020-09-30 14:54:58 +03:00
<element name="bus">
2010-03-01 22:09:26 +03:00
<text/>
2009-01-27 18:29:53 +03:00
</element>
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="drive_type">
2010-03-01 22:09:26 +03:00
<text/>
2009-01-27 18:29:53 +03:00
</element>
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="model">
2010-03-01 22:09:26 +03:00
<text/>
2017-09-07 13:16:04 +03:00
</element>
2009-01-27 18:29:53 +03:00
</optional>
<optional>
2020-09-30 14:54:58 +03:00
<element name="vendor">
2010-03-01 22:09:26 +03:00
<text/>
2009-01-27 18:29:53 +03:00
</element>
</optional>
2009-06-11 18:25:19 +04:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="serial">
2010-03-01 22:09:26 +03:00
<text/>
2009-06-11 18:25:19 +04:00
</element>
</optional>
2009-01-27 18:29:53 +03:00
<choice>
2020-09-30 14:54:58 +03:00
<ref name="capstorageremoveable"/>
<ref name="capstoragefixed"/>
2009-01-27 18:29:53 +03:00
</choice>
<optional>
2020-09-30 14:54:58 +03:00
<element name="capability">
<attribute name="type">
2010-03-01 22:09:26 +03:00
<value>hotpluggable</value>
</attribute>
2009-01-27 18:29:53 +03:00
</element>
</optional>
</define>
2020-09-30 14:54:58 +03:00
<define name="capstorageremoveable">
<element name="capability">
<attribute name="type">
2010-03-01 22:09:26 +03:00
<value>removable</value>
2009-01-27 18:29:53 +03:00
</attribute>
2020-09-30 14:54:58 +03:00
<element name="media_available">
2010-03-01 22:09:26 +03:00
<choice>
<value>1</value>
<value>0</value>
</choice>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="media_size">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2009-12-14 16:58:23 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="media_label">
2009-12-14 16:58:23 +03:00
<text/>
</element>
</optional>
2020-09-30 14:54:58 +03:00
<ref name="blockData"/>
2009-01-27 18:29:53 +03:00
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capstoragefixed">
<element name="size">
<ref name="unsignedLong"/>
2009-01-27 18:29:53 +03:00
</element>
2020-09-30 14:54:58 +03:00
<ref name="blockData"/>
2018-05-19 15:00:58 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="blockData">
2018-05-19 15:00:58 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="logical_block_size">
<ref name="unsignedLong"/>
2018-05-19 15:00:58 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="num_blocks">
<ref name="unsignedLong"/>
2018-05-19 15:00:58 +03:00
</element>
</optional>
2009-01-27 18:29:53 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capdrm">
<attribute name="type">
2017-02-15 00:04:12 +03:00
<value>drm</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="type">
2017-02-15 00:04:12 +03:00
<choice>
<value>primary</value>
<value>control</value>
<value>render</value>
</choice>
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capmdev">
<attribute name="type">
2017-03-06 19:18:48 +03:00
<value>mdev</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="type">
<attribute name="id">
<data type="string"/>
2017-03-06 19:18:48 +03:00
</attribute>
</element>
2020-06-19 00:05:54 +03:00
<optional>
2020-09-30 14:54:58 +03:00
<element name="iommuGroup">
<attribute name="number">
<ref name="unsignedInt"/>
2020-06-19 00:05:54 +03:00
</attribute>
</element>
</optional>
2020-06-19 00:05:56 +03:00
<zeroOrMore>
<element name="attr">
<attribute name="name"/>
<attribute name="value"/>
</element>
</zeroOrMore>
2017-03-06 19:18:48 +03:00
</define>
2020-09-30 14:54:58 +03:00
<define name="capccwdev">
<attribute name="type">
2017-05-22 09:38:22 +03:00
<value>ccw</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="cssid">
<ref name="ccwCssidRange"/>
2017-05-22 09:38:22 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="ssid">
<ref name="ccwSsidRange"/>
2017-05-22 09:38:22 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="devno">
<ref name="ccwDevnoRange"/>
2017-05-22 09:38:22 +03:00
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="capcssdev">
<attribute name="type">
2020-09-14 22:11:44 +03:00
<value>css</value>
</attribute>
2020-09-30 14:54:58 +03:00
<element name="cssid">
<ref name="ccwCssidRange"/>
2020-09-14 22:11:44 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="ssid">
<ref name="ccwSsidRange"/>
2020-09-14 22:11:44 +03:00
</element>
2020-09-30 14:54:58 +03:00
<element name="devno">
<ref name="ccwDevnoRange"/>
2020-09-14 22:11:44 +03:00
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="address">
<element name="address">
<attribute name="domain"><ref name="hexuint"/></attribute>
<attribute name="bus"><ref name="hexuint"/></attribute>
<attribute name="slot"><ref name="hexuint"/></attribute>
<attribute name="function"><ref name="hexuint"/></attribute>
2012-08-02 15:23:16 +04:00
</element>
</define>
2020-09-30 14:54:58 +03:00
<define name="mac">
<data type="string">
2009-01-27 18:29:53 +03:00
<param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
</data>
</define>
2020-09-30 14:54:58 +03:00
<define name="path">
<data type="string">
2009-01-27 18:29:53 +03:00
<param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param>
</data>
</define>
</grammar>