Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
1da177e4 LT |
2 | * Copyright (C) 2002 Intersil Americas Inc. |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License as published by | |
6 | * the Free Software Foundation; either version 2 of the License | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
4280db9d | 14 | * along with this program; if not, see <http://www.gnu.org/licenses/>. |
1da177e4 LT |
15 | * |
16 | */ | |
17 | ||
18 | #ifndef _ISLPCI_ETH_H | |
19 | #define _ISLPCI_ETH_H | |
20 | ||
21 | #include "isl_38xx.h" | |
22 | #include "islpci_dev.h" | |
23 | ||
24 | struct rfmon_header { | |
0569056e AV |
25 | __le16 unk0; /* = 0x0000 */ |
26 | __le16 length; /* = 0x1400 */ | |
27 | __le32 clock; /* 1MHz clock */ | |
1da177e4 LT |
28 | u8 flags; |
29 | u8 unk1; | |
30 | u8 rate; | |
31 | u8 unk2; | |
0569056e AV |
32 | __le16 freq; |
33 | __le16 unk3; | |
1da177e4 LT |
34 | u8 rssi; |
35 | u8 padding[3]; | |
ba2d3587 | 36 | } __packed; |
1da177e4 LT |
37 | |
38 | struct rx_annex_header { | |
39 | u8 addr1[ETH_ALEN]; | |
40 | u8 addr2[ETH_ALEN]; | |
41 | struct rfmon_header rfmon; | |
ba2d3587 | 42 | } __packed; |
1da177e4 LT |
43 | |
44 | /* wlan-ng (and hopefully others) AVS header, version one. Fields in | |
45 | * network byte order. */ | |
46 | #define P80211CAPTURE_VERSION 0x80211001 | |
47 | ||
48 | struct avs_80211_1_header { | |
0569056e AV |
49 | __be32 version; |
50 | __be32 length; | |
51 | __be64 mactime; | |
52 | __be64 hosttime; | |
53 | __be32 phytype; | |
54 | __be32 channel; | |
55 | __be32 datarate; | |
56 | __be32 antenna; | |
57 | __be32 priority; | |
58 | __be32 ssi_type; | |
59 | __be32 ssi_signal; | |
60 | __be32 ssi_noise; | |
61 | __be32 preamble; | |
62 | __be32 encoding; | |
1da177e4 LT |
63 | }; |
64 | ||
65 | void islpci_eth_cleanup_transmit(islpci_private *, isl38xx_control_block *); | |
d0cf9c0d | 66 | netdev_tx_t islpci_eth_transmit(struct sk_buff *, struct net_device *); |
1da177e4 LT |
67 | int islpci_eth_receive(islpci_private *); |
68 | void islpci_eth_tx_timeout(struct net_device *); | |
c4028958 | 69 | void islpci_do_reset_and_wake(struct work_struct *); |
1da177e4 LT |
70 | |
71 | #endif /* _ISL_GEN_H */ |