|
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 | ) |