smf - API for Service Management Facility
interface Entity string fmri ; string scope ; string service ; Dependency[] dependencies ; Manpage[] manpages ; Doclink[] doclinks ; PropertyGroup[] pgs ; Decoration[] decorations ; delete(); deleteCust(); createPG(string pg_name, string pg_type, uinteger pg_flags); deletePG(string pg_name); Decoration[] readPGDecorations(string pg_name); deletePGCust(string pg_name); Property[] readProperties(string[] pg_names); writeProperties(PropChange[] props); Property readProperty(string prop_name); writeProperty(string prop_name, PropertyType prop_type, string[] values); deleteProperty(string prop_name); Decoration[] readPropertyDecorations(string prop_name); deletePropertyCust(string prop_name); string getCommonName(string locale); string getDescription(string locale); PGTemplate[] getPGTemplates(string locale); PropTemplate[] getPropTemplates(string pg_name, string pg_type, string locale); interface Service inherits interface Entity string[] instances ; interface Instance inherits interface Entity string instance ; string restarter ; boolean enabled ; SMFState state ; ExtendedState ex_state ; string[] snapshots ; PropertyGroup[] readSnapshotPGs(string snap_name); Property[] readSnapshotProperties(string[] pg_names, string snap_name); Property readSnapshotProperty(string prop_name, string snap_name); clear(); restart(); refresh(); maintain(boolean immediate, boolean temporary); enable(boolean temporary); disable(boolean temporary); LogInfo getLogInfo(integer max_size); interface Master StructService[] services ; StructInstance[] instances ;
SMF(3rad) RAD Module Definitions SMF(3rad) NAME smf - API for Service Management Facility SYNOPSIS interface Entity string fmri ; string scope ; string service ; Dependency[] dependencies ; Manpage[] manpages ; Doclink[] doclinks ; PropertyGroup[] pgs ; Decoration[] decorations ; delete(); deleteCust(); createPG(string pg_name, string pg_type, uinteger pg_flags); deletePG(string pg_name); Decoration[] readPGDecorations(string pg_name); deletePGCust(string pg_name); Property[] readProperties(string[] pg_names); writeProperties(PropChange[] props); Property readProperty(string prop_name); writeProperty(string prop_name, PropertyType prop_type, string[] values); deleteProperty(string prop_name); Decoration[] readPropertyDecorations(string prop_name); deletePropertyCust(string prop_name); string getCommonName(string locale); string getDescription(string locale); PGTemplate[] getPGTemplates(string locale); PropTemplate[] getPropTemplates(string pg_name, string pg_type, string locale); interface Service inherits interface Entity string[] instances ; interface Instance inherits interface Entity string instance ; string restarter ; boolean enabled ; SMFState state ; ExtendedState ex_state ; string[] snapshots ; PropertyGroup[] readSnapshotPGs(string snap_name); Property[] readSnapshotProperties(string[] pg_names, string snap_name); Property readSnapshotProperty(string prop_name, string snap_name); clear(); restart(); refresh(); maintain(boolean immediate, boolean temporary); enable(boolean temporary); disable(boolean temporary); LogInfo getLogInfo(integer max_size); interface Master StructService[] services ; StructInstance[] instances ; DESCRIPTION API com.oracle.solaris.rad.smf This API exposes common SMF configuration, actions, and state to rad(1m) clients. Three core interfaces are provided: 1. Master - a top-level object providing access to all services and instances on the system 2. Service - an object that represents an SMF service 3. Instance - an object that represents an SMF instance The latter two interfaces, Service and Instance, are derived from a common Entity interface. INTERFACES interface Entity functionality common to services and instances Entity Properties string fmri (read-only) -- the service/instance's FMRI string scope (read-only) -- the service/instance's scope string service (read-only) -- the service name of the service/instance Dependency[] dependencies (read-only) -- the service/instance's dependencies A list of dependency objects describing the full nature of each dependency. An empty list is returned if there are no dependencies. Read Error: SmfError An internal SMF error occurred. Manpage[] manpages (read-only) -- the service/instance's manual pages A list of manual page objects describing the name, section, and path of each relevant manual page. An empty list is returned if no manual pages are defined. Read Error: SmfError An internal SMF error occurred. Doclink[] doclinks (read-only) -- documentation links A list of links to on-line documentation for the service/instance. An empty list is returned if no on-line documents are defined. Read Error: SmfError An internal SMF error occurred. PropertyGroup[] pgs (read-only) -- directly-attached property groups A list of all directly-attached property groups, including name, type and flags for each. Read Error: SmfError An internal SMF error occurred. Decoration[] decorations (read-only) -- list of decorations A list of decorations associated with the service/instance. Read Error: SmfError An internal SMF error occurred. Entity Methods delete() delete the service/instance Delete the service or instance. Error: SmfError Failed to delete the service or instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o EXISTS - delete was called on a service and the service still had instances deleteCust() delete administrative customizations Delete all administrative customizations applied to a service/instance and its children, if any exist. Error: SmfError Failed to delete the administrative customizations applied to a service or instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only createPG(string pg_name, string pg_type, uinteger pg_flags) create a property group Create a property group on the service/instance. Arguments: pg_name -- the name of the new property group pg_type -- the type of the new property group pg_flags -- the property group flags Error: SmfError Failed to create the property group. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o EXISTS - the propery group already exists o BADVALUE - an invalid property group name or type was specified deletePG(string pg_name) delete a property group Delete a directly-attached property group and all its properties from the service/instance. Arguments: pg_name -- the name of the property group Error: SmfError Failed to delete the property group. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group doesn't exist Decoration[] readPGDecorations(string pg_name) obtain a list of decorations Obtain all the decorations associated with this property group. Arguments: pg_name -- the name of the property group Result: Decoration[] -- list of available decorations Error: SmfError Failed to read the property group decorations. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the property group doesn't exist (see target) deletePGCust(string pg_name) delete administrative customizations Delete all administrative customizations applied to a property group and its children, if any exist. Arguments: pg_name -- the name of the property group Error: SmfError Failed to delete the administrative customizations applied to a property group. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group doesn't exist Property[] readProperties(string[] pg_names) reads all properties in a set of directly-attached property groups. Read all properties in the specified directly-attached property group. The name, type, and values of each property are included. Arguments: pg_names (nullable) -- The names of the property groups. If this value is Null, all property groups will be read. Result: Property[] -- a list of properties in the specified directly-attached property group Error: SmfError Failed to read properties from the property group. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the property group doesn't exist writeProperties(PropChange[] props) commit a list of property changes to a property group Commit a set of property changes to the specified property group. Each property change specifies a property, type, and optional set of values. If the property specified by a property change doesn't exist prior to the call, it will be created by the call. If the property specified by a property change exists prior to the call but has a different type, its type will be set to the type specified by the call. If the call succeeds, all the requested property changes were made. If the call fails, none of the requested changes were made. Arguments: props -- the set of changes to apply Error: SmfError Failed to make all the requested property changes. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group doesn't exist (see target) o BADVALUE - a property had an invalid name, or a value couldn't be converted to the requested type (see target, aux) o INVALID - the same property was referenced by two PropertyChanges. When an invidual property is the cause of the error, its name will be returned in aux. Property readProperty(string prop_name) read a single directly-attached property's values Read a single property from the specified directly-attached property group. The result includes the name, type, and values of the property. Arguments: prop_name -- the name of the property Result: Property -- the specified property Error: SmfError Failed to read the specified property. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the property or property group doesn't exist (see target) writeProperty(string prop_name, PropertyType prop_type, string[] values) writes a list of values to a property Change the specified property. If the property doesn't exist prior to the call, it will be created by the call. If the property exists prior to the call but has a different type, its type will be set to the type specified by the call. Arguments: prop_name -- the name of the property prop_type -- the type of the property values -- the new values for the property Error: SmfError Failed to make the requested property change. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group doesn't exist (see target) o BADVALUE - the property had an invalid name, or a value couldn't be converted to the requested type (see target) deleteProperty(string prop_name) delete a property Delete a property from the service/instance. Arguments: prop_name -- the name of the property Error: SmfError Failed to delete the property. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group doesn't exist, or the property to be deleted doesn't exist (see target) o BADVALUE - the property had an invalid name or type (see target) o INVALID - the property cannot be deleted while in use (see target) Decoration[] readPropertyDecorations(string prop_name) obtain a list of decorations Obtain all the decorations associated with this property. Arguments: prop_name -- the name of the property Result: Decoration[] -- list of available decorations Error: SmfError Failed to read the property decorations. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the property or property group doesn't exist (see target) deletePropertyCust(string prop_name) delete administrative customizations Delete all administrative customizations applied to this property. Arguments: prop_name -- the name of the property Error: SmfError Failed to delete the administrative customizations applied to this property. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o NOTFOUND - the property group, or property doesn't exist (see target) string getCommonName(string locale) obtain the service/instance's localized common name Obtain the localized common name for the service/instance, if one exists. If a common name doesn't exist for the specified locale, attempts to return the common name for the "C" locale instead. Arguments: locale -- the desired locale Result: string (nullable) -- the common name if available, or null Error: SmfError An internal error occurred. string getDescription(string locale) obtain the service/instance's localized description Obtain the localized description for the service/instance, if one exists. If a description doesn't exist for the specified locale, attempts to return the description for the "C" locale instead. Arguments: locale -- the desired locale Result: string (nullable) -- the description if available, or null Error: SmfError An internal error occurred. PGTemplate[] getPGTemplates(string locale) obtain all property group templates Obtain all property group templates for this service/instance. If templates aren't provided for the specified locale, attempts to return the templates for the "C" locale instead. Arguments: locale -- the desired locale Result: PGTemplate[] -- all available property group templates Error: SmfError An internal error occurred. PropTemplate[] getPropTemplates(string pg_name, string pg_type, string locale) obtain all property templates for a property group Obtain all property templates for the specified property group of this service/instance. If property templates aren't provided for the specified locale, attempts to return the templates for the "C" locale instead. If no templates exist for properties of the specified property group, an empty list is returned. Arguments: pg_name -- the name of the property group pg_type -- the type of the property group locale -- the desired locale Result: PropTemplate[] -- all available property templates Error: SmfError An internal error occurred. interface Service an SMF service object Inheritance Hierarchy. .-> interface Entity | interface Service The Service interface is an Entity that represents an SMF service. Handles to this type of object can be retrieved from the RAD server using an object name built with: 1. the "com.oracle.solaris.rad.smf" domain name 2. a key named "type" paired with a value of "Service" 3. a key named "service" paired with the service portion of an SMF FMRI Object names for services can be pulled from the Services exposed by the Master.services property. Or, they can be built directly: Example 1. Service interface (Python) import rad.client as radcli import rad.connect as radcon import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind # Create a connection con = radcon.connect_unix() # Retrieve a particular service service = con.get_object(sbind.Service(), radcli.ADRGlobPattern({"service" : "network/physical"})) # Do something with our service print "service %s has %d instances" % (service.fmri, len(service.instances)) Service Properties string[] instances (read-only) -- the list of instances of this service The list of instances of this service. An empty list if the service has no instances. Read Error: SmfError An internal SMF error occurred. Inherited Properties (Entity): fmri, scope, service, dependencies, manpages, doclinks, pgs, decorations Service Methods Inherited Methods (Entity): delete, deleteCust, createPG, deletePG, readPGDecorations, deletePGCust, readProperties, writeProperties, readProperty, writeProperty, deleteProperty, readPropertyDecorations, deletePropertyCust, getCommonName, getDescription, getPGTemplates, getPropTemplates interface Instance an SMF instance object Inheritance Hierarchy. .-> interface Entity | interface Instance The Instance interface is an Entity that represents an SMF instance. Handles to this type of object can be retrieved from the RAD server using an object name built with: 1. the "com.oracle.solaris.rad.smf" domain name 2. a key named "type" paired with a value of "Instance" 3. a key named "service" paired with the service portion of an SMF FMRI 4. a key named "instance" paired with the instance portion of an SMF FMRI Object names for instances can be pulled from the Instances exposed by the Master.instances property. Or, they can be built directly: Example 2. Instance interface (Python) import rad.client as radcli import rad.connect as radcon import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind # Create a connection con = radcon.connect_unix() # Retrieve a particular service instance = con.get_object(sbind.Instance(), radcli.ADRGlobPattern({"service" : "network/physical", "instance" : "default"})) # Do something with our instance print "instance %s state: %s" % (instance.fmri, instance.state) Instance Properties string instance (read-only) -- the name of the instance string restarter (read-only) -- the fmri of the instance's restarter Read Error: SmfError An internal SMF error occurred. boolean enabled (read-only) -- is the instance effectively enabled? Read Error: SmfError An internal SMF error occurred. SMFState state (read-only) -- the current state of the instance Read Error: SmfError An internal SMF error occurred. ExtendedState ex_state (read-only) -- the extended state of the instance Read Error: SmfError An internal SMF error occurred. string[] snapshots (read-only) -- a list of the instance's snapshots Read Error: SmfError An internal SMF error occurred. Inherited Properties (Entity): fmri, scope, service, dependencies, manpages, doclinks, pgs, decorations Instance Methods PropertyGroup[] readSnapshotPGs(string snap_name) read all property groups in the composed view of the specified snapshot Arguments: snap_name (nullable) -- the name of the snapshot, or null for the running snapshot Result: PropertyGroup[] Error: SmfError Failed to read the list of property groups. Cause: o INTERNAL - an internal error occurred o NOTFOUND - the snapshot doesn't exist Property[] readSnapshotProperties(string[] pg_names, string snap_name) reads all properties in the composed view of the specified snapshot of a property group Arguments: pg_names (nullable) -- the name of the property group snap_name (nullable) -- the name of the snapshot, or null for the running snapshot Result: Property[] Error: SmfError Failed to read properties from the snapshot's composed view of the specified property group. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the property group or snapshot doesn't exist (see target) Property readSnapshotProperty(string prop_name, string snap_name) reads a property in the composed view of the specified snapshot Reads a single property from the composed view of the specified property group. The result includes the name, type, and values of the property. Arguments: prop_name -- the name of the property snap_name (nullable) -- the name of the snapshot, or null for the running snapshot Result: Property Error: SmfError Failed to read the property. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - the snapshot, property group, or property doesn't exist (see target) clear() clear the instance if degraded or in maintenance Attempt to clear the maintenance or degraded state from the instance. This operation occurs asynchronously, and will return success even though the attempt could fail. Error: SmfError Was unable to attempt clearing the instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only o BADSTATE - the instance wasn't in the maintenance or degraded state restart() restarts the instance Attempt to restart the instance. This operation occurs asynchronously, and will return success even though the attempt could fail. Error: SmfError Was unable to attempt restarting the instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only refresh() refresh the instance Attempt to refresh the instance. This operation occurs asynchronously, and will return success even though the attempt could fail. Error: SmfError Was unable to attempt restarting the instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only maintain(boolean immediate, boolean temporary) place the instance in maintenance Attempt to place the instance in maintenance. This operation occurs asynchronously, and will return success even though the attempt could fail. Arguments: immediate -- skip attempting a clean shutdown temporary -- maintenance doesn't persist after reboot Error: SmfError Was unable to attempt to place the instance in maintenance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only enable(boolean temporary) enable the instance Enable the instance. This operation is idempotent; enabling an enabled instance has no effect. Arguments: temporary -- enable doesn't persist after reboot Error: SmfError Was unable to enable the instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only disable(boolean temporary) disable the instance Disable the instance. This operation is idempotent; disabling a disabled instance has no effect. Arguments: temporary -- disable doesn't persist after reboot Error: SmfError Was unable to disable the instance. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o READONLY - the repository is read-only LogInfo getLogInfo(integer max_size) obtain instance log file data Obtain information from and about the instance's log file. Includes the name, size, modification time, and contents. Arguments: max_size -- bytes of log file content to return Result: LogInfo -- the requested log file data Error: SmfError Was unable to obtain log data. Cause: o INTERNAL - an internal error occurred o DENIED - insufficient authorization o NOTFOUND - no log file found Inherited Methods (Entity): delete, deleteCust, createPG, deletePG, readPGDecorations, deletePGCust, readProperties, writeProperties, readProperty, writeProperty, deleteProperty, readPropertyDecorations, deletePropertyCust, getCommonName, getDescription, getPGTemplates, getPropTemplates interface Master a top-level object providing access to all services and instances on the system The Master interface provides an iterative entrypoint into the SMF subsystem. Handles to this type of object can be retrieved from the RAD server using an object name built with: 1. the "com.oracle.solaris.rad.smf" domain name 2. a key named "type" paired with a value of "Master" For example, to report the number of services in the ONLINE state: Example 3. Master interface (Python) import rad.client as radcli import rad.connect as radcon import rad.bindings.com.oracle.solaris.rad.smf_1 as sbind # Create a connection con = radcon.connect_unix() # Retrieve the Master object master = con.get_object(sbind.Master()) # Do something with the Master object print "%d service instances are online" % \ len([x for x in master.instances if x.state == sbind.SMFState.ONLINE]) Master Properties StructService[] services (read-only) Read Error: SmfError StructInstance[] instances (read-only) Read Error: SmfError Master Events StateChange statechange Addition additions Removal removals ENUMERATED TYPES enum DepGrouping -- indicates how dependencies are evaluated REQUIRE_ALL (0) -- all dependencies must be satisfied REQUIRE_ANY (1) -- only one dependency must be satisfied EXCLUDE_ALL (2) -- no dependency may be satisfied OPTIONAL_ALL (3) -- all satisfiable dependencies must be satisfied enum DepRestart -- describes when the dependent should be restarted ERROR (0) -- restart when a dependency encounters an error RESTART (1) -- restart any time a dependency restarts REFRESH (2) -- restart when a dependency is refreshed NONE (3) -- only process dependencies when starting instance enum PropertyType -- an SMF property type UNKNOWN (0) BOOLEAN (1) COUNT (2) INTEGER (3) TIME (4) ASTRING (5) OPAQUE (6) USTRING (100) URI (200) FMRI (201) HOST (300) HOSTNAME (301) NET_ADDRESS_V4 (302) NET_ADDRESS_V6 (303) NET_ADDRESS (304) enum PropertyVisibility -- the recommended visibility of a property HIDDEN (0) -- the property shouldn't be displayed READONLY (1) -- the property isn't intended to be modified READWRITE (2) -- the property is modifiable enum ErrorCode -- the general cause for failure Indicates the general cause for failure. Specific meanings are defined by the individual APIs. INTERNAL (0) -- an internal error occurred DENIED (1) -- access denied READONLY (2) -- configuration database is read only NOTFOUND (3) -- named object wasn't found EXISTS (4) -- name is already in use BADVALUE (5) -- an illegal value was supplied BADSTATE (6) -- system was in an invalid state INVALID (7) -- API was called incorrectly enum ErrorTarget NONE (0) SNAPSHOT (1) PROPERTYGROUP (2) PROPERTY (3) VALUE (4) enum SMFState -- the state of an SMF instance NONE (0) UNINIT (1) MAINT (2) OFFLINE (3) DISABLED (4) ONLINE (5) DEGRADED (6) LEGACY (7) STRUCTURE TYPES struct Dependency -- describes a dependency group Fully describes a dependency group, including the FMRIs for the dependencies, the type of dependency, and when the dependency should be evaluated. Fields: string name -- the name of the dependency group string[] target -- the list of dependencies' FMRIs DepGrouping grouping -- how the dependencies are evaluated DepRestart restartOn -- when the dependent should be restarted struct Property -- an SMF property and its values Describes a property, its type, and all its values. Fields: string name -- the name of the property PropertyType type -- the type of the property string[] values -- all the property's values A list of all the values held by the property. A single-valued property will have a list of length 1. A property with no values will have a list of length 0. struct Manpage -- a description of a man page Provides all the information needed to find a man page. The referenced man page can be displayed by running MANPATH=$path man -s $section $title. Fields: string title -- the man page name string section -- the section the man page is found in string path (nullable) -- the path the man page is found in The colon-separated MANPATH the man page is found in. If this field has no value, the default MANPATH should to be used. struct Doclink -- an on-line documentation link Fields: string name -- an informative name for the document string uri -- the URI of the document struct PropertyGroup -- an SMF property group Fields: string name -- the name of the property group string type -- the type of the property group uinteger flags -- the property group flags struct PGTemplate -- template data for a property group Fields: string pgname -- the property group name string pgtype -- the property group type boolean required -- is the property group required? string name (nullable) -- a localized name string description (nullable) -- a localized description struct PropTemplate -- template data for a property Fields: string propname -- the name of the property PropertyType proptype -- the type of the property boolean required -- is the property required? string name (nullable) -- a localized name string description (nullable) -- a localized description string units (nullable) -- a localized units label PropertyVisibility visibility -- how the property should be presented ulong cardinality_min -- the minimum number of values ulong cardinality_max -- the maximum number of values string[] separators (nullable) -- value separator characters Separator characters used to embed multiple values in a single property value. struct PropChange -- a change to make to a property Fields: string name -- the property to change PropertyType type -- the type of the property to write string[] values -- a list of values struct Decoration -- an SMF entity decoration Fields: string layer -- the layer associated with this decoration string bundle (nullable) -- the bundle associated with this decoration time modtime -- the last modification time string type (nullable) -- the decoration value type string[] values (nullable) -- a list of decoration values. This is only valid for property decorations. struct SmfError Fields: ErrorCode error ErrorTarget target string aux (nullable) string message (nullable) struct ExtendedState -- extended instance state information Fields: SMFState state -- the current state of the instance SMFState nextState -- the next state of the instance string auxstate (nullable) -- the auxiliary state of the instance time stime -- the time of last state change integer contractid -- the contract ID, or -1 if none boolean enabled_state -- is the instance enabled or disabled? boolean enabled_temp -- is the instance enabled/disabled temporarily? Indicates if the instance's enabled/disabled state is temporary. struct LogInfo -- instance log data Fields: string name -- the log file's name integer size -- the log file's size time MTime -- the log file's modification time opaque contents -- log file contents struct StructService Fields: string fmri name objectName string[] instances struct StructInstance Fields: string fmri name objectName time stime SMFState state struct StateChange Fields: name source SMFState state SMFState nextState string auxState (nullable) time stateTime string reason (nullable) struct Addition Fields: name name string frmi StructInstance instance (nullable) StructService service (nullable) struct Removal Fields: string fmri Version: (1.0) ATTRIBUTES See attributes(5) for descriptions of the following attributes: +--------------------+-------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +--------------------+-------------------------+ |Availability | system/management/rad/* | +--------------------+-------------------------+ |Interface Stability | Private | +--------------------+-------------------------+ SEE ALSO rad(1M) SunOS 5.11 2017-01-11 SMF(3rad)