Lines Matching refs:d

46     MuxChardev *d = MUX_CHARDEV(chr);  in mux_chr_write()  local
48 if (!d->timestamps) { in mux_chr_write()
49 ret = qemu_chr_fe_write(&d->chr, buf, len); in mux_chr_write()
55 if (d->linestart) { in mux_chr_write()
61 if (d->timestamps_start == -1) { in mux_chr_write()
62 d->timestamps_start = ti; in mux_chr_write()
64 ti -= d->timestamps_start; in mux_chr_write()
74 qemu_chr_fe_write_all(&d->chr, in mux_chr_write()
76 d->linestart = 0; in mux_chr_write()
78 ret += qemu_chr_fe_write(&d->chr, buf + i, 1); in mux_chr_write()
80 d->linestart = 1; in mux_chr_write()
127 static void mux_chr_send_event(MuxChardev *d, int mux_nr, QEMUChrEvent event) in mux_chr_send_event() argument
129 CharBackend *be = d->backends[mux_nr]; in mux_chr_send_event()
138 MuxChardev *d = MUX_CHARDEV(chr); in mux_chr_be_event() local
140 if (d->focus != -1) { in mux_chr_be_event()
141 mux_chr_send_event(d, d->focus, event); in mux_chr_be_event()
145 static int mux_proc_byte(Chardev *chr, MuxChardev *d, int ch) in mux_proc_byte() argument
147 if (d->term_got_escape) { in mux_proc_byte()
148 d->term_got_escape = 0; in mux_proc_byte()
171 assert(d->mux_cnt > 0); /* handler registered with first fe */ in mux_proc_byte()
173 mux_set_focus(chr, (d->focus + 1) % d->mux_cnt); in mux_proc_byte()
176 d->timestamps = !d->timestamps; in mux_proc_byte()
177 d->timestamps_start = -1; in mux_proc_byte()
178 d->linestart = 0; in mux_proc_byte()
182 d->term_got_escape = 1; in mux_proc_byte()
192 MuxChardev *d = MUX_CHARDEV(chr); in mux_chr_accept_input() local
193 int m = d->focus; in mux_chr_accept_input()
194 CharBackend *be = d->backends[m]; in mux_chr_accept_input()
196 while (be && d->prod[m] != d->cons[m] && in mux_chr_accept_input()
199 &d->buffer[m][d->cons[m]++ & MUX_BUFFER_MASK], 1); in mux_chr_accept_input()
205 MuxChardev *d = MUX_CHARDEV(opaque); in mux_chr_can_read() local
206 int m = d->focus; in mux_chr_can_read()
207 CharBackend *be = d->backends[m]; in mux_chr_can_read()
209 if ((d->prod[m] - d->cons[m]) < MUX_BUFFER_SIZE) { in mux_chr_can_read()
223 MuxChardev *d = MUX_CHARDEV(opaque); in mux_chr_read() local
224 int m = d->focus; in mux_chr_read()
225 CharBackend *be = d->backends[m]; in mux_chr_read()
231 if (mux_proc_byte(chr, d, buf[i])) { in mux_chr_read()
232 if (d->prod[m] == d->cons[m] && in mux_chr_read()
237 d->buffer[m][d->prod[m]++ & MUX_BUFFER_MASK] = buf[i]; in mux_chr_read()
244 MuxChardev *d = MUX_CHARDEV(chr); in mux_chr_send_all_event() local
252 for (i = 0; i < d->mux_cnt; i++) { in mux_chr_send_all_event()
253 mux_chr_send_event(d, i, event); in mux_chr_send_all_event()
264 MuxChardev *d = MUX_CHARDEV(s); in mux_chr_add_watch() local
265 Chardev *chr = qemu_chr_fe_get_driver(&d->chr); in mux_chr_add_watch()
277 MuxChardev *d = MUX_CHARDEV(obj); in char_mux_finalize() local
280 for (i = 0; i < d->mux_cnt; i++) { in char_mux_finalize()
281 CharBackend *be = d->backends[i]; in char_mux_finalize()
286 qemu_chr_fe_deinit(&d->chr, false); in char_mux_finalize()
291 MuxChardev *d = MUX_CHARDEV(chr); in mux_chr_update_read_handlers() local
294 qemu_chr_fe_set_handlers_full(&d->chr, in mux_chr_update_read_handlers()
305 MuxChardev *d = MUX_CHARDEV(chr); in mux_set_focus() local
308 assert(focus < d->mux_cnt); in mux_set_focus()
310 if (d->focus != -1) { in mux_set_focus()
311 mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_OUT); in mux_set_focus()
314 d->focus = focus; in mux_set_focus()
315 chr->be = d->backends[focus]; in mux_set_focus()
316 mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_IN); in mux_set_focus()
326 MuxChardev *d = MUX_CHARDEV(chr); in qemu_chr_open_mux() local
334 d->focus = -1; in qemu_chr_open_mux()
339 qemu_chr_fe_init(&d->chr, drv, errp); in qemu_chr_open_mux()