kstat2_md(9s) 맨 페이지 - 윈디하나의 솔라나라

개요

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

kstat2_md(9s)

kstat2_md(9S)           Kernel & Driver Data Structures          kstat2_md(9S)

NAME
       kstat2_md - structure for kstats metadata

SYNOPSIS
       #include <sys/types.h>
       #include <sys/kstat2.h>
       #include <sys/ddi.h>
       #include <sys/sunddi.h>

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI)

DESCRIPTION
       To  facilitate  automated  processing  and/or display of v2 kstats, the
       creators of such kstats are expected to provide metadata for each value
       in the kstat data.

STRUCTURE MEMBERS
         uint16_t   type;         /* kval semantic type */
         uint16_t   flags;        /* per-value flags */
         uint64_t   scale         /* Units scale */
         const char *descr;       /* Brief description of kval */
         int8_t     v1_data_type; /* Data type of the original
                                     v1 kval */



       type is the semantic type of the kstat which is set to one of the  enu‐
       merated type values:


         typedef enum kstat2_nv_metatype {
         KSTAT2_NVMT_UNK      /* Unknown type */
         KSTAT2_NVMT_ID       /* Arbitrary numeric or string identifier */
         KSTAT2_NVMT_CNT      /* Counter, example network packets */
         KSTAT2_NVMT_T_EPOCH  /* Time since UNIX epoch */
         KSTAT2_NVMT_T_REL    /* Time relative to boot time */
         KSTAT2_NVMT_T_ACC    /* Accumulated time */
         KSTAT2_NVMT_PCT      /* Percentage */
         KSTAT2_NVMT_ADDR     /* Memory address */
         KSTAT2_NVMT_TEMP_C   /* Temperature in centigrade */
         KSTAT2_NVMT_RPM      /* Revolutions per minute, example fan speed */
         KSTAT2_NVMT_VOLT     /* Voltage */
         KSTAT2_NVMT_WATT     /* Power usage */
         KSTAT2_NVMT_CURR     /* Current */
         KSTAT2_NVMT_BYTES    /* Bytes */
         KSTAT2_NVMT_BITS     /* Bits */
         KSTAT2_NVMT_STATE    /* Numeric or string representation of a state */
         KSTAT2_NVMT_FREQ     /* Frequency */
         KSTAT2_NVMT_FLAGS    /* Bitwise flags */
         KSTAT2_NVMF_LIMIT    /* Kstat's value represents limit(s) */
         } kstat2_nv_metatype_t;



       flags  provide  some  additional  metadata  about the kval and are con‐
       structed by combining values from the enum:


         typedef enum kstat2_nv_metaflag {
            KSTAT2_NVMF_NONE     /* No flags set */
            KSTAT2_NVMF_FRACT    /* Value of kval is fractional
                                    and should be divided by scale */

            KSTAT2_NVMF_IMMUT    /* Value of kval will not change */

            KSTAT2_NVMF_STABLE   /* Kval's name and type will not
                                    change between minor Oracle Solaris
                                    releases */
         } kstat2_nv_metaflag_t;



       For example:

         flags = KSTAT2_NVMF_IMMUT | KSTAT2_NVMF_STABLE;



       scale is used to provide scaling information for a kval. When  combined
       with  the KSTAT2_NVMF_FRACT flag, it can be used to display or report a
       floating-point value whereas the actual value held in the kstat  is  an
       integer.


       scale  is most useful where a kval of a particular type has a large po‐
       tential range. For instance, a timer might record in nanoseconds but is
       based in seconds. We can indicate that a timer is recording in nanosec‐
       onds by setting scale to 1x10^9 and setting the KSTAT2_NVMF_FRACT flag.
       Clients then know that the timer value needs to be divided  by  setting
       the scale to get the value in seconds.


       v1_data_type  is  used to ensure that the correct data type is used for
       each kval when a kstat is read by a v1 client.  This  is  for  backward
       compatibility  with existing clients. The value of this field is one of
       the following:


         KSTAT_DATA_NONE
         KSTAT_DATA_CHAR
         KSTAT_DATA_INT32
         KSTAT_DATA_UINT32
         KSTAT_DATA_INT64
         KSTAT_DATA_UINT64
         KSTAT_DATA_LONG
         KSTAT_DATA_ULONG
         KSTAT_DATA_STRING



       KSTAT1_DATA_NONE is used when the kstat or kval was not previously  de‐
       livered as a v1 value. Kvals which are new in a v2 kstat converted from
       a v1 kstat will not be published to v1 clients.


       descr is a null-terminated character string which briefly describes the
       kval.

SEE ALSO
       kstat2_create(9F), kstat2_nv_init(9F), kstat_named(9S)

Oracle Solaris 11.4               17 Aug 2017                    kstat2_md(9S)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3