37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
#ifndef _QCLOUD_NETWORK_H_
|
|
#define _QCLOUD_NETWORK_H_
|
|
|
|
typedef struct qcloud_network_st qcloud_network_t;
|
|
|
|
typedef struct qcloud_network_st {
|
|
qcloud_err_t (*connect) (qcloud_network_t *);
|
|
|
|
qcloud_err_t (*read) (qcloud_network_t *, void *buf, size_t len, uint32_t timeout, size_t *read_len);
|
|
|
|
qcloud_err_t (*write) (qcloud_network_t *, const void *buf, size_t len, uint32_t timeout, size_t *write_len);
|
|
|
|
void (*disconnect) (qcloud_network_t *);
|
|
|
|
int (*is_connected) (qcloud_network_t *);
|
|
|
|
int fd;
|
|
|
|
#if (QCLOUD_CFG_TLS_EN > 0u)
|
|
qcloud_tls_opt_t tls_opt;
|
|
#endif
|
|
|
|
char host[QCLOUD_SERVER_DOMAIN_MAX]; // 服务器地址
|
|
int port; // 服务器端口
|
|
} qcloud_network_t;
|
|
|
|
__QCLOUD_API__ qcloud_err_t qcloud_network_tcp_init(qcloud_network_t *network);
|
|
|
|
__QCLOUD_API__ qcloud_err_t qcloud_network_udp_init(qcloud_network_t *network);
|
|
|
|
__QCLOUD_INTERNAL__ qcloud_err_t qcloud_network_tls_init(qcloud_network_t *network);
|
|
|
|
__QCLOUD_INTERNAL__ qcloud_err_t qcloud_network_dtls_init(qcloud_network_t *network);
|
|
|
|
#endif
|
|
|