From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v5 04/15] libxl_qmp: Parse JSON input from QMP Date: Fri, 7 Sep 2018 16:10:53 +0100 Message-ID: <20180907151104.32306-5-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fyIPc-0003IQ-Qn for xen-devel@lists.xenproject.org; Fri, 07 Sep 2018 15:11:08 +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 U2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+ Ci0tLQoKTm90ZXM6CiAgICB2NToKICAgICAgICBpbml0aWFsaXplIGxlbiBhbmQgcyBhdCBkZWNs YXJhdGlvbiB0aW1lCiAgICAgICAgcmVtb3ZlIG9sZCBjb21tZW50CiAgICAKICAgIHY0OgogICAg ICAgIHNpbXBsaWZpY2F0aW9uIG9mIHRoZSBwYXRjaCBkdWUgdG8gdXNlIG9mIGEgc2luZ2xlIGFs bG9jYXRlZCBzcGFjZSBmb3IgdGhlCiAgICAgICAgcmVjZWl2ZSBidWZmZXIuCgogdG9vbHMvbGli eGwvbGlieGxfcW1wLmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9xbXAuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCmluZGV4IDllYTMw M2VkZjAuLjM4MTdjNzA4MzAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCisr KyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCkBAIC0xMjk2LDYgKzEyOTYsNyBAQCBzdGF0aWMg aW50IHFtcF9ldl9jYWxsYmFja19yZWFkYWJsZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9x bXAgKmV2LCBpbnQgZmQpCiB7CiAgICAgRUdDX0dDOwogICAgIHNzaXplX3QgcjsKKyAgICBjaGFy ICplbmQgPSBOVUxMOwogCiAgICAgaWYgKCFldi0+cnhfYnVmKSB7CiAgICAgICAgIGV2LT5yeF9i dWYgPSBsaWJ4bF9fbWFsbG9jKE5PR0MsIFFNUF9SRUNFSVZFX0JVRkZFUl9TSVpFKTsKQEAgLTEz MzMsNiArMTMzNCw1NyBAQCBzdGF0aWMgaW50IHFtcF9ldl9jYWxsYmFja19yZWFkYWJsZShsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19ldl9xbXAgKmV2LCBpbnQgZmQpCiAgICAgZXYtPmJ1Zl91c2Vk ICs9IHI7CiAgICAgYXNzZXJ0KGV2LT5idWZfdXNlZCA8IGV2LT5idWZfc2l6ZSk7CiAKKyAgICAv KiB3b3JrYXJvdW5kIHN0cnN0ciBsaW1pdGF0aW9uICovCisgICAgZXYtPnJ4X2J1Zltldi0+YnVm X3VzZWRdID0gJ1wwJzsKKworICAgIC8qCisgICAgICogU2VhcmNoIGZvciB0aGUgZW5kIG9mIGEg UU1QIG1lc3NhZ2U6ICJcclxuIiBpbiB0aGUgbmV3bHkgcmVjZWl2ZWQKKyAgICAgKiBieXRlcyAr IHRoZSBsYXN0IGJ5dGUgb24gdGhlIHByZXZpb3VzIHJlYWQoKSBpZiBhbnkKKyAgICAgKgorICAg ICAqIGVuZDogVGhpcyB3aWxsIHBvaW50IHRvIHRoZSBieXRlIHJpZ2h0IGFmdGVyIFxyXG4KKyAg ICAgKi8KKyAgICBlbmQgPSBzdHJzdHIoZXYtPnJ4X2J1ZiArIGV2LT5idWZfdXNlZCAtIHIKKyAg ICAgICAgICAgICAgICAgKyAoZXYtPmJ1Zl91c2VkIC0gciA9PSAwID8gMCA6IC0xKSwKKyAgICAg ICAgICAgICAgICAgIlxyXG4iKTsKKyAgICBpZiAoZW5kKQorICAgICAgICBlbmQgKz0gMjsKKwor ICAgIHdoaWxlIChlbmQpIHsKKyAgICAgICAgbGlieGxfX2pzb25fb2JqZWN0ICpvOworICAgICAg ICAvKiBTdGFydCBwYXJzaW5nIGZyb20gcyAqLworICAgICAgICBjaGFyICpzID0gZXYtPnJ4X2J1 ZiArIGV2LT5idWZfY29uc3VtZWQ7CisgICAgICAgIC8qIEZpbmRvdXQgaG93IG11Y2ggY2FuIGJl IHBhcnNlZCAqLworICAgICAgICBzaXplX3QgbGVuID0gZW5kIC0gczsKKworICAgICAgICBMT0df UU1QKCJwYXJzaW5nICVsdUI6ICclLipzJyIsIGxlbiwgKGludClsZW4sIHMpOworCisgICAgICAg IC8qIFJlcGxhY2UgXG4gYnkgXDAgc28gdGhhdCBsaWJ4bF9fanNvbl9wYXJzZSBjYW4gdXNlIHN0 cmxlbiAqLworICAgICAgICBzW2xlbiAtIDFdID0gJ1wwJzsKKyAgICAgICAgbyA9IGxpYnhsX19q c29uX3BhcnNlKGdjLCBzKTsKKworICAgICAgICBpZiAoIW8pIHsKKyAgICAgICAgICAgIExPR0Qo RVJST1IsIGV2LT5kb21pZCwgIlBhcnNlIGVycm9yIik7CisgICAgICAgICAgICByZXR1cm4gRVJS T1JfRkFJTDsKKyAgICAgICAgfQorCisgICAgICAgIGV2LT5idWZfY29uc3VtZWQgKz0gbGVuOwor CisgICAgICAgIGlmIChldi0+YnVmX2NvbnN1bWVkID49IGV2LT5idWZfdXNlZCkgeworICAgICAg ICAgICAgZnJlZShldi0+cnhfYnVmKTsKKyAgICAgICAgICAgIGV2LT5yeF9idWYgPSBOVUxMOwor ICAgICAgICB9CisKKyAgICAgICAgLyogY2hlY2sgaWYgdGhlcmUgaXMgYW5vdGhlciBtZXNzYWdl IHJlY2VpdmVkIGF0IHRoZSBzYW1lIHRpbWUgKi8KKyAgICAgICAgaWYgKGV2LT5yeF9idWYpIHsK KyAgICAgICAgICAgIGVuZCA9IHN0cnN0cihldi0+cnhfYnVmICsgZXYtPmJ1Zl9jb25zdW1lZCwg IlxyXG4iKTsKKyAgICAgICAgICAgIGlmIChlbmQpCisgICAgICAgICAgICAgICAgZW5kICs9IDI7 CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZW5kID0gTlVMTDsKKworICAgICAgICBMT0df UU1QKCJKU09OIG9iamVjdCByZWNlaXZlZDogJXMiLCBsaWJ4bF9fanNvbl9vYmplY3RfdG9fanNv bihnYywgbykpOworICAgIH0KKwogICAgIHJldHVybiAwOwogfQogCi0tIApBbnRob255IFBFUkFS RAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=