arp.h 751 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * this file used by (at least) the kernel, arpd, snoopy, tboot
  3. */
  4. typedef struct Arppkt Arppkt;
  5. typedef struct Arpentry Arpentry;
  6. typedef struct Arpstats Arpstats;
  7. /* Format of ethernet arp request */
  8. struct Arppkt {
  9. uchar d[6];
  10. uchar s[6];
  11. uchar type[2];
  12. uchar hrd[2];
  13. uchar pro[2];
  14. uchar hln;
  15. uchar pln;
  16. uchar op[2];
  17. uchar sha[6];
  18. uchar spa[4];
  19. uchar tha[6];
  20. uchar tpa[4];
  21. };
  22. #define ARPSIZE 42
  23. /* Format of request from starp to user level arpd */
  24. struct Arpentry {
  25. uchar etaddr[6];
  26. uchar ipaddr[4];
  27. };
  28. /* Arp cache statistics */
  29. struct Arpstats {
  30. int hit;
  31. int miss;
  32. int failed;
  33. };
  34. #define ET_ARP 0x0806
  35. #define ET_RARP 0x8035
  36. #define ARP_REQUEST 1
  37. #define ARP_REPLY 2
  38. #define RARP_REQUEST 3
  39. #define RARP_REPLY 4