Go to main content

man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

kstat2_map_meta (3KSTAT2)

Name

kstat2_map_meta, kstat2_nv_meta - retrieve kstat2 metadata

Synopsis

cc [ flag... ] file... -lkstat2 [ library...]
     #include <kstat2.h>
kstat2_status_t kstat2_map_meta(kstat2_map_t map,
         kstat2_map_meta_t *meta);
const char* kstat2_map_metatype_string(uint16_t type);
kstat2_status_t kstat2_nv_meta(kstat2_map_t map, const char *name,
         kstat2_nv_meta_t *meta);
const char* kstat2_nv_metatype_string(uint16_t type);

Description

The kstat2_map_meta() function retrieves the metadata for a given kstat2 map and returns it in the meta parameter. The returned reference is managed by the library and must not be passed to free(). For more information about the description of the returned structure, see kstat2(3KSTAT2).

The kstat2_nv_meta() function retrieves the metadata for a given kstat2 name/value in a map and returns it in the meta parameter. The returned reference is managed by the library and must not be passed to free(). For more information about the description of the returned structure, see kstat2(3KSTAT2).

The kstat2_map_metatype_string() function returns a string describing the type of map for the supplied map metadata type. For more information on the list of available map metadata types, see kstat2(3KSTAT2).

The kstat2_nv_metatype_string() function returns a string describing the type of name/value for the supplied metadata type. For more information on the list of available name/value metadata types, see kstat2(3KSTAT2).

Return Values

Upon successful completion, the kstat2_map_meta() and kstat2_nv_meta() functions will return KSTAT2_S_OK with the meta parameter set to the relevant metadata. If no metadata exists for the map or nv, KSTAT2_S_NOT_FOUND will be returned with the meta parameter set to NULL. If there is any other error performing the requested operation, an error code will be returned and the meta parameter will be NULL.

The kstat2_map_metatype_string() and kstat2_nv_metatype_string() functions will return a descriptive string for the supplied metadata type.

Errors

The above functions will fail if:

KSTAT2_S_INVAL_ARG

the map, name, or meta parameters are invalid

KSTAT2_S_NO_MEM

memory could not be allocated for the data

KSTAT2_S_SYS_FAIL

an underlying syscall failed, see errno

KSTAT2_S_NOT_FOUND

no metadata was found for the map or nv

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:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe with exceptions

See Also

kstat2_close(3KSTAT2), kstat2_close(3KSTAT2), kstat2_map_get(3KSTAT2), kstat2_map_get_userdata(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_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.