Statistics
| Branch: | Revision:

root / slirp / if.h @ 4dbc422b

History | View | Annotate | Download (1.7 kB)

1 f0cbd3ec bellard
/*
2 f0cbd3ec bellard
 * Copyright (c) 1995 Danny Gasparovski.
3 5fafdf24 ths
 *
4 5fafdf24 ths
 * Please read the file COPYRIGHT for the
5 f0cbd3ec bellard
 * terms and conditions of the copyright.
6 f0cbd3ec bellard
 */
7 f0cbd3ec bellard
8 f0cbd3ec bellard
#ifndef _IF_H_
9 f0cbd3ec bellard
#define _IF_H_
10 f0cbd3ec bellard
11 f0cbd3ec bellard
#define IF_COMPRESS        0x01        /* We want compression */
12 f0cbd3ec bellard
#define IF_NOCOMPRESS        0x02        /* Do not do compression */
13 f0cbd3ec bellard
#define IF_AUTOCOMP        0x04        /* Autodetect (default) */
14 f0cbd3ec bellard
#define IF_NOCIDCOMP        0x08        /* CID compression */
15 f0cbd3ec bellard
16 9634d903 blueswir1
#define IF_MTU 1500
17 9634d903 blueswir1
#define IF_MRU 1500
18 9634d903 blueswir1
#define        IF_COMP IF_AUTOCOMP        /* Flags for compression */
19 9634d903 blueswir1
20 9634d903 blueswir1
#if 0
21 9634d903 blueswir1
/*
22 9634d903 blueswir1
 * Set if_maxlinkhdr to 48 because it's 40 bytes for TCP/IP,
23 9634d903 blueswir1
 * and 8 bytes for PPP, but need to have it on an 8byte boundary
24 9634d903 blueswir1
 */
25 9634d903 blueswir1
#ifdef USE_PPP
26 9634d903 blueswir1
#define IF_MAXLINKHDR 48
27 9634d903 blueswir1
#else
28 9634d903 blueswir1
#define IF_MAXLINKHDR 40
29 9634d903 blueswir1
#endif
30 9634d903 blueswir1
#else
31 9634d903 blueswir1
        /* 2 for alignment, 14 for ethernet, 40 for TCP/IP */
32 9634d903 blueswir1
#define IF_MAXLINKHDR (2 + 14 + 40)
33 9634d903 blueswir1
#endif
34 9634d903 blueswir1
35 f0cbd3ec bellard
extern int        if_queued;        /* Number of packets queued so far */
36 f0cbd3ec bellard
37 f0cbd3ec bellard
extern        struct mbuf if_fastq;                  /* fast queue (for interactive data) */
38 f0cbd3ec bellard
extern        struct mbuf if_batchq;                 /* queue for non-interactive data */
39 f0cbd3ec bellard
extern        struct mbuf *next_m;
40 f0cbd3ec bellard
41 f0cbd3ec bellard
#define ifs_init(ifm) ((ifm)->ifs_next = (ifm)->ifs_prev = (ifm))
42 f0cbd3ec bellard
43 31a60e22 blueswir1
#ifdef LOG_ENABLED
44 f0cbd3ec bellard
/* Interface statistics */
45 f0cbd3ec bellard
struct slirp_ifstats {
46 f0cbd3ec bellard
        u_int out_pkts;                /* Output packets */
47 f0cbd3ec bellard
        u_int out_bytes;                /* Output bytes */
48 f0cbd3ec bellard
        u_int out_errpkts;        /* Output Error Packets */
49 f0cbd3ec bellard
        u_int out_errbytes;        /* Output Error Bytes */
50 f0cbd3ec bellard
        u_int in_pkts;                /* Input packets */
51 f0cbd3ec bellard
        u_int in_bytes;                /* Input bytes */
52 f0cbd3ec bellard
        u_int in_errpkts;                /* Input Error Packets */
53 f0cbd3ec bellard
        u_int in_errbytes;        /* Input Error Bytes */
54 5fafdf24 ths
55 f0cbd3ec bellard
        u_int bytes_saved;        /* Number of bytes that compression "saved" */
56 f0cbd3ec bellard
                                /* ie: number of bytes that didn't need to be sent over the link
57 f0cbd3ec bellard
                                 * because of compression */
58 5fafdf24 ths
59 f0cbd3ec bellard
        u_int in_mbad;                /* Bad incoming packets */
60 f0cbd3ec bellard
};
61 31a60e22 blueswir1
#endif
62 f0cbd3ec bellard
63 f0cbd3ec bellard
#endif