Kernel Functions for Drivers net_kstat_create(9F)
NAME
net_kstat_create - create and initialize a new kstat for a
specific instance of IPSYNOPSIS
#include
#include
#include
kstat_t *net_kstat_create(netid_t netid, char *module,
int instance, char *name, char *class, uchar_type type,
ulong_t ndata, uchar_t ks_flag);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
netid IP instance identifier. module The name of the provider's module (such as "sd", "esp", ...). The "core" kernel uses the name "unix". instance The provider's instance number, as fromddi_get_instance(9F). Modules which do not have
a meaningful instance number should use 0. name A pointer to a string that uniquely identifiesthis structure. Only KSTAT_STRLEN - 1 characters
are significant. class The general class that this kstat belongs to. The following classes are currently in use: disk, tape, net, controller, vm, kvm, hat, streams, kstat, and misc. type The type of kstat to allocate. Valid types are:KSTAT_TYPE_NAMED
Allows more than one data record per kstat.KSTAT_TYPE_INTR
Interrupt; only one data record per kstat.SunOS 5.11 Last change: 1 May 2008 1
Kernel Functions for Drivers net_kstat_create(9F)
KSTAT_TYPE_IO
I/O; only one data record per kstat
ndata The number of type-specific data records to
allocate.ks_flag A bit-field of various flags for this kstat.
ks_flag is some combination of:
KSTAT_FLAG_VIRTUAL
Tells kstat_create() not to allocate memory
for the kstat data section; instead, thedriver will set the ks_data field to point
to the data it wishes to export. This pro-
vides a convenient way to export existing data structures.KSTAT_FLAG_WRITABLE
Makes the kstat data section writable by root.KSTAT_FLAG_PERSISTENT
Indicates that this kstat is to be per-
sistent over time. For persistent kstats,kstat_delete(9F) simply marks the kstat as
dormant; a subsequent kstat_create() reac-
tivates the kstat. This feature is provided so that statistics are not lost acrossdriver close/open (such as raw disk I/O on a
disk with no mounted partitions.) Note: Per-
sistent kstats cannot be virtual, sinceks_data points to garbage as soon as the
driver goes away.DESCRIPTION
The net_kstat_create() function allocates and initializes a
kstat(9S) structure. See kstat_create(9F) for a complete
discussion of this function.RETURN VALUES
SunOS 5.11 Last change: 1 May 2008 2
Kernel Functions for Drivers net_kstat_create(9F)
If successful, net_kstat_create() returns a pointer to the
allocated kstat. NULL is returned upon failure.CONTEXT
The net_kstat_create() function may be called from user or
kernel context.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
ddi_get_instance(9F), kstat_create(9F), kstat_delete(9F),
net_kstat_delete(9F), hook_t(9S), kstat_named(9S)
SunOS 5.11 Last change: 1 May 2008 3