/* $Id: ethtool.h,v 1.1 1998/12/19 15:09:38 davem Exp $ * ethtool.h: Defines for SparcLinux ethtool. * * Copyright (C) 1998 David S. Miller (davem@dm.cobaltmicro.com) */ #ifndef _SPARC_ETHTOOL_H #define _SPARC_ETHTOOL_H /* We do things like this so it does not matter what kernel * headers you have on your system etc. */ #undef SIOCETHTOOL #define SIOCETHTOOL (SIOCDEVPRIVATE + 0x0f) /* This should work for both 32 and 64 bit userland. */ struct ethtool_cmd { u32 cmd; u32 supported; u16 speed; u8 duplex; u8 port; u8 phy_address; u8 transceiver; u8 autoneg; }; /* CMDs currently supported */ #define SPARC_ETH_GSET 0x00000001 /* Get settings, non-privileged. */ #define SPARC_ETH_SSET 0x00000002 /* Set settings, privileged. */ /* Indicates what features are supported by the interface. */ #define SUPPORTED_10baseT_Half 0x00000001 #define SUPPORTED_10baseT_Full 0x00000002 #define SUPPORTED_100baseT_Half 0x00000004 #define SUPPORTED_100baseT_Full 0x00000008 #define SUPPORTED_1000baseT_Half 0x00000010 #define SUPPORTED_1000baseT_Full 0x00000020 #define SUPPORTED_Autoneg 0x00000040 #define SUPPORTED_TP 0x00000080 #define SUPPORTED_AUI 0x00000100 #define SUPPORTED_MII 0x00000200 #define SUPPORTED_FIBRE 0x00000400 /* The following are all involved in forcing a particular link * mode for the device for setting things. When getting the * devices settings, these indicate the current mode and whether * it was foced up into this mode or autonegotiated. */ /* The forced speec, 10Mb, 100Mb, gigabit. */ #define SPEED_10 10 #define SPEED_100 100 #define SPEED_1000 1000 /* Duplex, half or full. */ #define DUPLEX_HALF 0x00 #define DUPLEX_FULL 0x01 /* Which connector port. */ #define PORT_TP 0x00 #define PORT_AUI 0x01 #define PORT_MII 0x02 #define PORT_FIBRE 0x03 /* Which tranceiver to use. */ #define XCVR_INTERNAL 0x00 #define XCVR_EXTERNAL 0x01 #define XCVR_DUMMY1 0x02 #define XCVR_DUMMY2 0x03 #define XCVR_DUMMY3 0x04 /* Enable or disable autonegotiation. If this is set to enable, * the forced link modes above are completely ignored. */ #define AUTONEG_DISABLE 0x00 #define AUTONEG_ENABLE 0x01 #endif /* _SPARC_ETHTOOL_H */