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