}
 
 Icmpv4Header::Icmpv4Header(
-        Icmpv4Type type,
-        uint8_t code,
-        uint16_t checksum,
-        uint16_t identifier,
-        uint16_t sequence_number
+        const Icmpv4Type type,
+        const uint8_t code,
+        const uint16_t checksum,
+        const uint16_t identifier,
+        const uint16_t sequence_number
 ) :
     MessageFormat()
 {
     return get_icmp_message_format()->get_type_v4();
 }
 
-void Icmpv4Header::set_type( Icmpv4Type type )
+void Icmpv4Header::set_type( const Icmpv4Type type )
 {
     get_icmp_message_format()->set_type_v4( type );
 }
     return get_icmp_message_format()->get_code();
 }
 
-void Icmpv4Header::set_code( uint8_t code )
+void Icmpv4Header::set_code( const uint8_t code )
 {
     get_icmp_message_format()->set_code( code );
 }
     return get_icmp_message_format()->get_checksum();
 }
 
-void Icmpv4Header::set_checksum( uint16_t checksum )
+void Icmpv4Header::set_checksum( const uint16_t checksum )
 {
     get_icmp_message_format()->set_checksum( checksum );
 }
     return get_icmp_message_format()->get_identifier();
 }
 
-void Icmpv4Header::set_identifier( uint16_t identifier )
+void Icmpv4Header::set_identifier( const uint16_t identifier )
 {
     get_icmp_message_format()->set_identifier( identifier );
 }
     return get_icmp_message_format()->get_sequence_number();
 }
 
-void Icmpv4Header::set_sequence_number( uint16_t sequence_number )
+void Icmpv4Header::set_sequence_number( const uint16_t sequence_number )
 {
     get_icmp_message_format()->set_sequence_number( sequence_number );
 }
     return MessageFormat;
 }
 
-void Icmpv4Header::set_icmp_message_format( Icmpv4Type type )
+void Icmpv4Header::set_icmp_message_format( const Icmpv4Type type )
 {
     BOOST_ASSERT( MessageFormat.get() == NULL );
 
 
 public:
     Icmpv4Header();
     Icmpv4Header(
-            Icmpv4Type type,
-            uint8_t code,
-            uint16_t checksum,
-            uint16_t identifier,
-            uint16_t sequence_number
+            const Icmpv4Type type,
+            const uint8_t code,
+            const uint16_t checksum,
+            const uint16_t identifier,
+            const uint16_t sequence_number
     );
 
     Icmpv4Type get_type() const;
     void set_sequence_number( const uint16_t sequence_number );
 
     boost::shared_ptr<IcmpMessage> get_icmp_message_format() const;
-    void set_icmp_message_format( Icmpv4Type type );
+    void set_icmp_message_format( const Icmpv4Type type );
     void set_icmp_message_format( std::istream &is );
 
     friend std::istream& operator>>(
 
 }
 
 Icmpv6Header::Icmpv6Header(
-        Icmpv6Type type,
-        uint8_t code,
-        uint16_t checksum,
-        uint16_t identifier,
-        uint16_t sequence_number
+        const Icmpv6Type type,
+        const uint8_t code,
+        const uint16_t checksum,
+        const uint16_t identifier,
+        const uint16_t sequence_number
 ) :
     MessageFormat()
 {
     return get_icmp_message_format()->get_type_v6();
 }
 
-void Icmpv6Header::set_type( Icmpv6Type type )
+void Icmpv6Header::set_type( const Icmpv6Type type )
 {
     get_icmp_message_format()->set_type_v6( type );
 }
     return get_icmp_message_format()->get_code();
 }
 
-void Icmpv6Header::set_code( uint8_t code )
+void Icmpv6Header::set_code( const uint8_t code )
 {
     get_icmp_message_format()->set_code( code );
 }
     return get_icmp_message_format()->get_checksum();
 }
 
-void Icmpv6Header::set_checksum( uint16_t checksum )
+void Icmpv6Header::set_checksum( const uint16_t checksum )
 {
     get_icmp_message_format()->set_checksum( checksum );
 }
     return get_icmp_message_format()->get_identifier();
 }
 
-void Icmpv6Header::set_identifier( uint16_t identifier )
+void Icmpv6Header::set_identifier( const uint16_t identifier )
 {
     get_icmp_message_format()->set_identifier( identifier );
 }
     return get_icmp_message_format()->get_sequence_number();
 }
 
-void Icmpv6Header::set_sequence_number( uint16_t sequence_number )
+void Icmpv6Header::set_sequence_number( const uint16_t sequence_number )
 {
     get_icmp_message_format()->set_sequence_number( sequence_number );
 }
 
 public:
     Icmpv6Header();
     Icmpv6Header(
-            Icmpv6Type type,
-            uint8_t code,
-            uint16_t checksum,
-            uint16_t identifier,
-            uint16_t sequence_number
+            const Icmpv6Type type,
+            const uint8_t code,
+            const uint16_t checksum,
+            const uint16_t identifier,
+            const uint16_t sequence_number
     );
 
     Icmpv6Type get_type() const;