1283514Sarybchik/*- 2300607Sarybchik * Copyright (c) 2009-2016 Solarflare Communications Inc. 3283514Sarybchik * All rights reserved. 4283514Sarybchik * 5283514Sarybchik * Redistribution and use in source and binary forms, with or without 6283514Sarybchik * modification, are permitted provided that the following conditions are met: 7283514Sarybchik * 8283514Sarybchik * 1. Redistributions of source code must retain the above copyright notice, 9283514Sarybchik * this list of conditions and the following disclaimer. 10283514Sarybchik * 2. Redistributions in binary form must reproduce the above copyright notice, 11283514Sarybchik * this list of conditions and the following disclaimer in the documentation 12283514Sarybchik * and/or other materials provided with the distribution. 13283514Sarybchik * 14283514Sarybchik * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15283514Sarybchik * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 16283514Sarybchik * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 17283514Sarybchik * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 18283514Sarybchik * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19283514Sarybchik * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20283514Sarybchik * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 21283514Sarybchik * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 22283514Sarybchik * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 23283514Sarybchik * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 24283514Sarybchik * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25283514Sarybchik * 26283514Sarybchik * The views and conclusions contained in the software and documentation are 27283514Sarybchik * those of the authors and should not be interpreted as representing official 28283514Sarybchik * policies, either expressed or implied, of the FreeBSD Project. 29283514Sarybchik * 30283514Sarybchik * $FreeBSD$ 31283514Sarybchik */ 32283514Sarybchik 33283514Sarybchik#ifndef _SYS_MCDI_MON_H 34283514Sarybchik#define _SYS_MCDI_MON_H 35283514Sarybchik 36283514Sarybchik#include "efx.h" 37283514Sarybchik 38283514Sarybchik#ifdef __cplusplus 39283514Sarybchikextern "C" { 40283514Sarybchik#endif 41283514Sarybchik 42283514Sarybchik#if EFSYS_OPT_MON_MCDI 43283514Sarybchik 44283514Sarybchik#if EFSYS_OPT_MON_STATS 45283514Sarybchik 46291436Sarybchik __checkReturn efx_rc_t 47283514Sarybchikmcdi_mon_cfg_build( 48283514Sarybchik __in efx_nic_t *enp); 49283514Sarybchik 50283514Sarybchik void 51283514Sarybchikmcdi_mon_cfg_free( 52283514Sarybchik __in efx_nic_t *enp); 53283514Sarybchik 54283514Sarybchik 55291436Sarybchikextern __checkReturn efx_rc_t 56283514Sarybchikmcdi_mon_ev( 57283514Sarybchik __in efx_nic_t *enp, 58283514Sarybchik __in efx_qword_t *eqp, 59283514Sarybchik __out efx_mon_stat_t *idp, 60283514Sarybchik __out efx_mon_stat_value_t *valuep); 61283514Sarybchik 62291436Sarybchikextern __checkReturn efx_rc_t 63283514Sarybchikmcdi_mon_stats_update( 64283514Sarybchik __in efx_nic_t *enp, 65283514Sarybchik __in efsys_mem_t *esmp, 66291395Sarybchik __inout_ecount(EFX_MON_NSTATS) efx_mon_stat_value_t *values); 67283514Sarybchik 68283514Sarybchik#endif /* EFSYS_OPT_MON_STATS */ 69283514Sarybchik 70283514Sarybchik#endif /* EFSYS_OPT_MON_MCDI */ 71283514Sarybchik 72283514Sarybchik#ifdef __cplusplus 73283514Sarybchik} 74283514Sarybchik#endif 75283514Sarybchik 76283514Sarybchik#endif /* _SYS_MCDI_MON_H */ 77