]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Icmp.h
Scrubbed some files for IP4
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4Icmp.h
CommitLineData
83cbd279 1/** @file\r
2\r
3Copyright (c) 2005 - 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12\r
13Module Name:\r
14\r
15 Ip4Icmp.h\r
16\r
17Abstract:\r
18\r
19 Header file for ICMP protocol.\r
20\r
21\r
22**/\r
23\r
24#ifndef __EFI_IP4_ICMP_H__\r
25#define __EFI_IP4_ICMP_H__\r
26\r
5405e9a6 27typedef enum {\r
83cbd279 28 //\r
29 // ICMP type definations\r
30 //\r
31 ICMP_ECHO_REPLY = 0,\r
32 ICMP_DEST_UNREACHABLE = 3,\r
33 ICMP_SOURCE_QUENCH = 4,\r
34 ICMP_REDIRECT = 5,\r
35 ICMP_ECHO_REQUEST = 8,\r
36 ICMP_TIME_EXCEEDED = 11,\r
37 ICMP_PARAMETER_PROBLEM = 12,\r
38 ICMP_TIMESTAMP = 13,\r
39 ICMP_INFO_REQUEST = 15,\r
40 ICMP_INFO_REPLY = 16,\r
41 ICMP_TYPE_MAX = ICMP_INFO_REPLY,\r
42\r
43 ICMP_DEFAULT_CODE = 0,\r
44\r
45 //\r
46 // ICMP code definations for ICMP_DEST_UNREACHABLE\r
47 //\r
48 ICMP_NET_UNREACHABLE = 0,\r
49 ICMP_HOST_UNREACHABLE = 1,\r
50 ICMP_PROTO_UNREACHABLE = 2, // Host may generate\r
51 ICMP_PORT_UNREACHABLE = 3, // Host may generate\r
52 ICMP_FRAGMENT_FAILED = 4,\r
53 ICMP_SOURCEROUTE_FAILED = 5, // Host may generate\r
54 ICMP_NET_UNKNOWN = 6,\r
55 ICMP_HOST_UNKNOWN = 7,\r
56 ICMP_SOURCE_ISOLATED = 8,\r
57 ICMP_NET_PROHIBITED = 9,\r
58 ICMP_HOST_PROHIBITED = 10,\r
59 ICMP_NET_UNREACHABLE_TOS = 11,\r
60 ICMP_HOST_UNREACHABLE_TOS = 12,\r
61\r
62 //\r
63 // ICMP code definations for ICMP_TIME_EXCEEDED\r
64 //\r
65 ICMP_TIMEOUT_IN_TRANSIT = 0,\r
66 ICMp_TIMEOUT_REASSEMBLE = 1, // Host may generate\r
67\r
68 //\r
69 // ICMP code definations for ICMP_TIME_EXCEEDED\r
70 //\r
71 ICMP_NET_REDIRECT = 0,\r
72 ICMP_HOST_REDIRECT = 1,\r
73 ICMP_NET_TOS_REDIRECT = 2,\r
74 ICMP_HOST_TOS_REDIRECT = 3,\r
75\r
76 //\r
77 // ICMP message classes, each class of ICMP message shares\r
78 // a common message format. INVALID_MESSAGE is only a flag.\r
79 //\r
80 ICMP_INVALID_MESSAGE = 0,\r
81 ICMP_ERROR_MESSAGE = 1,\r
82 ICMP_QUERY_MESSAGE = 2\r
5405e9a6 83} ICMP_ENUM_TYPES;\r
83cbd279 84\r
85typedef struct {\r
86 UINT8 IcmpType;\r
87 UINT8 IcmpClass;\r
88} IP4_ICMP_CLASS;\r
89\r
90extern IP4_ICMP_CLASS mIcmpClass[];\r
91extern EFI_IP4_ICMP_TYPE mIp4SupportedIcmp[];\r
92\r
93EFI_STATUS\r
94Ip4IcmpHandle (\r
95 IN IP4_SERVICE *IpSb,\r
96 IN IP4_HEAD *Header,\r
97 IN NET_BUF *Packet\r
98 );\r
99#endif\r