From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v5 02/15] libxl_qmp: Connect to QMP socket Date: Fri, 7 Sep 2018 16:10:51 +0100 Message-ID: <20180907151104.32306-3-anthony.perard@citrix.com> References: <20180907151104.32306-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 1fyIPh-0003M0-Kv for xen-devel@lists.xenproject.org; Fri, 07 Sep 2018 15:11:13 +0000 In-Reply-To: <20180907151104.32306-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 VGhpcyBpcyBhIGZpcnN0IHBhdGNoIHRvIGltcGxlbWVudCBsaWJ4bF9fZXZfcW1wLCBpdCBvbmx5 IGNvbm5lY3RzIHRvCnRoZSBRTVAgc29ja2V0IG9mIFFFTVUgYW5kIHJlZ2lzdGVycyBhIGZkIGNh bGxiYWNrIHRoYXQgZG9lcyBub3RoaW5nLgoKQ2FsbGJhY2sgZnVuY3Rpb25zIHdpbGwgYmUgaW1w bGVtZW50ZWQgaW4gZm9sbG93aW5nIHBhdGNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBF UkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHY1OgogICAg ICAgIG5pdHMKICAgICAgICB1c2UgYSBkZWZpbmUgaW5zdGVhZCBvZiBhIHN0YXRpYyBpbnQgZm9y IFFNUF9DQVBBQklMSVRZX05FR09DSUFUSU9OX01TR0lECiAgICAgICAgdXNlIGEgc3dpdGNoIGlu IHFtcF9ldl9jYWxsYmFja193cml0YWJsZSB0byBjaGVjayBxbXBfc3RhdGUKICAgICAgICBBZGQg YSBkZXNjcmlwdGlvbiBvZiB0aGUgZGlmZmVyZW50IHZhbHVlIG9mIGxpYnhsX19xbXBfc3RhdGUg ZW51bS4KCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgMTYgKysrKysrKwogdG9vbHMv bGlieGwvbGlieGxfcW1wLmMgICAgICB8IDkxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oCmluZGV4IDk3OWE5OTQ3ZjAuLjliY2FiMzlmMDAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAt NDE0LDYgKzQxNCwxOSBAQCBfaGlkZGVuIGludCBsaWJ4bF9fZXZfcW1wX3NlbmQobGlieGxfX2dj ICpnYywgbGlieGxfX2V2X3FtcCAqZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqY21kLCBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MpOwogX2hpZGRlbiB2b2lk IGxpYnhsX19ldl9xbXBfZGlzcG9zZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldik7 CiAKK3R5cGVkZWYgZW51bSB7CisgICAgLyogaW5pdGlhbCBzdGF0ZSAqLworICAgIHFtcF9zdGF0 ZV9kaXNjb25uZWN0ZWQgPSAxLAorICAgIC8qIGNvbm5lY3RlZCB0byBRTVAgc29ja2V0LCB3YWl0 aW5nIGZvciBncmVldGluZyBtZXNzYWdlICovCisgICAgcW1wX3N0YXRlX2Nvbm5lY3RpbmcsCisg ICAgLyogZ3JlZXRpbmcgbWVzc2FnZSByZWNlaXZlZCAqLworICAgIHFtcF9zdGF0ZV9ncmVldGlu ZywKKyAgICAvKiBxbXBfY2FwYWJpbGl0aWVzIGNvbW1hbmQgc2VudCwgd2FpdGluZyBmb3IgcmVw bHkgKi8KKyAgICBxbXBfc3RhdGVfY2FwYWJpbGl0eV9uZWdvdGlhdGlvbiwKKyAgICAvKiByZWFk eSB0byBzZW5kIGNvbW1hbmRzICovCisgICAgcW1wX3N0YXRlX2Nvbm5lY3RlZCwKK30gbGlieGxf X3FtcF9zdGF0ZTsKKwogc3RydWN0IGxpYnhsX19ldl9xbXAgewogICAgIC8qIGNhbGxlciBzaG91 bGQgaW5jbHVkZSB0aGlzIGluIHRoZWlyIG93biBzdHJ1Y3QgKi8KICAgICAvKiBjYWxsZXIgbXVz dCBmaWxsIHRoZXNlIGluLCBhbmQgdGhleSBtdXN0IGFsbCByZW1haW4gdmFsaWQgKi8KQEAgLTQy Myw2ICs0MzYsOSBAQCBzdHJ1Y3QgbGlieGxfX2V2X3FtcCB7CiAKICAgICAvKiByZW1haW5pbmcg ZmllbGRzIGFyZSBwcml2YXRlIHRvIGxpYnhsX2V2X3FtcF8qICovCiAgICAgaW50IGlkOworICAg IGxpYnhsX19jYXJlZmQgKnFtcF9jZmQ7CisgICAgbGlieGxfX2V2X2ZkIHFtcF9lZmQ7CisgICAg bGlieGxfX3FtcF9zdGF0ZSBxbXBfc3RhdGU7CiB9OwogCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKaW5kZXggYmRmMTc3OGNm MS4uMTY3ODI5YTVlYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKKysrIGIv dG9vbHMvbGlieGwvbGlieGxfcW1wLmMKQEAgLTEyODAsNiArMTI4MCw5NyBAQCBpbnQgbGlieGxf X3FtcF9pbml0aWFsaXphdGlvbnMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAg cmV0dXJuIHJldDsKIH0KIAorLyogLS0tLS0tLS0tLS0tIEltcGxlbWVudGF0aW9uIG9mIGxpYnhs X19ldl9xbXAgLS0tLS0tLS0tLS0tLS0tLSAqLworCitzdGF0aWMgdm9pZCBxbXBfZXZfZmRfY2Fs bGJhY2sobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfZmQgKmV2X2ZkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBmZCwgc2hvcnQgZXZlbnRzLCBzaG9ydCByZXZlbnRzKQor eworfQorCitzdGF0aWMgaW50IHFtcF9ldl9jb25uZWN0KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19l dl9xbXAgKmV2KQoreworICAgIGludCByYywgcjsKKyAgICBzdHJ1Y3Qgc29ja2FkZHJfdW4gdW47 CisgICAgY29uc3QgY2hhciAqcW1wX3NvY2tldF9wYXRoOworCisgICAgaWYgKGV2LT5xbXBfc3Rh dGUgIT0gcW1wX3N0YXRlX2Rpc2Nvbm5lY3RlZCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBx bXBfc29ja2V0X3BhdGggPSBsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZXYtPmRvbWlkKTsKKwor ICAgIExPR0QoREVCVUcsIGV2LT5kb21pZCwgIkNvbm5lY3RpbmcgdG8gJXMiLCBxbXBfc29ja2V0 X3BhdGgpOworCisgICAgbGlieGxfX2NhcmVmZF9iZWdpbigpOworICAgIGV2LT5xbXBfY2ZkID0g bGlieGxfX2NhcmVmZF9vcGVuZWQoQ1RYLCBzb2NrZXQoQUZfVU5JWCwgU09DS19TVFJFQU0sIDAp KTsKKyAgICBpZiAoIWV2LT5xbXBfY2ZkKSB7CisgICAgICAgIExPR0VEKEVSUk9SLCBldi0+ZG9t aWQsICJzb2NrZXQoKSBmYWlsZWQiKTsKKyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAg ICBnb3RvIG91dDsKKyAgICB9CisgICAgcmMgPSBsaWJ4bF9mZF9zZXRfbm9uYmxvY2soQ1RYLCBs aWJ4bF9fY2FyZWZkX2ZkKGV2LT5xbXBfY2ZkKSwgMSk7CisgICAgaWYgKHJjKQorICAgICAgICBn b3RvIG91dDsKKworICAgIHJjID0gbGlieGxfX3ByZXBhcmVfc29ja2FkZHJfdW4oZ2MsICZ1biwg cW1wX3NvY2tldF9wYXRoLCAiUU1QIHNvY2tldCIpOworICAgIGlmIChyYykKKyAgICAgICAgZ290 byBvdXQ7CisKKyAgICByID0gY29ubmVjdChsaWJ4bF9fY2FyZWZkX2ZkKGV2LT5xbXBfY2ZkKSwK KyAgICAgICAgICAgICAgICAoc3RydWN0IHNvY2thZGRyICopICZ1biwgc2l6ZW9mKHVuKSk7Cisg ICAgaWYgKHIpIHsKKyAgICAgICAgTE9HRUQoRVJST1IsIGV2LT5kb21pZCwgIkZhaWxlZCB0byBj b25uZWN0IHRvIFFNUCBzb2NrZXQgJXMiLAorICAgICAgICAgICAgICBxbXBfc29ja2V0X3BhdGgp OworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKwor ICAgIHJjID0gbGlieGxfX2V2X2ZkX3JlZ2lzdGVyKGdjLCAmZXYtPnFtcF9lZmQsIHFtcF9ldl9m ZF9jYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fY2FyZWZk X2ZkKGV2LT5xbXBfY2ZkKSwgUE9MTElOKTsKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0 OworCisgICAgZXYtPnFtcF9zdGF0ZSA9IHFtcF9zdGF0ZV9jb25uZWN0aW5nOworICAgIHJldHVy biAwOworCitvdXQ6CisgICAgbGlieGxfX2NhcmVmZF9jbG9zZShldi0+cW1wX2NmZCk7CisgICAg ZXYtPnFtcF9jZmQgPSBOVUxMOworICAgIHJldHVybiByYzsKK30KKworCisvKgorICogbGlieGxf X2V2X3FtcF8qCisgKi8KKwordm9pZCBsaWJ4bF9fZXZfcW1wX2luaXQobGlieGxfX2V2X3FtcCAq ZXYpCit7CisgICAgZXYtPmlkID0gLTE7CisKKyAgICBldi0+cW1wX2NmZCA9IE5VTEw7CisgICAg bGlieGxfX2V2X2ZkX2luaXQoJmV2LT5xbXBfZWZkKTsKKyAgICBldi0+cW1wX3N0YXRlID0gcW1w X3N0YXRlX2Rpc2Nvbm5lY3RlZDsKK30KKworaW50IGxpYnhsX19ldl9xbXBfc2VuZChsaWJ4bF9f Z2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldiwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqY21kLCBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MpCit7CisgICAgTE9HRChERUJVRywg ZXYtPmRvbWlkLCAiIGV2ICVwLCBjbWQgJyVzJyIsIGV2LCBjbWQpOworCisgICAgLyogQ29ubmVj dCB0byBRRU1VIGlmIG5vdCBhbHJlYWR5IGNvbm5lY3RlZCAqLworICAgIHJldHVybiBxbXBfZXZf Y29ubmVjdChnYywgZXYpOworfQorCit2b2lkIGxpYnhsX19ldl9xbXBfZGlzcG9zZShsaWJ4bF9f Z2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldikKK3sKKyAgICBMT0dEKERFQlVHLCBldi0+ZG9taWQs ICIgZXYgJXAiLCBldik7CisKKyAgICBsaWJ4bF9fZXZfZmRfZGVyZWdpc3RlcihnYywgJmV2LT5x bXBfZWZkKTsKKyAgICBsaWJ4bF9fY2FyZWZkX2Nsb3NlKGV2LT5xbXBfY2ZkKTsKKworICAgIGxp YnhsX19ldl9xbXBfaW5pdChldik7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBt b2RlOiBDCi0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby94ZW4tZGV2ZWw=