代码拉取完成,页面将自动刷新
同步操作将从 liudengfeng/xkcptun 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef _XKCP_UTIL_
#define _XKCP_UTIL_
#include "ikcp.h"
#define HTTP_IP_ADDR_LEN 16
#define OBUF_SIZE 4096
#define BUF_RECV_LEN 1500
struct event;
struct eventbase;
struct sockaddr_in;
struct bufferevent;
struct xkcp_proxy_param {
struct event_base *base;
int xkcpfd;
struct sockaddr_in sockaddr;
int addr_len;
};
struct xkcp_task {
iqueue_head head;
ikcpcb *kcp;
struct bufferevent *bev;
struct sockaddr_in *sockaddr;
};
typedef struct xkcp_task xkcp_task_type;
void itimeofday(long *sec, long *usec);
IINT64 iclock64(void);
IUINT32 iclock();
int get_task_list_count();
char *get_iface_ip(const char *ifname);
void add_task_tail(struct xkcp_task *task, iqueue_head *head);
void del_task(struct xkcp_task *task);
int get_task_list_size(iqueue_head *task_list);
void dump_task_list(iqueue_head *task_list, struct bufferevent *bev);
void xkcp_set_config_param(ikcpcb *kcp);
void *xkcp_tcp_event_cb(struct bufferevent *bev, short what, struct xkcp_task *task);
void xkcp_tcp_read_cb(struct bufferevent *bev, ikcpcb *kcp);
void xkcp_forward_all_data(iqueue_head *task_list);
void xkcp_forward_data(struct xkcp_task *task);
void xkcp_update_task_list(iqueue_head *task_list);
void set_timer_interval(struct event *timeout);
void xkcp_timer_event_cb(struct event *timeout, iqueue_head *task_list);
ikcpcb *get_kcp_from_conv(int conv, iqueue_head *task_list);
struct xkcp_task *get_task_from_conv(int conv, iqueue_head *task_list);
int xkcp_main(int argc, char **argv);
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。