Revision 909cda12
b/console.c | ||
---|---|---|
1123 | 1123 |
int len; |
1124 | 1124 |
uint8_t buf[16]; |
1125 | 1125 |
|
1126 |
len = qemu_chr_can_read(s->chr);
|
|
1126 |
len = qemu_chr_be_can_write(s->chr);
|
|
1127 | 1127 |
if (len > s->out_fifo.count) |
1128 | 1128 |
len = s->out_fifo.count; |
1129 | 1129 |
if (len > 0) { |
b/hw/baum.c | ||
---|---|---|
223 | 223 |
|
224 | 224 |
if (!baum->out_buf_used) |
225 | 225 |
return; |
226 |
room = qemu_chr_can_read(chr);
|
|
226 |
room = qemu_chr_be_can_write(chr);
|
|
227 | 227 |
if (!room) |
228 | 228 |
return; |
229 | 229 |
if (room > baum->out_buf_used) |
... | ... | |
250 | 250 |
while (len--) |
251 | 251 |
if ((*cur++ = *buf++) == ESC) |
252 | 252 |
*cur++ = ESC; |
253 |
room = qemu_chr_can_read(baum->chr);
|
|
253 |
room = qemu_chr_be_can_write(baum->chr);
|
|
254 | 254 |
len = cur - io_buf; |
255 | 255 |
if (len <= room) { |
256 | 256 |
/* Fits */ |
b/qemu-char.c | ||
---|---|---|
151 | 151 |
return s->chr_ioctl(s, cmd, arg); |
152 | 152 |
} |
153 | 153 |
|
154 |
int qemu_chr_can_read(CharDriverState *s)
|
|
154 |
int qemu_chr_be_can_write(CharDriverState *s)
|
|
155 | 155 |
{ |
156 | 156 |
if (!s->chr_can_read) |
157 | 157 |
return 0; |
... | ... | |
565 | 565 |
CharDriverState *chr = opaque; |
566 | 566 |
FDCharDriver *s = chr->opaque; |
567 | 567 |
|
568 |
s->max_size = qemu_chr_can_read(chr);
|
|
568 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
569 | 569 |
return s->max_size; |
570 | 570 |
} |
571 | 571 |
|
... | ... | |
699 | 699 |
CharDriverState *chr = opaque; |
700 | 700 |
|
701 | 701 |
/* try to flush the queue if needed */ |
702 |
if (term_fifo_size != 0 && qemu_chr_can_read(chr) > 0) {
|
|
702 |
if (term_fifo_size != 0 && qemu_chr_be_can_write(chr) > 0) {
|
|
703 | 703 |
qemu_chr_be_write(chr, term_fifo, 1); |
704 | 704 |
term_fifo_size = 0; |
705 | 705 |
} |
... | ... | |
724 | 724 |
return; |
725 | 725 |
} |
726 | 726 |
if (size > 0) { |
727 |
if (qemu_chr_can_read(chr) > 0) {
|
|
727 |
if (qemu_chr_be_can_write(chr) > 0) {
|
|
728 | 728 |
qemu_chr_be_write(chr, buf, 1); |
729 | 729 |
} else if (term_fifo_size == 0) { |
730 | 730 |
term_fifo[term_fifo_size++] = buf[0]; |
... | ... | |
890 | 890 |
CharDriverState *chr = opaque; |
891 | 891 |
PtyCharDriver *s = chr->opaque; |
892 | 892 |
|
893 |
s->read_bytes = qemu_chr_can_read(chr);
|
|
893 |
s->read_bytes = qemu_chr_be_can_write(chr);
|
|
894 | 894 |
return s->read_bytes; |
895 | 895 |
} |
896 | 896 |
|
... | ... | |
1602 | 1602 |
{ |
1603 | 1603 |
WinCharState *s = chr->opaque; |
1604 | 1604 |
|
1605 |
s->max_size = qemu_chr_can_read(chr);
|
|
1605 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
1606 | 1606 |
return s->max_size; |
1607 | 1607 |
} |
1608 | 1608 |
|
... | ... | |
1840 | 1840 |
CharDriverState *chr = opaque; |
1841 | 1841 |
NetCharDriver *s = chr->opaque; |
1842 | 1842 |
|
1843 |
s->max_size = qemu_chr_can_read(chr);
|
|
1843 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
1844 | 1844 |
|
1845 | 1845 |
/* If there were any stray characters in the queue process them |
1846 | 1846 |
* first |
... | ... | |
1848 | 1848 |
while (s->max_size > 0 && s->bufptr < s->bufcnt) { |
1849 | 1849 |
qemu_chr_be_write(chr, &s->buf[s->bufptr], 1); |
1850 | 1850 |
s->bufptr++; |
1851 |
s->max_size = qemu_chr_can_read(chr);
|
|
1851 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
1852 | 1852 |
} |
1853 | 1853 |
return s->max_size; |
1854 | 1854 |
} |
... | ... | |
1869 | 1869 |
while (s->max_size > 0 && s->bufptr < s->bufcnt) { |
1870 | 1870 |
qemu_chr_be_write(chr, &s->buf[s->bufptr], 1); |
1871 | 1871 |
s->bufptr++; |
1872 |
s->max_size = qemu_chr_can_read(chr);
|
|
1872 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
1873 | 1873 |
} |
1874 | 1874 |
} |
1875 | 1875 |
|
... | ... | |
1963 | 1963 |
TCPCharDriver *s = chr->opaque; |
1964 | 1964 |
if (!s->connected) |
1965 | 1965 |
return 0; |
1966 |
s->max_size = qemu_chr_can_read(chr);
|
|
1966 |
s->max_size = qemu_chr_be_can_write(chr);
|
|
1967 | 1967 |
return s->max_size; |
1968 | 1968 |
} |
1969 | 1969 |
|
b/qemu-char.h | ||
---|---|---|
96 | 96 |
void *opaque); |
97 | 97 |
int qemu_chr_ioctl(CharDriverState *s, int cmd, void *arg); |
98 | 98 |
void qemu_chr_generic_open(CharDriverState *s); |
99 |
int qemu_chr_can_read(CharDriverState *s);
|
|
99 |
int qemu_chr_be_can_write(CharDriverState *s);
|
|
100 | 100 |
void qemu_chr_be_write(CharDriverState *s, uint8_t *buf, int len); |
101 | 101 |
int qemu_chr_get_msgfd(CharDriverState *s); |
102 | 102 |
void qemu_chr_accept_input(CharDriverState *s); |
b/spice-qemu-char.c | ||
---|---|---|
36 | 36 |
|
37 | 37 |
while (len > 0) { |
38 | 38 |
last_out = MIN(len, VMC_MAX_HOST_WRITE); |
39 |
if (qemu_chr_can_read(scd->chr) < last_out) {
|
|
39 |
if (qemu_chr_be_can_write(scd->chr) < last_out) {
|
|
40 | 40 |
break; |
41 | 41 |
} |
42 | 42 |
qemu_chr_be_write(scd->chr, p, last_out); |
Also available in: Unified diff