Print this page
7029 want per-process exploit mitigation features (secflags)
7030 want basic address space layout randomization (aslr)
7031 noexec_user_stack should be a secflag
7032 want a means to forbid mappings around NULL.
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/svc/dtd/service_bundle.dtd.1.man.txt
+++ new/usr/src/cmd/svc/dtd/service_bundle.dtd.1.man.txt
1 1 () ()
2 2
3 3
4 4
5 5 <?xml version="1.0" encoding="UTF-8"?> <!--
6 6 Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
7 7
8 8 CDDL HEADER START
9 9
10 10 The contents of this file are subject to the terms of the
11 11 Common Development and Distribution License (the "License").
12 12 You may not use this file except in compliance with the License.
13 13
14 14 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15 15 or http://www.opensolaris.org/os/licensing.
16 16 See the License for the specific language governing permissions
17 17 and limitations under the License.
18 18
19 19 When distributing Covered Code, include this CDDL HEADER in each
20 20 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
21 21 If applicable, add the following below this CDDL HEADER, with the
22 22 fields enclosed by brackets "[]" replaced with your own identifying
23 23 information: Portions Copyright [yyyy] [name of copyright owner]
24 24
25 25 CDDL HEADER END -->
26 26
27 27 <!--
28 28 Service description DTD
29 29
30 30 Most attributes are string values (or an individual string from a
31 31 restricted set), but attributes with a specific type requirement are
32 32 noted in the comment describing the element. -->
33 33
34 34 <!--
35 35 XInclude support
36 36
37 37 A series of service bundles may be composed via the xi:include tag.
38 38 smf(5) tools enforce that all bundles be of the same type. -->
39 39
40 40 <!--
41 41 These entities are used for the property, propval and property_group
42 42 elements, that require type attributes for manifest, while for profiles
43 43 the type attributes are only implied. -->
44 44
45 45 <!ENTITY % profile "IGNORE"> <!ENTITY % manifest "INCLUDE">
46 46
47 47 <!ELEMENT xi:include
48 48 (xi:fallback)
49 49 > <!ATTLIST xi:include
50 50 href CDATA #REQUIRED
51 51 parse (xml|text) "xml"
52 52 encoding CDATA #IMPLIED
53 53 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
54 54 >
55 55
56 56 <!ELEMENT xi:fallback
57 57 ANY
58 58 > <!ATTLIST xi:fallback
59 59 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude"
60 60 >
61 61
62 62 <!--
63 63 stability
64 64
65 65 This element associates an SMI stability level with the parent
66 66 element. See attributes(5) for an explanation of interface
67 67 stability levels.
68 68
69 69 Its attribute is
70 70
71 71 value The stability level of the parent element. -->
72 72
73 73 <!ELEMENT stability EMPTY>
74 74
75 75 <!ATTLIST stability value ( Standard | Stable | Evolving |
76 76 Unstable | External | Obsolete ) #REQUIRED >
77 77
78 78 <!-- Property value lists -->
79 79
80 80 <!--
81 81 value_node
82 82
83 83 This element represents a single value within any of the typed
84 84 property value lists.
85 85
86 86 Its attribute is
87 87
88 88 value The value for this node in the list. -->
89 89
90 90 <!ELEMENT value_node EMPTY>
91 91
92 92 <!ATTLIST value_node value CDATA #REQUIRED>
93 93
94 94 <!--
95 95 count_list
96 96 integer_list
97 97 opaque_list
98 98 host_list
99 99 hostname_list
100 100 net_address_list
101 101 net_address_v4_list
102 102 net_address_v6_list
103 103 time_list
104 104 astring_list
105 105 ustring_list
106 106 boolean_list
107 107 fmri_list
108 108 uri_list
109 109
110 110 These elements represent the typed lists of values for a property.
111 111 Each contains one or more value_node elements representing each
112 112 value on the list.
113 113
114 114 None of these elements has attributes. -->
115 115
116 116 <!ELEMENT count_list ( value_node+ )>
117 117
118 118 <!ATTLIST count_list>
119 119
120 120 <!ELEMENT integer_list ( value_node+ )>
121 121
122 122 <!ATTLIST integer_list>
123 123
124 124 <!ELEMENT opaque_list ( value_node+ )>
125 125
126 126 <!ATTLIST opaque_list>
127 127
128 128 <!ELEMENT host_list ( value_node+ )>
129 129
130 130 <!ATTLIST host_list>
131 131
132 132 <!ELEMENT hostname_list ( value_node+ )>
133 133
134 134 <!ATTLIST hostname_list>
135 135
136 136 <!ELEMENT net_address_list ( value_node+ )>
137 137
138 138 <!ATTLIST net_address_list>
139 139
140 140 <!ELEMENT net_address_v4_list ( value_node+ )>
141 141
142 142 <!ATTLIST net_address_v4_list>
143 143
144 144 <!ELEMENT net_address_v6_list ( value_node+ )>
145 145
146 146 <!ATTLIST net_address_v6_list>
147 147
148 148 <!ELEMENT time_list ( value_node+ )>
149 149
150 150 <!ATTLIST time_list>
151 151
152 152 <!ELEMENT astring_list ( value_node+ )>
153 153
154 154 <!ATTLIST astring_list>
155 155
156 156 <!ELEMENT ustring_list ( value_node+ )>
157 157
158 158 <!ATTLIST ustring_list>
159 159
160 160 <!ELEMENT boolean_list ( value_node+ )>
161 161
162 162 <!ATTLIST boolean_list>
163 163
164 164 <!ELEMENT fmri_list ( value_node+ )>
165 165
166 166 <!ATTLIST fmri_list>
167 167
168 168 <!ELEMENT uri_list ( value_node+ )>
169 169
170 170 <!ATTLIST uri_list>
171 171
172 172 <!-- Properties and property groups -->
173 173
174 174 <!--
175 175 property
176 176
177 177 This element is for a singly or multiply valued property within a
178 178 property group. It contains an appropriate value list element,
179 179 which is expected to be consistent with the type attribute.
180 180
181 181 Its attributes are
182 182
183 183 name The name of this property.
184 184
185 185 type The data type for this property.
186 186
187 187 override These values should replace values already in the
188 188 repository. -->
189 189
190 190 <![%profile;[ <!ELEMENT property ( count_list | integer_list | opaque_list |
191 191 host_list | hostname_list | net_address_list | net_address_v4_list |
192 192 net_address_v6_list | time_list | astring_list | ustring_list |
193 193 boolean_list | fmri_list | uri_list )? >
194 194
195 195 <!ATTLIST property name CDATA #REQUIRED type ( count | integer
196 196 | opaque | host | hostname | net_address | net_address_v4 |
197 197 net_address_v6 | time | astring | ustring | boolean | fmri | uri )
198 198 #IMPLIED override ( true | false ) "false" > ]]> <![%manifest;[
199 199 <!ELEMENT property ( count_list | integer_list | opaque_list | host_list |
200 200 hostname_list | net_address_list | net_address_v4_list |
201 201 net_address_v6_list | time_list | astring_list | ustring_list |
202 202 boolean_list | fmri_list | uri_list )? >
203 203
204 204 <!ATTLIST property name CDATA #REQUIRED type ( count | integer
205 205 | opaque | host | hostname | net_address | net_address_v4 |
206 206 net_address_v6 | time | astring | ustring | boolean | fmri | uri )
207 207 #REQUIRED override ( true | false ) "false" > ]]>
208 208
209 209 <!--
210 210 propval
211 211
212 212 This element is for a singly valued property within a property
213 213 group. List-valued properties must use the property element above.
214 214
215 215 Its attributes are
216 216
217 217 name The name of this property.
218 218
219 219 type The data type for this property.
220 220
221 221 value The value for this property. Must match type
222 222 restriction of type attribute.
223 223
224 224 override This value should replace any values already in the
225 225 repository. -->
226 226
227 227 <![%profile;[ <!ELEMENT propval EMPTY>
228 228
229 229 <!ATTLIST propval name CDATA #REQUIRED type ( count | integer
230 230 | opaque | host | hostname | net_address | net_address_v4 |
231 231 net_address_v6 | time | astring | ustring | boolean | fmri | uri )
232 232 #IMPLIED value CDATA #REQUIRED override ( true | false )
233 233 "false" > ]]>
234 234
235 235 <![%manifest;[ <!ELEMENT propval EMPTY>
236 236
237 237 <!ATTLIST propval name CDATA #REQUIRED type ( count | integer
238 238 | opaque | host | hostname | net_address | net_address_v4 |
239 239 net_address_v6 | time | astring | ustring | boolean | fmri | uri )
240 240 #REQUIRED value CDATA #REQUIRED override ( true | false )
241 241 "false" > ]]>
242 242
243 243 <!--
244 244 property_group
245 245
246 246 This element is for a set of related properties on a service or
247 247 instance. It contains an optional stability element, as well as
248 248 zero or more property-containing elements.
249 249
250 250 Its attributes are
251 251
252 252 name The name of this property group.
253 253
254 254 type A category for this property group. Groups of type
255 255 "framework", "implementation" or "template" are primarily of interest
256 256 to the service management facility, while groups of type "application"
257 257 are expected to be only of interest to the service to which this group
258 258 is attached. Other types may be introduced using the service symbol
259 259 namespace conventions.
260 260
261 261 delete If in the repository, this property group should be removed.
262 262 -->
263 263
264 264 <![%profile;[ <!ELEMENT property_group ( stability?, ( propval | property )*
265 265 )>
266 266
267 267 <!ATTLIST property_group name CDATA #REQUIRED type CDATA
268 268 #IMPLIED delete ( true | false ) "false" > ]]>
269 269
270 270 <![%manifest;[ <!ELEMENT property_group ( stability?, ( propval |
271 271 property )* )>
272 272
273 273 <!ATTLIST property_group name CDATA #REQUIRED type CDATA
274 274 #REQUIRED delete ( true | false ) "false" > ]]>
275 275
276 276 <!--
277 277 service_fmri
278 278
279 279 This element defines a reference to a service FMRI (for either a
280 280 service or an instance).
281 281
282 282 Its attribute is
283 283
284 284 value The FMRI. -->
285 285
286 286 <!ELEMENT service_fmri EMPTY>
287 287
288 288 <!ATTLIST service_fmri value CDATA #REQUIRED>
289 289
290 290 <!-- Dependencies -->
291 291
292 292 <!--
293 293 dependency
294 294
295 295 This element identifies a group of FMRIs upon which the service is
296 296 in some sense dependent. Its interpretation is left to the
297 297 restarter to which a particular service instance is delegated. It
298 298 contains a group of service FMRIs, as well as a block of properties.
299 299
300 300 Its attributes are
301 301
302 302 name The name of this dependency.
303 303
304 304 grouping The relationship between the various FMRIs grouped
305 305 here; "require_all" of the FMRIs to be online, "require_any" of the
306 306 FMRIs to be online, or "exclude_all" of the FMRIs from being online
307 307 or in maintenance for the dependency to be satisfied.
308 308 "optional_all" dependencies are satisfied when all of the FMRIs are
309 309 either online or unable to come online (because they are disabled,
310 310 misconfigured, or one of their dependencies is unable to come online).
311 311
312 312 restart_on The type of events from the FMRIs that the service should
313 313 be restarted for. "error" restarts the service if the dependency is
314 314 restarted due to hardware fault. "restart" restarts the service if the
315 315 dependency is restarted for any reason, including hardware fault.
316 316 "refresh" restarts the service if the dependency is refreshed or
317 317 restarted for any reason. "none" will never restart the service due to
318 318 dependency state changes.
319 319
320 320 type The type of dependency: on another service ('service'), on a
321 321 filesystem path ('path'), or another dependency type.
322 322
323 323 delete This dependency should be deleted. -->
324 324
325 325 <!ELEMENT dependency ( service_fmri*, stability?, ( propval | property )*
326 326 ) >
327 327
328 328 <!ATTLIST dependency name CDATA #REQUIRED grouping ( require_all
329 329 | require_any | exclude_all | optional_all ) #REQUIRED
330 330 restart_on ( error | restart | refresh | none ) #REQUIRED type
331 331 CDATA #REQUIRED delete ( true | false ) "false" >
332 332
333 333 <!-- Dependents -->
334 334
335 335 <!--
336 336 dependent
337 337
338 338 This element identifies a service which should depend on this service. It
339 339 corresponds to a dependency in the named service. The grouping and type
340 340 attributes of that dependency are implied to be "require_all" and
341 341 "service", respectively.
342 342
343 343 Its attributes are
344 344
345 345 name The name of the dependency property group to create in the
346 346 dependent entity.
347 347
348 348 grouping The grouping relationship of the dependency property
349 349 group to create in the dependent entity. See "grouping" attribute on
350 350 the dependency element.
351 351
352 352 restart_on The type of events from this service that the named service
353 353 should be restarted for.
354 354
355 355 delete True if this dependent should be deleted.
356 356
357 357 override Whether to replace an existing dependent of the same name.
358 358
359 359 -->
360 360
361 361 <!ELEMENT dependent ( service_fmri, stability?, ( propval | property )* )
362 362 >
363 363
364 364 <!ATTLIST dependent name CDATA #REQUIRED grouping ( require_all
365 365 | require_any | exclude_all | optional_all) #REQUIRED
366 366 restart_on ( error | restart | refresh | none) #REQUIRED delete
367 367 ( true | false ) "false" override ( true | false ) "false" >
368 368
369 369 <!-- Method execution context, security profile, and credential definitions
370 370 -->
371 371
372 372 <!--
373 373 envvar
374 374
375 375 An environment variable. It has two attributes:
376 376
377 377 name The name of the environment variable. value The value of the
378 378 environment variable. -->
379 379
380 380 <!ELEMENT envvar EMPTY>
381 381
382 382 <!ATTLIST envvar name CDATA #REQUIRED value CDATA
383 383 #REQUIRED >
384 384
385 385 <!--
386 386 method_environment
387 387
388 388 This element defines the environment for a method. It has no
389 389 attributes, and one or more envvar child elements. -->
390 390
391 391 <!ELEMENT method_environment (envvar+) >
392 392
393 393 <!ATTLIST method_environment>
394 394
395 395 <!--
396 396 method_profile
397 397
398 398 This element indicates which exec_attr(5) profile applies to the
399 399 method context being defined.
400 400
401 401 Its attribute is
402 402
403 403 name The name of the profile. -->
404 404
405 405 <!ELEMENT method_profile EMPTY>
406 406
407 407 <!ATTLIST method_profile name CDATA #REQUIRED >
408 408
409 409 <!--
410 410 method_credential
411 411
412 412 This element specifies credential attributes for the execution
413 413 method to use.
414 414
415 415 Its attributes are
416 416
417 417 user The user ID, in numeric or text form.
418 418
419 419 group The group ID, in numeric or text form. If absent or
420 420 ":default", the group associated with the user in the passwd database.
421 421
422 422 supp_groups Supplementary group IDs to be associated with the
423 423 method, separated by commas or spaces. If absent or ":default",
424 424 initgroups(3C) will be used.
425 425
426 426 privileges An optional string specifying the privilege set.
427 427
428 428 limit_privileges An optional string specifying the limit
429 429 privilege set. -->
430 430
431 431 <!ELEMENT method_credential EMPTY>
432 432
433 433 <!ATTLIST method_credential user CDATA #REQUIRED group
434 434 CDATA #IMPLIED supp_groups CDATA #IMPLIED privileges CDATA
435 435 #IMPLIED limit_privileges CDATA #IMPLIED >
436 436
437 437 <!--
438 438 method_context
439 439
440 440 This element combines credential and resource management attributes
441 441 for execution methods. It may contain a method_environment, or
442 442 a method_profile or method_credential element.
443 443
444 444 Its attributes are
445 445
446 446 working_directory The home directory to launch the method from.
447 447 ":default" can be used as a token to indicate use of the user
448 448 specified by the credential or profile specified.
449 449
450 450 project The project ID, in numeric or text form. ":default" can
451 451 be used as a token to indicate use of the project identified by
↓ open down ↓ |
451 lines elided |
↑ open up ↑ |
452 452 getdefaultproj(3PROJECT) for the non-root user specified by the
453 453 credential or profile specified. If the user is root, ":default"
454 454 designates the project the restarter is running in.
455 455
456 456 resource_pool The resource pool name to launch the method on.
457 457 ":default" can be used as a token to indicate use of the pool
458 458 specified in the project(4) entry given in the "project" attribute
459 459 above. --> <!ELEMENT method_context ( (method_profile |
460 460 method_credential)?, method_environment? ) >
461 461
462 -<!ATTLIST method_context working_directory CDATA #IMPLIED project
463 - CDATA #IMPLIED resource_pool CDATA #IMPLIED >
462 +<!ATTLIST method_context security_flags CDATA #IMPLIED
463 + working_directory CDATA #IMPLIED project CDATA #IMPLIED
464 + resource_pool CDATA #IMPLIED >
464 465
465 466 <!-- Restarter delegation, methods, and monitors -->
466 467
467 468 <!--
468 469 exec_method
469 470
470 471 This element describes one of the methods used by the designated
471 472 restarter to act on the service instance. Its interpretation is
472 473 left to the restarter to which a particular service instance is
473 474 delegated. It contains a set of attributes, an optional method
474 475 context, and an optional stability element for the optional
475 476 properties that can be included.
476 477
477 478 Its attributes are
478 479
479 480 type The type of method, either "method" or "monitor".
480 481
481 482 name Name of this execution method. The method names are usually
482 483 a defined interface of the restarter to which an instance of this
483 484 service is delegated.
484 485
485 486 exec The string identifying the action to take. For
486 487 svc.startd(1M), this is a string suitable to pass to exec(2).
487 488
488 489 timeout_seconds [integer] Duration, in seconds, to wait for this
489 490 method to complete. A '0' or '-1' denotes an infinite timeout.
490 491
491 492 delete If in the repository, the property group for this method
492 493 should be removed. -->
493 494
494 495 <!ELEMENT exec_method ( method_context?, stability?, ( propval | property
495 496 )* ) >
496 497
497 498 <!ATTLIST exec_method type ( method | monitor ) #REQUIRED name
498 499 CDATA #REQUIRED exec CDATA #REQUIRED timeout_seconds CDATA
499 500 #REQUIRED delete ( true | false ) "false" >
500 501
501 502 <!--
502 503 restarter
503 504
504 505 A flag element identifying the restarter to which this service or
505 506 service instance is delegated. Contains the FMRI naming the
506 507 delegated restarter.
507 508
508 509 This element has no attributes. -->
509 510
510 511 <!ELEMENT restarter ( service_fmri ) >
511 512
512 513 <!ATTLIST restarter>
513 514
514 515 <!--
515 516 Templates -->
516 517
517 518 <!--
518 519 doc_link
519 520
520 521 The doc_link relates a resource described by the given URI to the
521 522 service described by the containing template. The resource is
522 523 expected to be a documentation or elucidatory reference of some
523 524 kind.
524 525
525 526 Its attributes are
526 527
527 528 name A label for this resource.
528 529
529 530 uri A URI to the resource. -->
530 531
531 532 <!ELEMENT doc_link EMPTY>
532 533
533 534 <!ATTLIST doc_link name CDATA #REQUIRED uri CDATA #REQUIRED >
534 535
535 536 <!--
536 537 manpage
537 538
538 539 The manpage element connects the reference manual page to the
539 540 template's service.
540 541
541 542 Its attributes are
542 543
543 544 title The manual page title.
544 545
545 546 section The manual page's section.
546 547
547 548 manpath The MANPATH environment variable, as described in man(1)
548 549 that is required to reach the named manual page -->
549 550
550 551 <!ELEMENT manpage EMPTY>
551 552
552 553 <!ATTLIST manpage title CDATA #REQUIRED section CDATA
553 554 #REQUIRED manpath CDATA ":default" >
554 555
555 556 <!--
556 557 documentation
557 558
558 559 The documentation element groups an arbitrary number of doc_link
559 560 and manpage references.
560 561
561 562 It has no attributes. -->
562 563
563 564 <!ELEMENT documentation ( doc_link | manpage )* >
564 565
565 566 <!ATTLIST documentation>
566 567
567 568 <!--
568 569 loctext
569 570
570 571 The loctext element is a container for localized text.
571 572
572 573 Its sole attribute is
573 574
574 575 xml:lang The name of the locale, in the form accepted by LC_ALL,
575 576 etc. See locale(5). --> <!ELEMENT loctext
576 577 (#PCDATA) >
577 578
578 579 <!ATTLIST loctext
579 580 xml:lang CDATA #REQUIRED >
580 581
581 582 <!--
582 583 description
583 584
584 585 The description holds a set of potentially longer, localized strings that
585 586 consist of a short description of the service.
586 587
587 588 The description has no attributes. --> <!ELEMENT description
588 589 ( loctext+ ) >
589 590
590 591 <!ATTLIST description>
591 592
592 593 <!--
593 594 common_name
594 595
595 596 The common_name holds a set of short, localized strings that
596 597 represent a well-known name for the service in the given locale.
597 598
598 599 The common_name has no attributes. --> <!ELEMENT common_name
599 600 ( loctext+ ) >
600 601
601 602 <!ATTLIST common_name>
602 603
603 604 <!--
604 605 units
605 606
606 607 The units a numerical property is expressed in. -->
607 608
608 609 <!ELEMENT units ( loctext+ ) >
609 610
610 611 <!ATTLIST units>
611 612
612 613 <!--
613 614 visibility
614 615
615 616 Expresses how a property is typically accessed. This isn't
616 617 intended as access control, but as an indicator as to how a
617 618 property is used.
618 619
619 620 Its attributes are:
620 621
621 622 value 'hidden', 'readonly', or 'readwrite' indicating that the
622 623 property should be hidden from the user, shown but read-only, or
623 624 modifiable. -->
624 625
625 626 <!ELEMENT visibility EMPTY>
626 627
627 628 <!ATTLIST visibility value ( hidden | readonly | readwrite ) #REQUIRED
628 629 >
629 630
630 631 <!--
631 632 value
632 633
633 634 Describes a legal value for a property value, and optionally contains a
634 635 human-readable name and description for the specified property
635 636 value.
636 637
637 638 Its attributes are:
638 639
639 640 name A string representation of the value. -->
640 641
641 642 <!ELEMENT value ( common_name?, description? ) >
642 643
643 644 <!ATTLIST value name CDATA #REQUIRED >
644 645
645 646 <!--
646 647 values
647 648
648 649 Human-readable names and descriptions for valid values of a property. -->
649 650
650 651 <!ELEMENT values (value+) >
651 652
652 653 <!ATTLIST values>
653 654
654 655 <!--
655 656 cardinality
656 657
657 658 Places a constraint on the number of values the property can take
658 659 on.
659 660
660 661 Its attributes are: min minimum number of values max maximum
661 662 number of values
662 663
663 664 Both attributes are optional. If min is not specified, it defaults to
664 665 0. If max is not specified it indicates an unlimited number of values.
665 666 If neither is specified this indicates 0 or more values. -->
666 667
667 668 <!ELEMENT cardinality EMPTY>
668 669
669 670 <!ATTLIST cardinality min CDATA "0" max CDATA
670 671 "18446744073709551615">
671 672
672 673 <!--
673 674 internal_separators
674 675
675 676 Indicates the separators used within a property's value used to
676 677 separate the actual values. Used in situations where multiple
677 678 values are packed into a single property value instead of using a
678 679 multi-valued property. -->
679 680
680 681 <!ELEMENT internal_separators (#PCDATA) >
681 682
682 683 <!ATTLIST internal_separators>
683 684
684 685 <!--
685 686 range
686 687
687 688 Indicates a range of possible integer values.
688 689
689 690 Its attributes are:
690 691
691 692 min The minimum value of the range (inclusive).
692 693 max The maximum value of the range (inclusive). -->
693 694
694 695 <!ELEMENT range EMPTY>
695 696
696 697 <!ATTLIST range min CDATA #REQUIRED max CDATA #REQUIRED >
697 698
698 699 <!--
699 700 constraints
700 701
701 702 Provides a set of constraints on the values a property can take on. -->
702 703
703 704 <!ELEMENT constraints ( value*, range* ) > <!ATTLIST constraints>
704 705
705 706 <!--
706 707 include_values
707 708
708 709 Includes an entire set of values in the choices block.
709 710
710 711 Its attributes are:
711 712
712 713 type Either "constraints" or "values", indicating an
713 714 inclusion of all values allowed by the property's constraints or all
714 715 values for which there are human-readable names and descriptions,
715 716 respectively. -->
716 717
717 718 <!ELEMENT include_values EMPTY>
718 719
719 720 <!ATTLIST include_values type ( constraints | values ) #REQUIRED >
720 721
721 722 <!--
722 723 choices
723 724
724 725 Provides a set of common choices for the values a property can take
725 726 on. Useful in those cases where the possibilities are unenumerable
726 727 or merely inconveniently legion, and a manageable subset is desired
727 728 for presentation in a user interface. -->
728 729
729 730 <!ELEMENT choices ( value*, range*, include_values* ) >
730 731
731 732 <!ATTLIST choices>
732 733
733 734 <!--
734 735 prop_pattern
735 736
736 737
737 738 The prop_pattern describes one property of the enclosing property group
738 739 pattern.
739 740
740 741 Its attributes are:
741 742
742 743 name The property's name. type The property's type.
743 744 required If the property group is present, this property is required.
744 745
745 746 type can be omitted if required is false. -->
746 747
747 748 <!ELEMENT prop_pattern ( common_name?, description?, units?, visibility?,
748 749 cardinality?, internal_separators?, values?, constraints?, choices? ) >
749 750
750 751 <!ATTLIST prop_pattern name CDATA #REQUIRED type ( count
751 752 | integer | opaque | host | hostname | net_address | net_address_v4
752 753 | net_address_v6 | time | astring | ustring | boolean | fmri |
753 754 uri ) #IMPLIED required ( true | false ) "false" >
754 755
755 756 <!--
756 757 pg_pattern
757 758
758 759 The pg_pattern describes one property group.
759 760 Depending on the element's attributes, these descriptions may apply
760 761 to just the enclosing service/instance, instances of the enclosing
761 762 service, delegates of the service (assuming it is a restarter), or
762 763 all services.
763 764
764 765 Its attributes are:
765 766
766 767 name The property group's name. If not specified, it matches
767 768 all property groups with the specified type. type The property group's
768 769 type. If not specified, it matches all property groups with the
769 770 specified name. required If the property group is required.
770 771 target The scope of the pattern, which may be all, delegate,
771 772 instance, or this. 'all' is reserved for framework use and applies
772 773 the template to all services on the system. 'delegate' is reserved
773 774 for restarters, and means the template applies to all services which
774 775 use the restarter. 'this' would refer to the defining service or
775 776 instance. 'instance' can only be used in a service's template block,
776 777 and means the definition applies to all instances of this service.
777 778
778 779 -->
779 780
780 781 <!ELEMENT pg_pattern ( common_name?, description?, prop_pattern* ) >
781 782
782 783 <!ATTLIST pg_pattern name CDATA "" type CDATA ""
783 784 required ( true | false ) "false" target ( this | instance |
784 785 delegate | all ) "this" >
785 786
786 787 <!--
787 788 template
788 789
789 790 The template contains a collection of metadata about the service.
790 791 It contains a localizable string that serves as a common,
791 792 human-readable name for the service. (This name should be less than
792 793 60 characters in a single byte locale.) The template may optionally
793 794 contain a longer localizable description of the service, a
794 795 collection of links to documentation, either in the form of manual
795 796 pages or in the form of URI specifications to external documentation
796 797 sources (such as docs.sun.com).
797 798
798 799 The template has no attributes. --> <!ELEMENT template
799 800 ( common_name, description?, documentation?, pg_pattern* ) >
800 801
801 802 <!ATTLIST template>
802 803
803 804 <!-- Notification Parameters -->
804 805
805 806 <!ELEMENT paramval EMPTY>
806 807
807 808 <!ATTLIST paramval name CDATA #REQUIRED value CDATA
808 809 #REQUIRED>
809 810
810 811 <!ELEMENT parameter ( value_node* )>
811 812
812 813 <!ATTLIST parameter name CDATA #REQUIRED>
813 814
814 815 <!ELEMENT event EMPTY>
815 816
816 817 <!ATTLIST event value CDATA #REQUIRED>
817 818
818 819 <!ELEMENT type ( ( parameter | paramval )* )>
819 820
820 821 <!ATTLIST type name CDATA #REQUIRED active ( true |
821 822 false ) "true" >
822 823
823 824 <!--
824 825 notification parameters
825 826
826 827 This element sets the notification parameters for Software Events and
827 828 Fault Management problem lifecycle events. -->
828 829
829 830 <!ELEMENT notification_parameters ( event, type+ )>
830 831
831 832 <!ATTLIST notification_parameters>
832 833
833 834 <!-- Services and instances -->
834 835
835 836 <!--
836 837 create_default_instance
837 838
838 839 A flag element indicating that an otherwise empty default instance
839 840 of this service (named "default") should be created at install, with
840 841 its enabled property set as given.
841 842
842 843 Its attribute is
843 844
844 845 enabled [boolean] The initial value for the enabled state of
845 846 this instance. -->
846 847
847 848 <!ELEMENT create_default_instance EMPTY >
848 849
849 850 <!ATTLIST create_default_instance enabled ( true | false ) #REQUIRED >
850 851
851 852 <!--
852 853 single_instance
853 854
854 855 A flag element stating that this service can only have a single
855 856 instance on a particular system. -->
856 857
857 858 <!ELEMENT single_instance EMPTY>
858 859
859 860 <!ATTLIST single_instance>
860 861
861 862 <!--
862 863 instance
863 864
864 865 The service instance is the object representing a software component
865 866 that will run on the system if enabled. It contains an enabled
866 867 element, a set of dependencies on other services, potentially
867 868 customized methods or configuration data, an optional method
868 869 context, and a pointer to its restarter. (If no restarter is
869 870 specified, the master restarter, svc.startd(1M), is assumed to be
870 871 responsible for the service.)
871 872
872 873 Its attributes are
873 874
874 875 name The canonical name for this instance of the service.
875 876
876 877 enabled [boolean] The initial value for the enabled state of
877 878 this instance. -->
878 879
879 880 <!ELEMENT instance ( restarter?, dependency*, dependent*, method_context?,
880 881 exec_method*, notification_parameters*, property_group*, template? ) >
881 882
882 883 <!ATTLIST instance name CDATA #REQUIRED enabled ( true |
883 884 false ) #REQUIRED >
884 885
885 886 <!--
886 887 service
887 888
888 889 The service contains the set of instances defined by default for
889 890 this service, an optional method execution context, any default
890 891 methods, the template, and various restrictions or advice applicable
891 892 at installation. The method execution context and template elements
892 893 are required for service_bundle documents with type "manifest", but
893 894 are optional for "profile" or "archive" documents.
894 895
895 896 Its attributes are
896 897
897 898 name The canonical name for the service.
898 899
899 900 version [integer] The integer version for this service.
900 901
901 902 type Whether this service is a simple service, a delegated
902 903 restarter, or a milestone (a synthetic service that collects a group
903 904 of dependencies). -->
904 905
905 906 <!ELEMENT service ( create_default_instance?, single_instance?, restarter?,
906 907 dependency*, dependent*, method_context?, exec_method*,
907 908 notification_parameters*, property_group*, instance*, stability?, template? )
908 909 >
909 910
910 911 <!ATTLIST service name CDATA #REQUIRED version CDATA
911 912 #REQUIRED type ( service | restarter | milestone ) #REQUIRED >
912 913
913 914 <!--
914 915 service_bundle
915 916
916 917 The bundle possesses two attributes:
917 918
918 919 type How this file is to be understood by the framework (or
919 920 used in a non-framework compliant way). Standard types are
920 921 'archive', 'manifest', and 'profile'. name A name for the bundle.
921 922 Manifests should be named after the package which delivered them;
922 923 profiles should be named after the "feature set nickname" they intend to
923 924 enable. -->
924 925
925 926 <!ELEMENT service_bundle ( service_bundle* | service* | xi:include* )>
926 927
927 928 <!ATTLIST service_bundle type CDATA #REQUIRED name CDATA
928 929 #REQUIRED>
929 930
930 931
931 932
932 933 June 2, 2016 ()
↓ open down ↓ |
459 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX