| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #ifndef LUAT_ICMP_H
- #define LUAT_ICMP_H
- #include "luat_base.h"
- #include "luat_netdrv.h"
- #include "lwip/ip.h"
- #include "lwip/ip_addr.h"
- #include "lwip/icmp.h"
- #include "lwip/netif.h"
- #include "lwip/raw.h"
- typedef void (*luat_icmp_recv_fn)(void* ctx, uint32_t tused);
- typedef struct luat_icmp_ctx
- {
- uint8_t adapter_id;
- struct netif *netif;
- struct raw_pcb *pcb_v4;
- #if LWIP_IPV6
- struct raw_pcb *pcb_v6;
- #endif
- ip_addr_t dst;
- ip_addr_t tmpdst;
- size_t len;
- uint16_t id;
- uint16_t seqno;
- uint64_t send_time;
- uint64_t recv_time;
- luat_icmp_recv_fn cb;
- }luat_icmp_ctx_t;
- luat_icmp_ctx_t* luat_icmp_init(uint8_t adapter_id);
- luat_icmp_ctx_t* luat_icmp_get(uint8_t adapter_id);
- void luat_icmp_ping(luat_icmp_ctx_t* ctx);
- #endif
|