68 lines
2.3 KiB
C
68 lines
2.3 KiB
C
/**
|
|
* @file di/drv/hl854x/tcp.h
|
|
* @{
|
|
*/
|
|
#ifndef DI_DRV_HL854X_TCP_H_
|
|
#define DI_DRV_HL854X_TCP_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** TCP state */
|
|
enum di_drv_hl854x_tcp_state {
|
|
HL854X_TCP_STATE_ERROR = -1,
|
|
HL854X_TCP_STATE_UNKNOWN = 0,
|
|
HL854X_TCP_STATE_NOT_DEFINED = 1,
|
|
HL854X_TCP_STATE_NOT_USED = 2,
|
|
HL854X_TCP_STATE_CONNECTING = 3,
|
|
HL854X_TCP_STATE_CONNECTED = 4,
|
|
HL854X_TCP_STATE_DISCONNECTING = 5,
|
|
HL854X_TCP_STATE_DISCONNECTED = 6,
|
|
HL854X_TCP_STATE_CLOSED = 7,
|
|
HL854X_TCP_STATE_RECV = 8
|
|
};
|
|
|
|
/** KTCP_NOTIF error codes */
|
|
enum di_drv_hl854x_ktcp_notif {
|
|
DI_DRV_HL854X_KTCP_NOTIF_UNKNOWN = -1,
|
|
DI_DRV_HL854X_KTCP_NOTIF_NETWORK_ERROR = 0,
|
|
DI_DRV_HL854X_KTCP_NOTIF_NO_SOCK_AVAIL = 1,
|
|
DI_DRV_HL854X_KTCP_NOTIF_MEMORY_ERROR = 2,
|
|
DI_DRV_HL854X_KTCP_NOTIF_DNS_ERROR = 3,
|
|
DI_DRV_HL854X_KTCP_NOTIF_DISCONNECTED = 4,
|
|
DI_DRV_HL854X_KTCP_NOTIF_CON_ERROR = 5,
|
|
DI_DRV_HL854X_KTCP_NOTIF_GENERIC_ERROR = 6,
|
|
DI_DRV_HL854X_KTCP_NOTIF_ACCEPT_FAILED = 7,
|
|
DI_DRV_HL854X_KTCP_NOTIF_KTCPSND_MORELESS_DATA = 8,
|
|
DI_DRV_HL854X_KTCP_NOTIF_BAD_SESSION_ID = 9,
|
|
DI_DRV_HL854X_KTCP_NOTIF_SESSION_ALREADY_RUNNING = 10,
|
|
DI_DRV_HL854X_KTCP_NOTIF_ALL_SESSIONS_USED = 11,
|
|
DI_DRV_HL854X_KTCP_NOTIF_SOCK_CON_TIMEOUT = 12,
|
|
DI_DRV_HL854X_KTCP_NOTIF_CONTROL_SOCK_CON_TIMEOUT = 13
|
|
};
|
|
|
|
void di_drv_hl854x_tcp_stat(struct di_drv_hl854x_ctx *ctx);
|
|
void di_drv_hl854x_tcp_del(struct di_drv_hl854x_ctx *ctx);
|
|
void di_drv_hl854x_tcp_open(struct di_drv_hl854x_ctx *ctx);
|
|
void di_drv_hl854x_tcp_close(struct di_drv_hl854x_ctx *ctx);
|
|
di_errno_t di_drv_hl854x_tcp_send(struct di_drv_hl854x_ctx *ctx, const void *buf, size_t size);
|
|
di_errno_t di_drv_hl854x_tcp_send_buf(struct di_drv_hl854x_ctx *ctx, const struct di_buffer *buf);
|
|
|
|
size_t di_drv_hl854x_tcp_recv(struct di_drv_hl854x_ctx *ctx, void *buf, size_t size);
|
|
void di_drv_hl854x_tcp_recv_buf(struct di_drv_hl854x_ctx *ctx, struct di_buffer *buf);
|
|
|
|
/**
|
|
* Wait for data available on TCP session 1
|
|
* @param timeout_ms Timeout in milliseconds (or HL854X_TIMEOUT_INFINITE)
|
|
*/
|
|
di_errno_t di_drv_hl854x_tcp_recv_wait_data_available(struct di_drv_hl854x_ctx *ctx, uint32_t timeout_ms);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/** @} */
|
|
|
|
#endif /* DI_DRV_HL854X_TCP_H_ */
|