Subversion Repositories HelenOS

Compare Revisions

No changes between revisions

Ignore whitespace Rev 4706 → Rev 4707

/branches/network/uspace/srv/net/include/icmp_codes.h
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