#ifndef ROUTE_PING_H #define ROUTE_PING_H #ifdef __cplusplus extern "C" { #endif #include #include #include "nat_detection.h" int route_ping_send_req_addr(struct NAT_DETECTION* nd, struct TOPO_GROUP* group, struct ETCP_CONN* to_conn, uint32_t target_ip, uint16_t target_port, uint8_t count, uint16_t interval_ms, uint16_t timeout_ms, uint16_t wait_timeout_ms, route_ping_callback_t cb, void* arg, const uint8_t* pubkey); void route_ping_destroy_pending(struct NAT_DETECTION* nd); void route_ping_cancel_for_conn(struct NAT_DETECTION* nd, struct ETCP_CONN* conn); void route_ping_handle_req(struct NAT_DETECTION* nd, struct TOPO_GROUP* group, struct ETCP_CONN* from_conn, const uint8_t* data, size_t len); void route_ping_handle_resp(struct NAT_DETECTION* nd, struct ETCP_CONN* from_conn, const uint8_t* data, size_t len); #ifdef __cplusplus } #endif #endif // ROUTE_PING_H