From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunyan Liu Subject: [PATCH V17 2/6] libxl_utils: add internal function to read sysfs file contents Date: Wed, 9 Mar 2016 10:10:10 +0800 Message-ID: <1457489414-885-3-git-send-email-cyliu@suse.com> References: <1457489414-885-1-git-send-email-cyliu@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457489414-885-1-git-send-email-cyliu@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: jgross@suse.com, wei.liu2@citrix.com, ian.campbell@citrix.com, george.dunlap@eu.citrix.com, Ian.Jackson@eu.citrix.com, Chunyan Liu , jfehlig@suse.com List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IGZ1bmN0aW9uIGxpYnhsX3JlYWRfc3lzZnNfZmlsZV9jb250ZW50cyB0byBoYW5k bGUgc3lzZnMgZmlsZQpzcGVjaWFsbHkuIEl0IHdvdWxkIGJlIHVzZWQgaW4gbGF0ZXIgcHZ1c2Ig d29yay4KClNpZ25lZC1vZmYtYnk6IENodW55YW4gTGl1IDxjeWxpdUBzdXNlLmNvbT4KQWNrZWQt Ynk6IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgotLS0KIHRvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmggfCAgNCArKysKIHRvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmMg ICAgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBm aWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggOWM4 NTE5YS4uNDI5ZWEzMiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAor KysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC00MDc4LDYgKzQwNzgsMTAgQEAg dm9pZCBsaWJ4bF9fYml0bWFwX2NvcHlfYmVzdF9lZmZvcnQobGlieGxfX2djICpnYywgbGlieGxf Yml0bWFwICpkcHRyLAogCiBpbnQgbGlieGxfX2NvdW50X3BoeXNpY2FsX3NvY2tldHMobGlieGxf X2djICpnYywgaW50ICpzb2NrZXRzKTsKIAorX2hpZGRlbiBpbnQgbGlieGxfX3JlYWRfc3lzZnNf ZmlsZV9jb250ZW50cyhsaWJ4bF9fZ2MgKmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqKmRhdGFfciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpkYXRhbGVuX3IpOwogCiAjZGVmaW5l IExJQlhMX1FFTVVfVVNFUl9QUkVGSVggInhlbi1xZW11dXNlciIKICNkZWZpbmUgTElCWExfUUVN VV9VU0VSX0JBU0UgICBMSUJYTF9RRU1VX1VTRVJfUFJFRklYIi1kb21pZCIKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxzLmMgYi90b29scy9saWJ4bC9saWJ4bF91dGlscy5jCmlu ZGV4IDY3MmQzZjguLmIwY2I5ZTEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3V0aWxz LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdXRpbHMuYwpAQCAtMzk2LDYgKzM5Niw4MCBAQCBp bnQgbGlieGxfcmVhZF9maWxlX2NvbnRlbnRzKGxpYnhsX2N0eCAqY3R4LCBjb25zdCBjaGFyICpm aWxlbmFtZSwKICAgICByZXR1cm4gZTsKIH0KIAoraW50IGxpYnhsX19yZWFkX3N5c2ZzX2ZpbGVf Y29udGVudHMobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqZmlsZW5hbWUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICoqZGF0YV9yLCBpbnQgKmRhdGFsZW5fcikK K3sKKyAgICBGSUxFICpmID0gMDsKKyAgICB1aW50OF90ICpkYXRhID0gMDsKKyAgICBpbnQgZGF0 YWxlbiA9IDA7CisgICAgaW50IGU7CisgICAgc3RydWN0IHN0YXQgc3RhYjsKKyAgICBzc2l6ZV90 IHJzOworCisgICAgZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOworICAgIGlmICghZikgeworICAg ICAgICBpZiAoZXJybm8gPT0gRU5PRU5UKSByZXR1cm4gRU5PRU5UOworICAgICAgICBMT0dFKEVS Uk9SLCAiZmFpbGVkIHRvIG9wZW4gJXMiLCBmaWxlbmFtZSk7CisgICAgICAgIGdvdG8geGU7Cisg ICAgfQorCisgICAgaWYgKGZzdGF0KGZpbGVubyhmKSwgJnN0YWIpKSB7CisgICAgICAgIExPR0Uo RVJST1IsICJmYWlsZWQgdG8gZnN0YXQgJXMiLCBmaWxlbmFtZSk7CisgICAgICAgIGdvdG8geGU7 CisgICAgfQorCisgICAgaWYgKCFTX0lTUkVHKHN0YWIuc3RfbW9kZSkpIHsKKyAgICAgICAgTE9H RShFUlJPUiwgIiVzIGlzIG5vdCBhIHBsYWluIGZpbGUiLCBmaWxlbmFtZSk7CisgICAgICAgIGVy cm5vID0gRU5PVFRZOworICAgICAgICBnb3RvIHhlOworICAgIH0KKworICAgIGlmIChzdGFiLnN0 X3NpemUgPiBJTlRfTUFYKSB7CisgICAgICAgIExPRyhFUlJPUiwgImZpbGUgJXMgaXMgZmFyIHRv byBsYXJnZSIsIGZpbGVuYW1lKTsKKyAgICAgICAgZXJybm8gPSBFRkJJRzsKKyAgICAgICAgZ290 byB4ZTsKKyAgICB9CisKKyAgICBkYXRhbGVuID0gc3RhYi5zdF9zaXplOworCisgICAgaWYgKHN0 YWIuc3Rfc2l6ZSAmJiBkYXRhX3IpIHsKKyAgICAgICAgZGF0YSA9IGxpYnhsX19tYWxsb2MoZ2Ms IGRhdGFsZW4pOworCisgICAgICAgIC8qIEZvciBzeXNmcyBmaWxlLCBkYXRhbGVuIGlzIGFsd2F5 cyBQQUdFX1NJWkUuICdyZWFkJworICAgICAgICAgKiB3aWxsIHJldHVybiB0aGUgbnVtYmVyIG9m IGJ5dGVzIG9mIHRoZSBhY3R1YWwgY29udGVudCwKKyAgICAgICAgICogcnMgPD0gZGF0YWxlbiBp cyBleHBlY3RlZC4KKyAgICAgICAgICovCisgICAgICAgIHJzID0gZnJlYWQoZGF0YSwgMSwgZGF0 YWxlbiwgZik7CisgICAgICAgIGlmIChycyA8IGRhdGFsZW4pIHsKKyAgICAgICAgICAgIGlmIChm ZXJyb3IoZikpIHsKKyAgICAgICAgICAgICAgICBMT0dFKEVSUk9SLCAiZmFpbGVkIHRvIHJlYWQg JXMiLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgZ290byB4ZTsKKyAgICAgICAgICAgIH0K KworICAgICAgICAgICAgZGF0YWxlbiA9IHJzOworICAgICAgICAgICAgZGF0YSA9IGxpYnhsX19y ZWFsbG9jKGdjLCBkYXRhLCBkYXRhbGVuKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChm Y2xvc2UoZikpIHsKKyAgICAgICAgZiA9IDA7CisgICAgICAgIExPR0UoRVJST1IsICJmYWlsZWQg dG8gY2xvc2UgJXMiLCBmaWxlbmFtZSk7CisgICAgICAgIGdvdG8geGU7CisgICAgfQorCisgICAg aWYgKGRhdGFfcikgKmRhdGFfciA9IGRhdGE7CisgICAgaWYgKGRhdGFsZW5fcikgKmRhdGFsZW5f ciA9IGRhdGFsZW47CisKKyAgICByZXR1cm4gMDsKKworIHhlOgorICAgIGUgPSBlcnJubzsKKyAg ICBhc3NlcnQoZSAhPSBFTk9FTlQpOworICAgIGlmIChmKSBmY2xvc2UoZik7CisgICAgcmV0dXJu IGU7Cit9CisKKwogI2RlZmluZSBSRUFEX1dSSVRFX0VYQUNUTFkocncsIHplcm9faXNfZW9mLCBj b25zdGRhdGEpICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgaW50 IGxpYnhsXyMjcncjI19leGFjdGx5KGxpYnhsX2N0eCAqY3R4LCBpbnQgZmQsICAgICAgICAgICAg ICAgICBcCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==