#ifndef LAYLINK_KCP_H #define LAYLINK_KCP_H #ifdef __cplusplus extern "C" { #endif typedef struct laylink_kcp laylink_kcp; laylink_kcp* laylink_kcp_create(unsigned int conv); void laylink_kcp_release(laylink_kcp* session); int laylink_kcp_nodelay(laylink_kcp* session, int nodelay, int interval, int resend, int nc); int laylink_kcp_wndsize(laylink_kcp* session, int sndwnd, int rcvwnd); int laylink_kcp_setmtu(laylink_kcp* session, int mtu); int laylink_kcp_send(laylink_kcp* session, const char* buffer, int len); int laylink_kcp_input(laylink_kcp* session, const char* buffer, long size); void laylink_kcp_update(laylink_kcp* session, unsigned int current); unsigned int laylink_kcp_check(laylink_kcp* session, unsigned int current); int laylink_kcp_peeksize(laylink_kcp* session); int laylink_kcp_recv(laylink_kcp* session, char* buffer, int len); void laylink_kcp_flush(laylink_kcp* session); int laylink_kcp_waitsnd(laylink_kcp* session); int laylink_kcp_pending_output_size(laylink_kcp* session); int laylink_kcp_pop_output(laylink_kcp* session, char* buffer, int len); #ifdef __cplusplus } #endif #endif