blob: 8e6f46390751435c16297d01e785b1d71f4b7c14 [file] [log] [blame]
/*
* Portions Copyright 2001 Sun Microsystems (thockin@sun.com)
* Portions Copyright 2002 Intel (scott.feldman@intel.com)
* Portions Copyright (C) 2010 Google Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#if defined (__linux__)
#ifndef ETHTOOL_UTIL_H__
#define ETHTOOL_UTIL_H__
#include <stdint.h>
/* hack, so we may include kernel's ethtool.h */
typedef unsigned long long __u64;
typedef uint32_t __u32; /* ditto */
typedef uint16_t __u16; /* ditto */
typedef uint8_t __u8; /* ditto */
/* historical: we used to use kernel-like types; remove these once cleaned */
typedef unsigned long long u64;
typedef uint32_t u32; /* ditto */
typedef uint16_t u16; /* ditto */
typedef uint8_t u8; /* ditto */
#include <net/if.h>
#include "ethtool-copy.h"
#include "mosys/platform.h"
#if 0
/* National Semiconductor DP83815, DP83816 */
int natsemi_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
int natsemi_dump_eeprom(struct ethtool_drvinfo *info,
struct ethtool_eeprom *ee);
/* Digital/Intel 21040 and 21041 */
int de2104x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Intel(R) PRO/1000 Gigabit Adapter Family */
int e1000_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
int igb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* RealTek PCI */
int realtek_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Intel(R) PRO/100 Fast Ethernet Adapter Family */
int e100_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
#endif
/* Tigon3 */
int tg3_dump_eeprom(struct platform_intf *intf, struct ethtool_drvinfo *info,
struct ifreq *ifr, struct ethtool_eeprom *ee);
#if 0
/* Advanced Micro Devices AMD8111 based Adapter */
int amd8111e_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Advanced Micro Devices PCnet32 Adapter */
int pcnet32_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Motorola 8xx FEC Ethernet controller */
int fec_8xx_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* PowerPC 4xx on-chip Ethernet controller */
int ibm_emac_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Intel(R) PRO/10GBe Gigabit Adapter Family */
int ixgb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
int ixgbe_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
#endif
/* Broadcom Tigon3 Ethernet controller */
//int tg3_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
#if 0
/* SysKonnect Gigabit (Genesis and Yukon) */
int skge_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* SysKonnect Gigabit (Yukon2) */
int sky2_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* Fabric7 VIOC */
int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
/* SMSC LAN911x/LAN921x embedded ethernet controller */
int smsc911x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
#endif
#endif /* ETHTOOL_UTIL_H__ */
#endif /* __linux__ */