1 | /* $NetBSD: if_stripvar.h,v 1.19 2007/07/14 21:02:42 ad Exp $ */ |
2 | |
3 | #ifndef _NET_IF_STRIPVAR_H_ |
4 | #define _NET_IF_STRIPVAR_H_ |
5 | |
6 | /* |
7 | * Definitions for STRIP interface data structures |
8 | */ |
9 | struct strip_softc { |
10 | struct ifnet sc_if; /* network-visible interface */ |
11 | int sc_unit; /* XXX unit number */ |
12 | struct ifqueue sc_fastq; /* interactive output queue */ |
13 | struct ifqueue sc_inq; /* input queue */ |
14 | struct tty *sc_ttyp; /* pointer to tty structure */ |
15 | struct callout sc_timo_ch; /* timeout callout */ |
16 | u_char *sc_mp; /* pointer to next available buf char */ |
17 | u_char *sc_ep; /* pointer to last available buf char */ |
18 | u_char *sc_pktstart; /* pointer to beginning of packet */ |
19 | struct mbuf *sc_mbuf; /* input buffer */ |
20 | u_char *sc_rxbuf; /* input destuffing buffer */ |
21 | u_char *sc_txbuf; /* output stuffing buffer */ |
22 | u_int sc_flags; /* see below */ |
23 | long sc_oqlen; /* previous output queue size */ |
24 | long sc_otimeout; /* number of times output's stalled */ |
25 | void *sc_si; /* softintr handle */ |
26 | #ifdef __NetBSD__ |
27 | int sc_oldbufsize; /* previous output buffer size */ |
28 | int sc_oldbufquot; /* previous output buffer quoting */ |
29 | #endif |
30 | #ifdef INET /* XXX */ |
31 | struct slcompress sc_comp; /* tcp compression data */ |
32 | #endif |
33 | |
34 | int sc_state; /* Radio reset state-machine */ |
35 | #define ST_ALIVE 0x0 /* answered probe */ |
36 | #define ST_PROBE_SENT 0x1 /* probe sent, answer pending */ |
37 | #define ST_DEAD 0x2 /* no answer to probe; do reset */ |
38 | |
39 | long sc_statetimo; /* When (secs) current state ends */ |
40 | |
41 | struct bintime sc_lastpacket; /* for watchdog */ |
42 | LIST_ENTRY(strip_softc) sc_iflist; |
43 | }; |
44 | |
45 | |
46 | /* Internal flags */ |
47 | #define SC_ERROR 0x0001 /* Incurred error reading current pkt*/ |
48 | |
49 | #define SC_TIMEOUT 0x00000400 /* timeout is currently pending */ |
50 | |
51 | /* visible flags */ |
52 | #define SC_COMPRESS IFF_LINK0 /* compress TCP traffic */ |
53 | #define SC_NOICMP IFF_LINK1 /* supress ICMP traffic */ |
54 | #define SC_AUTOCOMP IFF_LINK2 /* auto-enable TCP compression */ |
55 | |
56 | #ifdef _KERNEL |
57 | void stripattach(void); |
58 | #endif /* _KERNEL */ |
59 | |
60 | #endif /* !_NET_IF_STRIPVAR_H_ */ |
61 | |