Lines Matching refs:sbuf
15 static inline bool sbuf_is_empty(shared_buf_t *sbuf) in sbuf_is_empty() argument
17 return (sbuf->head == sbuf->tail); in sbuf_is_empty()
28 int sbuf_get(shared_buf_t *sbuf, uint8_t *data) in sbuf_get() argument
32 if ((sbuf == NULL) || (data == NULL)) in sbuf_get()
35 if (sbuf_is_empty(sbuf)) { in sbuf_get()
40 from = (void *)sbuf + SBUF_HEAD_SIZE + sbuf->head; in sbuf_get()
42 memcpy(data, from, sbuf->ele_size); in sbuf_get()
44 sbuf->head = sbuf_next_ptr(sbuf->head, sbuf->ele_size, sbuf->size); in sbuf_get()
46 return sbuf->ele_size; in sbuf_get()
49 int sbuf_write(int fd, shared_buf_t *sbuf) in sbuf_write() argument
54 if (sbuf == NULL) in sbuf_write()
57 if (sbuf_is_empty(sbuf)) { in sbuf_write()
61 start = (void *)sbuf + SBUF_HEAD_SIZE + sbuf->head; in sbuf_write()
62 written = write(fd, start, sbuf->ele_size); in sbuf_write()
63 if (written != sbuf->ele_size) { in sbuf_write()
65 written, sbuf->ele_size, (written == -1) ? errno : 0); in sbuf_write()
69 sbuf->head = sbuf_next_ptr(sbuf->head, sbuf->ele_size, sbuf->size); in sbuf_write()
71 return sbuf->ele_size; in sbuf_write()
74 int sbuf_clear_buffered(shared_buf_t *sbuf) in sbuf_clear_buffered() argument
76 if (sbuf == NULL) in sbuf_clear_buffered()
79 sbuf->head = sbuf->tail; in sbuf_clear_buffered()