/** @file Copyright (c) 2005 - 2006, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. Module Name: Ip4Icmp.h Abstract: Header file for ICMP protocol. **/ #ifndef __EFI_IP4_ICMP_H__ #define __EFI_IP4_ICMP_H__ enum { // // ICMP type definations // ICMP_ECHO_REPLY = 0, ICMP_DEST_UNREACHABLE = 3, ICMP_SOURCE_QUENCH = 4, ICMP_REDIRECT = 5, ICMP_ECHO_REQUEST = 8, ICMP_TIME_EXCEEDED = 11, ICMP_PARAMETER_PROBLEM = 12, ICMP_TIMESTAMP = 13, ICMP_INFO_REQUEST = 15, ICMP_INFO_REPLY = 16, ICMP_TYPE_MAX = ICMP_INFO_REPLY, ICMP_DEFAULT_CODE = 0, // // ICMP code definations for ICMP_DEST_UNREACHABLE // ICMP_NET_UNREACHABLE = 0, ICMP_HOST_UNREACHABLE = 1, ICMP_PROTO_UNREACHABLE = 2, // Host may generate ICMP_PORT_UNREACHABLE = 3, // Host may generate ICMP_FRAGMENT_FAILED = 4, ICMP_SOURCEROUTE_FAILED = 5, // Host may generate ICMP_NET_UNKNOWN = 6, ICMP_HOST_UNKNOWN = 7, ICMP_SOURCE_ISOLATED = 8, ICMP_NET_PROHIBITED = 9, ICMP_HOST_PROHIBITED = 10, ICMP_NET_UNREACHABLE_TOS = 11, ICMP_HOST_UNREACHABLE_TOS = 12, // // ICMP code definations for ICMP_TIME_EXCEEDED // ICMP_TIMEOUT_IN_TRANSIT = 0, ICMp_TIMEOUT_REASSEMBLE = 1, // Host may generate // // ICMP code definations for ICMP_TIME_EXCEEDED // ICMP_NET_REDIRECT = 0, ICMP_HOST_REDIRECT = 1, ICMP_NET_TOS_REDIRECT = 2, ICMP_HOST_TOS_REDIRECT = 3, // // ICMP message classes, each class of ICMP message shares // a common message format. INVALID_MESSAGE is only a flag. // ICMP_INVALID_MESSAGE = 0, ICMP_ERROR_MESSAGE = 1, ICMP_QUERY_MESSAGE = 2 }; typedef struct { UINT8 IcmpType; UINT8 IcmpClass; } IP4_ICMP_CLASS; extern IP4_ICMP_CLASS mIcmpClass[]; extern EFI_IP4_ICMP_TYPE mIp4SupportedIcmp[]; EFI_STATUS Ip4IcmpHandle ( IN IP4_SERVICE *IpSb, IN IP4_HEAD *Header, IN NET_BUF *Packet ); #endif