} else return FALSE;
}
+size_t
+putChan_force(Chan c, char *data, size_t size) {
+ if (ringb_write_space(c->rb) >= size) {
+ ringb_write(c->rb, data, size);
+ return size;
+ } else {
+ ringb_reset(c->rb);
+ return ringb_write(c->rb, data, size);
+ }
+}
+
BOOLEAN
getChan_nowait(Chan c, char *data, size_t size) {
if (ringb_read_space(c->rb) >= size) {
} else return FALSE;
}
+void
+resetChan(Chan c) { ringb_reset(c->rb); }
+
Chan
openChan(char *path, size_t want) {
Chan c = (Chan) safealloc(sizeof(ChanDesc), 1, "Chan header");