netfilter-titan/testproject/libnetfilter_conntrack.xsd

130 lines
4.6 KiB
XML

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.netfilter.org/xml/libnetfilter_conntrack"
xmlns:nfct="http://www.netfilter.org/xml/libnetfilter_conntrack">
<xs:complexType name="empty_type">
</xs:complexType>
<xs:simpleType name="hour_type">
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="23"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="minute_type">
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="59"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="second_type">
<xs:restriction base="xs:nonNegativeInteger">
<xs:maxInclusive value="59"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="mday_type">
<xs:restriction base="xs:positiveInteger">
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="month_type">
<xs:restriction base="xs:positiveInteger">
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="wday_type">
<xs:restriction base="xs:positiveInteger">
<xs:maxInclusive value="7"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="layer3_type">
<xs:sequence>
<xs:element name="src" type="xs:string"/>
<xs:element name="dst" type="xs:string"/>
</xs:sequence>
<xs:attribute name="protonum" type="xs:string"/>
<xs:attribute name="protoname" type="xs:string"/>
</xs:complexType>
<xs:complexType name="layer4_type">
<xs:sequence>
<xs:element name="sport" type="xs:integer"/>
<xs:element name="dport" type="xs:integer"/>
</xs:sequence>
<!-- srckey/dstkey for GRE -->
<xs:attribute name="protonum" type="xs:string"/>
<xs:attribute name="protoname" type="xs:string"/>
</xs:complexType>
<xs:complexType name="counters_type">
<xs:sequence>
<xs:element name="bytes" type="xs:unsignedLong"/>
<xs:element name="packets" type="xs:unsignedLong"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="timestamp_type">
<xs:sequence>
<xs:element name="start" type="xs:unsignedLong"/>
<xs:element name="stop" type="xs:unsignedLong"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="when_type">
<xs:sequence>
<xs:element name="hour" type="nfct:hour_type"/>
<xs:element name="min" type="nfct:minute_type"/>
<xs:element name="sec" type="nfct:second_type"/>
<xs:element name="wday" type="nfct:wday_type"/>
<xs:element name="day" type="nfct:mday_type"/>
<xs:element name="month" type="nfct:month_type"/>
<xs:element name="year" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
<xs:group name="orig_repl_group">
<!-- original or reply tuple -->
<xs:sequence>
<xs:element name="layer3" type="nfct:layer3_type"/>
<xs:element name="layer4" type="nfct:layer4_type"/>
<xs:element name="zone" type="xs:integer" minOccurs="0"/>
<xs:element name="counters" type="nfct:counters_type" minOccurs="0"/>
</xs:sequence>
</xs:group>
<xs:group name="indep_group">
<xs:sequence>
<xs:element name="state" type="xs:string" minOccurs="0"/>
<xs:element name="timeout" type="xs:integer" minOccurs="0"/>
<xs:element name="mark" type="xs:integer" minOccurs="0"/>
<xs:element name="secmark" type="xs:integer" minOccurs="0"/>
<xs:element name="zone" type="xs:integer" minOccurs="0"/>
<xs:element name="use" type="xs:integer" minOccurs="0"/>
<xs:element name="id" type="xs:integer" minOccurs="0"/>
<xs:element name="assured" type="nfct:empty_type" minOccurs="0"/>
<xs:element name="unreplied" type="nfct:empty_type" minOccurs="0"/>
<xs:element name="timestamp" type="nfct:timestamp_type" minOccurs="0"/>
<xs:element name="deltatime" type="xs:integer" minOccurs="0"/>
</xs:sequence>
</xs:group>
<xs:complexType name="meta_type">
<xs:choice>
<xs:group ref="nfct:orig_repl_group"/>
<xs:group ref="nfct:indep_group"/>
</xs:choice>
<xs:attribute name="direction" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="original|reply|independent"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="flow_type">
<xs:sequence>
<xs:element name="meta" type="nfct:meta_type"/>
<xs:element name="meta" type="nfct:meta_type"/>
<xs:element name="meta" type="nfct:meta_type"/>
<xs:element name="when" type="nfct:when_type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="flow" type="nfct:flow_type"/>
<xs:element name="flows">
<xs:complexType>
<xs:sequence>
<xs:element name="flow" type="nfct:flow_type" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>