1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 23 * Use is subject to license terms. 24 */ 25 #ifndef _STMF_STATS_H 26 #define _STMF_STATS_H 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 #include <sys/portif.h> 33 34 typedef struct stmf_kstat_itl_info { 35 kstat_named_t i_rport_name; 36 kstat_named_t i_rport_alias; 37 kstat_named_t i_lport_name; 38 kstat_named_t i_lport_alias; 39 kstat_named_t i_protocol; 40 kstat_named_t i_lu_guid; 41 kstat_named_t i_lu_alias; 42 kstat_named_t i_lu_number; 43 kstat_named_t i_task_waitq_elapsed; 44 kstat_named_t i_task_read_elapsed; 45 kstat_named_t i_task_write_elapsed; 46 kstat_named_t i_lu_read_elapsed; 47 kstat_named_t i_lu_write_elapsed; 48 kstat_named_t i_lport_read_elapsed; 49 kstat_named_t i_lport_write_elapsed; 50 } stmf_kstat_itl_info_t; 51 52 typedef struct stmf_kstat_lu_info { 53 kstat_named_t i_lun_guid; 54 kstat_named_t i_lun_alias; 55 } stmf_kstat_lu_info_t; 56 57 typedef struct stmf_kstat_tgt_info { 58 kstat_named_t i_tgt_name; 59 kstat_named_t i_tgt_alias; 60 kstat_named_t i_protocol; 61 } stmf_kstat_tgt_info_t; 62 63 #define STMF_RPORT_INFO_LIMIT 8 64 65 typedef struct stmf_kstat_rport_info { 66 kstat_named_t i_rport_name; 67 kstat_named_t i_protocol; 68 kstat_named_t i_rport_uinfo[STMF_RPORT_INFO_LIMIT]; 69 } stmf_kstat_rport_info_t; 70 71 typedef struct stmf_kstat_rport_estat { 72 kstat_named_t i_rport_read_latency; 73 kstat_named_t i_rport_write_latency; 74 kstat_named_t i_nread_tasks; 75 kstat_named_t i_nwrite_tasks; 76 } stmf_kstat_rport_estat_t; 77 78 #ifdef __cplusplus 79 } 80 #endif 81 82 #endif /* _STMF_STATS_H */ 83