From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v11 05/27] tools/libx{l, c}: add back channel to libxc Date: Fri, 4 Mar 2016 16:41:09 +0800 Message-ID: <1457080891-26054-6-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1457080891-26054-1-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Ian Campbell , Wen Congyang , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Ian Jackson , Yang Hongyang List-Id: xen-devel@lists.xenproject.org RnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KCkluIENPTE8gbW9kZSwg Ym90aCBWTXMgYXJlIHJ1bm5pbmcsIGFuZCBhcmUgY29uc2lkZXJlZCBpbiBzeW5jIGlmIHRoZQp2 aXNpYmxlIG5ldHdvcmsgdHJhZmZpYyBpcyBpZGVudGljYWwuICBBZnRlciBzb21lIHRpbWUsIHRo ZXkgZmFsbCBvdXQgb2YKc3luYy4KCkF0IHRoaXMgcG9pbnQsIHRoZSB0d28gVk1zIGhhdmUgZGVm aW5pdGVseSBkaXZlcmdlZC4gIExldHMgY2FsbCB0aGUKcHJpbWFyeSBkaXJ0eSBiaXRtYXAgc2V0 IEEsIHdoaWxlIHRoZSBzZWNvbmRhcnkgZGlydHkgYml0bWFwIHNldCBCLgoKU2V0cyBBIGFuZCBC IGFyZSBkaWZmZXJlbnQuCgpVbmRlciBub3JtYWwgbWlncmF0aW9uLCB0aGUgcGFnZSBkYXRhIGZv ciBzZXQgQSB3aWxsIGJlIHNlbnQgZnJvbSB0aGUKcHJpbWFyeSB0byB0aGUgc2Vjb25kYXJ5LgoK SG93ZXZlciwgdGhlIHNldCBkaWZmZXJlbmNlIEIgLSBBICh0aGUgb25lIGluIEIgYnV0IG5vdCBp biBBLCBsZXRzCmNhbGwgdGhpcyBDKSBpcyBvdXQtb2YtZGF0ZSBvbiB0aGUgc2Vjb25kYXJ5ICh3 aXRoIHJlc3BlY3QgdG8gdGhlCnByaW1hcnkpIGFuZCB3aWxsIG5vdCBiZSBzZW50IGJ5IHRoZSBw cmltYXJ5ICh0byBzZWNvbmRhcnkpLCBhcyBpdAp3YXMgbm90IG1lbW9yeSBkaXJ0aWVkIGJ5IHRo ZSBwcmltYXJ5LiBUaGUgc2Vjb25kYXJ5IG5lZWRzIEMgcGFnZSBkYXRhCnRvIHJlY29uc3RydWN0 IGFuIGV4YWN0IGNvcHkgb2YgdGhlIHByaW1hcnkgYXQgdGhlIGNoZWNrcG9pbnQuCgpUaGUgc2Vj b25kYXJ5IGNhbm5vdCBjYWxjdWxhdGUgQyBhcyBpdCBkb2Vzbid0IGtub3cgQS4gIEluc3RlYWQs IHRoZQpzZWNvbmRhcnkgbXVzdCBzZW5kIEIgdG8gdGhlIHByaW1hcnksIGF0IHdoaWNoIHBvaW50 IHRoZSBwcmltYXJ5CmNhbGN1bGF0ZXMgdGhlIHVuaW9uIG9mIEEgYW5kIEIgKGxldHMgY2FsbCB0 aGlzIEQpIHdoaWNoIGlzIGFsbCB0aGUKcGFnZXMgZGlydGllZCBieSBib3RoIHRoZSBwcmltYXJ5 IGFuZCB0aGUgc2Vjb25kYXJ5LCBhbmQgc2VuZHMgYWxsIHBhZ2UKZGF0YSBjb3ZlcmVkIGJ5IEQu CgpJbiB0aGUgZ2VuZXJhbCBjYXNlLCBEIGlzIGEgc3VwZXJzZXQgb2YgYm90aCBBIGFuZCBCLiAg V2l0aG91dCB0aGUKYmFja2NoYW5uZWwgZGlydHkgYml0bWFwLCBhIENPTE8gY2hlY2twb2ludCBj YW4ndCByZWNvbnN0cnVjdCBhIHZhbGlkCmNvcHkgb2YgdGhlIHByaW1hcnkuCgpXZSB0cmFuc2Zl ciB0aGUgZGlydHkgYml0bWFwIG9uIGxpYnhjIHNpZGUsIHNvIHdlIG5lZWQgdG8gaW50cm9kdWNl IGJhY2sKY2hhbm5lbCB0byBsaWJ4Yy4KCk5vdGU6IGl0IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBw YXBlci4gV2UgY2hhbmdlIHRoZSBvcmlnaW5hbCBkZXNpZ24gdG8KdGhlIGN1cnJlbnQgb25lLCBh Y2NvcmRpbmcgdG8gb3VyIGZvbGxvd2luZyBjb25jZXJuczoKMS4gVGhlIG9yaWdpbmFsIGRlc2ln biBuZWVkcyBleHRyYSBtZW1vcnkgb24gU2Vjb25kYXJ5IGhvc3QuIFdoZW4gdGhlcmUncwogICBt dWx0aXBsZSBiYWNrdXBzIG9uIG9uZSBob3N0LCB0aGUgbWVtb3J5IGNvc3QgaXMgaGlnaC4KMi4g VGhlIG1lbW9yeSBjYWNoZSBjb2RlIHdpbGwgYmUgYW5vdGhlciAxayssIGl0IHdpbGwgbWFrZSB0 aGUgcmV2aWV3CiAgIG1vcmUgdGltZSBjb25zdW1pbmcuCgpOb3RlOiB0aGlzIHBhdGNoIG1lcmVs eSBhZGRzIG5ldyBwYXJhbWV0ZXJzIHRvIHZhcmlvdXMgcHJvdG90eXBlcyBhbmQKZnVuY3Rpb25z LiBUaGUgbmV3IHBhcmFtZXRlcnMgYXJlIHVzZWQgaW4gbGF0ZXIgcGF0Y2ggY2FsbGVkCiJsaWJ4 Yy9yZXN0b3JlOiBzZW5kIGRpcnR5IHBmbiBsaXN0IHRvIHByaW1hcnkgd2hlbiBjaGVja3BvaW50 IHVuZGVyCkNPTE8iLgoKU2lnbmVkLW9mZi1ieTogWWFuZyBIb25neWFuZyA8aG9uZ3lhbmcueWFu Z0BlYXN5c3RhY2suY24+ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w ZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IENoYW5nbG9uZyBYaWUgPHhpZWNsLmZuc3RA Y24uZnVqaXRzdS5jb20+CkNDOiBJYW4gQ2FtcGJlbGwgPElhbi5DYW1wYmVsbEBjaXRyaXguY29t PgpDQzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CkNDOiBXZWkgTGl1 IDx3ZWkubGl1MkBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxr IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgotLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vl c3QuaCAgIHwgIDQgKystLQogdG9vbHMvbGlieGMveGNfbm9taWdyYXRlLmMgICAgICAgfCAgNCAr Ky0tCiB0b29scy9saWJ4Yy94Y19zcl9yZXN0b3JlLmMgICAgICB8ICAyICstCiB0b29scy9saWJ4 Yy94Y19zcl9zYXZlLmMgICAgICAgICB8ICAyICstCiB0b29scy9saWJ4bC9saWJ4bF9zYXZlX2Nh bGxvdXQuYyB8IDIxICsrKysrKysrKysrKysrKy0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfc2F2 ZV9oZWxwZXIuYyAgfCAgOCArKysrKystLQogNiBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25z KCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hl bmd1ZXN0LmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmd1ZXN0LmgKaW5kZXggYWZmYzQyYi4u ODA0MGFjNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5ndWVzdC5oCisrKyBi L3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuZ3Vlc3QuaApAQCAtODgsNyArODgsNyBAQCBzdHJ1Y3Qg c2F2ZV9jYWxsYmFja3MgewogaW50IHhjX2RvbWFpbl9zYXZlKHhjX2ludGVyZmFjZSAqeGNoLCBp bnQgaW9fZmQsIHVpbnQzMl90IGRvbSwgdWludDMyX3QgbWF4X2l0ZXJzLAogICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IG1heF9mYWN0b3IsIHVpbnQzMl90IGZsYWdzIC8qIFhDRkxBR1NfeHh4 ICovLAogICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzYXZlX2NhbGxiYWNrcyogY2FsbGJhY2tz LCBpbnQgaHZtLAotICAgICAgICAgICAgICAgICAgIGludCBjaGVja3BvaW50ZWRfc3RyZWFtKTsK KyAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSwgaW50IHJlY3ZfZmQp OwogCiAvKiBjYWxsYmFja3MgcHJvdmlkZWQgYnkgeGNfZG9tYWluX3Jlc3RvcmUgKi8KIHN0cnVj dCByZXN0b3JlX2NhbGxiYWNrcyB7CkBAIC0xMjcsNyArMTI3LDcgQEAgaW50IHhjX2RvbWFpbl9y ZXN0b3JlKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgaW9fZmQsIHVpbnQzMl90IGRvbSwKICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpjb25zb2xlX21mbiwgZG9taWRfdCBjb25z b2xlX2RvbWlkLAogICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBodm0sIHVuc2ln bmVkIGludCBwYWUsIGludCBzdXBlcnBhZ2VzLAogICAgICAgICAgICAgICAgICAgICAgIGludCBj aGVja3BvaW50ZWRfc3RyZWFtLAotICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByZXN0b3Jl X2NhbGxiYWNrcyAqY2FsbGJhY2tzKTsKKyAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmVz dG9yZV9jYWxsYmFja3MgKmNhbGxiYWNrcywgaW50IHNlbmRfYmFja19mZCk7CiAKIC8qKgogICog VGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSBhIGRvbWFpbiBmb3IgYSBwYXJhdmlydHVhbGl6ZWQg TGludXgKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX25vbWlncmF0ZS5jIGIvdG9vbHMvbGli eGMveGNfbm9taWdyYXRlLmMKaW5kZXggYzkxMjRkZi4uMzYzNDc0MyAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGMveGNfbm9taWdyYXRlLmMKKysrIGIvdG9vbHMvbGlieGMveGNfbm9taWdyYXRlLmMK QEAgLTIzLDcgKzIzLDcgQEAKIGludCB4Y19kb21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwg aW50IGlvX2ZkLCB1aW50MzJfdCBkb20sIHVpbnQzMl90IG1heF9pdGVycywKICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBtYXhfZmFjdG9yLCB1aW50MzJfdCBmbGFncywKICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFja3MqIGNhbGxiYWNrcywgaW50IGh2bSwKLSAgICAg ICAgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSkKKyAgICAgICAgICAgICAgICAg ICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSwgaW50IHJlY3ZfZmQpCiB7CiAgICAgZXJybm8gPSBF Tk9TWVM7CiAgICAgcmV0dXJuIC0xOwpAQCAtMzUsNyArMzUsNyBAQCBpbnQgeGNfZG9tYWluX3Jl c3RvcmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBpb19mZCwgdWludDMyX3QgZG9tLAogICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKmNvbnNvbGVfbWZuLCBkb21pZF90IGNvbnNv bGVfZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGh2bSwgdW5zaWdu ZWQgaW50IHBhZSwgaW50IHN1cGVycGFnZXMsCiAgICAgICAgICAgICAgICAgICAgICAgaW50IGNo ZWNrcG9pbnRlZF9zdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJlc3RvcmVf Y2FsbGJhY2tzICpjYWxsYmFja3MpCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJlc3Rv cmVfY2FsbGJhY2tzICpjYWxsYmFja3MsIGludCBzZW5kX2JhY2tfZmQpCiB7CiAgICAgZXJybm8g PSBFTk9TWVM7CiAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfc3Jf cmVzdG9yZS5jIGIvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZS5jCmluZGV4IGQ0ZDMzZmQuLmUy NDU2MGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmUuYworKysgYi90b29s cy9saWJ4Yy94Y19zcl9yZXN0b3JlLmMKQEAgLTcyNiw3ICs3MjYsNyBAQCBpbnQgeGNfZG9tYWlu X3Jlc3RvcmUoeGNfaW50ZXJmYWNlICp4Y2gsIGludCBpb19mZCwgdWludDMyX3QgZG9tLAogICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKmNvbnNvbGVfZ2ZuLCBkb21pZF90IGNv bnNvbGVfZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGh2bSwgdW5z aWduZWQgaW50IHBhZSwgaW50IHN1cGVycGFnZXMsCiAgICAgICAgICAgICAgICAgICAgICAgaW50 IGNoZWNrcG9pbnRlZF9zdHJlYW0sCi0gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJlc3Rv cmVfY2FsbGJhY2tzICpjYWxsYmFja3MpCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJl c3RvcmVfY2FsbGJhY2tzICpjYWxsYmFja3MsIGludCBzZW5kX2JhY2tfZmQpCiB7CiAgICAgc3Ry dWN0IHhjX3NyX2NvbnRleHQgY3R4ID0KICAgICAgICAgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGMveGNfc3Jfc2F2ZS5jIGIvdG9vbHMvbGlieGMveGNfc3Jfc2F2ZS5jCmluZGV4IGUyNThiN2Mu LmZlMjEwY2MgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX3NyX3NhdmUuYworKysgYi90b29s cy9saWJ4Yy94Y19zcl9zYXZlLmMKQEAgLTgzMCw3ICs4MzAsNyBAQCBzdGF0aWMgaW50IHNhdmUo c3RydWN0IHhjX3NyX2NvbnRleHQgKmN0eCwgdWludDE2X3QgZ3Vlc3RfdHlwZSkKIGludCB4Y19k b21haW5fc2F2ZSh4Y19pbnRlcmZhY2UgKnhjaCwgaW50IGlvX2ZkLCB1aW50MzJfdCBkb20sCiAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgbWF4X2l0ZXJzLCB1aW50MzJfdCBtYXhfZmFjdG9y LCB1aW50MzJfdCBmbGFncywKICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2F2ZV9jYWxsYmFj a3MqIGNhbGxiYWNrcywgaW50IGh2bSwKLSAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2twb2lu dGVkX3N0cmVhbSkKKyAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2twb2ludGVkX3N0cmVhbSwg aW50IHJlY3ZfZmQpCiB7CiAgICAgc3RydWN0IHhjX3NyX2NvbnRleHQgY3R4ID0KICAgICAgICAg ewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMgYi90b29scy9s aWJ4bC9saWJ4bF9zYXZlX2NhbGxvdXQuYwppbmRleCBhODg1NTA0Li4wZDY5NDlhIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9zYXZlX2NhbGxvdXQuYworKysgYi90b29scy9saWJ4bC9s aWJ4bF9zYXZlX2NhbGxvdXQuYwpAQCAtMjcsNyArMjcsNyBAQAogICovCiBzdGF0aWMgdm9pZCBy dW5faGVscGVyKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMs CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm1vZGVfYXJnLAotICAgICAgICAg ICAgICAgICAgICAgICBpbnQgc3RyZWFtX2ZkLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQg c3RyZWFtX2ZkLCBpbnQgYmFja19jaGFubmVsX2ZkLAogICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBpbnQgKnByZXNlcnZlX2ZkcywgaW50IG51bV9wcmVzZXJ2ZV9mZHMsCiAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmFyZ251bXMsIGludCBudW1fYXJnbnVt cyk7CiAKQEAgLTUwLDYgKzUwLDcgQEAgdm9pZCBsaWJ4bF9feGNfZG9tYWluX3Jlc3RvcmUobGli eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX2NyZWF0ZV9zdGF0ZSAqZGNzLAogICAgIC8qIENv bnZlbmllbmNlIGFsaWFzZXMgKi8KICAgICBjb25zdCB1aW50MzJfdCBkb21pZCA9IGRjcy0+Z3Vl c3RfZG9taWQ7CiAgICAgY29uc3QgaW50IHJlc3RvcmVfZmQgPSBkY3MtPmxpYnhjX2ZkOworICAg IGNvbnN0IGludCBzZW5kX2JhY2tfZmQgPSBkY3MtPnNlbmRfYmFja19mZDsKICAgICBsaWJ4bF9f ZG9tYWluX2J1aWxkX3N0YXRlICpjb25zdCBzdGF0ZSA9ICZkY3MtPmJ1aWxkX3N0YXRlOwogCiAg ICAgdW5zaWduZWQgY2JmbGFncyA9CkBAIC03MSw3ICs3Miw3IEBAIHZvaWQgbGlieGxfX3hjX2Rv bWFpbl9yZXN0b3JlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUg KmRjcywKICAgICBzaHMtPmNhbGxlcl9zdGF0ZSA9IGRjczsKICAgICBzaHMtPm5lZWRfcmVzdWx0 cyA9IDE7CiAKLSAgICBydW5faGVscGVyKGVnYywgc2hzLCAiLS1yZXN0b3JlLWRvbWFpbiIsIHJl c3RvcmVfZmQsIDAsIDAsCisgICAgcnVuX2hlbHBlcihlZ2MsIHNocywgIi0tcmVzdG9yZS1kb21h aW4iLCByZXN0b3JlX2ZkLCBzZW5kX2JhY2tfZmQsIDAsIDAsCiAgICAgICAgICAgICAgICBhcmdu dW1zLCBBUlJBWV9TSVpFKGFyZ251bXMpKTsKIH0KIApAQCAtOTUsNyArOTYsNyBAQCB2b2lkIGxp YnhsX194Y19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9z dGF0ZSAqZHNzLAogICAgIHNocy0+Y2FsbGVyX3N0YXRlID0gZHNzOwogICAgIHNocy0+bmVlZF9y ZXN1bHRzID0gMDsKIAotICAgIHJ1bl9oZWxwZXIoZWdjLCBzaHMsICItLXNhdmUtZG9tYWluIiwg ZHNzLT5mZCwKKyAgICBydW5faGVscGVyKGVnYywgc2hzLCAiLS1zYXZlLWRvbWFpbiIsIGRzcy0+ ZmQsIGRzcy0+cmVjdl9mZCwKICAgICAgICAgICAgICAgIE5VTEwsIDAsCiAgICAgICAgICAgICAg ICBhcmdudW1zLCBBUlJBWV9TSVpFKGFyZ251bXMpKTsKICAgICByZXR1cm47CkBAIC0xMzksMTIg KzE0MCwxNCBAQCBzdGF0aWMgaW50IGR1cF9mZF9oZWxwZXIobGlieGxfX2djICpnYywgaW50IGZk LCBjb25zdCBjaGFyICp3aGF0KQogICogMSkgUGF0aCB0byBsaWJ4bC1zYXZlLWhlbHBlci4KICAq IDIpIC0tW3Jlc3RvcmV8c2F2ZV0tZG9tYWluLgogICogMykgc3RyZWFtIGZpbGUgZGVzY3JpcHRv ci4KKyAqIDQpIGJhY2sgY2hhbm5lbCBmaWxlIGRlc2NyaXB0b3IuCiAgKiBuKSBzYXZlL3Jlc3Rv cmUgc3BlY2lmaWMgcGFyYW1ldGVycy4KLSAqIDQpIEEgXDAgYXQgdGhlIGVuZC4KKyAqIDUpIEEg XDAgYXQgdGhlIGVuZC4KICAqLwotI2RlZmluZSBIRUxQRVJfTlJfQVJHUyA0CisjZGVmaW5lIEhF TFBFUl9OUl9BUkdTIDUKIHN0YXRpYyB2b2lkIHJ1bl9oZWxwZXIobGlieGxfX2VnYyAqZWdjLCBs aWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocywKLSAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqbW9kZV9hcmcsIGludCBzdHJlYW1fZmQsCisgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKm1vZGVfYXJnLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3RyZWFt X2ZkLCBpbnQgYmFja19jaGFubmVsX2ZkLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBp bnQgKnByZXNlcnZlX2ZkcywgaW50IG51bV9wcmVzZXJ2ZV9mZHMsCiAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmFyZ251bXMsIGludCBudW1fYXJnbnVtcykKIHsK QEAgLTE3Nyw2ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBydW5faGVscGVyKGxpYnhsX19lZ2MgKmVn YywgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMsCiAgICAgKmFyZysrID0gZ2V0ZW52KCJM SUJYTF9TQVZFX0hFTFBFUiIpID86IExJQkVYRUNfQklOICIvIiAibGlieGwtc2F2ZS1oZWxwZXIi OwogICAgICphcmcrKyA9IG1vZGVfYXJnOwogICAgIGNvbnN0IGNoYXIgKipzdHJlYW1fZmRfYXJn ID0gYXJnKys7CisgICAgY29uc3QgY2hhciAqKmJhY2tfY2hhbm5lbF9mZF9hcmcgPSBhcmcrKzsK ICAgICBmb3IgKGk9MDsgaTxudW1fYXJnbnVtczsgaSsrKQogICAgICAgICAqYXJnKysgPSBHQ1NQ UklOVEYoIiVsdSIsIGFyZ251bXNbaV0pOwogICAgICphcmcrKyA9IDA7CkBAIC0yMDQsNiArMjA4 LDExIEBAIHN0YXRpYyB2b2lkIHJ1bl9oZWxwZXIobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fc2F2 ZV9oZWxwZXJfc3RhdGUgKnNocywKICAgICAgICAgc3RyZWFtX2ZkID0gZHVwX2ZkX2hlbHBlcihn Yywgc3RyZWFtX2ZkLCAibWlncmF0aW9uIHN0cmVhbSBmZCIpOwogICAgICAgICAqc3RyZWFtX2Zk X2FyZyA9IEdDU1BSSU5URigiJWQiLCBzdHJlYW1fZmQpOwogCisgICAgICAgIGlmIChiYWNrX2No YW5uZWxfZmQgPj0gMCkKKyAgICAgICAgICAgIGJhY2tfY2hhbm5lbF9mZCA9IGR1cF9mZF9oZWxw ZXIoZ2MsIGJhY2tfY2hhbm5lbF9mZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIm1pZ3JhdGlvbiBiYWNrIGNoYW5uZWwgZmQiKTsKKyAgICAgICAgKmJhY2tf Y2hhbm5lbF9mZF9hcmcgPSBHQ1NQUklOVEYoIiVkIiwgYmFja19jaGFubmVsX2ZkKTsKKwogICAg ICAgICBmb3IgKGk9MDsgaTxudW1fcHJlc2VydmVfZmRzOyBpKyspCiAgICAgICAgICAgICBpZiAo cHJlc2VydmVfZmRzW2ldID49IDApIHsKICAgICAgICAgICAgICAgICBhc3NlcnQocHJlc2VydmVf ZmRzW2ldID4gMik7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9zYXZlX2hlbHBlci5j IGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9oZWxwZXIuYwppbmRleCA2YmRjZjEzLi4yZmY0YzZl IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9zYXZlX2hlbHBlci5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3NhdmVfaGVscGVyLmMKQEAgLTIzOCw2ICsyMzgsNyBAQCBzdGF0aWMgc3Ry dWN0IHJlc3RvcmVfY2FsbGJhY2tzIGhlbHBlcl9yZXN0b3JlX2NhbGxiYWNrczsKIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKICAgICBpbnQgcjsKKyAgICBpbnQgc2VuZF9iYWNr X2ZkLCByZWN2X2ZkOwogCiAjZGVmaW5lIE5FWFRBUkcgKCsrYXJndiwgYXNzZXJ0KCphcmd2KSwg KmFyZ3YpCiAKQEAgLTI0Nyw2ICsyNDgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgICAgaWYgKCFzdHJjbXAobW9kZSwiLS1zYXZlLWRvbWFpbiIpKSB7CiAKICAgICAgICAg aW9fZmQgPSAgICAgICAgICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKKyAgICAgICAgcmVjdl9m ZCA9ICAgICAgICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKICAgICAgICAgdWludDMyX3QgZG9t ID0gICAgICAgICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOwogICAgICAgICB1aW50MzJfdCBt YXhfaXRlcnMgPSAgICAgICBzdHJ0b3VsKE5FWFRBUkcsMCwxMCk7CiAgICAgICAgIHVpbnQzMl90 IG1heF9mYWN0b3IgPSAgICAgIHN0cnRvdWwoTkVYVEFSRywwLDEwKTsKQEAgLTI2MiwxMiArMjY0 LDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgc2V0dXBfc2ln bmFscyhzYXZlX3NpZ25hbF9oYW5kbGVyKTsKIAogICAgICAgICByID0geGNfZG9tYWluX3NhdmUo eGNoLCBpb19mZCwgZG9tLCBtYXhfaXRlcnMsIG1heF9mYWN0b3IsIGZsYWdzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmhlbHBlcl9zYXZlX2NhbGxiYWNrcywgaHZtLCBjaGVja3BvaW50 ZWRfc3RyZWFtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWxwZXJfc2F2ZV9jYWxs YmFja3MsIGh2bSwgY2hlY2twb2ludGVkX3N0cmVhbSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlY3ZfZmQpOwogICAgICAgICBjb21wbGV0ZShyKTsKIAogICAgIH0gZWxzZSBpZiAoIXN0 cmNtcChtb2RlLCItLXJlc3RvcmUtZG9tYWluIikpIHsKIAogICAgICAgICBpb19mZCA9ICAgICAg ICAgICAgICAgICAgICBhdG9pKE5FWFRBUkcpOworICAgICAgICBzZW5kX2JhY2tfZmQgPSAgICAg ICAgICAgICBhdG9pKE5FWFRBUkcpOwogICAgICAgICB1aW50MzJfdCBkb20gPSAgICAgICAgICAg ICBzdHJ0b3VsKE5FWFRBUkcsMCwxMCk7CiAgICAgICAgIHVuc2lnbmVkIHN0b3JlX2V2dGNobiA9 ICAgIHN0cnRvdWwoTkVYVEFSRywwLDEwKTsKICAgICAgICAgZG9taWRfdCBzdG9yZV9kb21pZCA9 ICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOwpAQCAtMjkyLDcgKzI5Niw3IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 b3JlX2RvbWlkLCBjb25zb2xlX2V2dGNobiwgJmNvbnNvbGVfbWZuLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc29sZV9kb21pZCwgaHZtLCBwYWUsIHN1cGVycGFnZXMsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja3BvaW50ZWQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmaGVscGVyX3Jlc3RvcmVfY2FsbGJhY2tzKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZoZWxwZXJfcmVzdG9yZV9jYWxsYmFja3MsIHNlbmRfYmFja19mZCk7 CiAgICAgICAgIGhlbHBlcl9zdHViX3Jlc3RvcmVfcmVzdWx0cyhzdG9yZV9tZm4sY29uc29sZV9t Zm4sMCk7CiAgICAgICAgIGNvbXBsZXRlKHIpOwogCi0tIAoxLjkuMwoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK