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