libpicl(3picl) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

libpicl(3picl)

libpicl(3PICL)              PICL Library Functions              libpicl(3PICL)

NAME
       libpicl - PICL interface library

SYNOPSIS
       cc [ flag ... ] file ... -lpicl [ library ... ]
       #include <picl.h>

DESCRIPTION
       The PICL interface is the platform-independent interface for clients to
       access  the  platform information. The set of functions and data struc‐
       tures of this interface are defined in the <picl.h> header.


       The information published through PICL is organized in  a  tree,  where
       each node is an instance of a well-defined PICL class. The functions in
       the  PICL  interface  allow the clients to access the properties of the
       nodes.


       The name of the base PICL class is picl, which defines a basic  set  of
       properties that all nodes in the tree must possess. The following table
       shows the property set of a picl class node.

       tab() box; lw(2.74i) |lw(2.76i) lw(2.74i) |lw(2.76i) Property NameProp‐
       erty  Value  _  nameThe name of the node _ _classThe PICL class name of
       the node _ _parentNode handle of the parent node _ _childNode handle of
       the first child node _ _peerNode handle of the next peer node



       Property names with a a leading underscore ('_') are reserved  for  use
       by  the PICL framework. The property names _class, _parent, _child, and
       _peer are reserved names of the PICL framework, and are used  to  refer
       to a node's parent, child, and peer nodes, respectively. A client shall
       access  a  reserved property by their names only as they do not have an
       associated handle. The property name is not a reserved property, but  a
       mandatory property for all nodes.


       Properties  are classified into different types. Properties of type in‐
       teger, unsigned-integer, and float have integer, unsigned integer,  and
       floating-point values, respectively. A table property type has the han‐
       dle  to a table as its value. A table is a matrix of properties. A ref‐
       erence property type has a handle to a node in the tree as its value. A
       reference property may be used to establish an association between  any
       two  nodes in the tree. A timestamp property type has the value of time
       in seconds since Epoch. A bytearray property type has an array of bytes
       as its value. A charstring property type has a  nul  ('\0')  terminated
       sequence of ASCII characters. The size of a property specifies the size
       of its value in bytes. A void property type denotes a property that ex‐
       ists but has no value.


       The  following table lists the different PICL property types enumerated
       in picl_prop_type_t.

       tab() box; lw(2.75i) |lw(2.75i) lw(2.75i) |lw(2.75i) Property TypeProp‐
       erty Value  _  PICL_PTYPE_VOIDNone  _  PICL_PTYPE_INTIs  an  integer  _
       PICL_PTYPE_UNSIGNED_INTIs  an  unsigned  integer _ PICL_PTYPE_FLOATIs a
       floating-point number _ PICL_PTYPE_REFERENCEIs a PICL node handle


   Reference Property Naming Convention
       Reference properties may be used by plug-ins to publish  properties  in
       nodes  of different classes. To make these property names unique, their
       names must be prefixed by _picl_class_name_, where  picl_class_name  is
       the class name of the node referenced by the property. Valid PICL class
       names  are  combinations of uppercase and lowercase letters 'a' through
       'z', digits '0' through '9', and '-'  (minus)  characters.  The  string
       that  follows  the  '_picl_class_name_' portion of a reference property
       name may be used to indicate a  specific  property  in  the  referenced
       class, when applicable.

   Property Information
       The  information  about  a node's property that can be accessed by PICL
       clients is defined by the picl_propinfo_t structure.



         typedef struct {
             picl_prop_type_t  type;           /* property type */
             unsigned int      accessmode;     /* read, write */
             size_t            size;           /* item size or
                                                  string size */
             char              name[PICL_PROPNAMELEN_MAX];
         } picl_propinfo_t;



       The type member specifies the property value type  and  the  accessmode
       specifies the allowable access to the property. The plug-in module that
       adds  the  property  to the PICL tree also sets the access mode of that
       property. The volatile nature of a property created by the  plug-in  is
       not  visible  to the PICL clients. The size member specifies the number
       of bytes occupied by the property's value. The maximum  allowable  size
       of property value is PICL_PROPSIZE_MAX, which is set to 512KB.

   Property Access Modes
       The plug-in module may publish a property granting a combination of the
       following access modes to the clients:

         #define   PICL_READ   0x1   /* read permission */
         #define   PICL_WRITE  0x2   /* write permission */


   Property Names
       The  maximum  length  of  the  name  of  any  property  is specified by
       PICL_PROPNAMELEN_MAX.

   Class Names
       The maximum length of a PICL class name is specified by PICL_CLASSNAME‐
       LEN_MAX.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


SEE ALSO
       libpicl(3LIB), attributes(7)

Oracle Solaris 11.4               28 Mar 2000                   libpicl(3PICL)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3