Go to the documentation of this file.
   37 #ifndef LWIP_HDR_PROT_IP4_H 
   38 #define LWIP_HDR_PROT_IP4_H 
   49 #ifdef PACK_STRUCT_USE_INCLUDES 
   50 #  include "arch/bpstruct.h" 
   57 #ifdef PACK_STRUCT_USE_INCLUDES 
   58 #  include "arch/epstruct.h" 
   66 #ifdef PACK_STRUCT_USE_INCLUDES 
   67 #  include "arch/bpstruct.h" 
   85 #define IP_OFFMASK 0x1fffU    
   97 #ifdef PACK_STRUCT_USE_INCLUDES 
   98 #  include "arch/epstruct.h" 
  102 #define IPH_V(hdr)  ((hdr)->_v_hl >> 4) 
  103 #define IPH_HL(hdr) ((hdr)->_v_hl & 0x0f) 
  104 #define IPH_TOS(hdr) ((hdr)->_tos) 
  105 #define IPH_LEN(hdr) ((hdr)->_len) 
  106 #define IPH_ID(hdr) ((hdr)->_id) 
  107 #define IPH_OFFSET(hdr) ((hdr)->_offset) 
  108 #define IPH_TTL(hdr) ((hdr)->_ttl) 
  109 #define IPH_PROTO(hdr) ((hdr)->_proto) 
  110 #define IPH_CHKSUM(hdr) ((hdr)->_chksum) 
  113 #define IPH_VHL_SET(hdr, v, hl) (hdr)->_v_hl = (u8_t)((((v) << 4) | (hl))) 
  114 #define IPH_TOS_SET(hdr, tos) (hdr)->_tos = (tos) 
  115 #define IPH_LEN_SET(hdr, len) (hdr)->_len = (len) 
  116 #define IPH_ID_SET(hdr, id) (hdr)->_id = (id) 
  117 #define IPH_OFFSET_SET(hdr, off) (hdr)->_offset = (off) 
  118 #define IPH_TTL_SET(hdr, ttl) (hdr)->_ttl = (u8_t)(ttl) 
  119 #define IPH_PROTO_SET(hdr, proto) (hdr)->_proto = (u8_t)(proto) 
  120 #define IPH_CHKSUM_SET(hdr, chksum) (hdr)->_chksum = (chksum) 
  
 
PACK_STRUCT_FLD_S(ip4_addr_p_t src)
PACK_STRUCT_BEGIN struct ip4_addr_packed PACK_STRUCT_STRUCT
#define PACK_STRUCT_BEGIN
PACK_STRUCT_FIELD(u16_t _len)
PACK_STRUCT_FLD_8(u8_t _v_hl)
PACK_STRUCT_FIELD(u32_t addr)
typedefPACK_STRUCT_END struct ip4_addr_packed ip4_addr_p_t