25#include "lwip/ip_addr.h"
44#define XF_PING_THREAD_NAME "xf_ping"
93#define XF_PING_DEFAULT_CONFIG() (xf_ping_cfg_t) { \
95 .interval_ms = 1000, \
99 .ttl = IP_DEFAULT_TTL, \
100 .target_addr = *(IP_ANY_TYPE), \
101 .task_stack_size = (4 * 1024), \
102 .task_prio = XF_OSAL_PRIORITY_NORMOL, \
104 .auto_delete_flag = 0, \
174 struct sockaddr_in
in;
void * xf_osal_thread_t
线程句柄。
_xf_ping_event_code_t
Ping 事件声明。
xf_err_t xf_ping_new_session(const xf_ping_cfg_t *p_cfg, xf_ping_cb_t cb_func, void *user_args, xf_ping_t *hdl_out)
创建 ping 会话。
xf_err_t xf_ping_restart(xf_ping_t hdl, const xf_ping_cfg_t *p_cfg, xf_ping_cfg_update_flags_t *p_flags)
重新启动 ping 会话。
struct _xf_ping_cfg_update_flags_t xf_ping_cfg_update_flags_t
ping 更新配置标志。
struct _xf_ping_ctx_t * xf_ping_t
ping 会话句柄。
xf_err_t xf_ping_stop(xf_ping_t hdl)
停止 ping 会话。
xf_err_t xf_ping_start(xf_ping_t hdl)
启动 ping 会话。
bool xf_ping_is_running(xf_ping_t hdl)
检查 ping 是否正在运行。
int32_t xf_ping_event_id_t
ping 事件 id。见 xf_ping_event_code_t.
void(* xf_ping_cb_t)(xf_ping_event_id_t event_id, xf_ping_t hdl, void *user_args)
ping 回调函数原型。
struct _xf_ping_cfg_t xf_ping_cfg_t
ping 配置类型。
struct _xf_ping_ctx_t xf_ping_ctx_t
ping 会话的上下文。
xf_err_t xf_ping_delete_session(xf_ping_t hdl)
删除 ping 会话。
enum _xf_ping_event_code_t xf_ping_event_code_t
Ping 事件声明。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
uint32_t b_auto_delete_flag
union _xf_ping_ctx_t::sockaddr_in_in6_u target_addr
struct icmp_echo_hdr * packet_hdr
xf_osal_thread_t task_hdl
uint8_t ping_running_flag