KSTAT_IO(9S)             Data Structures for Drivers            KSTAT_IO(9S)
NAME
       kstat_io - structure for I/O kstats
SYNOPSIS
       #include <sys/types.h>
       #include <sys/kstat.h>
       #include <sys/ddi.h>
       #include <sys/sunddi.h>
INTERFACE LEVEL
       illumos DDI specific (illumos DDI)
DESCRIPTION
       I/O kstat statistics are kept in a 
kstat_io structure. When       
kstat_create(9F) creates an 
I/O kstat, the 
ks_data field is a pointer
       to one of these structures. The macro 
KSTAT_IO_PTR() is provided to
       retrieve this field. It looks like this:
         #define KSTAT_IO_PTR(kptr)    ((kstat_io_t *)(kptr)->ks_data)
STRUCTURE MEMBERS
         u_longlong_t      nread;      /* number of bytes read */
         u_longlong_t      nwritten;   /* number of bytes written *]/
         ulong_t           reads;      /* number of read operations */
         ulong_t           writes;     /* number of write operations */
       The 
nread field should be updated by the driver with the number of
       bytes successfully read upon completion.
       The 
nwritten field should be updated by the driver with the number of
       bytes successfully written upon completion.
       The 
reads field should be updated by the driver after each successful
       read operation.
       The 
writes field should be updated by the driver after each
       successful write operation.
       Other 
I/O statistics are updated through the use of the       
kstat_queue(9F) functions.
SEE ALSO
       kstat_create(9F), 
kstat_named_init(9F), 
kstat_queue(9F),       
kstat_runq_back_to_waitq(9F), 
kstat_runq_enter(9F),       
kstat_runq_exit(9F), 
kstat_waitq_enter(9F), 
kstat_waitq_exit(9F),       
kstat_waitq_to_runq(9F)       Writing Device Drivers                                April 4, 1994                   KSTAT_IO(9S)