1 /*************************************************************************** 2 * Copyright (c) 2024 Microsoft Corporation 3 * 4 * This program and the accompanying materials are made available under the 5 * terms of the MIT License which is available at 6 * https://opensource.org/licenses/MIT. 7 * 8 * SPDX-License-Identifier: MIT 9 **************************************************************************/ 10 11 12 /**************************************************************************/ 13 /**************************************************************************/ 14 /** */ 15 /** NetX Component */ 16 /** */ 17 /** Internet Control Message Protocol (ICMP) */ 18 /** */ 19 /**************************************************************************/ 20 /**************************************************************************/ 21 22 23 /**************************************************************************/ 24 /* */ 25 /* COMPONENT DEFINITION RELEASE */ 26 /* */ 27 /* nx_icmp.h PORTABLE C */ 28 /* 6.1.9 */ 29 /* AUTHOR */ 30 /* */ 31 /* Yuxin Zhou, Microsoft Corporation */ 32 /* */ 33 /* DESCRIPTION */ 34 /* */ 35 /* This file defines the NetX Internet Control Message Protocol (ICMP) */ 36 /* component, including all data types and external references. It is */ 37 /* assumed that nx_api.h and nx_port.h have already been included. */ 38 /* */ 39 /* RELEASE HISTORY */ 40 /* */ 41 /* DATE NAME DESCRIPTION */ 42 /* */ 43 /* 05-19-2020 Yuxin Zhou Initial Version 6.0 */ 44 /* 09-30-2020 Yuxin Zhou Modified comment(s), */ 45 /* resulting in version 6.1 */ 46 /* 10-15-2021 Yuxin Zhou Modified comment(s), included */ 47 /* necessary header file, */ 48 /* resulting in version 6.1.9 */ 49 /* */ 50 /**************************************************************************/ 51 52 #ifndef NX_ICMP_H 53 #define NX_ICMP_H 54 55 #include "nx_api.h" 56 57 VOID _nx_icmp_packet_receive(NX_IP *ip_ptr, NX_PACKET *packet_ptr); 58 VOID _nx_icmp_cleanup(TX_THREAD *thread_ptr NX_CLEANUP_PARAMETER); 59 60 UINT _nxd_icmp_ping(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, 61 CHAR *data_ptr, ULONG data_size, 62 NX_PACKET **response_ptr, ULONG wait_option); 63 UINT _nxd_icmp_source_ping(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, 64 UINT address_index, CHAR *data_ptr, ULONG data_size, 65 NX_PACKET **response_ptr, ULONG wait_option); 66 67 UINT _nxd_icmp_enable(NX_IP *ip_ptr); 68 69 UINT _nxde_icmp_ping(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, 70 CHAR *data_ptr, ULONG data_size, 71 NX_PACKET **response_ptr, ULONG wait_option); 72 UINT _nxde_icmp_source_ping(NX_IP *ip_ptr, NXD_ADDRESS *ip_address, 73 UINT address_index, CHAR *data_ptr, ULONG data_size, 74 NX_PACKET **response_ptr, ULONG wait_option); 75 UINT _nxde_icmp_enable(NX_IP *ip_ptr); 76 77 #include "nx_icmpv4.h" 78 #include "nx_icmpv6.h" 79 80 #endif 81 82