| 
    XFusion API v1.3.0
    
   | 
 
ping 功能实现。 更多...

结构体 | |
| struct | _xf_ping_cfg_t | 
| ping 配置类型。  更多... | |
| struct | _xf_ping_cfg_update_flags_t | 
| ping 更新配置标志。  更多... | |
| struct | _xf_ping_ctx_t | 
| ping 会话的上下文。  更多... | |
宏定义 | |
| #define | XF_PING_THREAD_NAME "xf_ping" | 
| #define | XF_PING_DEFAULT_CONFIG() | 
| 默认 ping 配置   | |
类型定义 | |
| typedef struct _xf_ping_ctx_t * | xf_ping_t | 
| ping 会话句柄。   | |
| typedef struct _xf_ping_cfg_t | xf_ping_cfg_t | 
| ping 配置类型。   | |
| typedef struct _xf_ping_cfg_update_flags_t | xf_ping_cfg_update_flags_t | 
| ping 更新配置标志。   | |
| typedef enum _xf_ping_event_code_t | xf_ping_event_code_t | 
| Ping 事件声明。   | |
| typedef int32_t | xf_ping_event_id_t | 
| ping 事件 id。见 xf_ping_event_code_t.   | |
| typedef void(* | xf_ping_cb_t) (xf_ping_event_id_t event_id, xf_ping_t hdl, void *user_args) | 
| ping 回调函数原型。   | |
| typedef struct _xf_ping_ctx_t | xf_ping_ctx_t | 
| ping 会话的上下文。   | |
枚举 | |
| enum | _xf_ping_event_code_t {  XF_PING_EVENT_SUCC = 0x00 , XF_PING_EVENT_TIMEOUT , XF_PING_EVENT_END , XF_PING_EVENT_DELETE , XF_PING_EVENT_MAX }  | 
| 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_delete_session (xf_ping_t hdl) | 
| 删除 ping 会话。   | |
| xf_err_t | xf_ping_start (xf_ping_t hdl) | 
| 启动 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 会话。   | |
| bool | xf_ping_is_running (xf_ping_t hdl) | 
| 检查 ping 是否正在运行。   | |
| xf_err_t | xf_ping_stop (xf_ping_t hdl) | 
| 停止 ping 会话。   | |
ping 功能实现。
| #define XF_PING_DEFAULT_CONFIG | ( | ) | 
默认 ping 配置
| typedef struct _xf_ping_ctx_t* xf_ping_t | 
| typedef struct _xf_ping_cfg_t xf_ping_cfg_t | 
ping 配置类型。
| typedef struct _xf_ping_cfg_update_flags_t xf_ping_cfg_update_flags_t | 
ping 更新配置标志。
| typedef enum _xf_ping_event_code_t xf_ping_event_code_t | 
Ping 事件声明。
<xf_ping_cfg_t>.auto_delete_flag = true. 将会在运行一次结束后,内部 task 自动删除 ping 会话。 此时注意通过 XF_PING_EVENT_DELETE 事件将 xf_ping_new_session() 传出的句柄 置为空指针,防止野指针。 设置了 <xf_ping_cfg_t>.auto_delete_flag = true 后,不需要再调用 xf_ping_delete_session()。<xf_ping_cfg_t>.auto_delete_flag = false, 当一个 ping 会话不再需要后,请通过 xf_ping_delete_session() 删除会话, 并将外部保存的句柄置为 NULL。 | typedef int32_t xf_ping_event_id_t | 
ping 事件 id。见 xf_ping_event_code_t.
| typedef void(* xf_ping_cb_t) (xf_ping_event_id_t event_id, xf_ping_t hdl, void *user_args) | 
ping 回调函数原型。
| event_id | 事件 id. 根据事件类型, 见 xf_ping_event_code_t. | 
| hdl | 事件数据. 需要根据事件 id 强转为对应的类型. | 
| user_args | 用户数据. xf_ping_new_session() 时传入.  | 
| typedef struct _xf_ping_ctx_t xf_ping_ctx_t | 
ping 会话的上下文。
public: 部分是在回调中可读的, 用户 禁止 修改其中任何内容。 Ping 事件声明。
<xf_ping_cfg_t>.auto_delete_flag = true. 将会在运行一次结束后,内部 task 自动删除 ping 会话。 此时注意通过 XF_PING_EVENT_DELETE 事件将 xf_ping_new_session() 传出的句柄 置为空指针,防止野指针。 设置了 <xf_ping_cfg_t>.auto_delete_flag = true 后,不需要再调用 xf_ping_delete_session()。<xf_ping_cfg_t>.auto_delete_flag = false, 当一个 ping 会话不再需要后,请通过 xf_ping_delete_session() 删除会话, 并将外部保存的句柄置为 NULL。 | 枚举值 | |
|---|---|
| XF_PING_EVENT_SUCC | 收到 ICMP 应答数据包。  | 
| XF_PING_EVENT_TIMEOUT | ICMP 应答数据包超时。  | 
| XF_PING_EVENT_END | ping 会话完成。  | 
| XF_PING_EVENT_DELETE | ping 会话已删除。  | 
| XF_PING_EVENT_MAX | ping 事件 ID 最大值,无效 ID。  | 
| 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 | ||
| ) | 
| 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 | ||
| ) | 
| bool xf_ping_is_running | ( | xf_ping_t | hdl | ) |