mod dest_unreachable_code;
pub use dest_unreachable_code::*;
mod parameter_problem_code;
pub use parameter_problem_code::*;
mod parameter_problem_header;
pub use parameter_problem_header::*;
mod time_exceeded_code;
pub use time_exceeded_code::*;
mod neighbor_advertisement_header;
pub use neighbor_advertisement_header::*;
pub use ndp_option::prefix_information::*;
mod ndp_option_type_impl;
pub use ndp_option_type_impl::*;
mod ndp_option;
pub use ndp_option::*;
mod ndp_option_read_error;
pub use ndp_option_read_error::*;
mod ndp_options_iterator;
pub use ndp_options_iterator::*;
mod icmpv6_payload;
pub use icmpv6_payload::*;
mod icmpv6_payload_slice;
pub use icmpv6_payload_slice::*;
mod router_advertisement_header;
pub use router_advertisement_header::*;
pub const MAX_ICMPV6_BYTE_LEN: usize = u32::MAX as usize;
pub const TYPE_DST_UNREACH: u8 = 1;
pub const TYPE_PACKET_TOO_BIG: u8 = 2;
pub const TYPE_TIME_EXCEEDED: u8 = 3;
pub const TYPE_PARAMETER_PROBLEM: u8 = 4;
pub const TYPE_ECHO_REQUEST: u8 = 128;
pub const TYPE_ECHO_REPLY: u8 = 129;
pub const TYPE_MULTICAST_LISTENER_QUERY: u8 = 130;
pub const TYPE_MULTICAST_LISTENER_REPORT: u8 = 131;
pub const TYPE_MULTICAST_LISTENER_REDUCTION: u8 = 132;
pub const TYPE_ROUTER_SOLICITATION: u8 = 133;
pub const TYPE_ROUTER_ADVERTISEMENT: u8 = 134;
pub const TYPE_NEIGHBOR_SOLICITATION: u8 = 135;
pub const TYPE_NEIGHBOR_ADVERTISEMENT: u8 = 136;
pub const TYPE_REDIRECT_MESSAGE: u8 = 137;
pub const TYPE_ROUTER_RENUMBERING: u8 = 138;
pub const TYPE_INVERSE_NEIGHBOR_DISCOVERY_SOLICITATION: u8 = 141;
pub const TYPE_INVERSE_NEIGHBOR_DISCOVERY_ADVERTISEMENT: u8 = 142;
pub const TYPE_EXT_ECHO_REQUEST: u8 = 160;
pub const TYPE_EXT_ECHO_REPLY: u8 = 161;
pub const CODE_DST_UNREACH_NO_ROUTE: u8 = 0;
pub const CODE_DST_UNREACH_PROHIBITED: u8 = 1;
pub const CODE_DST_UNREACH_BEYOND_SCOPE: u8 = 2;
pub const CODE_DST_UNREACH_ADDR: u8 = 3;
pub const CODE_DST_UNREACH_PORT: u8 = 4;
pub const CODE_DST_UNREACH_SOURCE_ADDRESS_FAILED_POLICY: u8 = 5;
pub const CODE_DST_UNREACH_REJECT_ROUTE_TO_DEST: u8 = 6;
pub const CODE_TIME_EXCEEDED_HOP_LIMIT_EXCEEDED: u8 = 0;
pub const CODE_TIME_EXCEEDED_FRAGMENT_REASSEMBLY_TIME_EXCEEDED: u8 = 1;
pub const CODE_PARAM_PROBLEM_ERR_HEADER_FIELD: u8 = 0;
pub const CODE_PARAM_PROBLEM_UNRECOG_NEXT_HEADER: u8 = 1;
pub const CODE_PARAM_PROBLEM_UNRECOG_IPV6_OPTION: u8 = 2;
pub const CODE_PARAM_PROBLEM_IPV6_FIRST_FRAG_INCOMP_HEADER_CHAIN: u8 = 3;
pub const CODE_PARAM_PROBLEM_SR_UPPER_LAYER_HEADER_ERROR: u8 = 4;
pub const CODE_PARAM_PROBLEM_UNRECOG_NEXT_HEADER_BY_INTERMEDIATE_NODE: u8 = 5;
pub const CODE_PARAM_PROBLEM_EXT_HEADER_TOO_BIG: u8 = 6;
pub const CODE_PARAM_PROBLEM_EXT_HEADER_CHAIN_TOO_LONG: u8 = 7;
pub const CODE_PARAM_PROBLEM_TOO_MANY_EXT_HEADERS: u8 = 8;
pub const CODE_PARAM_PROBLEM_TOO_MANY_OPTIONS_EXT_HEADER: u8 = 9;
pub const CODE_PARAM_PROBLEM_OPTION_TOO_BIG: u8 = 10;
#[cfg(test)]
mod test {
use super::*;
#[test]
fn constants() {
assert_eq!(1, TYPE_DST_UNREACH);
assert_eq!(2, TYPE_PACKET_TOO_BIG);
assert_eq!(3, TYPE_TIME_EXCEEDED);
assert_eq!(4, TYPE_PARAMETER_PROBLEM);
assert_eq!(128, TYPE_ECHO_REQUEST);
assert_eq!(129, TYPE_ECHO_REPLY);
assert_eq!(130, TYPE_MULTICAST_LISTENER_QUERY);
assert_eq!(131, TYPE_MULTICAST_LISTENER_REPORT);
assert_eq!(132, TYPE_MULTICAST_LISTENER_REDUCTION);
assert_eq!(133, TYPE_ROUTER_SOLICITATION);
assert_eq!(134, TYPE_ROUTER_ADVERTISEMENT);
assert_eq!(135, TYPE_NEIGHBOR_SOLICITATION);
assert_eq!(136, TYPE_NEIGHBOR_ADVERTISEMENT);
assert_eq!(137, TYPE_REDIRECT_MESSAGE);
assert_eq!(138, TYPE_ROUTER_RENUMBERING);
assert_eq!(141, TYPE_INVERSE_NEIGHBOR_DISCOVERY_SOLICITATION);
assert_eq!(142, TYPE_INVERSE_NEIGHBOR_DISCOVERY_ADVERTISEMENT);
assert_eq!(160, TYPE_EXT_ECHO_REQUEST);
assert_eq!(161, TYPE_EXT_ECHO_REPLY);
assert_eq!(0, CODE_DST_UNREACH_NO_ROUTE);
assert_eq!(1, CODE_DST_UNREACH_PROHIBITED);
assert_eq!(2, CODE_DST_UNREACH_BEYOND_SCOPE);
assert_eq!(3, CODE_DST_UNREACH_ADDR);
assert_eq!(4, CODE_DST_UNREACH_PORT);
assert_eq!(5, CODE_DST_UNREACH_SOURCE_ADDRESS_FAILED_POLICY);
assert_eq!(6, CODE_DST_UNREACH_REJECT_ROUTE_TO_DEST);
assert_eq!(0, CODE_TIME_EXCEEDED_HOP_LIMIT_EXCEEDED);
assert_eq!(1, CODE_TIME_EXCEEDED_FRAGMENT_REASSEMBLY_TIME_EXCEEDED);
assert_eq!(0, CODE_PARAM_PROBLEM_ERR_HEADER_FIELD);
assert_eq!(1, CODE_PARAM_PROBLEM_UNRECOG_NEXT_HEADER);
assert_eq!(2, CODE_PARAM_PROBLEM_UNRECOG_IPV6_OPTION);
assert_eq!(3, CODE_PARAM_PROBLEM_IPV6_FIRST_FRAG_INCOMP_HEADER_CHAIN);
assert_eq!(4, CODE_PARAM_PROBLEM_SR_UPPER_LAYER_HEADER_ERROR);
assert_eq!(
5,
CODE_PARAM_PROBLEM_UNRECOG_NEXT_HEADER_BY_INTERMEDIATE_NODE
);
assert_eq!(6, CODE_PARAM_PROBLEM_EXT_HEADER_TOO_BIG);
assert_eq!(7, CODE_PARAM_PROBLEM_EXT_HEADER_CHAIN_TOO_LONG);
assert_eq!(8, CODE_PARAM_PROBLEM_TOO_MANY_EXT_HEADERS);
assert_eq!(9, CODE_PARAM_PROBLEM_TOO_MANY_OPTIONS_EXT_HEADER);
assert_eq!(10, CODE_PARAM_PROBLEM_OPTION_TOO_BIG);
}
}