Add tcp_qput(), for writing data to a tcp_queue
This commit is contained in:
parent
f3057b7803
commit
93888d02d3
2 changed files with 19 additions and 0 deletions
17
tcp.c
17
tcp.c
|
@ -61,8 +61,25 @@ tcp_qprintf(tcp_queue_t *tq, const char *fmt, ...)
|
|||
tq->tq_depth += td->td_datalen;
|
||||
}
|
||||
|
||||
/*
|
||||
* Put data on a TCP queue
|
||||
*/
|
||||
void
|
||||
tcp_qput(tcp_queue_t *tq, const uint8_t *buf, size_t len)
|
||||
{
|
||||
tcp_data_t *td;
|
||||
void *out;
|
||||
|
||||
td = malloc(sizeof(tcp_data_t));
|
||||
td->td_offset = 0;
|
||||
td->td_datalen = len;
|
||||
|
||||
out = malloc(td->td_datalen);
|
||||
memcpy(out, buf, td->td_datalen);
|
||||
td->td_data = out;
|
||||
TAILQ_INSERT_TAIL(&tq->tq_messages, td, td_link);
|
||||
tq->tq_depth += td->td_datalen;
|
||||
}
|
||||
|
||||
/*
|
||||
* printfs data on a TCP connection
|
||||
|
|
2
tcp.h
2
tcp.h
|
@ -104,6 +104,8 @@ void tcp_printf(tcp_session_t *ses, const char *fmt, ...);
|
|||
|
||||
void tcp_qprintf(tcp_queue_t *tq, const char *fmt, ...);
|
||||
|
||||
void tcp_qput(tcp_queue_t *tq, const uint8_t *buf, size_t len);
|
||||
|
||||
void tcp_output_queue(tcp_session_t *ses, tcp_queue_t *dst, tcp_queue_t *src);
|
||||
|
||||
void *tcp_create_client(const char *hostname, int port, size_t session_size,
|
||||
|
|
Loading…
Add table
Reference in a new issue