Add monitor_get_fd() command for fetching named fds
Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
f07918fdff
commit
7768e04c34
24
monitor.c
24
monitor.c
|
@ -1774,6 +1774,30 @@ static void do_closefd(Monitor *mon, const char *fdname)
|
||||||
fdname);
|
fdname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int monitor_get_fd(Monitor *mon, const char *fdname)
|
||||||
|
{
|
||||||
|
mon_fd_t *monfd;
|
||||||
|
|
||||||
|
LIST_FOREACH(monfd, &mon->fds, next) {
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
if (strcmp(monfd->name, fdname) != 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
fd = monfd->fd;
|
||||||
|
|
||||||
|
/* caller takes ownership of fd */
|
||||||
|
LIST_REMOVE(monfd, next);
|
||||||
|
qemu_free(monfd->name);
|
||||||
|
qemu_free(monfd);
|
||||||
|
|
||||||
|
return fd;
|
||||||
|
}
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
static const mon_cmd_t mon_cmds[] = {
|
static const mon_cmd_t mon_cmds[] = {
|
||||||
#include "qemu-monitor.h"
|
#include "qemu-monitor.h"
|
||||||
{ NULL, NULL, },
|
{ NULL, NULL, },
|
||||||
|
|
|
@ -20,6 +20,8 @@ void monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs,
|
||||||
BlockDriverCompletionFunc *completion_cb,
|
BlockDriverCompletionFunc *completion_cb,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
|
||||||
|
int monitor_get_fd(Monitor *mon, const char *fdname);
|
||||||
|
|
||||||
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap);
|
void monitor_vprintf(Monitor *mon, const char *fmt, va_list ap);
|
||||||
void monitor_printf(Monitor *mon, const char *fmt, ...)
|
void monitor_printf(Monitor *mon, const char *fmt, ...)
|
||||||
__attribute__ ((__format__ (__printf__, 2, 3)));
|
__attribute__ ((__format__ (__printf__, 2, 3)));
|
||||||
|
|
Loading…
Reference in New Issue