kstat_chain_update(3kstat) 맨 페이지 - 윈디하나의 솔라나라

개요

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

kstat_chain_update(3kstat)

Kernel Statistics Library Functions
                                                    kstat_chain_update(3KSTAT)



NAME
       kstat_chain_update - update the kstat header chain

SYNOPSIS
       cc [ flag... ] file... -lkstat [ library...]
       #include <kstat.h>



       kid_t kstat_chain_update(kstat_ctl_t *kc);

DESCRIPTION
       The  kstat_chain_update() function brings the user's kstat header chain
       in sync with that of the kernel. The kstat chain is a  linked  list  of
       kstat headers (kstat_t's) pointed to by kc->kc_chain, which is initial‐
       ized by the kstat_open() function. This chain constitutes a list of all
       kstats   currently  in  the  system.  For  more  information,  see  the
       kstat_open(3KSTAT) man page.


       During normal operation, the kernel creates new kstats and  delete  old
       ones as various device instances are added and removed, thereby causing
       the user's copy  of  the  kstat  chain  to  become  out  of  date.  The
       kstat_chain_update()  function  detects this condition by comparing the
       kernel's current kstat chain ID (KCID), which is incremented every time
       the  kstat  chain  changes, to the user's KCID, kc->kc_chain_id. If the
       KCIDs match, the kstat_chain_update() function does nothing. Otherwise,
       it  deletes any invalid kstat headers from the user's kstat chain, adds
       any new ones, and sets kc->kc_chain_id to the new KCID. All other kstat
       headers in the user's kstat chain are unmodified.

RETURN VALUES
       Upon  successful  completion, the kstat_chain_update() function returns
       the new KCID if the kstat chain  has  changed  and  0  if  it  has  not
       changed. Otherwise, it returns −1 and sets errno to indicate the error.

ERRORS
       The kstat_chain_update() function will fail if:

       EAGAIN       The kstat was temporarily unavailable for reading or writ‐
                    ing.


       ENOMEM       Insufficient storage space is available.


       ENXIO        The given kstat could not be located for reading.


       EOVERFLOW    The data for the given kstat was too large to be stored in
                    the structure.


FILES
       /dev/kstat    kernel statistics driver


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 _  Interface  StabilityObsolete  _  MT-LevelMT-Safe  with
       exceptions



       The  kstat_chain_update()  function  is MT-Safe with the exception that
       only one thread may actively use a kstat_ctl_t *  value  at  any  time.
       Synchronization is left to the application.

SEE ALSO
       kstat(3KSTAT),         kstat_lookup(3KSTAT),        kstat_open(3KSTAT),
       kstat_read(3KSTAT),           attributes(7),           kstat2(3KSTAT2),
       kstat2_update(3KSTAT2)

NOTES
       The kstat_chain_update() function is deprecated. It may be removed in a
       future release  of  Oracle  Solaris.  For  more  information,  see  the
       kstat2(3KSTAT2) man page.



Oracle Solaris 11.4               31 Aug 2016
                                                    kstat_chain_update(3KSTAT)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3