From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v8 02/17] libxl_qmp: Separate QMP message generation from qmp_send_prepare Date: Fri, 4 Jan 2019 15:30:41 +0000 Message-ID: <20190104153056.19138-3-anthony.perard@citrix.com> References: <20190104153056.19138-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gfRR7-0008JY-V2 for xen-devel@lists.xenproject.org; Fri, 04 Jan 2019 15:31:01 +0000 In-Reply-To: <20190104153056.19138-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org Li4gdG8gYmUgYWJsZSB0byByZS11c2UgcW1wX3ByZXBhcmVfY21kIHdpdGggbGlieGxfX2V2X3Ft cC4KClRoaXMgcGF0Y2ggYWxzbyBhZGQgdGhlIFFNUCBlbmQgb2YgY29tbWFuZCAnXHJcbicgaW50 byB0aGUgZ2VuZXJhdGVkCnN0cmluZyBhcyBldmVyeSBjYWxsZXIgd2lsbCBuZWVkcyB0aGlzLgoK VGhlcmUgc2hvdWxkIGJlIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogQW50 aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHY4OgogICAg ICAgIEFja2VkCiAgICAKICAgIHY3OgogICAgICAgIGdvdCByaWQgb2YgbGVuX3IgaW4gcW1wX3By ZXBhcmVfY21kIHBhcmFtZXRlcnMKICAgICAgICAgICAgY2FsbGVycyB3aWxsIG5lZWQgdG8gY2Fs bCBzdHJsZW4uCiAgICAgICAgVGhlIHJldHVybmVkIHZhbHVlIChgcmV0YCkgaXMgbm93IGFsbG9j YXRlZCB3aXRoaW4gYGdjYCAoaW5zdGVhZCBvZgogICAgICAgIE5PR0MpCiAgICAKICAgIHY2Ogog ICAgICAgIGNvbW1lbnQgYWJvdXQgb3duZXJzaGlwIG9mIGJ1ZgogICAgICAgIHVzZSBsaWJfX3Nw cmludGYgaW5zdGVhZCBvZiB0d28gc3RybmNweQogICAgdjU6CiAgICAgICAgcmVuYW1lIHFtcF9w cmVwYXJlX3FtcF9jbWQgdG8gcW1wX3ByZXBhcmVfY21kCiAgICAgICAgZml4IGNvZGluZyBzdHls ZQoKIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9xbXAuYyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3FtcC5jCmluZGV4IDZhNWM5OTc1NDYuLjQ1YTJjYzQyM2IgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5j CkBAIC01NzEsMTcgKzU3MSwxNiBAQCBzdGF0aWMgaW50IHFtcF9uZXh0KGxpYnhsX19nYyAqZ2Ms IGxpYnhsX19xbXBfaGFuZGxlciAqcW1wKQogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGNo YXIgKnFtcF9zZW5kX3ByZXBhcmUobGlieGxfX2djICpnYywgbGlieGxfX3FtcF9oYW5kbGVyICpx bXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjbWQsIGxpYnhs X19qc29uX29iamVjdCAqYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFtcF9j YWxsYmFja190IGNhbGxiYWNrLCB2b2lkICpvcGFxdWUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBxbXBfcmVxdWVzdF9jb250ZXh0ICpjb250ZXh0KQorc3RhdGljIGNoYXIgKnFtcF9w cmVwYXJlX2NtZChsaWJ4bF9fZ2MgKmdjLCBjb25zdCBjaGFyICpjbWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqYXJncywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IGlkKQogewotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIg KmJ1ZiA9IE5VTEw7Ci0gICAgY2hhciAqcmV0ID0gTlVMTDsKLSAgICBsaWJ4bF95YWpsX2xlbmd0 aCBsZW4gPSAwOworICAgIHlhamxfZ2VuIGhhbmQgPSBOVUxMOworICAgIC8qIG1lbW9yeSBmb3Ig J2J1ZicgaXMgb3duZWQgYnkgJ2hhbmQnICovCisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYnVm OworICAgIGxpYnhsX3lhamxfbGVuZ3RoIGxlbjsKICAgICB5YWpsX2dlbl9zdGF0dXMgczsKLSAg ICB5YWpsX2dlbiBoYW5kOwotICAgIGNhbGxiYWNrX2lkX3BhaXIgKmVsbSA9IE5VTEw7CisgICAg Y2hhciAqcmV0ID0gTlVMTDsKIAogICAgIGhhbmQgPSBsaWJ4bF95YWpsX2dlbl9hbGxvYyhOVUxM KTsKIApAQCAtNTk4LDcgKzU5Nyw3IEBAIHN0YXRpYyBjaGFyICpxbXBfc2VuZF9wcmVwYXJlKGxp YnhsX19nYyAqZ2MsIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAogICAgIGxpYnhsX195YWpsX2dl bl9hc2NpaXooaGFuZCwgImV4ZWN1dGUiKTsKICAgICBsaWJ4bF9feWFqbF9nZW5fYXNjaWl6KGhh bmQsIGNtZCk7CiAgICAgbGlieGxfX3lhamxfZ2VuX2FzY2lpeihoYW5kLCAiaWQiKTsKLSAgICB5 YWpsX2dlbl9pbnRlZ2VyKGhhbmQsICsrcW1wLT5sYXN0X2lkX3VzZWQpOworICAgIHlhamxfZ2Vu X2ludGVnZXIoaGFuZCwgaWQpOwogICAgIGlmIChhcmdzKSB7CiAgICAgICAgIGxpYnhsX195YWps X2dlbl9hc2NpaXooaGFuZCwgImFyZ3VtZW50cyIpOwogICAgICAgICBsaWJ4bF9fanNvbl9vYmpl Y3RfdG9feWFqbF9nZW4oZ2MsIGhhbmQsIGFyZ3MpOwpAQCAtNjA3LDcgKzYwNiwyNyBAQCBzdGF0 aWMgY2hhciAqcW1wX3NlbmRfcHJlcGFyZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fcW1wX2hhbmRs ZXIgKnFtcCwKIAogICAgIHMgPSB5YWpsX2dlbl9nZXRfYnVmKGhhbmQsICZidWYsICZsZW4pOwog Ci0gICAgaWYgKHMpIHsKKyAgICBpZiAocyAhPSB5YWpsX2dlbl9zdGF0dXNfb2spCisgICAgICAg IGdvdG8gb3V0OworCisgICAgcmV0ID0gbGlieGxfX3NwcmludGYoZ2MsICIlKi4qc1xyXG4iLCAo aW50KWxlbiwgKGludClsZW4sIGJ1Zik7CisKK291dDoKKyAgICB5YWpsX2dlbl9mcmVlKGhhbmQp OworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBjaGFyICpxbXBfc2VuZF9wcmVwYXJlKGxp YnhsX19nYyAqZ2MsIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqY21kLCBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxbXBfY2FsbGJhY2tfdCBjYWxsYmFjaywgdm9p ZCAqb3BhcXVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcW1wX3JlcXVlc3RfY29u dGV4dCAqY29udGV4dCkKK3sKKyAgICBjaGFyICpidWY7CisgICAgY2FsbGJhY2tfaWRfcGFpciAq ZWxtOworCisgICAgYnVmID0gcW1wX3ByZXBhcmVfY21kKGdjLCBjbWQsIGFyZ3MsICsrcW1wLT5s YXN0X2lkX3VzZWQpOworCisgICAgaWYgKCFidWYpIHsKICAgICAgICAgTE9HRChFUlJPUiwgcW1w LT5kb21pZCwgIkZhaWxlZCB0byBnZW5lcmF0ZSBhIHFtcCBjb21tYW5kIik7CiAgICAgICAgIGdv dG8gb3V0OwogICAgIH0KQEAgLTYyMywxMyArNjQyLDEwIEBAIHN0YXRpYyBjaGFyICpxbXBfc2Vu ZF9wcmVwYXJlKGxpYnhsX19nYyAqZ2MsIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAogICAgIGVs bS0+Y29udGV4dCA9IGNvbnRleHQ7CiAgICAgTElCWExfU1RBSUxRX0lOU0VSVF9UQUlMKCZxbXAt PmNhbGxiYWNrX2xpc3QsIGVsbSwgbmV4dCk7CiAKLSAgICByZXQgPSBsaWJ4bF9fc3RybmR1cChn YywgKGNvbnN0IGNoYXIqKWJ1ZiwgbGVuKTsKLQogICAgIExPR0QoREVCVUcsIHFtcC0+ZG9taWQs ICJuZXh0IHFtcCBjb21tYW5kOiAnJXMnIiwgYnVmKTsKIAogb3V0OgotICAgIHlhamxfZ2VuX2Zy ZWUoaGFuZCk7Ci0gICAgcmV0dXJuIHJldDsKKyAgICByZXR1cm4gYnVmOwogfQogCiBzdGF0aWMg aW50IHFtcF9zZW5kKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLApAQCAtNjUwLDkgKzY2Niw2IEBA IHN0YXRpYyBpbnQgcW1wX3NlbmQobGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCiAgICAgaWYgKGxp YnhsX3dyaXRlX2V4YWN0bHkocW1wLT5jdHgsIHFtcC0+cW1wX2ZkLCBidWYsIHN0cmxlbihidWYp LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJRTVAgY29tbWFuZCIsICJRTVAgc29ja2V0 IikpCiAgICAgICAgIGdvdG8gb3V0OwotICAgIGlmIChsaWJ4bF93cml0ZV9leGFjdGx5KHFtcC0+ Y3R4LCBxbXAtPnFtcF9mZCwgIlxyXG4iLCAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJDUkxGIiwgIlFNUCBzb2NrZXQiKSkKLSAgICAgICAgZ290byBvdXQ7CiAKICAgICByYyA9IHFt cC0+bGFzdF9pZF91c2VkOwogb3V0OgotLSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs