chardev: drop the Memory chardev driver
It's not used anymore since the last commit. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
48c043d0d1
commit
4bf0bb8014
64
qemu-char.c
64
qemu-char.c
@ -2796,70 +2796,6 @@ static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/***********************************************************/
|
||||
/* Memory chardev */
|
||||
typedef struct {
|
||||
size_t outbuf_size;
|
||||
size_t outbuf_capacity;
|
||||
uint8_t *outbuf;
|
||||
} MemoryDriver;
|
||||
|
||||
static int mem_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
|
||||
{
|
||||
MemoryDriver *d = chr->opaque;
|
||||
|
||||
/* TODO: the QString implementation has the same code, we should
|
||||
* introduce a generic way to do this in cutils.c */
|
||||
if (d->outbuf_capacity < d->outbuf_size + len) {
|
||||
/* grow outbuf */
|
||||
d->outbuf_capacity += len;
|
||||
d->outbuf_capacity *= 2;
|
||||
d->outbuf = g_realloc(d->outbuf, d->outbuf_capacity);
|
||||
}
|
||||
|
||||
memcpy(d->outbuf + d->outbuf_size, buf, len);
|
||||
d->outbuf_size += len;
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
void qemu_chr_init_mem(CharDriverState *chr)
|
||||
{
|
||||
MemoryDriver *d;
|
||||
|
||||
d = g_malloc(sizeof(*d));
|
||||
d->outbuf_size = 0;
|
||||
d->outbuf_capacity = 4096;
|
||||
d->outbuf = g_malloc0(d->outbuf_capacity);
|
||||
|
||||
memset(chr, 0, sizeof(*chr));
|
||||
chr->opaque = d;
|
||||
chr->chr_write = mem_chr_write;
|
||||
}
|
||||
|
||||
QString *qemu_chr_mem_to_qs(CharDriverState *chr)
|
||||
{
|
||||
MemoryDriver *d = chr->opaque;
|
||||
return qstring_from_substr((char *) d->outbuf, 0, d->outbuf_size - 1);
|
||||
}
|
||||
|
||||
/* NOTE: this driver can not be closed with qemu_chr_delete()! */
|
||||
void qemu_chr_close_mem(CharDriverState *chr)
|
||||
{
|
||||
MemoryDriver *d = chr->opaque;
|
||||
|
||||
g_free(d->outbuf);
|
||||
g_free(chr->opaque);
|
||||
chr->opaque = NULL;
|
||||
chr->chr_write = NULL;
|
||||
}
|
||||
|
||||
size_t qemu_chr_mem_osize(const CharDriverState *chr)
|
||||
{
|
||||
const MemoryDriver *d = chr->opaque;
|
||||
return d->outbuf_size;
|
||||
}
|
||||
|
||||
/*********************************************************/
|
||||
/* Ring buffer chardev */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user