Make Slirp statistics gathering and output conditional to LOG_ENABLED
[qemu] / slirp / if.h
1 /*
2  * Copyright (c) 1995 Danny Gasparovski.
3  *
4  * Please read the file COPYRIGHT for the
5  * terms and conditions of the copyright.
6  */
7
8 #ifndef _IF_H_
9 #define _IF_H_
10
11 #define IF_COMPRESS     0x01    /* We want compression */
12 #define IF_NOCOMPRESS   0x02    /* Do not do compression */
13 #define IF_AUTOCOMP     0x04    /* Autodetect (default) */
14 #define IF_NOCIDCOMP    0x08    /* CID compression */
15
16 /* Needed for FreeBSD */
17 #undef if_mtu
18 extern int      if_mtu;
19 extern int      if_mru; /* MTU and MRU */
20 extern int      if_comp;        /* Flags for compression */
21 extern int      if_maxlinkhdr;
22 extern int      if_queued;      /* Number of packets queued so far */
23 extern int      if_thresh;      /* Number of packets queued before we start sending
24                                  * (to prevent allocing too many mbufs) */
25
26 extern  struct mbuf if_fastq;                  /* fast queue (for interactive data) */
27 extern  struct mbuf if_batchq;                 /* queue for non-interactive data */
28 extern  struct mbuf *next_m;
29
30 #define ifs_init(ifm) ((ifm)->ifs_next = (ifm)->ifs_prev = (ifm))
31
32 #ifdef LOG_ENABLED
33 /* Interface statistics */
34 struct slirp_ifstats {
35         u_int out_pkts;         /* Output packets */
36         u_int out_bytes;                /* Output bytes */
37         u_int out_errpkts;      /* Output Error Packets */
38         u_int out_errbytes;     /* Output Error Bytes */
39         u_int in_pkts;          /* Input packets */
40         u_int in_bytes;         /* Input bytes */
41         u_int in_errpkts;               /* Input Error Packets */
42         u_int in_errbytes;      /* Input Error Bytes */
43
44         u_int bytes_saved;      /* Number of bytes that compression "saved" */
45                                 /* ie: number of bytes that didn't need to be sent over the link
46                                  * because of compression */
47
48         u_int in_mbad;          /* Bad incoming packets */
49 };
50 #endif
51
52 #endif