From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v7 02/14] libxl_qmp: Separate QMP message generation from qmp_send_prepare Date: Fri, 23 Nov 2018 13:53:43 +0000 Message-ID: <20181123135355.6001-3-anthony.perard@citrix.com> References: <20181123135355.6001-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 1gQBuG-0003VH-QQ for xen-devel@lists.xenproject.org; Fri, 23 Nov 2018 13:54:04 +0000 In-Reply-To: <20181123135355.6001-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+Ci0tLQoKTm90ZXM6CiAgICB2 NzoKICAgICAgICBnb3QgcmlkIG9mIGxlbl9yIGluIHFtcF9wcmVwYXJlX2NtZCBwYXJhbWV0ZXJz CiAgICAgICAgICAgIGNhbGxlcnMgd2lsbCBuZWVkIHRvIGNhbGwgc3RybGVuLgogICAgICAgIFRo ZSByZXR1cm5lZCB2YWx1ZSAoYHJldGApIGlzIG5vdyBhbGxvY2F0ZWQgd2l0aGluIGBnY2AgKGlu c3RlYWQgb2YKICAgICAgICBOT0dDKQogICAgCiAgICB2NjoKICAgICAgICBjb21tZW50IGFib3V0 IG93bmVyc2hpcCBvZiBidWYKICAgICAgICB1c2UgbGliX19zcHJpbnRmIGluc3RlYWQgb2YgdHdv IHN0cm5jcHkKICAgIHY1OgogICAgICAgIHJlbmFtZSBxbXBfcHJlcGFyZV9xbXBfY21kIHRvIHFt cF9wcmVwYXJlX2NtZAogICAgICAgIGZpeCBjb2Rpbmcgc3R5bGUKCiB0b29scy9saWJ4bC9saWJ4 bF9xbXAuYyB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpp bmRleCA2YTVjOTk3NTQ2Li40NWEyY2M0MjNiIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9xbXAuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAtNTcxLDE3ICs1NzEsMTYg QEAgc3RhdGljIGludCBxbXBfbmV4dChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fcW1wX2hhbmRsZXIg KnFtcCkKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBjaGFyICpxbXBfc2VuZF9wcmVwYXJl KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY21kLCBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3Ms Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxbXBfY2FsbGJhY2tfdCBjYWxsYmFjaywg dm9pZCAqb3BhcXVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcW1wX3JlcXVlc3Rf Y29udGV4dCAqY29udGV4dCkKK3N0YXRpYyBjaGFyICpxbXBfcHJlcGFyZV9jbWQobGlieGxfX2dj ICpnYywgY29uc3QgY2hhciAqY21kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBpZCkKIHsKLSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYgPSBOVUxMOwotICAgIGNo YXIgKnJldCA9IE5VTEw7Ci0gICAgbGlieGxfeWFqbF9sZW5ndGggbGVuID0gMDsKKyAgICB5YWps X2dlbiBoYW5kID0gTlVMTDsKKyAgICAvKiBtZW1vcnkgZm9yICdidWYnIGlzIG93bmVkIGJ5ICdo YW5kJyAqLworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZjsKKyAgICBsaWJ4bF95YWpsX2xl bmd0aCBsZW47CiAgICAgeWFqbF9nZW5fc3RhdHVzIHM7Ci0gICAgeWFqbF9nZW4gaGFuZDsKLSAg ICBjYWxsYmFja19pZF9wYWlyICplbG0gPSBOVUxMOworICAgIGNoYXIgKnJldCA9IE5VTEw7CiAK ICAgICBoYW5kID0gbGlieGxfeWFqbF9nZW5fYWxsb2MoTlVMTCk7CiAKQEAgLTU5OCw3ICs1OTcs NyBAQCBzdGF0aWMgY2hhciAqcW1wX3NlbmRfcHJlcGFyZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9f cW1wX2hhbmRsZXIgKnFtcCwKICAgICBsaWJ4bF9feWFqbF9nZW5fYXNjaWl6KGhhbmQsICJleGVj dXRlIik7CiAgICAgbGlieGxfX3lhamxfZ2VuX2FzY2lpeihoYW5kLCBjbWQpOwogICAgIGxpYnhs X195YWpsX2dlbl9hc2NpaXooaGFuZCwgImlkIik7Ci0gICAgeWFqbF9nZW5faW50ZWdlcihoYW5k LCArK3FtcC0+bGFzdF9pZF91c2VkKTsKKyAgICB5YWpsX2dlbl9pbnRlZ2VyKGhhbmQsIGlkKTsK ICAgICBpZiAoYXJncykgewogICAgICAgICBsaWJ4bF9feWFqbF9nZW5fYXNjaWl6KGhhbmQsICJh cmd1bWVudHMiKTsKICAgICAgICAgbGlieGxfX2pzb25fb2JqZWN0X3RvX3lhamxfZ2VuKGdjLCBo YW5kLCBhcmdzKTsKQEAgLTYwNyw3ICs2MDYsMjcgQEAgc3RhdGljIGNoYXIgKnFtcF9zZW5kX3By ZXBhcmUobGlieGxfX2djICpnYywgbGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCiAKICAgICBzID0g eWFqbF9nZW5fZ2V0X2J1ZihoYW5kLCAmYnVmLCAmbGVuKTsKIAotICAgIGlmIChzKSB7CisgICAg aWYgKHMgIT0geWFqbF9nZW5fc3RhdHVzX29rKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHJl dCA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJSouKnNcclxuIiwgKGludClsZW4sIChpbnQpbGVuLCBi dWYpOworCitvdXQ6CisgICAgeWFqbF9nZW5fZnJlZShoYW5kKTsKKyAgICByZXR1cm4gcmV0Owor fQorCitzdGF0aWMgY2hhciAqcW1wX3NlbmRfcHJlcGFyZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9f cW1wX2hhbmRsZXIgKnFtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmNtZCwgbGlieGxfX2pzb25fb2JqZWN0ICphcmdzLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcW1wX2NhbGxiYWNrX3QgY2FsbGJhY2ssIHZvaWQgKm9wYXF1ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHFtcF9yZXF1ZXN0X2NvbnRleHQgKmNvbnRleHQpCit7Cisg ICAgY2hhciAqYnVmOworICAgIGNhbGxiYWNrX2lkX3BhaXIgKmVsbTsKKworICAgIGJ1ZiA9IHFt cF9wcmVwYXJlX2NtZChnYywgY21kLCBhcmdzLCArK3FtcC0+bGFzdF9pZF91c2VkKTsKKworICAg IGlmICghYnVmKSB7CiAgICAgICAgIExPR0QoRVJST1IsIHFtcC0+ZG9taWQsICJGYWlsZWQgdG8g Z2VuZXJhdGUgYSBxbXAgY29tbWFuZCIpOwogICAgICAgICBnb3RvIG91dDsKICAgICB9CkBAIC02 MjMsMTMgKzY0MiwxMCBAQCBzdGF0aWMgY2hhciAqcW1wX3NlbmRfcHJlcGFyZShsaWJ4bF9fZ2Mg KmdjLCBsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCwKICAgICBlbG0tPmNvbnRleHQgPSBjb250ZXh0 OwogICAgIExJQlhMX1NUQUlMUV9JTlNFUlRfVEFJTCgmcW1wLT5jYWxsYmFja19saXN0LCBlbG0s IG5leHQpOwogCi0gICAgcmV0ID0gbGlieGxfX3N0cm5kdXAoZ2MsIChjb25zdCBjaGFyKilidWYs IGxlbik7Ci0KICAgICBMT0dEKERFQlVHLCBxbXAtPmRvbWlkLCAibmV4dCBxbXAgY29tbWFuZDog JyVzJyIsIGJ1Zik7CiAKIG91dDoKLSAgICB5YWpsX2dlbl9mcmVlKGhhbmQpOwotICAgIHJldHVy biByZXQ7CisgICAgcmV0dXJuIGJ1ZjsKIH0KIAogc3RhdGljIGludCBxbXBfc2VuZChsaWJ4bF9f cW1wX2hhbmRsZXIgKnFtcCwKQEAgLTY1MCw5ICs2NjYsNiBAQCBzdGF0aWMgaW50IHFtcF9zZW5k KGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAogICAgIGlmIChsaWJ4bF93cml0ZV9leGFjdGx5KHFt cC0+Y3R4LCBxbXAtPnFtcF9mZCwgYnVmLCBzdHJsZW4oYnVmKSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiUU1QIGNvbW1hbmQiLCAiUU1QIHNvY2tldCIpKQogICAgICAgICBnb3RvIG91 dDsKLSAgICBpZiAobGlieGxfd3JpdGVfZXhhY3RseShxbXAtPmN0eCwgcW1wLT5xbXBfZmQsICJc clxuIiwgMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ1JMRiIsICJRTVAgc29ja2V0 IikpCi0gICAgICAgIGdvdG8gb3V0OwogCiAgICAgcmMgPSBxbXAtPmxhc3RfaWRfdXNlZDsKIG91 dDoKLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==