From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 18/32] libxl_qmp: Separate QMP message generation from qmp_send_prepare Date: Fri, 27 Jul 2018 15:06:00 +0100 Message-ID: <20180727140614.13256-19-anthony.perard@citrix.com> References: <20180727140614.13256-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fj3ju-0000ME-CM for xen-devel@lists.xenproject.org; Fri, 27 Jul 2018 14:29:06 +0000 In-Reply-To: <20180727140614.13256-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 VG8gYmUgYWJsZSB0byByZS11c2UgcW1wX3ByZXBhcmVfcW1wX2NtZCB3aXRoIGxpYnhsX19ldl9x bXAuCgpBbHNvLCBhZGQgdGhlIFFNUCBlbmQgb2YgY29tbWFuZCAnXHJcbicgaW50byB0aGUgZ2Vu ZXJhdGVkIHN0cmluZy4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBl cmFyZEBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIHwgNjIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NCBp bnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF9xbXAuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCmluZGV4IDY2NWI2ZjVkMDUuLjM4 YTQzOTUyNjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3FtcC5jCkBAIC01NzgsMTcgKzU3OCwxNyBAQCBzdGF0aWMgaW50IHFtcF9u ZXh0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wKQogICAgIHJldHVybiBy YzsKIH0KIAotc3RhdGljIGNoYXIgKnFtcF9zZW5kX3ByZXBhcmUobGlieGxfX2djICpnYywgbGli eGxfX3FtcF9oYW5kbGVyICpxbXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyICpjbWQsIGxpYnhsX19qc29uX29iamVjdCAqYXJncywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHFtcF9jYWxsYmFja190IGNhbGxiYWNrLCB2b2lkICpvcGFxdWUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBxbXBfcmVxdWVzdF9jb250ZXh0ICpjb250ZXh0KQot ewotICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZiA9IE5VTEw7Ci0gICAgY2hhciAqcmV0ID0g TlVMTDsKLSAgICBsaWJ4bF95YWpsX2xlbmd0aCBsZW4gPSAwOworc3RhdGljIGNoYXIgKnFtcF9w cmVwYXJlX3FtcF9jbWQobGlieGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKmNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf dCAqbGVuX3IpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmOworICAgIGxpYnhsX3lh amxfbGVuZ3RoIGxlbjsKICAgICB5YWpsX2dlbl9zdGF0dXMgczsKICAgICB5YWpsX2dlbiBoYW5k OwotICAgIGNhbGxiYWNrX2lkX3BhaXIgKmVsbSA9IE5VTEw7CisgICAgY2hhciAqcmV0ID0gTlVM TDsKIAogICAgIGhhbmQgPSBsaWJ4bF95YWpsX2dlbl9hbGxvYyhOVUxMKTsKIApAQCAtNjAwLDcg KzYwMCw3IEBAIHN0YXRpYyBjaGFyICpxbXBfc2VuZF9wcmVwYXJlKGxpYnhsX19nYyAqZ2MsIGxp YnhsX19xbXBfaGFuZGxlciAqcW1wLAogICAgIGxpYnhsX195YWpsX2dlbl9hc2NpaXooaGFuZCwg ImV4ZWN1dGUiKTsKICAgICBsaWJ4bF9feWFqbF9nZW5fYXNjaWl6KGhhbmQsIGNtZCk7CiAgICAg bGlieGxfX3lhamxfZ2VuX2FzY2lpeihoYW5kLCAiaWQiKTsKLSAgICB5YWpsX2dlbl9pbnRlZ2Vy KGhhbmQsICsrcW1wLT5sYXN0X2lkX3VzZWQpOworICAgIHlhamxfZ2VuX2ludGVnZXIoaGFuZCwg aWQpOwogICAgIGlmIChhcmdzKSB7CiAgICAgICAgIGxpYnhsX195YWpsX2dlbl9hc2NpaXooaGFu ZCwgImFyZ3VtZW50cyIpOwogICAgICAgICBsaWJ4bF9fanNvbl9vYmplY3RfdG9feWFqbF9nZW4o Z2MsIGhhbmQsIGFyZ3MpOwpAQCAtNjEwLDYgKzYxMCwzNiBAQCBzdGF0aWMgY2hhciAqcW1wX3Nl bmRfcHJlcGFyZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCwKICAgICBz ID0geWFqbF9nZW5fZ2V0X2J1ZihoYW5kLCAmYnVmLCAmbGVuKTsKIAogICAgIGlmIChzKSB7Cisg ICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIHJldCA9IGxpYnhsX19tYWxsb2MoTk9HQywg bGVuICsgMyk7CisgICAgc3RybmNweShyZXQsIChjb25zdCBjaGFyICopYnVmLCBsZW4gKyAzKTsK KyAgICBzdHJuY3B5KHJldCArIGxlbiwgIlxyXG4iLCAzKTsKKyAgICBsZW4gKz0gMjsKKworICAg IGlmIChsZW5fcikKKyAgICAgICAgKmxlbl9yID0gbGVuOworCitvdXQ6CisgICAgeWFqbF9nZW5f ZnJlZShoYW5kKTsKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgY2hhciAqcW1wX3NlbmRf cHJlcGFyZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNtZCwgbGlieGxfX2pzb25fb2JqZWN0 ICphcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcW1wX2NhbGxiYWNrX3QgY2Fs bGJhY2ssIHZvaWQgKm9wYXF1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFtcF9y ZXF1ZXN0X2NvbnRleHQgKmNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplX3QgKmxlbl9yKQoreworICAgIGNoYXIgKmJ1ZjsKKyAgICBjYWxsYmFja19pZF9wYWlyICpl bG07CisKKyAgICBidWYgPSBxbXBfcHJlcGFyZV9xbXBfY21kKGdjLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY21kLCBhcmdzLCArK3FtcC0+bGFzdF9pZF91c2VkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisKKyAgICBpZiAoIWJ1ZikgewogICAgICAgICBM T0dEKEVSUk9SLCBxbXAtPmRvbWlkLCAiRmFpbGVkIHRvIGdlbmVyYXRlIGEgcW1wIGNvbW1hbmQi KTsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQpAQCAtNjI1LDEzICs2NTUsMTAgQEAgc3RhdGlj IGNoYXIgKnFtcF9zZW5kX3ByZXBhcmUobGlieGxfX2djICpnYywgbGlieGxfX3FtcF9oYW5kbGVy ICpxbXAsCiAgICAgZWxtLT5jb250ZXh0ID0gY29udGV4dDsKICAgICBMSUJYTF9TVEFJTFFfSU5T RVJUX1RBSUwoJnFtcC0+Y2FsbGJhY2tfbGlzdCwgZWxtLCBuZXh0KTsKIAotICAgIHJldCA9IGxp YnhsX19zdHJuZHVwKGdjLCAoY29uc3QgY2hhciopYnVmLCBsZW4pOwotCiAgICAgTE9HRChERUJV RywgcW1wLT5kb21pZCwgIm5leHQgcW1wIGNvbW1hbmQ6ICclcyciLCBidWYpOwogCiBvdXQ6Ci0g ICAgeWFqbF9nZW5fZnJlZShoYW5kKTsKLSAgICByZXR1cm4gcmV0OworICAgIHJldHVybiBidWY7 CiB9CiAKIHN0YXRpYyBpbnQgcW1wX3NlbmQobGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCkBAIC02 NDMsNyArNjcwLDggQEAgc3RhdGljIGludCBxbXBfc2VuZChsaWJ4bF9fcW1wX2hhbmRsZXIgKnFt cCwKICAgICBpbnQgcmMgPSAtMTsKICAgICBHQ19JTklUKHFtcC0+Y3R4KTsKIAotICAgIGJ1ZiA9 IHFtcF9zZW5kX3ByZXBhcmUoZ2MsIHFtcCwgY21kLCBhcmdzLCBjYWxsYmFjaywgb3BhcXVlLCBj b250ZXh0KTsKKyAgICBidWYgPSBxbXBfc2VuZF9wcmVwYXJlKGdjLCBxbXAsIGNtZCwgYXJncywg Y2FsbGJhY2ssIG9wYXF1ZSwgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V TEwpOwogCiAgICAgaWYgKGJ1ZiA9PSBOVUxMKSB7CiAgICAgICAgIGdvdG8gb3V0OwpAQCAtNjUy LDEyICs2ODAsMTAgQEAgc3RhdGljIGludCBxbXBfc2VuZChsaWJ4bF9fcW1wX2hhbmRsZXIgKnFt cCwKICAgICBpZiAobGlieGxfd3JpdGVfZXhhY3RseShxbXAtPmN0eCwgcW1wLT5xbXBfZmQsIGJ1 Ziwgc3RybGVuKGJ1ZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlFNUCBjb21tYW5k IiwgIlFNUCBzb2NrZXQiKSkKICAgICAgICAgZ290byBvdXQ7Ci0gICAgaWYgKGxpYnhsX3dyaXRl X2V4YWN0bHkocW1wLT5jdHgsIHFtcC0+cW1wX2ZkLCAiXHJcbiIsIDIsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIkNSTEYiLCAiUU1QIHNvY2tldCIpKQotICAgICAgICBnb3RvIG91dDsK IAogICAgIHJjID0gcW1wLT5sYXN0X2lkX3VzZWQ7CiBvdXQ6CisgICAgZnJlZShidWYpOwogICAg IEdDX0ZSRUU7CiAgICAgcmV0dXJuIHJjOwogfQotLSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs