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 |
/* Interface statistics */ |
33 |
struct slirp_ifstats { |
34 |
u_int out_pkts; /* Output packets */ |
35 |
u_int out_bytes; /* Output bytes */ |
36 |
u_int out_errpkts; /* Output Error Packets */ |
37 |
u_int out_errbytes; /* Output Error Bytes */ |
38 |
u_int in_pkts; /* Input packets */ |
39 |
u_int in_bytes; /* Input bytes */ |
40 |
u_int in_errpkts; /* Input Error Packets */ |
41 |
u_int in_errbytes; /* Input Error Bytes */ |
42 |
|
43 |
u_int bytes_saved; /* Number of bytes that compression "saved" */ |
44 |
/* ie: number of bytes that didn't need to be sent over the link |
45 |
* because of compression */ |
46 |
|
47 |
u_int in_mbad; /* Bad incoming packets */ |
48 |
}; |
49 |
|
50 |
#endif |