| 
    TEMU
    4.4
    
   The Terma Emulator 
   | 
 
#include "temu-c/Support/Bitmanip.h"#include "temu-c/Support/Buffer.h"#include "temu-c/Support/Objsys.h"#include <stdint.h>
Go to the source code of this file.
Data Structures | |
| struct | temu_EthFrame | 
| struct | temu_MACIface | 
| struct | temu_PHYIface | 
| struct | temu_EthernetIface | 
| struct | temu_MDIOIface | 
| struct | temu_EthDelayIface | 
Typedefs | |
| typedef struct temu_PHYIface | temu_PHYIface | 
| typedef struct temu_MACIface | temu_MACIface | 
| typedef struct temu_EthernetIface | temu_EthernetIface | 
Functions | |
| TEMU_IFACE_REFERENCE_TYPE (temu_MAC) | |
| TEMU_IFACE_REFERENCE_TYPE (temu_PHY) | |
| TEMU_IFACE_REFERENCE_TYPE (temu_Ethernet) | |
| TEMU_IFACE_REFERENCE_TYPE (temu_MDIO) | |
| #define ETH_BCAST_ADDR UINT64_C(0xffffffffffff) | 
| #define ETH_CRC_MAGIC 0xC704DD7B | 
| #define ETH_CRC_POLY_BE 0x04c11db6 | 
| #define ETH_CRC_POLY_LE 0xedb88320 | 
| #define ETH_CRC_POLY_NORM 0x04C11DB7 | 
| #define ETH_CRC_POLY_REV 0xEDB88320 | 
| #define ETH_CRC_POLY_REV_RECIP 0x82608EDB | 
| #define ETH_ETHERTYPE_MIN 1536 | 
| #define TEMU_ETH_1000BASE_T_FD (1 << 13) | 
| #define TEMU_ETH_1000BASE_T_HD (1 << 12) | 
| #define TEMU_ETH_1000BASE_X_FD (1 << 15) | 
| #define TEMU_ETH_1000BASE_X_HD (1 << 14) | 
| #define TEMU_ETH_100BASE_T2_FD (1 << (10 - 8)) | 
| #define TEMU_ETH_100BASE_T2_HD (1 << (9 - 8)) | 
| #define TEMU_ETH_100BASE_T4 (1 << (15 - 8)) | 
| #define TEMU_ETH_100BASE_X_FD (1 << (14 - 8)) | 
| #define TEMU_ETH_100BASE_X_HD (1 << (13 - 8)) | 
| #define TEMU_ETH_10BASE_FD (1 << (12 - 8)) | 
| #define TEMU_ETH_10BASE_HD (1 << (11 - 8)) | 
| #define TEMU_ETH_802_1Q_MAX_FRAME_LENGTH 1522 | 
| #define TEMU_ETH_802_1Q_TAG_BYTES 4 | 
| #define TEMU_ETH_CRC_ERR 1 | 
| #define TEMU_ETH_CRC_LENGTH 4 | 
| #define TEMU_ETH_DELAY_IFACE_TYPE "temu::EthDelayIface" | 
| #define TEMU_ETH_ETH_CRC_NOT_SET (1 << 1) | 
| #define TEMU_ETH_INTERPACKET_GAP 12 | 
| #define TEMU_ETH_IP_CRC_NOT_SET (1 << 2) | 
| #define TEMU_ETH_IPV4_CRC_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 10) | 
| #define TEMU_ETH_IPV4_DSCP_ECN_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 1) | 
| #define TEMU_ETH_IPV4_DST_IP_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 16) | 
| #define TEMU_ETH_IPV4_FRAGMENTATION_INFO_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 6) | 
| #define TEMU_ETH_IPV4_PROTOCOL_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 9) | 
| #define TEMU_ETH_IPV4_SRC_IP_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 12) | 
| #define TEMU_ETH_IPV4_TOTAL_LENGTH_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 2) | 
| #define TEMU_ETH_IPV4_TTL_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 8) | 
| #define TEMU_ETH_IPV4_VERS_IHL_OFFSET (TEMU_ETH_PAYLOAD_OFFSET + 0) | 
| #define TEMU_ETH_LAYER1_HEADER_LENGTH (7 + 1 + 12 + 2) | 
| #define TEMU_ETH_LAYER2_HEADER_LENGTH (6 + 6 + 2) | 
| #define TEMU_ETH_MAX_FRAME_LENGTH 1518 | 
| #define TEMU_ETH_MAX_PAYLOAD 1500 | 
| #define TEMU_ETH_MIN_PAYLOAD 46 | 
| #define TEMU_ETH_NON_STANDARD_PREAMBLE (1 << 5) | 
| #define TEMU_ETH_PAYLOAD_OFFSET (6 + 6 + 2) | 
| #define TEMU_ETH_PREAMBLE_LENGTH_MASK (0xf << 6) | 
| #define TEMU_ETH_PREAMBLE_LENGTH_SHIFT 6 | 
| #define TEMU_ETH_TCP_CRC_NOT_SET (1 << 4) | 
| #define TEMU_ETH_UDP_CRC_NOT_SET (1 << 3) | 
| #define TEMU_ETHERNET_IFACE_TYPE "temu::EthernetIface" | 
| #define TEMU_ETHTYPE_802_1Q 0x8100 | 
| #define TEMU_ETHTYPE_ARP 0x0806 | 
| #define TEMU_ETHTYPE_IPV4 0x0800 | 
| #define TEMU_ETHTYPE_IPV6 0x86dd | 
| #define TEMU_ETHTYPE_PTP 0x88f7 | 
| #define TEMU_ETHTYPE_RARP 0x8035 | 
| #define TEMU_ETHTYPE_SRP 0x22ea | 
| #define TEMU_ETHTYPE_TTE_CTRL 0x891d | 
| #define TEMU_ETHTYPE_WAKE_ON_LAN 0x0842 | 
| #define TEMU_IP_PROT_TCP 0x06 | 
| #define TEMU_IP_PROT_UDP 0x11 | 
| #define TEMU_MAC_IFACE_TYPE "temu::MACIface" | 
| #define TEMU_MDIO_IFACE_TYPE "temu::MDIOIface" | 
| #define TEMU_PHY_IFACE_TYPE "temu::PHYIface" | 
| #define TEMU_TCP_CRC_OFFSET 16 | 
| #define TEMU_UDP_CRC_OFFSET 6 | 
| typedef struct temu_EthernetIface temu_EthernetIface | 
| typedef struct temu_MACIface temu_MACIface | 
| typedef struct temu_PHYIface temu_PHYIface | 
| TEMU_IFACE_REFERENCE_TYPE | ( | temu_Ethernet | ) | 
| TEMU_IFACE_REFERENCE_TYPE | ( | temu_MAC | ) | 
| TEMU_IFACE_REFERENCE_TYPE | ( | temu_MDIO | ) | 
| TEMU_IFACE_REFERENCE_TYPE | ( | temu_PHY | ) |