xref: /illumos-gate/usr/src/man/man3kstat/kstat_open.3kstat (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
10be687eaSRobert Mustacchi.\"
2c10c16deSRichard Lowe.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved.
30be687eaSRobert Mustacchi.\" Copyright 2021 Oxide Computer Company
40be687eaSRobert Mustacchi.\"
50be687eaSRobert Mustacchi.\" The contents of this file are subject to the terms of the
60be687eaSRobert Mustacchi.\" Common Development and Distribution License (the "License").
70be687eaSRobert Mustacchi.\" You may not use this file except in compliance with the License.
80be687eaSRobert Mustacchi.\"
90be687eaSRobert Mustacchi.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
100be687eaSRobert Mustacchi.\" or http://www.opensolaris.org/os/licensing.
110be687eaSRobert Mustacchi.\" See the License for the specific language governing permissions
120be687eaSRobert Mustacchi.\" and limitations under the License.
130be687eaSRobert Mustacchi.\"
140be687eaSRobert Mustacchi.\" When distributing Covered Code, include this CDDL HEADER in each
150be687eaSRobert Mustacchi.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
160be687eaSRobert Mustacchi.\" If applicable, add the following below this CDDL HEADER, with the
170be687eaSRobert Mustacchi.\" fields enclosed by brackets "[]" replaced with your own identifying
180be687eaSRobert Mustacchi.\" information: Portions Copyright [yyyy] [name of copyright owner]
190be687eaSRobert Mustacchi.\"
200be687eaSRobert Mustacchi.Dd November 29, 2021
210be687eaSRobert Mustacchi.Dt KSTAT_OPEN 3KSTAT
220be687eaSRobert Mustacchi.Os
230be687eaSRobert Mustacchi.Sh NAME
240be687eaSRobert Mustacchi.Nm kstat_open ,
250be687eaSRobert Mustacchi.Nm kstat_close
260be687eaSRobert Mustacchi.Nd initialize kernel statistics facility
270be687eaSRobert Mustacchi.Sh LIBRARY
280be687eaSRobert Mustacchi.Lb libkstat
290be687eaSRobert Mustacchi.Sh SYNOPSIS
300be687eaSRobert Mustacchi.In kstat.h
310be687eaSRobert Mustacchi.Ft "kstat_ctl_t *"
320be687eaSRobert Mustacchi.Fo kstat_open
330be687eaSRobert Mustacchi.Fa "void"
340be687eaSRobert Mustacchi.Fc
350be687eaSRobert Mustacchi.Ft int
360be687eaSRobert Mustacchi.Fo kstat_close
370be687eaSRobert Mustacchi.Fa "kstat_ctl_t *kc"
380be687eaSRobert Mustacchi.Fc
390be687eaSRobert Mustacchi.Sh DESCRIPTION
400be687eaSRobert MustacchiThe
410be687eaSRobert Mustacchi.Fn kstat_open
420be687eaSRobert Mustacchifunction initializes a kstat control structure that provides access to the
430be687eaSRobert Mustacchikernel statistics library.
440be687eaSRobert MustacchiIt returns a pointer to this structure, which must be supplied as the
450be687eaSRobert Mustacchi.Fa kc
460be687eaSRobert Mustacchiargument in subsequent
470be687eaSRobert Mustacchi.Sy libkstat
480be687eaSRobert Mustacchifunction calls.
490be687eaSRobert Mustacchi.Pp
500be687eaSRobert MustacchiThe
510be687eaSRobert Mustacchi.Fn kstat_close
520be687eaSRobert Mustacchifunction frees all resources that were associated with
530be687eaSRobert Mustacchi.Fa kc .
540be687eaSRobert MustacchiThis is performed automatically on
550be687eaSRobert Mustacchi.Xr exit 2
560be687eaSRobert Mustacchiand
570be687eaSRobert Mustacchi.Xr execve 2 .
580be687eaSRobert Mustacchi.Sh RETURN VALUES
590be687eaSRobert MustacchiUpon successful completion,
600be687eaSRobert Mustacchi.Fn kstat_open
610be687eaSRobert Mustacchireturns a pointer to a kstat control structure.
620be687eaSRobert MustacchiOtherwise, it returns
630be687eaSRobert Mustacchi.Dv NULL ,
640be687eaSRobert Mustacchino resources are allocated, and
650be687eaSRobert Mustacchi.Va errno
660be687eaSRobert Mustacchiis set to indicate the error.
670be687eaSRobert Mustacchi.Pp
680be687eaSRobert MustacchiUpon successful completion,
690be687eaSRobert Mustacchi.Fn kstat_close
700be687eaSRobert Mustacchireturns
710be687eaSRobert Mustacchi.Sy 0 .
720be687eaSRobert MustacchiOtherwise,
730be687eaSRobert Mustacchi.Sy -1
740be687eaSRobert Mustacchiis returned and
750be687eaSRobert Mustacchi.Va errno
760be687eaSRobert Mustacchiis set to indicate the error.
770be687eaSRobert Mustacchi.Sh FILES
780be687eaSRobert Mustacchi.Bl -tag -width Pa
790be687eaSRobert Mustacchi.It Pa /dev/kstat
800be687eaSRobert Mustacchikernel statistics driver character device
810be687eaSRobert Mustacchi.El
820be687eaSRobert Mustacchi.Sh ERRORS
830be687eaSRobert MustacchiThe
840be687eaSRobert Mustacchi.Fn kstat_open
850be687eaSRobert Mustacchifunction will fail if:
860be687eaSRobert Mustacchi.Bl -tag -width Er
870be687eaSRobert Mustacchi.It Er ENOMEM
88c10c16deSRichard LoweInsufficient storage space is available.
890be687eaSRobert Mustacchi.It Er EAGAIN
90c10c16deSRichard LoweThe kstat was temporarily unavailable for reading or writing.
910be687eaSRobert Mustacchi.It Er ENXIO
92c10c16deSRichard LoweThe given kstat could not be located for reading.
930be687eaSRobert Mustacchi.It Er EOVERFLOW
94c10c16deSRichard LoweThe data for the given kstat was too large to be stored in the structure.
950be687eaSRobert Mustacchi.El
960be687eaSRobert Mustacchi.Pp
970be687eaSRobert MustacchiThe
980be687eaSRobert Mustacchi.Fn kstat_open
990be687eaSRobert Mustacchifunction can also return the error values for
1000be687eaSRobert Mustacchi.Xr open 2 .
1010be687eaSRobert Mustacchi.Pp
1020be687eaSRobert MustacchiThe
1030be687eaSRobert Mustacchi.Fn kstat_close
1040be687eaSRobert Mustacchifunction can also return the error values for
1050be687eaSRobert Mustacchi.Xr close 2 .
1060be687eaSRobert Mustacchi.Sh INTERFACE STABILITY
1070be687eaSRobert Mustacchi.Sy Committed
1080be687eaSRobert Mustacchi.Sh MT-LEVEL
1090be687eaSRobert Mustacchi.Sy Unsafe
1100be687eaSRobert Mustacchi.Sh SEE ALSO
1110be687eaSRobert Mustacchi.Xr close 2 ,
1120be687eaSRobert Mustacchi.Xr execve 2 ,
1130be687eaSRobert Mustacchi.Xr exit 2 ,
1140be687eaSRobert Mustacchi.Xr open 2 ,
1150be687eaSRobert Mustacchi.Xr kstat 3KSTAT ,
1160be687eaSRobert Mustacchi.Xr kstat_chain_update 3KSTAT ,
1170be687eaSRobert Mustacchi.Xr kstat_lookup 3KSTAT ,
1180be687eaSRobert Mustacchi.Xr kstat_read 3KSTAT ,
119*bbf21555SRichard Lowe.Xr attributes 7
120