patch-2.2.4 linux/include/asm-sparc/ethtool.h

Next file: linux/include/asm-sparc/floppy.h
Previous file: linux/include/asm-sparc/dma.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.3/linux/include/asm-sparc/ethtool.h linux/include/asm-sparc/ethtool.h
@@ -0,0 +1,79 @@
+/* $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 */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)