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.