0,0 → 1,362 |
/* |
* Copyright (c) 2009 Lukas Mejdrech |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* |
* - Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* - Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* - The name of the author may not be used to endorse or promote products |
* derived from this software without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR |
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, |
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
|
/** @addtogroup icmp |
* @{ |
*/ |
|
/** @file |
* ICMP types and codes according to the on-line IANA - ICMP Type Numbers - <http://http://www.iana.org/assignments/icmp-parameters>, cited September 14 2009. |
* Names according to the linux src/include/linux/icmp.h header file. |
*/ |
|
#ifndef __NET_ICMP_CODES_H__ |
#define __NET_ICMP_CODES_H__ |
|
/** ICMP type type definition. |
*/ |
typedef uint8_t icmp_type_t; |
|
/** ICMP code type definition. |
*/ |
typedef uint8_t icmp_code_t; |
|
/** ICMP parameter type definition. |
*/ |
typedef uint16_t icmp_param_t; |
|
/** @name ICMP types definitions |
*/ |
/*@{*/ |
|
/** Echo Reply. |
*/ |
#define ICMP_ECHOREPLY 0 |
|
/** Destination Unreachable. |
*/ |
#define ICMP_DEST_UNREACH 3 |
|
/** Source Quench. |
*/ |
#define ICMP_SOURCE_QUENCH 4 |
|
/** Redirect. |
*/ |
#define ICMP_REDIRECT 5 |
|
/** Alternate Host Address. |
*/ |
#define ICMP_ALTERNATE_ADDR 6 |
|
/** Echo Request. |
*/ |
#define ICMP_ECHO 8 |
|
/** Router advertisement. |
*/ |
#define ICMP_ROUTER_ADV 9 |
|
/** Router solicitation. |
*/ |
#define ICMP_ROUTER_SOL 10 |
|
/** Time Exceeded. |
*/ |
#define ICMP_TIME_EXCEEDED 11 |
|
/** Parameter Problem. |
*/ |
#define ICMP_PARAMETERPROB 12 |
|
/** Timestamp Request. |
*/ |
#define ICMP_TIMESTAMP 13 |
|
/** Timestamp Reply. |
*/ |
#define ICMP_TIMESTAMPREPLY 14 |
|
/** Information Request. |
*/ |
#define ICMP_INFO_REQUEST 15 |
|
/** Information Reply. |
*/ |
#define ICMP_INFO_REPLY 16 |
|
/** Address Mask Request. |
*/ |
#define ICMP_ADDRESS 17 |
|
/** Address Mask Reply. |
*/ |
#define ICMP_ADDRESSREPLY 18 |
|
/** Traceroute. |
*/ |
#define ICMP_TRACEROUTE 30 |
|
/** Datagram Conversion Error. |
*/ |
#define ICMP_CONVERSION_ERROR 31 |
|
/** Mobile Host Redirect. |
*/ |
#define ICMP_REDIRECT_MOBILE 32 |
|
/** IPv6 Where-Are-You. |
*/ |
#define ICMP_IPV6_WHERE_ARE_YOU 33 |
|
/** IPv6 I-Am-Here. |
*/ |
#define ICMP_IPV6_I_AM_HERE 34 |
|
/** Mobile Registration Request. |
*/ |
#define ICMP_MOBILE_REQUEST 35 |
|
/** Mobile Registration Reply. |
*/ |
#define ICMP_MOBILE_REPLY 36 |
|
/** Domain name request. |
*/ |
#define ICMP_DN_REQUEST 37 |
|
/** Domain name reply. |
*/ |
#define ICMP_DN_REPLY 38 |
|
/** SKIP. |
*/ |
#define ICMP_SKIP 39 |
|
/** Photuris. |
*/ |
#define ICMP_PHOTURIS 40 |
|
/*@}*/ |
|
/** @name ICMP_DEST_UNREACH codes definitions |
*/ |
/*@{*/ |
|
/** Network Unreachable. |
*/ |
#define ICMP_NET_UNREACH 0 |
|
/** Host Unreachable. |
*/ |
#define ICMP_HOST_UNREACH 1 |
|
/** Protocol Unreachable. |
*/ |
#define ICMP_PROT_UNREACH 2 |
|
/** Port Unreachable. |
*/ |
#define ICMP_PORT_UNREACH 3 |
|
/** Fragmentation needed but the Do Not Fragment bit was set. |
*/ |
#define ICMP_FRAG_NEEDED 4 |
|
/** Source Route failed. |
*/ |
#define ICMP_SR_FAILED 5 |
|
/** Destination network unknown. |
*/ |
#define ICMP_NET_UNKNOWN 6 |
|
/** Destination host unknown. |
*/ |
#define ICMP_HOST_UNKNOWN 7 |
|
/** Source host isolated (obsolete). |
*/ |
#define ICMP_HOST_ISOLATED 8 |
|
/** Destination network administratively prohibited. |
*/ |
#define ICMP_NET_ANO 9 |
|
/** Destination host administratively prohibited. |
*/ |
#define ICMP_HOST_ANO 10 |
|
/** Network unreachable for this type of service. |
*/ |
#define ICMP_NET_UNR_TOS 11 |
|
/** Host unreachable for this type of service. |
*/ |
#define ICMP_HOST_UNR_TOS 12 |
|
/** Communication administratively prohibited by filtering. |
*/ |
#define ICMP_PKT_FILTERED 13 |
|
/** Host precedence violation. |
*/ |
#define ICMP_PREC_VIOLATION 14 |
|
/** Precedence cutoff in effect. |
*/ |
#define ICMP_PREC_CUTOFF 15 |
|
/*@}*/ |
|
/** @name ICMP_REDIRECT codes definitions |
*/ |
/*@{*/ |
|
/** Network redirect (or subnet). |
*/ |
#define ICMP_REDIR_NET 0 |
|
/** Host redirect. |
*/ |
#define ICMP_REDIR_HOST 1 |
|
/** Network redirect for this type of service. |
*/ |
#define ICMP_REDIR_NETTOS 2 |
|
/** Host redirect for this type of service. |
*/ |
#define ICMP_REDIR_HOSTTOS 3 |
|
/*@}*/ |
|
/** @name ICMP_ALTERNATE_ADDRESS codes definitions |
*/ |
/*@{*/ |
|
/** Alternate address for host. |
*/ |
#define ICMP_ALTERNATE_HOST 0 |
|
/*@}*/ |
|
/** @name ICMP_TIME_EXCEEDED codes definitions |
*/ |
/*@{*/ |
|
/** Transit TTL exceeded. |
*/ |
#define ICMP_EXC_TTL 0 |
|
/** Reassembly TTL exceeded. |
*/ |
#define ICMP_EXC_FRAGTIME 1 |
|
/*@}*/ |
|
/** @name ICMP_ROUTER_ADV codes definitions |
*/ |
/*@{*/ |
|
/** Normal router advertisement. |
*/ |
#define ICMP_ROUTER_NORMAL 0 |
|
/** Does not route common traffic. |
*/ |
#define ICMP_ROUTER_NO_NORMAL_TRAFFIC 16 |
|
/*@}*/ |
|
/** @name ICMP_TIME_EXCEEDED codes definitions |
*/ |
/*@{*/ |
|
/** Transit TTL exceeded. |
*/ |
#define ICMP_EXC_TTL 0 |
|
/** Reassembly TTL exceeded. |
*/ |
#define ICMP_EXC_FRAGTIME 1 |
|
/*@}*/ |
|
/** @name ICMP_PARAMETERPROB codes definitions |
*/ |
/*@{*/ |
|
/** Pointer indicates the error. |
*/ |
#define ICMP_PARAM_POINTER 0 |
|
/** Missing required option. |
*/ |
#define ICMP_PARAM_MISSING 1 |
|
/** Bad length. |
*/ |
#define ICMP_PARAM_LENGTH 2 |
|
/*@}*/ |
|
/** @name ICMP_PHOTURIS codes definitions |
*/ |
/*@{*/ |
|
/** Bad SPI. |
*/ |
#define ICMP_PHOTURIS_BAD_SPI 0 |
|
/** Authentication failed. |
*/ |
#define ICMP_PHOTURIS_AUTHENTICATION 1 |
|
/** Decompression failed. |
*/ |
#define ICMP_PHOTURIS_DECOMPRESSION 2 |
|
/** Decryption failed. |
*/ |
#define ICMP_PHOTURIS_DECRYPTION 3 |
|
/** Need authentication. |
*/ |
#define ICMP_PHOTURIS_NEED_AUTHENTICATION 4 |
|
/** Need authorization. |
*/ |
#define ICMP_PHOTURIS_NEED_AUTHORIZATION 5 |
|
/*@}*/ |
|
#endif |
|
/** @} |
*/ |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |