From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v4 13/32] libxl_qmp: Connect to QMP socket Date: Fri, 27 Jul 2018 15:05:55 +0100 Message-ID: <20180727140614.13256-14-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fj3jU-0008JY-Sh for xen-devel@lists.xenproject.org; Fri, 27 Jul 2018 14:28:40 +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 VGhpcyBpcyBhIGZpcnN0IHBhdGNoIHRvIGltcGxlbWVudCBsaWJ4bF9fZXZfcW1wLCBpdCBvbmx5 IGNvbm5lY3QgdG8gdGhlClFNUCBzb2NrZXQgb2YgUUVNVSBhbmQgcmVnaXN0ZXIgYSBmZCBjYWxs YmFjayB0aGF0IGRvZXMgbm90aGluZy4KCkNhbGxiYWNrIGZ1bmN0aW9ucyB3aWxsIGJlIGltcGxl bWVudGVkIGluIGZvbGxvd2luZyBwYXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJB UkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50 ZXJuYWwuaCB8IDExICsrKysrCiB0b29scy9saWJ4bC9saWJ4bF9xbXAuYyAgICAgIHwgOTYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEwNyBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCBi L3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYzQ1M2FjMTBhNS4uOTBhYzQ4YTY1 OSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC00MTcsNiArNDE3LDE0IEBAIF9oaWRkZW4gaW50IGxp YnhsX19ldl9xbXBfc2VuZChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjbWQsIGxpYnhsX19qc29uX29i amVjdCAqYXJncyk7CiBfaGlkZGVuIHZvaWQgbGlieGxfX2V2X3FtcF9kaXNwb3NlKGxpYnhsX19n YyAqZ2MsIGxpYnhsX19ldl9xbXAgKmV2KTsKIAordHlwZWRlZiBlbnVtIHsKKyAgICBxbXBfc3Rh dGVfZGlzY29ubmVjdGVkID0gMSwKKyAgICBxbXBfc3RhdGVfY29ubmVjdGluZywKKyAgICBxbXBf c3RhdGVfZ3JlZXRpbmcsCisgICAgcW1wX3N0YXRlX2NhcGFiaWxpdHlfbmVnb2NpYXRpb24sCisg ICAgcW1wX3N0YXRlX2Nvbm5lY3RlZCwKK30gbGlieGxfX3FtcF9zdGF0ZTsKKwogc3RydWN0IGxp YnhsX19ldl9xbXAgewogICAgIC8qIGNhbGxlciBzaG91bGQgaW5jbHVkZSB0aGlzIGluIHRoZWly IG93biBzdHJ1Y3QgKi8KICAgICAvKiBjYWxsZXIgbXVzdCBmaWxsIHRoZXNlIGluLCBhbmQgdGhl eSBtdXN0IGFsbCByZW1haW4gdmFsaWQgKi8KQEAgLTQyNyw2ICs0MzUsOSBAQCBzdHJ1Y3QgbGli eGxfX2V2X3FtcCB7CiAgICAgLyogcmVtYWluaW5nIGZpZWxkcyBhcmUgcHJpdmF0ZSB0byBsaWJ4 bF9ldl9xbXBfKiAqLwogCiAgICAgaW50IGlkOworICAgIGxpYnhsX19jYXJlZmQgKnFtcF9jZmQ7 CisgICAgbGlieGxfX2V2X2ZkIHFtcF9lZmQ7CisgICAgbGlieGxfX3FtcF9zdGF0ZSBxbXBfc3Rh dGU7CiB9OwogCiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMv bGlieGwvbGlieGxfcW1wLmMKaW5kZXggYzVlMDVlNTY3OS4uOTZhMzQ3ZGQzYiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMK QEAgLTEyNzYsNiArMTI3NiwxMDIgQEAgaW50IGxpYnhsX19xbXBfaW5pdGlhbGl6YXRpb25zKGxp YnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIHJldHVybiByZXQ7CiB9CiAKKy8qIC0t LS0tLS0tLS0tLSBJbXBsZW1lbnRhdGlvbiBvZiBsaWJ4bF9fZXZfcW1wIC0tLS0tLS0tLS0tLS0t LS0gKi8KKworc3RhdGljIHZvaWQgcW1wX2V2X2ZkX2NhbGxiYWNrKGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX2V2X2ZkICpldl9mZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg ZmQsIHNob3J0IGV2ZW50cywgc2hvcnQgcmV2ZW50cykKK3sKK30KKworc3RhdGljIGludCBxbXBf ZXZfY29ubmVjdChsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZXZfcW1wICpldikKK3sKKyAgICBpbnQg cmMsIHI7CisgICAgc3RydWN0IHNvY2thZGRyX3VuIHVuOworICAgIGNvbnN0IGNoYXIgKnFtcF9z b2NrZXRfcGF0aDsKKworICAgIGlmIChldi0+cW1wX3N0YXRlICE9IHFtcF9zdGF0ZV9kaXNjb25u ZWN0ZWQpCisgICAgICAgIHJldHVybiAwOworCisgICAgcW1wX3NvY2tldF9wYXRoID0gbGlieGxf X3FlbXVfcW1wX3BhdGgoZ2MsIGV2LT5kb21pZCk7CisKKyAgICBMT0dEKERFQlVHLCBldi0+ZG9t aWQsICJDb25uZWN0aW5nIHRvICVzIiwgcW1wX3NvY2tldF9wYXRoKTsKKworICAgIGxpYnhsX19j YXJlZmRfYmVnaW4oKTsKKyAgICBldi0+cW1wX2NmZCA9IGxpYnhsX19jYXJlZmRfb3BlbmVkKENU WCwgc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKSk7CisgICAgaWYgKCFldi0+cW1wX2Nm ZCkgeworICAgICAgICBMT0dFRChFUlJPUiwgZXYtPmRvbWlkLCAic29ja2V0KCkgZmFpbGVkIik7 CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAg IHJjID0gbGlieGxfZmRfc2V0X25vbmJsb2NrKENUWCwgbGlieGxfX2NhcmVmZF9mZChldi0+cW1w X2NmZCksIDEpOworICAgIGlmIChyYykKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICByYyA9IGxp YnhsX19wcmVwYXJlX3NvY2thZGRyX3VuKGdjLCAmdW4sIHFtcF9zb2NrZXRfcGF0aCwgIlFNUCBz b2NrZXQiKTsKKyAgICBpZiAocmMpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgciA9IGNvbm5l Y3QobGlieGxfX2NhcmVmZF9mZChldi0+cW1wX2NmZCksCisgICAgICAgICAgICAgICAgKHN0cnVj dCBzb2NrYWRkciAqKSAmdW4sIHNpemVvZih1bikpOworICAgIGlmIChyKSB7CisgICAgICAgIExP R0VEKEVSUk9SLCBldi0+ZG9taWQsICJGYWlsZWQgdG8gY29ubmVjdCB0byBRTVAgc29ja2V0ICVz IiwKKyAgICAgICAgICAgICAgcW1wX3NvY2tldF9wYXRoKTsKKyAgICAgICAgcmMgPSBFUlJPUl9G QUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICByYyA9IGxpYnhsX19ldl9mZF9y ZWdpc3RlcihnYywgJmV2LT5xbXBfZWZkLCBxbXBfZXZfZmRfY2FsbGJhY2ssCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2NhcmVmZF9mZChldi0+cW1wX2NmZCksIFBPTExJ Tik7CisgICAgaWYgKHJjKQorICAgICAgICBnb3RvIG91dDsKKworICAgIGV2LT5xbXBfc3RhdGUg PSBxbXBfc3RhdGVfY29ubmVjdGluZzsKKyAgICByZXR1cm4gMDsKKworb3V0OgorICAgIGxpYnhs X19jYXJlZmRfY2xvc2UoZXYtPnFtcF9jZmQpOworICAgIGV2LT5xbXBfY2ZkID0gTlVMTDsKKyAg ICByZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIGxpYnhsX19ldl9xbXBfKgorICovCisKK3ZvaWQg bGlieGxfX2V2X3FtcF9pbml0KGxpYnhsX19ldl9xbXAgKmV2KQoreworICAgIGV2LT5pZCA9IC0x OworCisgICAgZXYtPnFtcF9jZmQgPSBOVUxMOworICAgIGxpYnhsX19ldl9mZF9pbml0KCZldi0+ cW1wX2VmZCk7CisgICAgZXYtPnFtcF9zdGF0ZSA9IHFtcF9zdGF0ZV9kaXNjb25uZWN0ZWQ7Cit9 CisKK2ludCBsaWJ4bF9fZXZfcW1wX3NlbmQobGlieGxfX2djICpnYywgbGlieGxfX2V2X3FtcCAq ZXYsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNtZCwgbGlieGxfX2pzb25f b2JqZWN0ICphcmdzKQoreworICAgIGludCByYzsKKworICAgIExPR0QoREVCVUcsIGV2LT5kb21p ZCwgIiBldiAlcCwgY21kICclcyciLCBldiwgY21kKTsKKworICAgIC8qIENvbm5lY3QgdG8gUUVN VSBpZiBub3QgYWxyZWFkeSBjb25uZWN0ZWQgKi8KKyAgICByYyA9IHFtcF9ldl9jb25uZWN0KGdj LCBldik7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK3ZvaWQgbGlieGxfX2V2X3FtcF9kaXNwb3Nl KGxpYnhsX19nYyAqZ2MsIGxpYnhsX19ldl9xbXAgKmV2KQoreworICAgIExPR0QoREVCVUcsIGV2 LT5kb21pZCwgIiBldiAlcCIsIGV2KTsKKworICAgIGxpYnhsX19ldl9mZF9kZXJlZ2lzdGVyKGdj LCAmZXYtPnFtcF9lZmQpOworICAgIGxpYnhsX19jYXJlZmRfY2xvc2UoZXYtPnFtcF9jZmQpOwor ICAgIGV2LT5xbXBfY2ZkID0gTlVMTDsKKworICAgIGxpYnhsX19ldl9xbXBfaW5pdChldik7Cit9 CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCi0tIApBbnRob255IFBFUkFS RAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=