HelenOS sources
#ifndef LIBDEVICE_NIC_ETH_PHYS_H
#define LIBDEVICE_NIC_ETH_PHYS_H
#include <stdint.h>
#define ETH_OLD          0
#define ETH_10M          1
#define ETH_100M         2
#define ETH_1000M        3
#define ETH_10G          4
#define ETH_40G_100G     5
#define ETH_PHYS_LAYERS  8
#define ETH_EXPERIMENTAL     0x0001
#define ETH_1BASE5           0x0002
#define ETH_10BASE5          0x0001
#define ETH_10BASE2          0x0002
#define ETH_10BROAD36        0x0004
#define ETH_STARLAN_10       0x0008
#define ETH_LATTISNET        0x0010
#define ETH_10BASE_T         0x0020
#define ETH_FOIRL            0x0040
#define ETH_10BASE_FL        0x0080
#define ETH_10BASE_FB        0x0100
#define ETH_10BASE_FP        0x0200
#define ETH_100BASE_TX       0x0001
#define ETH_100BASE_T4       0x0002
#define ETH_100BASE_T2       0x0004
#define ETH_100BASE_FX       0x0008
#define ETH_100BASE_SX       0x0010
#define ETH_100BASE_BX10     0x0020
#define ETH_100BASE_LX10     0x0040
#define ETH_100BASE_VG       0x0080
#define ETH_1000BASE_T       0x0001
#define ETH_1000BASE_TX      0x0002
#define ETH_1000BASE_SX      0x0004
#define ETH_1000BASE_LX      0x0008
#define ETH_1000BASE_LH      0x0010
#define ETH_1000BASE_CX      0x0020
#define ETH_1000BASE_BX10    0x0040
#define ETH_1000BASE_LX10    0x0080
#define ETH_1000BASE_PX10_D  0x0100
#define ETH_1000BASE_PX10_U  0x0200
#define ETH_1000BASE_PX20_D  0x0400
#define ETH_1000BASE_PX20_U  0x0800
#define ETH_1000BASE_ZX      0x1000
#define ETH_1000BASE_KX      0x2000
#define ETH_10GBASE_SR       0x0001
#define ETH_10GBASE_LX4      0x0002
#define ETH_10GBASE_LR       0x0004
#define ETH_10GBASE_ER       0x0008
#define ETH_10GBASE_SW       0x0010
#define ETH_10GBASE_LW       0x0020
#define ETH_10GBASE_EW       0x0040
#define ETH_10GBASE_CX4      0x0080
#define ETH_10GBASE_T        0x0100
#define ETH_10GBASE_LRM      0x0200
#define ETH_10GBASE_KX4      0x0400
#define ETH_10GBASE_KR       0x0800
#define ETH_40GBASE_SR4      0x0001
#define ETH_40GBASE_LR4      0x0002
#define ETH_40GBASE_CR4      0x0004
#define ETH_40GBASE_KR4      0x0008
#define ETH_100GBASE_SR10    0x0010
#define ETH_100GBASE_LR4     0x0020
#define ETH_100GBASE_ER4     0x0040
#define ETH_100GBASE_CR10    0x0080
#define ETH_AUTONEG_10BASE_T_HALF    UINT32_C(0x00000001)
#define ETH_AUTONEG_10BASE_T_FULL    UINT32_C(0x00000002)
#define ETH_AUTONEG_100BASE_TX_HALF  UINT32_C(0x00000004)
#define ETH_AUTONEG_100BASE_T4_HALF  UINT32_C(0x00000008)
#define ETH_AUTONEG_100BASE_T2_HALF  UINT32_C(0x00000010)
#define ETH_AUTONEG_100BASE_TX_FULL  UINT32_C(0x00000020)
#define ETH_AUTONEG_100BASE_T2_FULL  UINT32_C(0x00000040)
#define ETH_AUTONEG_1000BASE_T_HALF  UINT32_C(0x00000080)
#define ETH_AUTONEG_1000BASE_T_FULL  UINT32_C(0x00000100)
#define ETH_AUTONEG_PAUSE_SYMETRIC   UINT32_C(0x10000000)
#define ETH_AUTONEG_PAUSE_ASYMETRIC  UINT32_C(0x20000000)
#define ETH_AUTONEG_MODE_MASK      UINT32_C(0x0FFFFFFF)
#define ETH_AUTONEG_FEATURES_MASK  UINT32_C(~(ETH_AUTONEG_MODE_MASK))
#define ETH_AUTONEG_MODES  9
struct eth_autoneg_map {
        uint32_t value;
        const char *name;
};
extern const char *ethernet_names[8][17];
extern const struct eth_autoneg_map ethernet_autoneg_mapping[ETH_AUTONEG_MODES];
#endif
HelenOS homepage, sources at GitHub