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

개요

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

kstat2_mapiter_end(3kstat2)

Kernel Statistics Library Functions, Version 2
                                                 kstat2_mapiter_start(3KSTAT2)



NAME
       kstat2_mapiter_start,    kstat2_mapiter_hasnext,   kstat2_mapiter_next,
       kstat2_mapiter_remove, kstat2_mapiter_end -  iterate  over  kstat2  map
       entries

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


       kstat2_status_t kstat2_mapiter_start(kstat2_map_t map,
                kstat2_nv_type_t type, 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 type  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
       order.


       kstat2_mapiter_hasnext()  sets  has_next to 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_remove(),  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
       exceptions


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_update(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               27 Nov 2017
                                                 kstat2_mapiter_start(3KSTAT2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3