kstat2_mapiter_start(3kstat2) 맨 페이지 - 윈디하나의 솔라나라

개요

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

kstat2_mapiter_start(3kstat2)

ks...t(3KSTAT2) Kernel Statistics Library Functions, Version 2 ks...t(3KSTAT2)

NAME
       kstat2_mapiter_start,    kstat2_mapiter_hasnext,   kstat2_mapiter_next,
       kstat2_mapiter_remove, kstat2_mapiter_end - iterate over kstat2 map en‐
       tries

SYNOPSIS
       cc [ flag... ] file... -lkstat2 [ library...]
            #include <kstat2.h>


       kstat2_status_t kstat2_mapiter_start(kstat2_map_t map,
            kstat2_nv_kind_t kind, kstat2_mapiter_t *iter);


       kstat2_status_t kstat2_mapiter_hasnext(kstat2_mapiter_t iter,
            boolean_t *has_next);


       kstat2_status_t kstat2_mapiter_next(kstat2_mapiter_t iter,
            kstat2_nv_t *nv);


       kstat2_status_t kstat2_mapiter_remove(kstat2_mapiter_t iter);


       kstat2_status_t kstat2_mapiter_end(kstat2_mapiter_t *iter);

DESCRIPTION
       The kstat2_mapiter_start() function creates a new iterator that can  be
       used  to  traverse  the specified map. The kind parameter specifies the
       type of  map  keys  to  be  visited  and  is  an  ORed  combination  of
       KSTAT2_NVK_SYS  for  kernel kstat values, KSTAT2_NVK_USR for user-added
       values, KSTAT2_NVK_MAP for sub-maps, or  KSTAT2_NVK_ALL  to  visit  all
       types  of  values.  The order in which values are visited is undefined,
       but provided no changes are made to the map, both successive  and  con‐
       current  iterations over the map will return the values in the same or‐
       der.


       kstat2_mapiter_hasnext() sets has_next to B_TRUE, if the map has unvis‐
       ited values and to false if all values have been visited.


       kstat2_mapiter_next() obtains the next unvisited value from the map.


       kstat2_mapiter_remove() removes the current value from the map.


       kstat2_mapiter_end() deallocates the iterator when the application  has
       finished iterating over the map.

RETURN VALUES
       Upon   successful   completion   the  iterator  functions  will  return
       KSTAT2_S_OK, otherwise an error will be returned. A map may have multi‐
       ple concurrent iterators but if the map  is  modified  either  directly
       (for   example,   by   a  call  to  a  kstat2_map_put_*()  function  or
       kstat2_map_remove()) or through another iterator (for example,  through
       the  kstat2_mapiter_remove()),  subsequent iterator calls will fail and
       any   open   iterators   must   be   disposed   of   by   a   call   to
       kstat2_mapiter_end().

ERRORS
       The          kstat2_mapiter_start(),          kstat2_mapiter_hasnext(),
       kstat2_mapiter_next(),           kstat2_mapiter_remove(),           and
       kstat2_mapiter_end() functions will fail if:


       KSTAT2_S_INVAL_ARG    The handle or ir iterator parameter was invalid


       KSTAT2_S_NO_MEM       Memory could not be allocated for the data


       KSTAT2_S_DEL_MAP      If the kstat has been deleted by the kernel


       KSTAT2_S_NO_MEM       If no memory could be allocated


       KSTAT2_S_SYS_FAIL     If an underlying system call failed, see errno




       The       kstat2_mapiter_next(),      kstat2_mapiter_remove(),      and
       kstat2_mapiter_end() functions will fail if:


       KSTAT2_S_INVAL_STATE    The iterator has reached the end of the map  or
                               the item has already been removed




       The kstat2_mapiter_hasnext(), kstat2_mapiter_next(), kstat2_mapiter_re‐
       move(), and kstat2_mapiter_end() functions will fail if:


       KSTAT2_S_CONC_MOD    The map has been modified elsewhere




       The kstat2_mapiter_remove() function will fail if:


       KSTAT2_S_NO_PERM    An attempt to remove a system value has been made



FILES
       /dev/kstat               kernel statistics driver


       /usr/include/kstat2.h    header



EXAMPLES
       See the kstat2(3KSTAT2) manpage.

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 StabilityCommitted _ MT-LevelMT-Safe with ex‐
       ceptions


SEE ALSO
       kstat2(3KSTAT2),     kstat2_close(3KSTAT2),      kstat2_close(3KSTAT2),
       kstat2_map_get(3KSTAT2),              kstat2_map_get_userdata(3KSTAT2),
       kstat2_map_meta(3KSTAT2),                   kstat2_map_parent(3KSTAT2),
       kstat2_map_put_integer(3KSTAT2),      kstat2_map_put_integers(3KSTAT2),
       kstat2_map_put_string(3KSTAT2),        kstat2_map_put_strings(3KSTAT2),
       kstat2_map_remove(3KSTAT2),            kstat2_map_set_data_cb(3KSTAT2),
       kstat2_map_set_destroy_cb(3KSTAT2),    kstat2_map_set_tree_cb(3KSTAT2),
       kstat2_map_set_userdata(3KSTAT2),             kstat2_map_size(3KSTAT2),
       kstat2_map_to_array(3KSTAT2),                  kstat2_map_uri(3KSTAT2),
       kstat2_mapiter_end(3KSTAT2),           kstat2_mapiter_hasnext(3KSTAT2),
       kstat2_mapiter_next(3KSTAT2),           kstat2_mapiter_remove(3KSTAT2),
       kstat2_mapref_alloc(3KSTAT2),             kstat2_mapref_deref(3KSTAT2),
       kstat2_mapref_free(3KSTAT2),                   kstat2_nv_meta(3KSTAT2),
       kstat2_open(3KSTAT2),     kstat2_status_string(3KSTAT2),     kstat2_up‐
       date(3KSTAT2), kstat2_uri_decode(3KSTAT2),  kstat2_uri_encode(3KSTAT2),
       libkstat2(3LIB)

NOTES
       The  kstat2  functions  are  MT-Safe  with  the exception that only one
       thread may actively use  a  kstat2_handle_t,  or  any  object  obtained
       through  it,  at  any one time. Synchronization is required if multiple
       threads intend to  share  a  kstat2_handle_t  or  any  object  obtained
       through it. Synchronization is left to the application.

Oracle Solaris 11.4               21 Apr 2025                  ks...t(3KSTAT2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3