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