Current File : //usr/man/man3kstat/kstat_open.3kstat
'\" te
.\" Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
.TH kstat_open 3KSTAT "13 Apr 2010" "SunOS 5.11" "Kernel Statistics Library Functions"
.SH NAME
kstat_open, kstat_close \- initialize kernel statistics facility
.SH SYNOPSIS
.LP
.nf
\fBcc\fR[ \fIflag\fR\&.\|.\|. ] \fIfile\fR\&.\|.\|. \fB-lkstat\fR [ \fIlibrary\fR\&.\|.\|.]
#include <kstat.h>

\fBkstat_ctl_t *\fR\fBkstat_open\fR(\fB\fR\fIvoid\fR);
.fi

.LP
.nf
\fBint\fR \fBkstat_close\fR(\fBkstat_ctl_t *\fR\fIkc\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBkstat_open()\fR 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 \fIkc\fR argument in subsequent \fBlibkstat\fR function calls.
.sp
.LP
The \fBkstat_close()\fR function frees all resources that were associated with \fIkc\fR. This is performed automatically on \fBexit\fR(2) and \fBexecve\fR(2).
.SH RETURN VALUES
.sp
.LP
Upon successful completion, \fBkstat_open()\fR returns a pointer to a kstat control structure.  Otherwise, it returns \fINULL\fR, no resources are allocated, and \fBerrno\fR is set to indicate the error.
.sp
.LP
Upon successful completion, \fBkstat_close()\fR returns 0. Otherwise, \(mi1 is returned and \fBerrno\fR is set to indicate the error.
.SH ERRORS
.sp
.LP
The \fBkstat_open()\fR function will fail if:
.sp
.ne 2
.mk
.na
\fB\fBENOMEM\fR\fR
.ad
.RS 13n
.rt  
Insufficient storage space is available.
.RE

.sp
.ne 2
.mk
.na
\fB\fBEAGAIN\fR\fR
.ad
.RS 13n
.rt  
The kstat was temporarily unavailable for reading or writing.
.RE

.sp
.ne 2
.mk
.na
\fB\fBENXIO\fR\fR
.ad
.RS 13n
.rt  
The given kstat could not be located for reading.
.RE

.sp
.ne 2
.mk
.na
\fB\fBEOVERFLOW\fR\fR
.ad
.RS 13n
.rt  
The data for the given kstat was too large to be stored in the structure.
.RE

.sp
.LP
The \fBkstat_open()\fR function can also return the error values for \fBopen\fR(2).
.sp
.LP
The \fBkstat_close()\fR function can also return the error values for \fBclose\fR(2).
.SH FILES
.sp
.ne 2
.mk
.na
\fB\fB/dev/kstat\fR\fR
.ad
.RS 14n
.rt  
kernel statistics driver
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i) 
lw(2.75i) |lw(2.75i) 
.
ATTRIBUTE TYPEATTRIBUTE VALUE
_
Interface StabilityCommitted
_
MT-LevelSee below.
.TE

.sp
.LP
The \fBkstat_open()\fR function is Safe. The \fBkstat_close()\fR function is MT-Safe with the exception that only one thread may actively use a \fBkstat_ctl_t *\fR value at any time. Synchronization is left to the application.
.SH SEE ALSO
.sp
.LP
\fBclose\fR(2), \fBexecve\fR(2), \fBopen\fR(2), \fBexit\fR(2), \fBkstat\fR(3KSTAT), \fBkstat_chain_update\fR(3KSTAT), \fBkstat_lookup\fR(3KSTAT), \fBkstat_read\fR(3KSTAT), \fBattributes\fR(5)