From mboxrd@z Thu Jan 1 00:00:00 1970 From: "KimJongHo_f" Subject: Re: [Resend] Add the stream report feature. Could you review my idea? Date: Thu, 15 May 2014 13:49:44 +0900 Message-ID: <001c01cf6ff9$19f96bb0$4dec4310$@com> References: <53743671.1030606@sakamocchi.jp> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <53743671.1030606@sakamocchi.jp> Content-Language: ko List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: 'Takashi Sakamoto' , 'Jaroslav Kysela' , 'Abramo Bagnara' , 'Takashi Iwai' , 'Mark Brown' , 'Liam Girdwood' Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org VGhhbmtzIGZvciB5b3VyIHJlcGxpZWQKCkkgd2lsbCBnaXZlIHlvdSBhIHN1cHBsZW1lbnRhcnkg ZXhwbGFuYXRpb24uCldlIHdvcmsgd2l0aCB0ZXN0IGVuZ2luZWVyLiBUaGV5IGFyZSBvbmx5IHRl c3QgZm9yIHRoZSBkZXZlbG9waW5nIHNtYXJ0cGhvbmUuClRoZXkgcmVwb3J0ZWQgb24gdGhlIGVy cm9yIHRvIG1lIHdpdGgga2VybmVsIGxvZyBmaWxlcyB3aGVuIGRpc2NvdmVyIHRoZSBhdWRpbyBl cnJvci4KSWYgSSBmb3VuZCBlcnJvciBtZXNzYWdlICJwbGF5YmFjayB3cml0ZSBlcnJvcihETUEg b3IgSVJRIHRyb3VibGU/KSIgaW4gdGhlIGtlcm5lbCBsb2csIApUbyBmaXggdGhlIHByb2JsZW0g aXMgdmVyeSBkaWZmaWN1bHQgYmVjYXVzZSBkbyBub3QgaGFkIGFueSBpbmZvcm1hdGlvbi4KVGhl IG9iamVjdCBvZiB0aGUgdW5kZXIgcGF0Y2ggaXMgdG8gZ2V0IG1vcmUgaW5mb21hdGlvbiB3aGVu IHRoZSBlcnJvciBtZXNzYWdlIGlzIGdlbmVyYXRlZC4KZXg+IGhvdyBsb25ndGltZSBwbGF5PyB3 aGljaCBoYXJkd2FyZSBpcyBwcm9ibGVtPyBhbmQgaGFyZHdhcmUgc3RhdHVzPyBtb3JlLi4gbW9y ZS4uCgpUaGUgeHJ1bl9kZWJ1ZyBhbmQgIi9wcm9jL2Fzb3VuZC9jYXJkW25dL3BjbVtuXXAsYy9z dWJbbl0vKiAiIGFyZSB2ZXJ5IGV4Y2VsbGVudCBmdW5jdGlvbnMhCkkga25vdyBhbmQgdXNlIHRo ZSB0aGF0IGJ1dCB0aGF0IGlzIG5vdCBoZWxwIGZvciBoYXJkd2FyZSBhbmQgdGhlbiB0aGF0IGlz IG9wZXJhdGVkIGJ5IGNvbnNvbGUgYWN0aW9ucy4KClNvIEkgdXNpbmcgdGhlIGFkZGVkIHNuZF9w Y21fcmVwb3J0IGFuZCBzb2NfcGNtX3JlcG9ydCwKSSB3YW50IHRvIHNlZSB0aGUgaGFyZHdhcmUg cmVnaXN0ZXIgc3RhdHVzIHdoZW4gdGhlIGVycm9yIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkLgpJbiBh ZGRpdGlvbiwgSSB3YW50IHRvIGtub3cgc3Vic3RyZWFtJ3MgcnVudGltZSBzdGF0dXMgaW5mb21h dGlvbi4KCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCkZyb206IFRha2FzaGkgU2FrYW1vdG8g W21haWx0bzpvLXRha2FzaGlAc2FrYW1vY2NoaS5qcF0gClNlbnQ6IFRodXJzZGF5LCBNYXkgMTUs IDIwMTQgMTI6MzcgUE0KVG86IEpvbmdIbyBLaW07IEphcm9zbGF2IEt5c2VsYTsgQWJyYW1vIEJh Z25hcmE7IFRha2FzaGkgSXdhaTsgTWFyayBCcm93bjsgTGlhbSBHaXJkd29vZApDYzogYWxzYS1k ZXZlbEBhbHNhLXByb2plY3Qub3JnClN1YmplY3Q6IFJlOiBbUmVzZW5kXSBBZGQgdGhlIHN0cmVh bSByZXBvcnQgZmVhdHVyZS4gQ291bGQgeW91IHJldmlldyBteSBpZGVhPwoKSGkgSm9uZ0hvLAoK SSBjYW4gdW5kZXJzdGFuZCB5b3VyIG5lZWRzIGJ1dCBJIGhhdmUgYSBxdWVzdGlvbiBmb3IgeW91 ciBpZGVhLgoKTW9zdCBvZiBzbmRfcHJpbnRkKCkgb3V0cHV0IGluIHlvdXIgcGF0Y2ggYXJlIGZp eGVkIHZhbHVlIGluIGVhY2ggc3Vic3RyZWFtIGFuZCBpdCdzIHJldHJpZXZlZCBmcm9tIHVzZXIt bGFuZCB2aWEgbm9kZXMgaW4gcHJvY2ZzIG9yIHZpYSBsaWJyYXJ5IEFQSXMuIEkgdGhpbmsgaXQg T0sgdG8gcmV0cmlldmUgdGhlbSBpbW1lZGlhdGVseSB3aGVuIHRoZSBlcnJvciBtZXNzYWdlIGlz IGdlbmVyYXRlZC4KClNvIEkgdGhpbmsgaXQgZW5vdWdoIHRvIHJldHJpZXZlIHRoZXNlIGl0ZW1z IGZvciBldmVyeSB0aW1lOgorIHNuZF9wcmludGQoImF2YWlsOiAlbGRcbiIsIHNuZF9wY21fcGxh eWJhY2tfYXZhaWwocnVudGltZSkpOyBlbHNlCisgc25kX3ByaW50ZCgiYXZhaWw6ICVsZFxuIiwg c25kX3BjbV9jYXB0dXJlX2F2YWlsKHJ1bnRpbWUpKTsKKyBzbmRfcHJpbnRkKCJhdmFpbF9tYXg6 ICVsZFxuIiwgcnVudGltZS0+YXZhaWxfbWF4KTsKKyBzbmRfcHJpbnRkKCJod19wdHI6ICVsZFxu IiwgcnVudGltZS0+c3RhdHVzLT5od19wdHIpOworIHNuZF9wcmludGQoImFwcGxfcHRyOiAlbGRc biIsIHJ1bnRpbWUtPmNvbnRyb2wtPmFwcGxfcHRyKTsKClRoZSBzaW1pbGFyIGluZm9ybWF0aW9u IGNhbiBiZSBnb3QgdmlhIGh3X3B0cl9lcnJvcigpIGluIHNvdW5kL2NvcmUvcGNtX2xpYi5jLiBZ b3UgY2FuIGVuYWJsZSB0aGUgb3V0cHV0IHdoZW4gZW5hYmxpbmcgQ09ORklHX1NORF9QQ01fWFJV Tl9ERUJVRyBhbmQgd3JpdGluZyBhcHByb3ByaWF0ZSB2YWx1ZSB0byAvcHJvYy9hc291bmQvY2Fy ZCVkL3BjbSVke2MscH0veHJ1bl9kZWJ1Zy4gU2VlOgpodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dp dC9saW51eC9rZXJuZWwvZ2l0L3Rpd2FpL3NvdW5kLmdpdC90cmVlL3NvdW5kL2NvcmUvcGNtX2xp Yi5jI24xNDUKCkkgdGhpbmsgdGhlcmUgaXMgYWxyZWFkeSBhbiBhbHRlcm5hdGl2ZSBzbyBJIGRp c2FncmVlIHdpdGggeW91ciBpZGVhLgoKClJlZ2FyZHMKClRha2FzaGkgKG5vdCBhIG1haW50YWlu ZXIpIFNha2Ftb3RvCm8tdGFrYXNoaUBzYWthbW9jY2hpLmpwCgooMjAxNOW5tDA15pyIMTXml6Ug MDE6NTkpLCBKb25nSG8gS2ltIHdyb3RlOgo+IChBZGQgdGhlIGFsc2EtZGV2ZWxAYWxzYS1wcm9q ZWN0Lm9yZykKPgo+IEhpCj4KPiBJIGFtIHdvcmsgb24gQVNvQyBwYXJ0IGFuZCBkZXZlbG9waW5n IHRoZSBzbWFydHBob25lKEFuZHJvaWQpLgo+IHdlIGhhdmUgYmVlbiBkb2luZyB0aGUgc3RyZXNz IGFuZCBsb25nIHJ1bnRpbWUgdGVzdC4KPiBhdWRpbyBvdXRwdXQgaXMgbm8gcHJvYmxlbSBidXQg SSBzb21ldGltZXMgZmFjZSB0aGUgInBsYXliYWNrIHdyaXRlIAo+IGVycm9yKERNQSBvciBJUlEg dHJvdWJsZT8pIiBlcnJvciBtZXNzYWdlLgo+IEkga25vdyB0aGUgbWVhbmluZyBvZiB0aGUgbWVz c2FnZSBhbmQgSSBjYW4gc29sdmUgdGhlIGVycm9yLgo+IHRoZSBwcm9ibGVtIG1heSBiZSBjYXVz ZWQgYnkgQVAoY2xrKSBvciBJMlMgb3IgRE1BIG9yIENvZGVjLgo+Cj4gSSB3b3VsZCBsaWtlIHRv IHRyYWNlIHRoZSBoYXJkd2FyZSBlcnJvciBhdCB0aGUgcHJpbnRlZCBtZXNzYWdlLgo+Cj4gQ291 bGQgeW91IHJldmlldyBteSBpZGVhPwo+Cj4gVGhhbmtzCj4gLS0tCj4gICBpbmNsdWRlL3NvdW5k L3BjbS5oICAgICB8ICAyICsrCj4gICBpbmNsdWRlL3NvdW5kL3NvYy1kYWkuaCB8ICAyICsrCj4g ICBpbmNsdWRlL3NvdW5kL3NvYy5oICAgICB8ICAxICsKPiAgIHNvdW5kL2NvcmUvcGNtX2xpYi5j ICAgIHwgIDMgKysrCj4gICBzb3VuZC9jb3JlL3BjbV9uYXRpdmUuYyB8IDUxCj4gKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgc291bmQvc29jL3Nv Yy1wY20uYyAgICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrCj4gICA2IGZpbGVzIGNo YW5nZWQsIDg1IGluc2VydGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3Bj bS5oIGIvaW5jbHVkZS9zb3VuZC9wY20uaCBpbmRleCAKPiBiNGQ2Njk3Li5jZDMwOTNhIDEwMDY0 NAo+IC0tLSBhL2luY2x1ZGUvc291bmQvcGNtLmgKPiArKysgYi9pbmNsdWRlL3NvdW5kL3BjbS5o Cj4gQEAgLTgyLDYgKzgyLDcgQEAgc3RydWN0IHNuZF9wY21fb3BzIHsKPiAgICAgICAgdW5zaWdu ZWQgbG9uZyBvZmZzZXQpOwo+ICAgIGludCAoKm1tYXApKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVh bSAqc3Vic3RyZWFtLCBzdHJ1Y3QgCj4gdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Cj4gICAgaW50ICgq YWNrKShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSk7Cj4gKyB2b2lkICgqcmVw b3J0KShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSk7Cj4gICB9Owo+Cj4gICAv Kgo+IEBAIC01MDIsNiArNTAzLDcgQEAgaW50IHNuZF9wY21fc3RhdHVzKHN0cnVjdCBzbmRfcGNt X3N1YnN0cmVhbSAqc3Vic3RyZWFtLAo+ICAgaW50IHNuZF9wY21fc3RhcnQoc3RydWN0IHNuZF9w Y21fc3Vic3RyZWFtICpzdWJzdHJlYW0pOwo+ICAgaW50IHNuZF9wY21fc3RvcChzdHJ1Y3Qgc25k X3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgCj4gc25kX3BjbV9zdGF0ZV90IHN0YXR1cyk7Cj4g ICBpbnQgc25kX3BjbV9kcmFpbl9kb25lKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3Ry ZWFtKTsKPiArdm9pZCBzbmRfcGNtX3JlcG9ydChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1 YnN0cmVhbSk7Cj4gICAjaWZkZWYgQ09ORklHX1BNCj4gICBpbnQgc25kX3BjbV9zdXNwZW5kKHN0 cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKTsKPiAgIGludCBzbmRfcGNtX3N1c3Bl bmRfYWxsKHN0cnVjdCBzbmRfcGNtICpwY20pOyBkaWZmIC0tZ2l0IAo+IGEvaW5jbHVkZS9zb3Vu ZC9zb2MtZGFpLmggYi9pbmNsdWRlL3NvdW5kL3NvYy1kYWkuaCBpbmRleCAKPiBmYWQ3Njc2Li5j MDMyMzkzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvc291bmQvc29jLWRhaS5oCj4gKysrIGIvaW5j bHVkZS9zb3VuZC9zb2MtZGFpLmgKPiBAQCAtMTg0LDYgKzE4NCw4IEBAIHN0cnVjdCBzbmRfc29j X2RhaV9vcHMgewo+ICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqKTsKPiAgICBpbnQgKCpiZXNwb2tl X3RyaWdnZXIpKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqLCBpbnQsCj4gICAgc3RydWN0IHNu ZF9zb2NfZGFpICopOwo+ICsgdm9pZCAoKnJlcG9ydCkoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFt ICosIHN0cnVjdCBzbmRfc29jX2RhaSAqKTsKPiAgICAvKgo+ICAgICogRm9yIGhhcmR3YXJlIGJh c2VkIEZJRk8gY2F1c2VkIGRlbGF5IHJlcG9ydGluZy4KPiAgICAqIE9wdGlvbmFsLgo+IGRpZmYg LS1naXQgYS9pbmNsdWRlL3NvdW5kL3NvYy5oIGIvaW5jbHVkZS9zb3VuZC9zb2MuaCBpbmRleCAK PiAwYjgzMTY4Li43Njg1ODM5IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvc291bmQvc29jLmgKPiAr KysgYi9pbmNsdWRlL3NvdW5kL3NvYy5oCj4gQEAgLTY0MSw2ICs2NDEsNyBAQCBzdHJ1Y3Qgc25k X3NvY19vcHMgewo+ICAgIGludCAoKmh3X2ZyZWUpKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAq KTsKPiAgICBpbnQgKCpwcmVwYXJlKShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKik7Cj4gICAg aW50ICgqdHJpZ2dlcikoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICosIGludCk7Cj4gKyB2b2lk ICgqcmVwb3J0KShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKik7Cj4gICB9Owo+Cj4gICBzdHJ1 Y3Qgc25kX3NvY19jb21wcl9vcHMgewo+IGRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3BjbV9saWIu YyBiL3NvdW5kL2NvcmUvcGNtX2xpYi5jIGluZGV4IAo+IGNlODNkZWYuLjBkNmM5YTMgMTAwNjQ0 Cj4gLS0tIGEvc291bmQvY29yZS9wY21fbGliLmMKPiArKysgYi9zb3VuZC9jb3JlL3BjbV9saWIu Ywo+IEBAIC0xOTQ0LDYgKzE5NDQsOSBAQCBzdGF0aWMgaW50IHdhaXRfZm9yX2F2YWlsKHN0cnVj dCAKPiBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAo+ICAgICIlcyB3cml0ZSBlcnJvciAo RE1BIG9yIElSUSB0cm91YmxlPylcbiIsCj4gICAgaXNfcGxheWJhY2sgPyAicGxheWJhY2siIDog ImNhcHR1cmUiKTsKPiAgICBlcnIgPSAtRUlPOwo+ICsgc25kX3BjbV9zdHJlYW1fdW5sb2NrX2ly cShzdWJzdHJlYW0pOwo+ICsgc25kX3BjbV9yZXBvcnQoc3Vic3RyZWFtKTsKPiArIHNuZF9wY21f c3RyZWFtX2xvY2tfaXJxKHN1YnN0cmVhbSk7Cj4gICAgYnJlYWs7Cj4gICAgfQo+ICAgIH0KPiBk aWZmIC0tZ2l0IGEvc291bmQvY29yZS9wY21fbmF0aXZlLmMgYi9zb3VuZC9jb3JlL3BjbV9uYXRp dmUuYyBpbmRleCAKPiBiNjUzYWIwLi4wY2NkYzEwIDEwMDY0NAo+IC0tLSBhL3NvdW5kL2NvcmUv cGNtX25hdGl2ZS5jCj4gKysrIGIvc291bmQvY29yZS9wY21fbmF0aXZlLmMKPiBAQCAtOTc4LDYg Kzk3OCw1NyBAQCBpbnQgc25kX3BjbV9kcmFpbl9kb25lKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVh bQo+ICpzdWJzdHJlYW0pCj4gICAgICAgIFNORFJWX1BDTV9TVEFURV9TRVRVUCk7Cj4gICB9Cj4K PiArdm9pZCBzbmRfcGNtX3JlcG9ydChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSkgeyAgc3RydWN0IAo+ICtzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1 bnRpbWU7Cj4gKwo+ICsgaWYgKCFydW50aW1lKSB7Cj4gKyBzbmRfcHJpbnRkKCJydW50aW1lIGRp c2FwcGVhclxuIik7Cj4gKyByZXR1cm47Cj4gKyB9Cj4gKwo+ICsgbXV0ZXhfbG9jaygmc3Vic3Ry ZWFtLT5wY20tPm9wZW5fbXV0ZXgpOwo+ICsgc25kX3ByaW50ZCgiYWNjZXNzOiAlaVxuIiwgcnVu dGltZS0+YWNjZXNzKTsKPiArIHNuZF9wcmludGQoImZvcm1hdDogJWlcbiIsIHJ1bnRpbWUtPmZv cm1hdCk7Cj4gKyBzbmRfcHJpbnRkKCJzdWJmb3JtYXQ6ICVkXG4iLCBydW50aW1lLT5zdWJmb3Jt YXQpOwo+ICsgc25kX3ByaW50ZCgiY2hhbm5lbHM6ICV1XG4iLCBydW50aW1lLT5jaGFubmVscyk7 Cj4gKyBzbmRfcHJpbnRkKCJyYXRlOiAldSAoJXUvJXUpXG4iLCBydW50aW1lLT5yYXRlLCBydW50 aW1lLT5yYXRlX251bSwKPiArICAgcnVudGltZS0+cmF0ZV9kZW4pOwo+ICsgc25kX3ByaW50ZCgi cGVyaW9kX3NpemU6ICVsdVxuIiwgcnVudGltZS0+cGVyaW9kX3NpemUpOwo+ICsgc25kX3ByaW50 ZCgiYnVmZmVyX3NpemU6ICVsdVxuIiwgcnVudGltZS0+YnVmZmVyX3NpemUpOwo+ICsgc25kX3By aW50ZCgidHN0YW1wX21vZGU6ICVpXG4iLCBydW50aW1lLT50c3RhbXBfbW9kZSk7Cj4gKyBzbmRf cHJpbnRkKCJwZXJpb2Rfc3RlcDogJXVcbiIsIHJ1bnRpbWUtPnBlcmlvZF9zdGVwKTsKPiArIHNu ZF9wcmludGQoImF2YWlsX21pbjogJWx1XG4iLCBydW50aW1lLT5jb250cm9sLT5hdmFpbF9taW4p Owo+ICsgc25kX3ByaW50ZCgic3RhcnRfdGhyZXNob2xkOiAlbHVcbiIsIHJ1bnRpbWUtPnN0YXJ0 X3RocmVzaG9sZCk7Cj4gKyBzbmRfcHJpbnRkKCJzdG9wX3RocmVzaG9sZDogJWx1XG4iLCBydW50 aW1lLT5zdG9wX3RocmVzaG9sZCk7Cj4gKyBzbmRfcHJpbnRkKCJzaWxlbmNlX3RocmVzaG9sZDog JWx1XG4iLCBydW50aW1lLT5zaWxlbmNlX3RocmVzaG9sZCk7Cj4gKyBzbmRfcHJpbnRkKCJzaWxl bmNlX3NpemU6ICVsdVxuIiwgcnVudGltZS0+c2lsZW5jZV9zaXplKTsKPiArIHNuZF9wcmludGQo ImJvdW5kYXJ5OiAlbHVcbiIsIHJ1bnRpbWUtPmJvdW5kYXJ5KTsKPiArIHNuZF9wcmludGQoInN0 YXRlOiAlaVxuIiwgcnVudGltZS0+c3RhdHVzLT5zdGF0ZSk7Cj4gKyBzbmRfcHJpbnRkKCJvd25l cl9waWQ6ICVkXG4iLCBwaWRfdm5yKHN1YnN0cmVhbS0+cGlkKSk7Cj4gKyBzbmRfcHJpbnRkKCJ0 cmlnZ2VyX3RpbWU6ICVsZC4lMDlsZFxuIiwKPiArICAgcnVudGltZS0+dHJpZ2dlcl90c3RhbXAu dHZfc2VjLAo+ICsgICBydW50aW1lLT50cmlnZ2VyX3RzdGFtcC50dl9uc2VjKTsKPiArIHNuZF9w cmludGQoInRzdGFtcDogJWxkLiUwOWxkXG4iLAo+ICsgICBydW50aW1lLT5zdGF0dXMtPnRzdGFt cC50dl9zZWMsCj4gKyAgIHJ1bnRpbWUtPnN0YXR1cy0+dHN0YW1wLnR2X25zZWMpOwo+ICsgc25k X3ByaW50ZCgiZGVsYXk6ICVsZFxuIiwgcnVudGltZS0+ZGVsYXkpOyBpZiAoc3Vic3RyZWFtLT5z dHJlYW0gPT0gCj4gKyBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQo+ICsgc25kX3ByaW50ZCgi YXZhaWw6ICVsZFxuIiwgc25kX3BjbV9wbGF5YmFja19hdmFpbChydW50aW1lKSk7IGVsc2UKPiAr IHNuZF9wcmludGQoImF2YWlsOiAlbGRcbiIsIHNuZF9wY21fY2FwdHVyZV9hdmFpbChydW50aW1l KSk7Cj4gKyBzbmRfcHJpbnRkKCJhdmFpbF9tYXg6ICVsZFxuIiwgcnVudGltZS0+YXZhaWxfbWF4 KTsKPiArIHNuZF9wcmludGQoImh3X3B0cjogJWxkXG4iLCBydW50aW1lLT5zdGF0dXMtPmh3X3B0 cik7Cj4gKyBzbmRfcHJpbnRkKCJhcHBsX3B0cjogJWxkXG4iLCBydW50aW1lLT5jb250cm9sLT5h cHBsX3B0cik7Cj4gKwo+ICsgbXV0ZXhfdW5sb2NrKCZzdWJzdHJlYW0tPnBjbS0+b3Blbl9tdXRl eCk7Cj4gKwo+ICsgaWYgKHN1YnN0cmVhbS0+b3BzLT5yZXBvcnQpCj4gKyBzdWJzdHJlYW0tPm9w cy0+cmVwb3J0KHN1YnN0cmVhbSk7Cj4gKwo+ICsgcmV0dXJuOwo+ICt9Cj4gKwo+ICAgLyoKPiAg ICAqIHBhdXNlIGNhbGxiYWNrcwo+ICAgICovCj4gZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zb2Mt cGNtLmMgYi9zb3VuZC9zb2Mvc29jLXBjbS5jIGluZGV4IAo+IDJjZWRmMDkuLjk4YTQ3YjMgMTAw NjQ0Cj4gLS0tIGEvc291bmQvc29jL3NvYy1wY20uYwo+ICsrKyBiL3NvdW5kL3NvYy9zb2MtcGNt LmMKPiBAQCAtODgzLDYgKzg4MywzMCBAQCBzdGF0aWMgc25kX3BjbV91ZnJhbWVzX3Qgc29jX3Bj bV9wb2ludGVyKHN0cnVjdCAKPiBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQo+ICAgIHJl dHVybiBvZmZzZXQ7Cj4gICB9Cj4KPiArc3RhdGljIHZvaWQgc29jX3BjbV9yZXBvcnQoc3RydWN0 IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pIHsgIAo+ICtzdHJ1Y3Qgc25kX3NvY19wY21f cnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7ICBzdHJ1Y3QgCj4gK3NuZF9z b2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gcnRkLT5wbGF0Zm9ybTsgIHN0cnVjdCBzbmRfc29jX2Rh aSAKPiArKmNwdV9kYWkgPSBydGQtPmNwdV9kYWk7ICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVj X2RhaSA9IAo+ICtydGQtPmNvZGVjX2RhaTsKPiArCj4gKyBtdXRleF9sb2NrX25lc3RlZCgmcnRk LT5wY21fbXV0ZXgsIHJ0ZC0+cGNtX3N1YmNsYXNzKTsKPiArIC8qIHJlcG9ydCB0aGUgYXVkaW8g c3Vic3lzdGVtICovCj4gKyBpZiAocnRkLT5kYWlfbGluay0+b3BzICYmIHJ0ZC0+ZGFpX2xpbmst Pm9wcy0+cmVwb3J0KQo+ICsgcnRkLT5kYWlfbGluay0+b3BzLT5yZXBvcnQoc3Vic3RyZWFtKTsK PiArCj4gKyBpZiAoY3B1X2RhaS0+ZHJpdmVyLT5vcHMtPnJlcG9ydCkKPiArIGNwdV9kYWktPmRy aXZlci0+b3BzLT5yZXBvcnQoc3Vic3RyZWFtLCBjcHVfZGFpKTsKPiArCj4gKyBpZiAocGxhdGZv cm0tPmRyaXZlci0+b3BzICYmIHBsYXRmb3JtLT5kcml2ZXItPm9wcy0+cmVwb3J0KQo+ICsgcGxh dGZvcm0tPmRyaXZlci0+b3BzLT5yZXBvcnQoc3Vic3RyZWFtKTsKPiArCj4gKyBpZiAoY29kZWNf ZGFpLT5kcml2ZXItPm9wcy0+cmVwb3J0KQo+ICsgY29kZWNfZGFpLT5kcml2ZXItPm9wcy0+cmVw b3J0KHN1YnN0cmVhbSwgY29kZWNfZGFpKTsKPiArCj4gKyBtdXRleF91bmxvY2soJnJ0ZC0+cGNt X211dGV4KTsKPiArfQo+ICsKPiAgIC8qIGNvbm5lY3QgYSBGRSBhbmQgQkUgKi8KPiAgIHN0YXRp YyBpbnQgZHBjbV9iZV9jb25uZWN0KHN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpmZSwKPiAg ICBzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqYmUsIGludCBzdHJlYW0pIEBAIC0yMjY3LDYg KzIyOTEsNyBAQCAKPiBpbnQgc29jX25ld19wY20oc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUg KnJ0ZCwgaW50Cj4gbnVtKQo+ICAgIHJ0ZC0+b3BzLmNsb3NlID0gZHBjbV9mZV9kYWlfY2xvc2U7 Cj4gICAgcnRkLT5vcHMucG9pbnRlciA9IHNvY19wY21fcG9pbnRlcjsKPiAgICBydGQtPm9wcy5p b2N0bCA9IHNvY19wY21faW9jdGw7Cj4gKyBydGQtPm9wcy5yZXBvcnQgPSBzb2NfcGNtX3JlcG9y dDsKPiAgICB9IGVsc2Ugewo+ICAgIHJ0ZC0+b3BzLm9wZW4gPSBzb2NfcGNtX29wZW47Cj4gICAg cnRkLT5vcHMuaHdfcGFyYW1zID0gc29jX3BjbV9od19wYXJhbXM7IEBAIC0yMjc2LDYgKzIzMDEs NyBAQCBpbnQgCj4gc29jX25ld19wY20oc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCwg aW50Cj4gbnVtKQo+ICAgIHJ0ZC0+b3BzLmNsb3NlID0gc29jX3BjbV9jbG9zZTsKPiAgICBydGQt Pm9wcy5wb2ludGVyID0gc29jX3BjbV9wb2ludGVyOwo+ICAgIHJ0ZC0+b3BzLmlvY3RsID0gc29j X3BjbV9pb2N0bDsKPiArIHJ0ZC0+b3BzLnJlcG9ydCA9IHNvY19wY21fcmVwb3J0Owo+ICAgIH0K Pgo+ICAgIGlmIChwbGF0Zm9ybS0+ZHJpdmVyLT5vcHMpIHsKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2Et ZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=