1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright 2007 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 group. 67 68 Its attributes are 69 70 name The name of this property. 71 72 type The data type for this property. 73 74 value The value for this property. Must match type 75 restriction of type attribute. 76--> 77 78<!ELEMENT propval EMPTY > 79 80<!ATTLIST propval 81 name CDATA #REQUIRED 82 type ( int32 | uint32 | int64 | uint64 | 83 string | fmri ) #REQUIRED 84 value CDATA #REQUIRED 85 86<!-- 87 propgroup 88 89 This element is for a set of related properties on a topo node 90 It contains an optional stability element, as well as 91 zero or more property-containing elements. 92 93 Its attributes are 94 95 name The name of this property group. 96 name-stability Stability level of the property group name 97 data-stability Stability level of the property names and 98 content 99 version Version of the propery group definition 100 101--> 102 103<!ELEMENT propgroup 104 ( propval*, propmethod* ) > 105 106<!ATTLIST propgroup 107 name CDATA #REQUIRED 108 version CDATA #REQUIRED 109 name-stability ( Private | Standard | Stable | Evolving | Unstable | 110 External | Obsolete ) #REQUIRED 111 data-stability ( Private | Standard | Stable | Evolving | Unstable | 112 External | Obsolete ) #REQUIRED > 113 114<!-- 115 propset 116 This element is for associating property groups according to a set type. 117 118 Its attributes are 119 120 type The type of this property group set. 'product' is the 121 only set type currently supported. 122 set The list of set types. 123 124--> 125 126<!ELEMENT propset 127 ( propgroup* ) > 128 129<!ATTLIST propset 130 type ( product ) #REQUIRED 131 set CDATA #REQUIRED > 132 133<!-- 134 propmap 135 This element is for specifying an additional topo map file for 136 properties assigned to a given range. 137 138 Its attributes are 139 140 name Name of map file 141--> 142 143<!ELEMENT propmap EMPTY > 144 145<!ATTLIST propmap 146 name CDATA #REQUIRED > 147 148<!-- Methods --> 149 150<!-- 151 argval 152 153 A propmethod argument. It has two attributes: 154 155 name The name of the argument. 156 type The data type of the argument. 157 value The value of the arg 158--> 159 160<!ELEMENT argval EMPTY> 161 162<!ATTLIST argval 163 name CDATA #REQUIRED 164 type CDATA #REQUIRED 165 value CDATA #REQUIRED > 166 167<!-- 168 propmethod 169 170 This element is for properties that can only be determined dynamically 171 from a plugin. 172 173 Its attributes are 174 175 name Name of the method 176 version Version of the method API 177 propname Name of the property to create 178 proptype Type of the property to create 179 180<!ELEMENT propmethod 181 ( argval* ) > 182 183<!ATTLIST propmethod 184 name CDATA #REQUIRED 185 version CDATA #REQUIRED 186 propname CDATA #REQUIRED 187 proptype CDATA #REQUIRED> 188<!-- 189 enum-method 190 191 This element describes the enumeration method used to 192 populate a composition of topo nodes for a given range of topology 193 nodes. 194 195 Its attributes are 196 197 name Name of the module exporting an enumeration method. 198 199 version Version of the libtopo API 200 201--> 202 203<!ELEMENT enum-method EMPTY > 204 205<!ATTLIST enum-method 206 name CDATA #REQUIRED 207 version CDATA #REQUIRED > 208 209 210<!-- 211 node 212 213 This element identifies a topology node instance. 214 215 Its attributes are 216 217 instance The instance number of the node 218 219--> 220 221<!ELEMENT node 222 ( propgroup*, dependents*, propset* ) > 223 224<!ATTLIST node 225 instance CDATA #REQUIRED > 226 227<!-- 228 dependents 229 230 Ranges may have a number of "dependent" ranges, linked to 231 the original range hierarchically as children or as a list, siblings. 232 233 Its attribute is: 234 grouping children | siblings 235--> 236 237<!ELEMENT dependents 238 ( range | xi:include )+ > 239 240<!ATTLIST dependents 241 grouping ( children | siblings ) "children" #REQUIRED > 242 243<!-- 244 range 245 246 This element identifies a range of possible topology nodes. 247 248 Its attributes are 249 250 name The common name of all the possible topo nodes 251 252 min The smallest allowed instance number for an 253 actual topo node. 254 255 max The largest allowed instance number for an 256 actual topo node. 257 258--> 259 260<!ELEMENT range 261 ( enum-method?, propmap?, node*, propgroup*, dependents*, 262 propset* ) > 263 264<!ATTLIST range 265 name CDATA #REQUIRED 266 min CDATA #REQUIRED 267 max CDATA #REQUIRED > 268 269<!-- 270 topology 271 272 This is the root-level for the scheme-specific topology 273 274 Its attributes are: 275 name topology name 276 scheme ( hc | dev ) 277--> 278 279<!ELEMENT topology 280 (range* | xi:include*)> 281 282<!ATTLIST topology 283 name CDATA #REQUIRED 284 scheme (hc | dev) #REQUIRED > 285