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

개요

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

kstat2_map_get(3kstat2)

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



NAME
       kstat2_map_get, kstat2_map_flags, kstat2_map_size, kstat2_map_put_inte‐
       ger,          kstat2_map_put_integers,           kstat2_map_put_string,
       kstat2_map_put_strings,     kstat2_map_remove,     kstat2_map_to_array,
       kstat2_map_parent - manipulate kstat2 data maps and handles

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


       kstat2_status_t kstat2_map_size(kstat2_map_t map,
               kstat2_nv_kind_t kind, uint32_t *size);


       kstat2_status_t kstat2_map_get(kstat2_map_t map, const char *name,
                kstat2_nv_t *nv);


       kstat2_status_t kstat2_map_flags(kstat2_map_t map, uint32_t *flags);


       kstat2_status_t kstat2_map_put_integer(kstat2_map_t map,
                const char *name, uint64_t value);


       kstat2_status_t kstat2_map_put_integers(kstat2_map_t map,
                const char *name, uint64_t values[], uint32_t length);


       kstat2_status_t kstat2_map_put_string(kstat2_map_t map,
                const char *name, const char *value);


       kstat2_status_t kstat2_map_put_strings(kstat2_map_t map,
                const char *name, const char *const values[], uint32_t length);


       kstat2_status_t kstat2_map_remove(kstat2_map_t map, const char *name);


       kstat2_status_t kstat2_map_to_array(kstat2_map_t map,
                kstat2_nv_t *nv_array[], uint32_t *size, uint32_t *entries);


       kstat2_status_t kstat2_map_parent(kstat2_map_t map,
                kstat2_map_t *parent);

DESCRIPTION
       The kstat2_map_size() function returns the number of  elements  in  the
       map.  The  kind  parameter specifies the type of element to be counted,
       either system, user or all name/value elements.


       The kstat2_map_get() function retrieves the name/value (nv) pair  iden‐
       tified  by  the supplied name. The reference returned is managed by the
       library and must not be passed to free().  See  kstat2(3KSTAT2)  for  a
       description of the returned structure.


       The kstat2_map_flags() function retrieves any flags associated with the
       map. Possible flag values are:


       KSTAT2_MAPF_NONE    No map flags are set


       KSTAT2_MAPF_DORM    Kstat  map  is  dormant.   Kernel   values   remain
                           unchanged when a kstat is in the dormant state.




       The kstat2_map_put_integer() function adds or replaces an integer value
       in the map, with the specified name.


       The kstat2_map_put_integers() function adds or replaces a list of inte‐
       gers  in the map, with the specified name. length must be the length of
       the supplied array of integer  values.  The  supplied  values  will  be
       copied and the caller is responsible for managing the space occupied by
       the parameters.


       The kstat2_map_put_string() function adds or replaces a string value in
       the map, with the specified name. The supplied value will be copied and
       the caller is responsible for managing the space occupied by it.


       The kstat2_map_put_strings()  function  adds  or  replaces  a  list  of
       strings  in the map, with the specified name. length must be the length
       of the supplied array of string values. The  supplied  values  will  be
       copied and the caller is responsible for managing the space occupied by
       them.


       kstat2_map_remove() removes the specified name/value pair from the map.
       Only  items  added by one of the above kstat2_map_put_*() functions may
       be removed.


       kstat2_map_to_array() copies references to the name or value pairs from
       the  map  into  the  passed array. The array parameter should either be
       NULL or have been allocated with malloc(). size  must  contain  current
       size  of  the  array,  entries  will  be set on return to the number of
       entries that have been copied into the array. If array is NULL,  a  new
       array  will  be  allocated  with malloc(). If the supplied array is too
       small, the existing memory will be freed and  a  new  array  allocated.
       When  the  array  is  no longer required, the caller is responsible for
       disposing of the array with the free() function. As this array directly
       references  the  name  or value pairs stored in the map, any updates to
       the map, such as the removal of  name  or  values  or  a  call  to  the
       kstat2_update() function will invalidate this array, requiring it to be
       generated.


       kstat2_map_parent() retrieves a reference to the parent map of the cur‐
       rent  map  and  returns  it  in parent. If the map is at the top of the
       hierarchy, parent will be NULL on return.

RETURN VALUES
       Upon  successful  completion,   the   above   functions   will   return
       KSTAT2_S_OK.  If  there is an error performing the requested operation,
       an error code will be returned. Note that only name/value pairs that do
       not collide with an existing system provided name can be added to maps,
       if a name collision is detected no changes will be made  and  an  error
       will be returned.

ERRORS
       The above functions will fail if:


       KSTAT2_S_INVAL_ARG    The supplied handle is invalid


       KSTAT2_S_NO_MEM       Memory could not be allocated for the data


       KSTAT2_S_SYS_FAIL     An underlying syscall failed, see errno




       In addition, kstat2_map_size() function will fail if:


       KSTAT2_S_INVAL_TYPE    The type parameter is invalid




       The kstat2_map_get() function will fail if:


       KSTAT2_S_NOT_FOUND    The requested item could not be found




       The         kstat2_map_put_integer(),        kstat2_map_put_integers(),
       kstat2_map_put_string(), and  kstat2_map_put_strings()  functions  will
       fail if:


       KSTAT2_S_NO_PERM     The  requested key is already in use by the kstats
                            framework


       KSTAT2_S_NO_SPACE    There is no space left in the map for the new item



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_close(3KSTAT2), kstat2_lookup_map(3KSTAT2), kstat2_map_get_user‐
       data(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_mapiter_start(3KSTAT2),            kstat2_mapref_alloc(3KSTAT2),
       kstat2_mapref_deref(3KSTAT2),              kstat2_mapref_free(3KSTAT2),
       kstat2_nv_meta(3KSTAT2),       kstat2_open(3KSTAT2),        kstat2_sta‐
       tus_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               12 Jul 2018          kstat2_map_get(3KSTAT2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3