#define BUFSIZE 128 #define FLAG_CONNECTED (1 << 0) #define FLAG_SEND_AVAIL (1 << 1) #define FLAG_RECV_AVAIL (1 << 2) /* * Current implementation is synchronous and buffers are not yet used. */ struct stream { chopstx_mutex_t mtx; chopstx_cond_t cnd; uint8_t buf_send[BUFSIZE]; /* Not yet used. */ uint8_t buf_recv[BUFSIZE]; /* Not yet used. */ uint8_t cnt_send_head; /* Not yet used. */ uint8_t cnt_send_tail; /* Not yet used. */ uint8_t cnt_recv_head; /* Not yet used. */ uint8_t cnt_recv_tail; /* Not yet used. */ uint32_t flags; }; struct stream *stream_open (void); int stream_wait_connection (struct stream *st); int stream_send (struct stream *st, uint8_t *buf, uint8_t count); int stream_recv (struct stream *st, uint8_t *buf);