The Property List

Each startup item bundle contains a property list file at the root level named StartupParameters.plist. The property list is an XML or NeXT-style text file that describes the contents of the bundle. It enumerates the services the bundle provides, the services the bundle requires, and other information useful for determining the proper order of execution of the bundles.

The property list contains the following attributes:

    {
      Description        = "My Startup Item";
      Provides           = ("MyService");
      Requires           = ("AnotherService", "Network");
      Uses               = ("YetAnotherService");
      OrderPreferece     = "none";
    }

Description attribute

The Description attribute is a general-purpose human-readable description of the item, most likely to be used by an administration tool.

Provides attribute

The Provides attribute is an array of strings, each of which is an identifier of a service that this bundle provides. It is undesirable for bundles to provide multiple services unless the services are indeed intrinsically linked (eg. a single mail server daemon which does both pop3 and imap). See the How SystemStarter Handles Duplicate Services section for details on the how service name conficts are resolved.

Requires and Uses attributes

The Requires and Uses attributes are the primary method for deteriming the order of execution for startup items.

The Requires attribute is an array of services provided by other bundles that must be successfully started before the bundle can be run. If any the services are not present, or fail during startup, the bundle will not be run.

The Uses attribute is similar to the Requires attribute in that SystemStarter will delay execution of the bundle until an attempt at providing the service has been made. However the bundle will still be executed even if the service doesn't exist or failed during startup.

OrderPreference attribute

The OrderPreference attribute is an enumeration indicating the general time period during startup the bundle prefers to execute. This attribute is less significant in determining the execution order of bundles than the Requires and Uses attributes.

Possible values for this attribute are First, Early, None (default), Late, Last.

Messages attribute

Although present in the initial release of SystemStarter (through Darwin 5.4), the Messages attribute has been deprecated. Now, messages should be displayed using the ConsoleMessage utility. See the Displaying Messages with ConsoleMessage section for information about displaying messages on the console.