picld(1M)




NAME

     picld - PICL daemon


SYNOPSIS

     /usr/lib/picl/picld


DESCRIPTION

     The Platform Information and Control Library (PICL) provides
     a  mechanism  to  publish  platform-specific information for
     clients to access in a platform-independent way. picld main-
     tains  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      modules.      These     modules     use     the
     libpicltree(3PICLTREE) interface to create nodes and proper-
     ties  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 information in the PICL tree.

  PICL Tree
     The PICL tree is the repository of all the nodes and proper-
     ties  created  by the plug-in modules to represent the plat-
     form 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  properties
     that  all  nodes in the tree must possess. Two of those pro-
     perties 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-specific 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(3DL) 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 infor-
     mation and creates nodes and/or properties to represent  the
     configuration  in  the PICL tree. A plug-in can create addi-
     tional threads to monitor  the  platform  configuration  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 STATUS

     picld does not return an exit status.


FILES

     /var/run/picld_door
           PICL daemon door

     /usr/lib/picl/picld
           PICL daemon

     /etc/init.d/picld
           Start/stop script


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWpiclu                   |
    |_____________________________|_____________________________|


SEE ALSO


     dlopen(3DL),     libpicl(3PICL),     libpicltree(3PICLTREE),
     picld_log(3PICLTREE),      picld_plugin_register(3PICLTREE),
     attributes(5)


Man(1) output converted with man2html