Go to main content

man pages section 3: Extended Library Functions, Volume 2

Exit Print View

Updated: Thursday, June 13, 2019
 
 

kstat_close(3KSTAT)

Name

kstat_open, kstat_close - initialize kernel statistics facility

Synopsis

cc[ flag… ] file–lkstat [ library…]
#include <kstat.h>

kstat_ctl_t *kstat_open(void);
int kstat_close(kstat_ctl_t *kc);

Description

The kstat_open() function initializes a kstat control structure that provides access to the kernel statistics library. It returns a pointer to this structure, which must be supplied as the kc argument in subsequent libkstat function calls.

The kstat_close() function frees all resources that were associated with kc. This is performed automatically on the exit() and execve() functions. For more information, see the exit(2) and execve(2) man pages.

Return Values

Upon successful completion, kstat_open() returns a pointer to a kstat control structure. Otherwise, it returns NULL, no resources are allocated, and errno is set to indicate the error.

Upon successful completion, kstat_close() returns 0. Otherwise, −1 is returned and errno is set to indicate the error.

Errors

The kstat_open() function will fail if:

ENOMEM

Insufficient storage space is available.

EAGAIN

The kstat was temporarily unavailable for reading or writing.

ENXIO

The given kstat could not be located for reading.

EOVERFLOW

The data for the given kstat was too large to be stored in the structure.

The kstat_open() function can also return the error values for the open() function. For more information, see the open(2) man page.

The kstat_close() function can also return the error values for the close() function. For more information, see the close(2) man page.

Files

/dev/kstat

kernel statistics driver

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Obsolete
MT-Level
See below.

The kstat_open() function is Safe. The kstat_close() function is MT-Safe with the exception that only one thread may actively use a kstat_ctl_t * value at any time. Synchronization is left to the application.

See Also

close(2), execve(2), exit(2), open(2), kstat(3KSTAT), kstat_chain_update(3KSTAT), kstat_lookup(3KSTAT), kstat_read(3KSTAT), attributes(7), kstat2(3KSTAT2), kstat2_open(3KSTAT2), kstat2_close(3KSTAT2)

Notes

The kstat_open() and kstat_close() functions are deprecated. They may be removed in a future release of Oracle Solaris. Use the kstat2_open() and kstat2_close() functions instead. For more information, see the kstat2_open(3KSTAT2) and kstat2_close(3KSTAT2) man pages.