freebsd-dev/sys/dev/hea/eni_stats.h
Poul-Henning Kamp 1820df7a2d Add new files for HARP3
Host ATM Research Platform (HARP), Network Computing Services, Inc.
This software was developed with the support of the Defense Advanced
Research Projects Agency (DARPA).
1998-09-15 08:23:17 +00:00

135 lines
4.5 KiB
C

/*
*
* ===================================
* HARP | Host ATM Research Platform
* ===================================
*
*
* This Host ATM Research Platform ("HARP") file (the "Software") is
* made available by Network Computing Services, Inc. ("NetworkCS")
* "AS IS". NetworkCS does not provide maintenance, improvements or
* support of any kind.
*
* NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
* INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
* SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
* In no event shall NetworkCS be responsible for any damages, including
* but not limited to consequential damages, arising from or relating to
* any use of the Software or related support.
*
* Copyright 1994-1998 Network Computing Services, Inc.
*
* Copies of this Software may be made, however, the above copyright
* notice must be reproduced on all copies.
*
* @(#) $Id: eni_stats.h,v 1.6 1998/08/26 23:28:54 mks Exp $
*
*/
/*
* Efficient ENI Adapter Support
* -----------------------------
*
* Defines for statistics
*
*/
#ifndef _ENI_ENI_STATS_H
#define _ENI_ENI_STATS_H
struct eni_stats_oc3 {
u_long oc3_sect_bip8; /* Section 8-bit intrlv parity errors */
u_long oc3_path_bip8; /* Path 8-bit intrlv parity errors */
u_long oc3_line_bip24; /* Line 24-bit intrlv parity errors */
u_long oc3_line_febe; /* Line far-end block errors */
u_long oc3_path_febe; /* Path far-end block errors */
u_long oc3_hec_corr; /* Correctable HEC errors */
u_long oc3_hec_uncorr; /* Uncorrectable HEC errors */
u_long oc3_pad; /* Pad to quad-word boundary */
};
typedef struct eni_stats_oc3 Eni_Stats_oc3;
struct eni_stats_atm {
u_long atm_xmit; /* Cells transmitted */
u_long atm_rcvd; /* Cells received */
u_long atm_pad[2]; /* Pad to quad-word boundary */
};
typedef struct eni_stats_atm Eni_Stats_atm;
struct eni_stats_aal0 {
u_long aal0_xmit; /* Cells transmitted */
u_long aal0_rcvd; /* Cells received */
u_long aal0_drops; /* Cells dropped */
u_long aal0_pad; /* Pad to quad-word boundary */
};
typedef struct eni_stats_aal0 Eni_Stats_aal0;
struct eni_stats_aal5 {
u_long aal5_xmit; /* Cells transmitted */
u_long aal5_rcvd; /* Cells received */
u_long aal5_crc_len; /* Cells with CRC/length errors */
u_long aal5_drops; /* Cell drops */
u_long aal5_pdu_xmit; /* CS PDUs transmitted */
u_long aal5_pdu_rcvd; /* CS PDUs received */
u_long aal5_pdu_crc; /* CS PDUs with CRC errors */
u_long aal5_pdu_errs; /* CS layer protocol errors */
u_long aal5_pdu_drops; /* CS PDUs dropped */
u_long aal5_pad[3]; /* Pad to quad-word boundary */
};
typedef struct eni_stats_aal5 Eni_Stats_aal5;
struct eni_stats_driver {
/*
* Adapter memory allocator stats
*/
u_long drv_mm_toobig; /* Size larger then adapter supports */
u_long drv_mm_nodesc; /* No memory area descriptor avail */
u_long drv_mm_nobuf; /* No memory buffer available */
u_long drv_mm_notuse; /* Calling free() on free buffer */
u_long drv_mm_notfnd; /* Couldn't find descr for free() */
/*
* VCM sats
*/
u_long drv_vc_maxpdu; /* Requested PDU size too large */
u_long drv_vc_badrng; /* VPI and/or VCI too large */
/*
* Receive stats
*/
u_long drv_rv_norsc; /* No buffer for resource pointers */
u_long drv_rv_nobufs; /* No buffers for PDU */
u_long drv_rv_nodma; /* No room in RXDMA list */
u_long drv_rv_rxq; /* No room in local rxqueue */
u_long drv_rv_novcc; /* Draining PDU on closed VCC */
u_long drv_rv_intrq; /* No room in atm_intrq */
u_long drv_rv_null; /* Trying to pass null PDU up stack */
u_long drv_rv_segdma; /* No DMA address */
/*
* Transmit stats
*/
u_long drv_xm_segdma; /* No DMA address */
u_long drv_xm_segnoal; /* Non-aligned segment */
u_long drv_xm_seglen; /* Padded length segment */
u_long drv_xm_maxpdu; /* Too many segments - dropped */
u_long drv_xm_nobuf; /* No space in TX buffer - dropped */
u_long drv_xm_norsc; /* No buffers for resource pointers */
u_long drv_xm_nodma; /* No space in TXDMA list */
u_long drv_xm_dmaovfl; /* DMA overflow */
};
typedef struct eni_stats_driver Eni_Stats_drv;
struct eni_stats {
Eni_Stats_oc3 eni_st_oc3; /* OC3 layer stats */
Eni_Stats_atm eni_st_atm; /* ATM layer stats */
Eni_Stats_aal0 eni_st_aal0; /* AAL0 layer stats */
Eni_Stats_aal5 eni_st_aal5; /* AAL5 layer stats */
Eni_Stats_drv eni_st_drv; /* Driver stats */
};
typedef struct eni_stats Eni_stats;
#endif /* _ENI_ENI_STATS_H */