1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright 2006 Sun Microsystems, Inc. All rights reserved. 4 Use is subject to license terms. 5 6 CDDL HEADER START 7 8 The contents of this file are subject to the terms of the 9 Common Development and Distribution License (the "License"). 10 You may not use this file except in compliance with the License. 11 12 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 or http://www.opensolaris.org/os/licensing. 14 See the License for the specific language governing permissions 15 and limitations under the License. 16 17 When distributing Covered Code, include this CDDL HEADER in each 18 file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 If applicable, add the following below this CDDL HEADER, with the 20 fields enclosed by brackets "[]" replaced with your own identifying 21 information: Portions Copyright [yyyy] [name of copyright owner] 22 23 CDDL HEADER END 24 25 ident "%Z%%M% %I% %E% SMI" 26--> 27 28<!-- 29 Topology description DTD 30 31 Most attributes are string values (or an individual string from a 32 restricted set), but attributes with a specific type requirement are 33 noted in the comment describing the element. 34--> 35 36<!-- 37 XInclude support 38 39 Topologies may be composed via the xi:include tag. 40 libtopo(3LIB) interfaces enforce that all composed topologies be of the 41 same scheme. 42--> 43 44<!ELEMENT xi:include 45 (xi:fallback) > 46 47<!ATTLIST xi:include 48 href CDATA #REQUIRED 49 parse (xml|text) "xml" 50 encoding CDATA #IMPLIED 51 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" 52 > 53 54<!ELEMENT xi:fallback 55 ANY 56 > 57<!ATTLIST xi:fallback 58 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" 59 > 60 61<!-- Properties and property groups --> 62 63<!-- 64 propval 65 66 This element is for a singly valued property within a property 67 group. 68 69 Its attributes are 70 71 name The name of this property. 72 73 type The data type for this property. 74 75 value The value for this property. Must match type 76 restriction of type attribute. 77 78 immutable This value remains unchanged for the lifetime of a snapshot. 79--> 80 81<!ELEMENT propval EMPTY > 82 83<!ATTLIST propval 84 name CDATA #REQUIRED 85 type ( int32 | uint32 | int64 | uint64 | 86 string | fmri ) #REQUIRED 87 value CDATA #REQUIRED 88 immutable ( true | false ) "true" > 89 90<!-- 91 propgroup 92 93 This element is for a set of related properties on a topo node 94 It contains an optional stability element, as well as 95 zero or more property-containing elements. 96 97 Its attributes are 98 99 name The name of this property group. 100 name-stability Stability level of the property group name 101 data-stability Stability level of the property names and content 102 version Version of the propery group definition 103 104--> 105 106<!ELEMENT propgroup 107 ( propval* ) > 108 109<!ATTLIST propgroup 110 name CDATA #REQUIRED 111 version CDATA #REQUIRED 112 name-stability ( Private | Standard | Stable | Evolving | Unstable | 113 External | Obsolete ) #REQUIRED 114 data-stability ( Private | Standard | Stable | Evolving | Unstable | 115 External | Obsolete ) #REQUIRED > 116 117<!-- Methods --> 118 119<!-- 120 enum-method 121 122 This element describes the enumeration method used to 123 populate a composition of topo nodes. Its interpretation is 124 left to the enumerator to which a particular topo node is 125 assigned. It contains a set of attributes, context, and an optional 126 stability element for the optional args that can be included. 127 128 Its attributes are 129 130 name Name of this method. The method names are 131 usually a defined interface of the enumerator to which a 132 topo instance assigned. 133 134 version Version of the enumeration API 135 136--> 137 138<!ELEMENT enum-method EMPTY > 139 140<!ATTLIST enum-method 141 name CDATA #REQUIRED 142 version CDATA #REQUIRED > 143 144<!-- 145 node 146 147 This element identifies a known topology node. 148 149 Its attributes are 150 151 instance The instance number of the known node 152 153 static Boolean to determine if node is statically created 154 by the XML parser or an enumerator 155 156--> 157 158<!ELEMENT node 159 ( propgroup*, dependents* ) > 160 161<!ATTLIST node 162 instance CDATA #REQUIRED 163 static ( true | false ) "false" > 164 165<!-- 166 dependents 167 168 Ranges may have a number of "dependent" ranges, linked to 169 the original range hierarchically as children or siblings. 170 171 Its attribute is: 172 grouping "children", "siblings" 173--> 174 175<!ELEMENT dependents 176 ( range | xi:include )+ > 177 178<!ATTLIST dependents 179 grouping ( children | siblings ) #REQUIRED > 180 181<!-- 182 range 183 184 This element identifies a range of possible topology nodes. 185 186 Its attributes are 187 188 name The common name of all the possible topo nodes 189 190 min The smallest allowed instance number for an 191 actual topo node. 192 193 max The largest allowed instance number for an 194 actual topo node. 195 196--> 197 198<!ELEMENT range 199 ( enum-method?, node*, propgroup*, dependents* ) > 200 201<!ATTLIST range 202 name CDATA #REQUIRED 203 min CDATA #REQUIRED 204 max CDATA #REQUIRED > 205 206<!-- 207 topology 208 209 This is the root-level for the scheme-specific topology 210 211 Its attributes are: 212 name topology name 213 scheme "hc", "dev" 214--> 215 216<!ELEMENT topology 217 (range* | xi:include*)> 218 219<!ATTLIST topology 220 name CDATA #REQUIRED 221 scheme (hc | dev) #REQUIRED > 222