anchor.diff:        (Msg#sadb_msg.seq):32/native-unsigned,
         (Msg#sadb_msg.pid):32/native-unsigned>>.
   
  -%% @doc Decode a PF_KEY extension from the start of `Bin`; ignore the rest.
  +%% @doc Decode a PF_KEY extension from the start of `Bin'; ignore the rest.
   -spec decode_header(Bin :: binary()) -> tuple().
   decode_header(<<Version:8/native-unsigned,
                   Type:8/native-unsigned,
  
positive.code:       (Msg#sadb_key.bits):16/native-unsigned,
        (Msg#sadb_key.reserved):16/native-unsigned>>.
  
  %% @doc Decode a PF_KEY extension from the start of `Bin`; ignore the rest.
  -spec decode_ext(Bin :: binary()) -> tuple().
  decode_ext(<<Len:16/native-unsigned,
               ExtType:16/native-unsigned,
  
negative.code:       _Tail/binary>> = Bin,
      {sadb_key, Len, ExtType, Bits, Reserved}.
  
  %% @doc Size in bytes of PF_KEY record `Type' (in binary form).
  -spec sizeof(Type :: atom()) -> non_neg_integer().
  sizeof(sadb_msg)      -> 16;
  sizeof(sadb_ext)      -> 4;
  