mirror of
https://github.com/balloonwj/TeamTalk.git
synced 2026-10-19 06:41:50 +08:00
63 lines
1.3 KiB
C
63 lines
1.3 KiB
C
#ifndef __NETLIB_H__
|
|
#define __NETLIB_H__
|
|
|
|
#include "network/ostype.h"
|
|
|
|
#define NETLIB_OPT_SET_CALLBACK 1
|
|
#define NETLIB_OPT_SET_CALLBACK_DATA 2
|
|
#define NETLIB_OPT_GET_REMOTE_IP 3
|
|
#define NETLIB_OPT_GET_REMOTE_PORT 4
|
|
#define NETLIB_OPT_GET_LOCAL_IP 5
|
|
#define NETLIB_OPT_GET_LOCAL_PORT 6
|
|
|
|
#define NETLIB_MAX_SOCKET_BUF_SIZE (128 * 1024)
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
int netlib_init();
|
|
|
|
int netlib_destroy();
|
|
|
|
int netlib_listen(
|
|
const char* server_ip,
|
|
uint16_t port,
|
|
callback_t callback,
|
|
void* callback_data);
|
|
|
|
net_handle_t netlib_connect(
|
|
const char* server_ip,
|
|
uint16_t port,
|
|
callback_t callback,
|
|
void* callback_data);
|
|
|
|
int netlib_send(net_handle_t handle, void* buf, int len);
|
|
|
|
int netlib_recv(net_handle_t handle, void* buf, int len);
|
|
|
|
int netlib_close(net_handle_t handle);
|
|
|
|
bool netlib_shutdown(net_handle_t handle);
|
|
|
|
int netlib_option(net_handle_t handle, int opt, void* optval);
|
|
|
|
int netlib_register_timer(callback_t callback, void* user_data, uint64_t interval);
|
|
|
|
int netlib_delete_timer(callback_t callback, void* user_data);
|
|
|
|
int netlib_add_loop(callback_t callback, void* user_data);
|
|
|
|
void netlib_eventloop(uint32_t wait_timeout = 100);
|
|
|
|
void netlib_stop_event();
|
|
|
|
bool netlib_is_running();
|
|
void netlib_set_running();
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|