netherneth.inc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. type
  2. Pether_addr = ^ether_addr;
  3. ether_addr = record
  4. ether_addr_octet : array[0..(ETH_ALEN)-1] of u_int8_t;
  5. end;
  6. Pether_header = ^ether_header;
  7. ether_header = record
  8. ether_dhost : array[0..(ETH_ALEN)-1] of u_int8_t;
  9. ether_shost : array[0..(ETH_ALEN)-1] of u_int8_t;
  10. ether_type : u_int16_t;
  11. end;
  12. const
  13. ETHERTYPE_PUP = $0200;
  14. ETHERTYPE_IP = $0800;
  15. ETHERTYPE_ARP = $0806;
  16. ETHERTYPE_REVARP = $8035;
  17. ETHER_ADDR_LEN = ETH_ALEN;
  18. ETHER_TYPE_LEN = 2;
  19. ETHER_CRC_LEN = 4;
  20. ETHER_HDR_LEN = ETH_HLEN;
  21. ETHER_MIN_LEN = ETH_ZLEN + ETHER_CRC_LEN;
  22. ETHER_MAX_LEN = ETH_FRAME_LEN + ETHER_CRC_LEN;
  23. function ETHER_IS_VALID_LEN(foo : cardinal) : boolean;
  24. const
  25. ETHERTYPE_TRAIL = $1000;
  26. ETHERTYPE_NTRAILER = 16;
  27. ETHERMTU = ETH_DATA_LEN;
  28. ETHERMIN = (ETHER_MIN_LEN - ETHER_HDR_LEN) - ETHER_CRC_LEN;
  29. { ---------------------------------------------------------------------
  30. Borland compatibility types
  31. ---------------------------------------------------------------------}
  32. Type
  33. TEtherAddr = ether_addr;
  34. PEtherAddr = ^TEtherAddr;