From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40397) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XIHgq-0001vI-U8 for qemu-devel@nongnu.org; Fri, 15 Aug 2014 09:37:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XIHgg-00066O-BT for qemu-devel@nongnu.org; Fri, 15 Aug 2014 09:37:08 -0400 Received: from lputeaux-656-01-25-125.w80-12.abo.wanadoo.fr ([80.12.84.125]:42479 helo=paradis.irqsave.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XIHgg-00064z-0V for qemu-devel@nongnu.org; Fri, 15 Aug 2014 09:36:58 -0400 From: =?UTF-8?q?Beno=C3=AEt=20Canet?= Date: Fri, 15 Aug 2014 15:35:50 +0200 Message-Id: <1408109759-1100-19-git-send-email-benoit.canet@nodalink.com> In-Reply-To: <1408109759-1100-1-git-send-email-benoit.canet@nodalink.com> References: <1408109759-1100-1-git-send-email-benoit.canet@nodalink.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 18/26] monitor: Move more functions from monitor.c to monitor-system.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, pbonzini@redhat.com, =?UTF-8?q?Beno=C3=AEt=20Canet?= , stefanha@redhat.com Signed-off-by: Beno=C3=AEt Canet --- monitor-system.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++= ++++++ monitor.c | 69 --------------------------------------------------= ------ 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/monitor-system.c b/monitor-system.c index 56f3281..b908143 100644 --- a/monitor-system.c +++ b/monitor-system.c @@ -2396,3 +2396,72 @@ int get_double(Monitor *mon, double *pval, const c= har **pp) =20 size_t sizeof_mon_cmds =3D sizeof(mon_cmds); size_t sizeof_info_cmds =3D sizeof(info_cmds); + +static void bdrv_password_cb(void *opaque, const char *password, + void *readline_opaque) +{ + Monitor *mon =3D opaque; + BlockDriverState *bs =3D readline_opaque; + int ret =3D 0; + + if (bdrv_set_key(bs, password) !=3D 0) { + monitor_printf(mon, "invalid password\n"); + ret =3D -EPERM; + } + if (mon->password_completion_cb) + mon->password_completion_cb(mon->password_opaque, ret); + + monitor_read_command(mon, 1); +} + +ReadLineState *monitor_get_rs(Monitor *mon) +{ + return mon->rs; +} + +int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs, + BlockDriverCompletionFunc *completion_cb= , + void *opaque) +{ + int err; + + if (!bdrv_key_required(bs)) { + if (completion_cb) + completion_cb(opaque, 0); + return 0; + } + + if (monitor_ctrl_mode(mon)) { + qerror_report(QERR_DEVICE_ENCRYPTED, bdrv_get_device_name(bs), + bdrv_get_encrypted_filename(bs)); + return -1; + } + + monitor_printf(mon, "%s (%s) is encrypted.\n", bdrv_get_device_name(= bs), + bdrv_get_encrypted_filename(bs)); + + mon->password_completion_cb =3D completion_cb; + mon->password_opaque =3D opaque; + + err =3D monitor_read_password(mon, bdrv_password_cb, bs); + + if (err && completion_cb) + completion_cb(opaque, err); + + return err; +} + +int monitor_read_block_device_key(Monitor *mon, const char *device, + BlockDriverCompletionFunc *completion_= cb, + void *opaque) +{ + BlockDriverState *bs; + + bs =3D bdrv_find(device); + if (!bs) { + monitor_printf(mon, "Device not found %s\n", device); + return -1; + } + + return monitor_read_bdrv_key_start(mon, bs, completion_cb, opaque); +} diff --git a/monitor.c b/monitor.c index 78ed99d..1472ef4 100644 --- a/monitor.c +++ b/monitor.c @@ -2979,75 +2979,6 @@ void monitor_init(CharDriverState *chr, int flags) default_mon =3D mon; } =20 -static void bdrv_password_cb(void *opaque, const char *password, - void *readline_opaque) -{ - Monitor *mon =3D opaque; - BlockDriverState *bs =3D readline_opaque; - int ret =3D 0; - - if (bdrv_set_key(bs, password) !=3D 0) { - monitor_printf(mon, "invalid password\n"); - ret =3D -EPERM; - } - if (mon->password_completion_cb) - mon->password_completion_cb(mon->password_opaque, ret); - - monitor_read_command(mon, 1); -} - -ReadLineState *monitor_get_rs(Monitor *mon) -{ - return mon->rs; -} - -int monitor_read_bdrv_key_start(Monitor *mon, BlockDriverState *bs, - BlockDriverCompletionFunc *completion_cb= , - void *opaque) -{ - int err; - - if (!bdrv_key_required(bs)) { - if (completion_cb) - completion_cb(opaque, 0); - return 0; - } - - if (monitor_ctrl_mode(mon)) { - qerror_report(QERR_DEVICE_ENCRYPTED, bdrv_get_device_name(bs), - bdrv_get_encrypted_filename(bs)); - return -1; - } - - monitor_printf(mon, "%s (%s) is encrypted.\n", bdrv_get_device_name(= bs), - bdrv_get_encrypted_filename(bs)); - - mon->password_completion_cb =3D completion_cb; - mon->password_opaque =3D opaque; - - err =3D monitor_read_password(mon, bdrv_password_cb, bs); - - if (err && completion_cb) - completion_cb(opaque, err); - - return err; -} - -int monitor_read_block_device_key(Monitor *mon, const char *device, - BlockDriverCompletionFunc *completion_= cb, - void *opaque) -{ - BlockDriverState *bs; - - bs =3D bdrv_find(device); - if (!bs) { - monitor_printf(mon, "Device not found %s\n", device); - return -1; - } - - return monitor_read_bdrv_key_start(mon, bs, completion_cb, opaque); -} - QemuOptsList qemu_mon_opts =3D { .name =3D "mon", .implied_opt_name =3D "chardev", --=20 2.1.0.rc1