1/* 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 14 * along with this program; if not, see <http://www.gnu.org/licenses/>. 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 24struct rfmon_header { 25 __le16 unk0; /* = 0x0000 */ 26 __le16 length; /* = 0x1400 */ 27 __le32 clock; /* 1MHz clock */ 28 u8 flags; 29 u8 unk1; 30 u8 rate; 31 u8 unk2; 32 __le16 freq; 33 __le16 unk3; 34 u8 rssi; 35 u8 padding[3]; 36} __packed; 37 38struct rx_annex_header { 39 u8 addr1[ETH_ALEN]; 40 u8 addr2[ETH_ALEN]; 41 struct rfmon_header rfmon; 42} __packed; 43 44/* wlan-ng (and hopefully others) AVS header, version one. Fields in 45 * network byte order. */ 46#define P80211CAPTURE_VERSION 0x80211001 47 48struct avs_80211_1_header { 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; 63}; 64 65void islpci_eth_cleanup_transmit(islpci_private *, isl38xx_control_block *); 66netdev_tx_t islpci_eth_transmit(struct sk_buff *, struct net_device *); 67int islpci_eth_receive(islpci_private *); 68void islpci_eth_tx_timeout(struct net_device *); 69void islpci_do_reset_and_wake(struct work_struct *); 70 71#endif /* _ISL_GEN_H */ 72