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