Kstat2 (JNA API)
Description: declaration: package: com.sun.jna.platform.unix.solaris, interface: Kstat2

Package com.sun.jna.platform.unix.solaris

# Interface Kstat2

All Superinterfaces:
  `Library`

public interface Kstat2 extends Library
Kstat2 library. The kstat2 facility is a general-purpose mechanism for providing kernel statistics to users.

Kstat2 is available in Solaris 11.4 and later.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `Kstat2.Kstat2Handle`
  Opaque kstat handle.
  `static class`
  `Kstat2.Kstat2Map`
  Opaque kstat map handle.
  `static class`
  `Kstat2.Kstat2MatcherList`
  Opaque kstat match list.
  `static class`
  `Kstat2.Kstat2NV`
  Immutable Name/Value pair.

  ## Nested classes/interfaces inherited from interface com.sun.jna.Library

  `Library.Handler`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Kstat2`
  `INSTANCE`
  Requires Solaris 11.4.
  `static final int`
  `KSTAT2_M_GLOB`
  `static final int`
  `KSTAT2_M_RE`
  `static final int`
  `KSTAT2_M_STRING`
  `static final short`
  `KSTAT2_NVF_INVAL`
  `static final short`
  `KSTAT2_NVF_NONE`
  `static final byte`
  `KSTAT2_NVK_ALL`
  `static final byte`
  `KSTAT2_NVK_MAP`
  `static final byte`
  `KSTAT2_NVK_SYS`
  `static final byte`
  `KSTAT2_NVK_USR`
  `static final byte`
  `KSTAT2_NVVT_INT`
  `static final byte`
  `KSTAT2_NVVT_INTS`
  `static final byte`
  `KSTAT2_NVVT_MAP`
  `static final byte`
  `KSTAT2_NVVT_STR`
  `static final byte`
  `KSTAT2_NVVT_STRS`
  `static final int`
  `KSTAT2_S_CONC_MOD`
  `static final int`
  `KSTAT2_S_DEL_MAP`
  `static final int`
  `KSTAT2_S_INVAL_ARG`
  `static final int`
  `KSTAT2_S_INVAL_STATE`
  `static final int`
  `KSTAT2_S_INVAL_TYPE`
  `static final int`
  `KSTAT2_S_NO_MEM`
  `static final int`
  `KSTAT2_S_NO_PERM`
  `static final int`
  `KSTAT2_S_NO_SPACE`
  `static final int`
  `KSTAT2_S_NOT_FOUND`
  `static final int`
  `KSTAT2_S_OK`
  `static final int`
  `KSTAT2_S_SYS_FAIL`

  ### Fields inherited from interface com.sun.jna.Library

  `OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_SYMBOL_PROVIDER, OPTION_TYPE_MAPPER`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `kstat2_add_matcher(int type, String match, Kstat2.Kstat2MatcherList matchers)`
  Adds matchers to the provided matcher list.
  `int`
  `kstat2_alloc_matcher_list(PointerByReference matchers)`
  Allocates a new matcher list to allow matchers to be provided to the `kstat2_open(PointerByReference, Kstat2MatcherList)` function.
  `int`
  `kstat2_close(PointerByReference handle)`
  The kstat2_close() function frees all resources that are associated with the handle.
  `int`
  `kstat2_free_matcher_list(PointerByReference matchers)`
  Frees the resources associated with the matcher list.
  `int`
  `kstat2_lookup_map(Kstat2.Kstat2Handle handle, String uri, PointerByReference map)`
  Obtains a reference to a kstat2 map given the URI of the map.
  `int`
  `kstat2_map_get(Kstat2.Kstat2Map map, String name, PointerByReference nv)`
  Retrieves the name/value (nv) pair identified by the supplied name.
  `int`
  `kstat2_open(PointerByReference handle, Kstat2.Kstat2MatcherList matchers)`
  Initializes an opaque kstat2 handle that provides access to a specific view of the kernel statistics.
  `String`
  `kstat2_status_string(int status)`
  Gives a descriptive error message for the supplied status value.
  `int`
  `kstat2_update(Kstat2.Kstat2Handle handle)`
  Synchronises the user's view with that of the kernel.

- ## Field Details

  - ### INSTANCE

    static final Kstat2 INSTANCE
    Requires Solaris 11.4. Users should test for UnsatisfiedLinkError

  - ### KSTAT2_S_OK

    static final int KSTAT2_S_OK
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_NO_PERM

    static final int KSTAT2_S_NO_PERM
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_NO_MEM

    static final int KSTAT2_S_NO_MEM
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_NO_SPACE

    static final int KSTAT2_S_NO_SPACE
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_INVAL_ARG

    static final int KSTAT2_S_INVAL_ARG
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_INVAL_STATE

    static final int KSTAT2_S_INVAL_STATE
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_INVAL_TYPE

    static final int KSTAT2_S_INVAL_TYPE
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_NOT_FOUND

    static final int KSTAT2_S_NOT_FOUND
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_CONC_MOD

    static final int KSTAT2_S_CONC_MOD
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_DEL_MAP

    static final int KSTAT2_S_DEL_MAP
    See Also:
      - Constant Field Values

  - ### KSTAT2_S_SYS_FAIL

    static final int KSTAT2_S_SYS_FAIL
    See Also:
      - Constant Field Values

  - ### KSTAT2_M_STRING

    static final int KSTAT2_M_STRING
    See Also:
      - Constant Field Values

  - ### KSTAT2_M_GLOB

    static final int KSTAT2_M_GLOB
    See Also:
      - Constant Field Values

  - ### KSTAT2_M_RE

    static final int KSTAT2_M_RE
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVVT_MAP

    static final byte KSTAT2_NVVT_MAP
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVVT_INT

    static final byte KSTAT2_NVVT_INT
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVVT_INTS

    static final byte KSTAT2_NVVT_INTS
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVVT_STR

    static final byte KSTAT2_NVVT_STR
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVVT_STRS

    static final byte KSTAT2_NVVT_STRS
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVK_SYS

    static final byte KSTAT2_NVK_SYS
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVK_USR

    static final byte KSTAT2_NVK_USR
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVK_MAP

    static final byte KSTAT2_NVK_MAP
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVK_ALL

    static final byte KSTAT2_NVK_ALL
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVF_NONE

    static final short KSTAT2_NVF_NONE
    See Also:
      - Constant Field Values

  - ### KSTAT2_NVF_INVAL

    static final short KSTAT2_NVF_INVAL
    See Also:
      - Constant Field Values

- ## Method Details

  - ### kstat2_open

    int kstat2_open(PointerByReference handle, Kstat2.Kstat2MatcherList matchers)
    Initializes an opaque kstat2 handle that provides access to a specific view of the kernel statistics.
    Parameters:
      `handle` - A pointer to the handle to be initialized.
      `matchers` - Only kstats that match one or more of the provided matchers will be available. If a NULL or empty matcher list is provided, all of the system's kstats will be available, which is equivalent to calling the kstat2_open() function. Restricting the number of kstats available will improve performance and reduce the memory footprint.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_update

    int kstat2_update(Kstat2.Kstat2Handle handle)
    Synchronises the user's view with that of the kernel. The kernel may at any point add or remove kstats, causing the user's view of the available kstats to become out of date. The kstat2_update() function should be called periodically to resynchronise the two views.
    Parameters:
      `handle` - The handle to be updated.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_close

    int kstat2_close(PointerByReference handle)
    The kstat2_close() function frees all resources that are associated with the handle. It is the caller's responsibility to free any allocated matcher list by calling the kstat2_free_matcher_list() function.
    Parameters:
      `handle` - A reference to the handle to close.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_alloc_matcher_list

    int kstat2_alloc_matcher_list(PointerByReference matchers)
    Allocates a new matcher list to allow matchers to be provided to the `kstat2_open(PointerByReference, Kstat2MatcherList)` function.
    Parameters:
      `matchers` - Receives a pointer to the allocated matcher list.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_free_matcher_list

    int kstat2_free_matcher_list(PointerByReference matchers)
    Frees the resources associated with the matcher list.
    Parameters:
      `matchers` - A pointer to the `Kstat2.Kstat2MatcherList` to be freed.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_add_matcher

    int kstat2_add_matcher(int type, String match, Kstat2.Kstat2MatcherList matchers)
    Adds matchers to the provided matcher list. Each call appends the new matcher to the provided matcher list. Matches are on kstat URI, with the following match types supported: `KSTAT2_M_STRING` which performs a direct `strcmp` with the kstat URI, `KSTAT2_M_GLOB` which performs a glob pattern match using `gmatch`, and `KSTAT2_M_RE` which performs a Perl Compatible Regular Expression (PCRE) match using `pcre_exec`.
    Parameters:
      `type` - The type of matcher, from the `kstat2_match_type_t` enumeration.
      `match` - The string to match.
      `matchers` - The list to which to append the matcher.
    Returns:
      Upon successful completion, returns a int value of `KSTAT2_S_OK`. If an error occurs a value other than KSTAT2_S_OK is returned.

  - ### kstat2_lookup_map

    int kstat2_lookup_map(Kstat2.Kstat2Handle handle, String uri, PointerByReference map)
    Obtains a reference to a kstat2 map given the URI of the map.
    Parameters:
      `handle` - The handle to obtain the map from.
      `uri` - The string to match.
      `map` - Receives a reference to the relevant map.
    Returns:
      Upon successful completion, the function will set the map parameter to reference the relevant map and `KSTAT2_S_OK` will be returned. If the requested item cannot be found, the map reference will be set to `NULL` and an error will be returned.

  - ### kstat2_map_get

    int kstat2_map_get(Kstat2.Kstat2Map map, String name, PointerByReference nv)
    Retrieves the name/value (nv) pair identified by the supplied name. The reference returned is managed by the library and must not be passed to free().
    Parameters:
      `map` - The map from which to retrieve the data.
      `name` - The uri of the data to retrieve.
      `nv` - Receives a reference to the name/value data.
    Returns:
      Upon successful completion, returns `KSTAT2_S_OK`. If there is an error performing the requested operation, an error code will be returned.

  - ### kstat2_status_string

    String kstat2_status_string(int status)
    Gives a descriptive error message for the supplied status value.
    Parameters:
      `status` - A value in the `kstat2_status` enumeration.
    Returns:
      A descriptive string for the supplied status code.