/* iad_dstx.c */

/* Dump the driver statistics */

#include <stdio.h>
#include <fcntl.h>

typedef struct
{
   int interrupts;       /* Number of interrupts   */
   int rfred_intr;       /* Rfred ints             */
   int tfred_intr;       /* Tfred ints             */
   int addgen_intr;      /* Recvd packet DLE int   */
   int suni_intr;        /* SUNI ints              */
   int rx_buf_on_dma_q;  /* Rx buf queued for DMA  */
   int tcq_empty;
   int tx_packets;
   int tx_bytes;
   int tx_drops;
   int tx_waits;
   int rx_packets;
   int rx_bytes;
   int tx_skb_consumed;
   int tx_skb_returned;
} ia_driver_stat_t;

#include "ia_comm.h"

ia_driver_stat_t dstat;

main()
{
   int fd;
   int len;
   int i;
   int j;

   fd = open("/dev/ia5515", O_RDWR);
   len = ioctl(fd, IA_DRVSTAT, &dstat);

   printf("interrupts          %8d \n", dstat.interrupts);
   printf("rfred_intr          %8d \n", dstat.rfred_intr);
   printf("tfred_intr          %8d \n", dstat.tfred_intr);
   printf("addgen_intr         %8d \n", dstat.addgen_intr);
   printf("suni_intr           %8d \n", dstat.suni_intr);
   printf("rx_buf_on_dma_q     %8d \n", dstat.rx_buf_on_dma_q);
   printf("tcq_empty           %8d \n", dstat.tcq_empty);
   printf("tx_packets          %8d \n", dstat.tx_packets);
   printf("tx_bytes            %8d \n", dstat.tx_bytes);
   printf("tx_drops            %8d \n", dstat.tx_drops);
   printf("tx_waits            %8d \n", dstat.tx_waits);
   printf("rx_packets          %8d \n", dstat.rx_packets);
   printf("rx_bytes            %8d \n", dstat.rx_bytes);
   printf("tx_skb_consumed     %8d \n", dstat.tx_skb_consumed);
   printf("tx_skb_returned     %8d \n", dstat.tx_skb_returned);
}
