| 
    Zephyr Project API 3.5.0
    
   A Scalable Open Source RTOS 
   | 
 
ICMP sending and receiving. More...
Data Structures | |
| struct | net_icmp_ctx | 
| ICMP context structure.  More... | |
| struct | net_icmp_ip_hdr | 
| Struct presents either IPv4 or IPv6 header in ICMP response message.  More... | |
| struct | net_icmp_ping_params | 
| Struct presents parameters that are needed when sending Echo-Request (ping) messages.  More... | |
| struct | net_icmp_offload | 
| ICMP offload context structure.  More... | |
Macros | |
| #define | NET_ICMPV4_ECHO_REQUEST 8 | 
| #define | NET_ICMPV4_ECHO_REPLY 0 | 
| #define | NET_ICMPV6_ECHO_REQUEST 128 | 
| #define | NET_ICMPV6_ECHO_REPLY 129 | 
Typedefs | |
| typedef int(* | net_icmp_handler_t) (struct net_icmp_ctx *ctx, struct net_pkt *pkt, struct net_icmp_ip_hdr *ip_hdr, struct net_icmp_hdr *icmp_hdr, void *user_data) | 
| Handler function that is called when ICMP response is received.   | |
| typedef int(* | net_icmp_offload_ping_handler_t) (struct net_icmp_ctx *ctx, struct net_if *iface, struct sockaddr *dst, struct net_icmp_ping_params *params, void *user_data) | 
| Handler function that is called when an Echo-Request is sent to offloaded device.   | |
Functions | |
| int | net_icmp_init_ctx (struct net_icmp_ctx *ctx, uint8_t type, uint8_t code, net_icmp_handler_t handler) | 
| Initialize the ICMP context structure.   | |
| int | net_icmp_cleanup_ctx (struct net_icmp_ctx *ctx) | 
| Cleanup the ICMP context structure.   | |
| int | net_icmp_send_echo_request (struct net_icmp_ctx *ctx, struct net_if *iface, struct sockaddr *dst, struct net_icmp_ping_params *params, void *user_data) | 
| Send ICMP echo request message.   | |
| int | net_icmp_register_offload_ping (struct net_icmp_offload *ctx, struct net_if *iface, net_icmp_offload_ping_handler_t ping_handler) | 
| Register a handler function that is called when an Echo-Request is sent to the offloaded device.   | |
| int | net_icmp_unregister_offload_ping (struct net_icmp_offload *ctx) | 
| Unregister the offload handler.   | |
| int | net_icmp_get_offload_rsp_handler (struct net_icmp_offload *ctx, net_icmp_handler_t *resp_handler) | 
| Get a ICMP response handler function for an offloaded device.   | |
ICMP sending and receiving.
| #define NET_ICMPV4_ECHO_REPLY 0 | 
#include <include/zephyr/net/icmp.h>
| #define NET_ICMPV4_ECHO_REQUEST 8 | 
#include <include/zephyr/net/icmp.h>
| #define NET_ICMPV6_ECHO_REPLY 129 | 
#include <include/zephyr/net/icmp.h>
| #define NET_ICMPV6_ECHO_REQUEST 128 | 
#include <include/zephyr/net/icmp.h>
| net_icmp_handler_t | 
#include <include/zephyr/net/icmp.h>
Handler function that is called when ICMP response is received.
| ctx | ICMP context to use. | 
| pkt | Received ICMP response network packet. | 
| ip_hdr | IP header of the packet. | 
| icmp_hdr | ICMP header of the packet. | 
| user_data | A valid pointer to user data or NULL | 
| net_icmp_offload_ping_handler_t | 
#include <include/zephyr/net/icmp.h>
Handler function that is called when an Echo-Request is sent to offloaded device.
This handler is typically setup by the device driver so that it can catch the ping request and send it to the offloaded device.
| ctx | ICMP context used in this request. | 
| iface | Network interface, can be set to NULL in which case the interface is selected according to destination address. | 
| dst | IP address of the target host. | 
| params | Echo-Request specific parameters. May be NULL in which case suitable default parameters are used. | 
| user_data | User supplied opaque data passed to the handler. May be NULL. | 
| int net_icmp_cleanup_ctx | ( | struct net_icmp_ctx * | ctx | ) | 
#include <include/zephyr/net/icmp.h>
Cleanup the ICMP context structure.
This will unregister the ICMP handler from the system.
| ctx | ICMP context used in this request. | 
| int net_icmp_get_offload_rsp_handler | ( | struct net_icmp_offload * | ctx, | 
| net_icmp_handler_t * | resp_handler | ||
| ) | 
#include <include/zephyr/net/icmp.h>
Get a ICMP response handler function for an offloaded device.
When a ping response is received by the driver, it should call the handler function with proper parameters so that the ICMP response is received by the net stack.
| ctx | ICMP offload context used in this request. | 
| resp_handler | Function to be called when offloaded ping response is received by the offloaded driver. The ICMP response handler function is returned and the caller should call it when appropriate. | 
| int net_icmp_init_ctx | ( | struct net_icmp_ctx * | ctx, | 
| uint8_t | type, | ||
| uint8_t | code, | ||
| net_icmp_handler_t | handler | ||
| ) | 
#include <include/zephyr/net/icmp.h>
Initialize the ICMP context structure.
Must be called before ICMP messages can be sent. This will register handler to the system.
| ctx | ICMP context used in this request. | 
| type | Type of ICMP message we are handling. | 
| code | Code of ICMP message we are handling. | 
| handler | Callback function that is called when a response is received. | 
| int net_icmp_register_offload_ping | ( | struct net_icmp_offload * | ctx, | 
| struct net_if * | iface, | ||
| net_icmp_offload_ping_handler_t | ping_handler | ||
| ) | 
#include <include/zephyr/net/icmp.h>
Register a handler function that is called when an Echo-Request is sent to the offloaded device.
This function is typically called by a device driver so that it can do the actual offloaded ping call.
| ctx | ICMP offload context used for this interface. | 
| iface | Network interface of the offloaded device. | 
| ping_handler | Function to be called when offloaded ping request is done. | 
| int net_icmp_send_echo_request | ( | struct net_icmp_ctx * | ctx, | 
| struct net_if * | iface, | ||
| struct sockaddr * | dst, | ||
| struct net_icmp_ping_params * | params, | ||
| void * | user_data | ||
| ) | 
#include <include/zephyr/net/icmp.h>
Send ICMP echo request message.
| ctx | ICMP context used in this request. | 
| iface | Network interface, can be set to NULL in which case the interface is selected according to destination address. | 
| dst | IP address of the target host. | 
| params | Echo-Request specific parameters. May be NULL in which case suitable default parameters are used. | 
| user_data | User supplied opaque data passed to the handler. May be NULL. | 
| int net_icmp_unregister_offload_ping | ( | struct net_icmp_offload * | ctx | ) | 
#include <include/zephyr/net/icmp.h>
Unregister the offload handler.
| ctx | ICMP offload context used for this interface. |