28 #ifndef HOMEPORT_HPD_TCPD_H
29 #define HOMEPORT_HPD_TCPD_H
57 const char *buf,
size_t len);
113 #define HPD_TCPD_SETTINGS_DEFAULT { \
114 .port = HPD_TCPD_P_HTTP, \
117 .max_data_size = 1024, \
118 .on_connect = NULL, \
119 .on_receive = NULL, \
120 .on_disconnect = NULL, \
142 #endif // HOMEPORT_TCPD_H
enum hpd_tcpd_port hpd_tcpd_port_t
hpd_tcpd_nodata_f on_connect
hpd_error_t hpd_tcpd_create(hpd_tcpd_t **tcpd, hpd_tcpd_settings_t *settings, const hpd_module_t *context, hpd_ev_loop_t *loop)
Create new tcpd instance.
hpd_tcpd_port_t port
Port number.
struct hp_settings settings
hpd_error_t hpd_tcpd_conn_keep_open(hpd_tcpd_conn_t *conn)
Disable timeout on connection.
hpd_error_t hpd_tcpd_conn_get_ip(hpd_tcpd_conn_t *conn, const char **ip)
Get the IP address of the client.
hpd_error_t hpd_tcpd_stop(hpd_tcpd_t *tcpd)
Stop an already running tcpd.
hpd_tcpd_nodata_f on_disconnect
hpd_error_t hpd_tcpd_start(hpd_tcpd_t *tcpd)
Start the tcpd.
enum hpd_error hpd_error_t
hpd_tcpd_return_t(* hpd_tcpd_nodata_f)(hpd_tcpd_t *instance, hpd_tcpd_conn_t *conn, void *ws_ctx, void **conn_ctx)
All data to represent a connection.
hpd_error_t hpd_tcpd_conn_sendf(hpd_tcpd_conn_t *conn, const char *fmt,...)
Send message on connection.
static struct ev_loop * loop
hpd_error_t hpd_tcpd_conn_kill(hpd_tcpd_conn_t *conn)
Kill and clean up after a connection.
hpd_error_t hpd_tcpd_conn_close(hpd_tcpd_conn_t *conn)
Close a connection, after the remaining data has been sent.
hpd_tcpd_data_f on_receive
hpd_error_t hpd_tcpd_conn_vsendf(hpd_tcpd_conn_t *conn, const char *fmt, va_list vp)
Send message on connection.
struct ev_loop hpd_ev_loop_t
hpd_error_t hpd_tcpd_destroy(hpd_tcpd_t *tcpd)
Destroy tcpd and free used memory.
Settings struct for tcpd.
hpd_tcpd_return_t(* hpd_tcpd_data_f)(hpd_tcpd_t *instance, hpd_tcpd_conn_t *conn, void *ws_ctx, void **conn_ctx, const char *buf, size_t len)
enum hpd_tcpd_return hpd_tcpd_return_t