ip.h 577 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _NETINET_IP_H
  2. #define _NETINET_IP_H
  3. #include <features.h>
  4. #include <netinet/in.h>
  5. #include <linux/ip.h>
  6. #ifdef _BSD_SOURCE
  7. /*
  8. * BSD has the following structure
  9. */
  10. struct ip
  11. {
  12. #if defined(__LITTLE_ENDIAN_BITFIELD)
  13. __u8 ip_hl:4,
  14. ip_v:4;
  15. #else
  16. __u8 ip_v:4,
  17. ip_hl:4;
  18. #endif
  19. #define IPVERSION 4
  20. __u8 ip_tos;
  21. __u16 ip_len;
  22. __u16 ip_id;
  23. __u16 ip_off;
  24. __u8 ip_ttl;
  25. __u8 ip_p;
  26. __u16 ip_csum;
  27. struct in_addr ip_src,ip_dst;
  28. };
  29. #define IP_DF 0x4000 /* dont fragment flag */
  30. #define IP_MF 0x2000 /* more fragments flag */
  31. #endif
  32. #endif /* _NETINET_IP_H */