xref: /aosp_15_r20/system/libvintf/xsd/halManifest/hal_manifest.xsd (revision 70a7ec852fcefd15a4fb57f8f183a8b1c3aacb08)
1*70a7ec85SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*70a7ec85SAndroid Build Coastguard Worker<!-- Copyright (C) 2019 The Android Open Source Project
3*70a7ec85SAndroid Build Coastguard Worker
4*70a7ec85SAndroid Build Coastguard Worker         Licensed under the Apache License, Version 2.0 (the "License");
5*70a7ec85SAndroid Build Coastguard Worker         you may not use this file except in compliance with the License.
6*70a7ec85SAndroid Build Coastguard Worker         You may obtain a copy of the License at
7*70a7ec85SAndroid Build Coastguard Worker
8*70a7ec85SAndroid Build Coastguard Worker                    http://www.apache.org/licenses/LICENSE-2.0
9*70a7ec85SAndroid Build Coastguard Worker
10*70a7ec85SAndroid Build Coastguard Worker         Unless required by applicable law or agreed to in writing, software
11*70a7ec85SAndroid Build Coastguard Worker         distributed under the License is distributed on an "AS IS" BASIS,
12*70a7ec85SAndroid Build Coastguard Worker         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*70a7ec85SAndroid Build Coastguard Worker         See the License for the specific language governing permissions and
14*70a7ec85SAndroid Build Coastguard Worker         limitations under the License.
15*70a7ec85SAndroid Build Coastguard Worker-->
16*70a7ec85SAndroid Build Coastguard Worker<!-- TODO: define a targetNamespace. Note that it will break retrocompatibility -->
17*70a7ec85SAndroid Build Coastguard Worker<xs:schema version="2.0"
18*70a7ec85SAndroid Build Coastguard Worker           elementFormDefault="qualified"
19*70a7ec85SAndroid Build Coastguard Worker           attributeFormDefault="unqualified"
20*70a7ec85SAndroid Build Coastguard Worker           xmlns:xs="http://www.w3.org/2001/XMLSchema">
21*70a7ec85SAndroid Build Coastguard Worker    <xs:element name="manifest">
22*70a7ec85SAndroid Build Coastguard Worker        <xs:complexType>
23*70a7ec85SAndroid Build Coastguard Worker            <xs:sequence>
24*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="hal" type="hal" minOccurs="0" maxOccurs="unbounded"/>
25*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="sepolicy" type="sepolicy" minOccurs="0"/>
26*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="kernel" type="kernel" minOccurs="0"/>
27*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="vndk" type="vndk" minOccurs="0" maxOccurs="unbounded"/>
28*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="vendor-ndk" type="vendor-ndk" minOccurs="0" maxOccurs="unbounded"/>
29*70a7ec85SAndroid Build Coastguard Worker                <xs:element name="system-sdk" type="system-sdk" minOccurs="0"/>
30*70a7ec85SAndroid Build Coastguard Worker            </xs:sequence>
31*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="version" type="xs:string" use="required"/>
32*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="type" type="xs:string" use="required"/>
33*70a7ec85SAndroid Build Coastguard Worker            <xs:attribute name="target-level" type="xs:string"/>
34*70a7ec85SAndroid Build Coastguard Worker        </xs:complexType>
35*70a7ec85SAndroid Build Coastguard Worker    </xs:element>
36*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="hal">
37*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
38*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="name" type="xs:string"/>
39*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="transport" minOccurs="0" >
40*70a7ec85SAndroid Build Coastguard Worker                <xs:complexType>
41*70a7ec85SAndroid Build Coastguard Worker                    <xs:simpleContent>
42*70a7ec85SAndroid Build Coastguard Worker                        <xs:extension base="xs:string">
43*70a7ec85SAndroid Build Coastguard Worker                            <xs:attribute name="arch" type="xs:string"/>
44*70a7ec85SAndroid Build Coastguard Worker                            <xs:attribute name="ip" type="xs:string" />
45*70a7ec85SAndroid Build Coastguard Worker                            <xs:attribute name="port" type="xs:string" />
46*70a7ec85SAndroid Build Coastguard Worker                        </xs:extension>
47*70a7ec85SAndroid Build Coastguard Worker                    </xs:simpleContent>
48*70a7ec85SAndroid Build Coastguard Worker                </xs:complexType>
49*70a7ec85SAndroid Build Coastguard Worker            </xs:element>
50*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
51*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="interface" type="interface" minOccurs="0" maxOccurs="unbounded"/>
52*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="fqname" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
53*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="accessor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
54*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
55*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="format" type="xs:string"/>
56*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="exclusive-to" type="xs:string"/>
57*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="override" type="xs:string"/>
58*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="updatable-via-apex" type="xs:string"/>
59*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="updatable-via-system" type="xs:string"/>
60*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="max-level" type="xs:string" />
61*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="min-level" type="xs:string" />
62*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
63*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="interface">
64*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
65*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="name" type="xs:string" minOccurs="0"/>
66*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="instance" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
67*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
68*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
69*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="sepolicy">
70*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
71*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
72*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
73*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
74*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="vndk">
75*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
76*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
77*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
78*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
79*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
80*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="vendor-ndk">
81*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
82*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string"/>
83*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="library" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
84*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
85*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
86*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="system-sdk">
87*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
88*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="version" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
89*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
90*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
91*70a7ec85SAndroid Build Coastguard Worker    <xs:complexType name="kernel">
92*70a7ec85SAndroid Build Coastguard Worker        <xs:sequence>
93*70a7ec85SAndroid Build Coastguard Worker            <xs:element name="config" minOccurs="0" maxOccurs="unbounded">
94*70a7ec85SAndroid Build Coastguard Worker                <xs:complexType>
95*70a7ec85SAndroid Build Coastguard Worker                    <xs:sequence>
96*70a7ec85SAndroid Build Coastguard Worker                        <xs:element name="key" type="xs:string"/>
97*70a7ec85SAndroid Build Coastguard Worker                        <xs:element name="value" type="xs:string"/>
98*70a7ec85SAndroid Build Coastguard Worker                    </xs:sequence>
99*70a7ec85SAndroid Build Coastguard Worker                </xs:complexType>
100*70a7ec85SAndroid Build Coastguard Worker            </xs:element>
101*70a7ec85SAndroid Build Coastguard Worker        </xs:sequence>
102*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="version" type="xs:string"/>
103*70a7ec85SAndroid Build Coastguard Worker        <xs:attribute name="target-level" type="xs:string"/>
104*70a7ec85SAndroid Build Coastguard Worker    </xs:complexType>
105*70a7ec85SAndroid Build Coastguard Worker</xs:schema>
106