Lines Matching full:start
44 uint32_t start = ws->start, end = ws->end, seq = ws->seq; in sys_winstream_write() local
47 * (Max bytes buffered is actually len-1 because start==end is in sys_winstream_write()
51 start = end; in sys_winstream_write()
55 /* Make room in the buffer by advancing start first (note same in sys_winstream_write()
60 uint32_t avail = (ws->len - 1) - idx_sub(ws, end, start); in sys_winstream_write()
63 ws->start = idx_mod(ws, start + (len - avail)); in sys_winstream_write()
70 ws->start = end; in sys_winstream_write()
88 uint32_t seq0 = *seq, start, end, wseq, len, behind, copy, suffix; in sys_winstream_read() local
91 start = ws->start; end = ws->end; wseq = ws->seq; in sys_winstream_read()
95 if (*seq == wseq || start == end) { in sys_winstream_read()
101 * back than start. We dropped some bytes, so cheat in sys_winstream_read()
105 if (behind > idx_sub(ws, ws->end, ws->start)) { in sys_winstream_read()
126 } while (start != ws->start || wseq != ws->seq); in sys_winstream_read()