iana_assignments_rs/dhcpv6/
statuscodes.rs

1pub type StatusCode = u16;
2pub const SUCCESS: StatusCode = 0;	// [RFC8415]
3pub const UNSPEC_FAIL: StatusCode = 1;	// [RFC8415]
4pub const NO_ADDRS_AVAIL: StatusCode = 2;	// [RFC8415]
5pub const NO_BINDING: StatusCode = 3;	// [RFC8415]
6pub const NOT_ON_LINK: StatusCode = 4;	// [RFC8415]
7pub const USE_MULTICAST: StatusCode = 5;	// [RFC8415]
8pub const NO_PREFIX_AVAIL: StatusCode = 6;	// [RFC3633][RFC8415]
9pub const UNKNOWN_QUERY_TYPE: StatusCode = 7;	// [RFC5007]
10pub const MALFORMED_QUERY: StatusCode = 8;	// [RFC5007]
11pub const NOT_CONFIGURED: StatusCode = 9;	// [RFC5007]
12pub const NOT_ALLOWED: StatusCode = 10;	// [RFC5007]
13pub const QUERY_TERMINATED: StatusCode = 11;	// [RFC5460]
14pub const DATA_MISSING: StatusCode = 12;	// [RFC7653]
15pub const CATCH_UP_COMPLETE: StatusCode = 13;	// [RFC7653]
16pub const NOT_SUPPORTED: StatusCode = 14;	// [RFC7653]
17pub const TLS_CONNECTION_REFUSED: StatusCode = 15;	// [RFC7653]
18pub const ADDRESS_IN_USE: StatusCode = 16;	// [RFC8156]
19pub const CONFIGURATION_CONFLICT: StatusCode = 17;	// [RFC8156]
20pub const MISSING_BINDING_INFORMATION: StatusCode = 18;	// [RFC8156]
21pub const OUTDATED_BINDING_INFORMATION: StatusCode = 19;	// [RFC8156]
22pub const SERVER_SHUTTING_DOWN: StatusCode = 20;	// [RFC8156]
23pub const DNS_UPDATE_NOT_SUPPORTED: StatusCode = 21;	// [RFC8156]
24pub const EXCESSIVE_TIME_SKEW: StatusCode = 22;	// [RFC8156]
25
26pub fn to_str(a: StatusCode) -> Result<&'static str, ()> {
27  match a {
28    0 => Ok("SUCCESS"),
29    1 => Ok("UNSPEC_FAIL"),
30    2 => Ok("NO_ADDRS_AVAIL"),
31    3 => Ok("NO_BINDING"),
32    4 => Ok("NOT_ON_LINK"),
33    5 => Ok("USE_MULTICAST"),
34    6 => Ok("NO_PREFIX_AVAIL"),
35    7 => Ok("UNKNOWN_QUERY_TYPE"),
36    8 => Ok("MALFORMED_QUERY"),
37    9 => Ok("NOT_CONFIGURED"),
38    10 => Ok("NOT_ALLOWED"),
39    11 => Ok("QUERY_TERMINATED"),
40    12 => Ok("DATA_MISSING"),
41    13 => Ok("CATCH_UP_COMPLETE"),
42    14 => Ok("NOT_SUPPORTED"),
43    15 => Ok("TLS_CONNECTION_REFUSED"),
44    16 => Ok("ADDRESS_IN_USE"),
45    17 => Ok("CONFIGURATION_CONFLICT"),
46    18 => Ok("MISSING_BINDING_INFORMATION"),
47    19 => Ok("OUTDATED_BINDING_INFORMATION"),
48    20 => Ok("SERVER_SHUTTING_DOWN"),
49    21 => Ok("DNS_UPDATE_NOT_SUPPORTED"),
50    22 => Ok("EXCESSIVE_TIME_SKEW"),
51    _ => Err(()),
52  }
53}