picld(1M) System Administration Commands picld(1M)NAMEpicld - PICL daemon
SYNOPSIS
/usr/lib/picl/picld
DESCRIPTION
The Platform Information and Control Library (PICL) provides a mecha‐
nism to publish platform-specific information for clients to access in
a platform-independent way. picld maintains and controls access to the
PICL information from clients and plug-in modules. The daemon is
started in both single-user and multi-user boot mode.
Upon startup, the PICL daemon loads and initializes the plug-in mod‐
ules. These modules use the libpicltree(3PICLTREE) interface to create
nodes and properties in the PICL tree to publish platform configuration
information. After the plug-in modules are initialized, the daemon
opens the PICL daemon door to service client requests to access infor‐
mation in the PICL tree.
PICL Tree
The PICL tree is the repository of all the nodes and properties created
by the plug-in modules to represent the platform configuration. Every
node in the PICL tree is an instance of a well-defined PICL class. The
name of the base PICL class is picl, which defines a basic set of prop‐
erties that all nodes in the tree must possess. Two of those properties
are name and _class, where name contains the name of the node, and the
_class contains the PICL class name of the node. Certain nodes in the
PICL tree have well-known names. For example, the name of the root node
of the PICL tree is / and the name of the root node of the sub-tree
containing platform device nodes is platform.
PICL plug-in Modules
The PICL plug-in modules are shared objects that publish platform-spe‐
cific data in the PICL tree. They are located in well-known directories
so that the daemon can locate and load them.
Plug-in modules are located in one of the following plug-in directories
depending on the plaform-specific nature of the data that they collect
and publish:
/usr/platform/`uname -i`/lib/picl/plugins
/usr/platform/`uname -m`/lib/picl/plugins
A plug-in module can specify its dependency on another plug-in module
using the -l or -R linker option. The plug-ins are loaded by the daemon
using dlopen(3C) according to the specified dependencies. Each plug-in
module must define a .init section, which is executed when the plug-in
module is loaded, to register themselves with the daemon. See
picld_plugin_register(3PICLTREE) for additional information on plug-in
registration.
The plug-in modules use the libpicltree(3PICLTREE) interface to publish
nodes and properties in the PICL tree so that clients can access them.
When the PICL daemon invokes the initialization routine of the plug-in
module, the plug-in collects the platform information and creates nodes
and/or properties to represent the configuration in the PICL tree. A
plug-in can create additional threads to monitor the platform configu‐
ration and update the PICL tree with any changes. This enables a PICL
plug-in to operate as a daemon within the PICL framework.
An environmental monitor is an example of a plug-in module that uses a
thread to monitor the temperatures and fan speeds of the platform, then
publishes the environmental information in the PICL tree so clients can
access them.
Clients use the libpicl(3PICL) interface to send requests to picld for
accessing the PICL tree.
EXIT STATUSpicld does not return an exit status.
FILES
/var/run/picld_door PICL daemon door
/usr/lib/picl/picld PICL daemon
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWpiclu │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOsvcs(1), svcadm(1M), dlopen(3C), libpicl(3PICL), libpi‐
cltree(3PICLTREE), picld_log(3PICLTREE), picld_plugin_regis‐
ter(3PICLTREE), attributes(5), smf(5)NOTES
The picld service is managed by the service management facility,
smf(5), under the service identifier:
svc:/system/picl
Administrative actions on this service, such as enabling, disabling, or
requesting restart, can be performed using svcadm(1M). The service's
status can be queried using the svcs(1) command.
SunOS 5.10 10 Aug 2004 picld(1M)