<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

	<xs:include schemaLocation="genode://base_types.xsd"/>

	<xs:simpleType name="Policy">
		<xs:restriction base="xs:string">
			<xs:enumeration value="none" />
			<xs:enumeration value="pin" />
			<xs:enumeration value="round-robin" />
			<xs:enumeration value="max-utilize" />
		</xs:restriction>
	</xs:simpleType><!-- Policy -->

	<xs:element name="config">
		<xs:complexType>
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="component">
					<xs:complexType>
						<xs:choice minOccurs="1" maxOccurs="unbounded">
							<xs:element name="thread">
								<xs:complexType>
									<xs:attribute name="name"   type="xs:string" />
									<xs:attribute name="policy" type="Policy" />
								</xs:complexType>
							</xs:element> <!-- thread -->
						</xs:choice>
						<xs:attribute name="default_policy"  type="xs:string" />
						<xs:attribute name="label" type="Session_label" />
					</xs:complexType>
				</xs:element> <!-- component -->
			</xs:choice>

			<xs:attribute name="verbose"     type="Boolean" />
			<xs:attribute name="interval_us" type="xs:positiveInteger" />
			<xs:attribute name="report"      type="Boolean" />
			<xs:attribute name="trace"       type="Boolean" />
			<xs:attribute name="sleeper"     type="Boolean" />
		</xs:complexType>
	</xs:element> <!-- config -->

</xs:schema>
