From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1CyETb-0007aR-JV for mharc-grub-devel@gnu.org; Mon, 07 Feb 2005 14:23:15 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CyETM-0007U1-Fl for grub-devel@gnu.org; Mon, 07 Feb 2005 14:23:00 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CyET8-0007OR-2J for grub-devel@gnu.org; Mon, 07 Feb 2005 14:22:49 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CyET7-0007MB-4u for grub-devel@gnu.org; Mon, 07 Feb 2005 14:22:45 -0500 Received: from [217.12.11.35] (helo=smtp004.mail.ukl.yahoo.com) by monty-python.gnu.org with smtp (Exim 4.34) id 1CyE8v-0007BS-Vu for grub-devel@gnu.org; Mon, 07 Feb 2005 14:01:54 -0500 Received: from unknown (HELO ?192.168.0.2?) (subdino2004@83.194.32.248 with plain) by smtp004.mail.ukl.yahoo.com with SMTP; 7 Feb 2005 19:01:42 -0000 Message-ID: <4207BB1D.9040400@yahoo.fr> Date: Mon, 07 Feb 2005 20:01:49 +0100 From: Vincent Pelletier User-Agent: Debian Thunderbird 1.0 (X11/20050116) X-Accept-Language: en-us, en MIME-Version: 1.0 To: The development of GRUB 2 References: <41D837A2.7080501@yahoo.fr> <41EFE2D6.7070302@yahoo.fr> <87sm4kqj8s.fsf@marco.marco-g.com> In-Reply-To: <87sm4kqj8s.fsf@marco.marco-g.com> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: multipart/mixed; boundary="------------080401080306000501010505" Subject: Re: [PATCH] sun partition map support X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 19:23:04 -0000 This is a multi-part message in MIME format. --------------080401080306000501010505 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Here is the second version, with changes requested by Marco. 2005-02-07 Vincent Pelletier ~ * partmap/sun.c: File added. ~ * conf/i386-pc.rmk: References to partmap/sun.c added. ~ include/grub/partition.h, util/grub-emu.c: Likewise. References to sun partition map may also have to be added to apple rmk file, but as I can't test it I didn't. Vincent Pelletier -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFCB7rDFEQoKRQyjtURAmxHAJ9MCQmGHUbc3pTPy8vAI7OQFrUk2gCgnjbZ tjKXOpgFm96mrrNp6C/26G8= =Qboo -----END PGP SIGNATURE----- --------------080401080306000501010505 Content-Type: audio/x-mp3; name="partmap_sun.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="partmap_sun.diff" SW5kZXg6IGNvbmYvaTM4Ni1wYy5ybWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jv b3QvZ3J1Yi9ncnViMi9jb25mL2kzODYtcGMucm1rLHYKcmV0cmlldmluZyByZXZpc2lvbiAx LjI1CmRpZmYgLXUgLXAgLXIxLjI1IGkzODYtcGMucm1rCi0tLSBjb25mL2kzODYtcGMucm1r CTMxIEphbiAyMDA1IDIxOjQwOjI1IC0wMDAwCTEuMjUKKysrIGNvbmYvaTM4Ni1wYy5ybWsJ NyBGZWIgMjAwNSAxODo1NDo1NCAtMDAwMApAQCAtNjEsNyArNjEsNyBAQCBncnViX21raW1h Z2VfTERGTEFHUyA9IC1sbHpvCiBncnViX3NldHVwX1NPVVJDRVMgPSB1dGlsL2kzODYvcGMv Z3J1Yi1zZXR1cC5jIHV0aWwvaTM4Ni9wYy9iaW9zZGlzay5jIFwKIAl1dGlsL21pc2MuYyB1 dGlsL2kzODYvcGMvZ2V0cm9vdC5jIGtlcm4vZGV2aWNlLmMga2Vybi9kaXNrLmMgXAogCWtl cm4vZXJyLmMga2Vybi9taXNjLmMgZnMvZmF0LmMgZnMvZXh0Mi5jIFwKLQlrZXJuL3BhcnRp dGlvbi5jIHBhcnRtYXAvYW1pZ2EuYyBwYXJ0bWFwL2FwcGxlLmMgcGFydG1hcC9wYy5jIFwK KwlrZXJuL3BhcnRpdGlvbi5jIHBhcnRtYXAvYW1pZ2EuYyBwYXJ0bWFwL2FwcGxlLmMgcGFy dG1hcC9wYy5jIHBhcnRtYXAvc3VuLmMgXAogCWZzL3Vmcy5jIGZzL21pbml4LmMgZnMvaGZz LmMgZnMvamZzLmMga2Vybi9maWxlLmMga2Vybi9mcy5jIGtlcm4vZW52LmMgZnMvZnNoZWxw LmMKIAogIyBGb3IgZ3J1YgpAQCAtNjksNyArNjksNyBAQCBncnViX2VtdV9TT1VSQ0VTID0g a2Vybi9tYWluLmMga2Vybi9kZXZpCiAJa2Vybi9kaXNrLmMga2Vybi9kbC5jIGtlcm4vZmls ZS5jIGtlcm4vZnMuYyBrZXJuL2Vyci5jCQlcCiAgICAgICAgIGtlcm4vbWlzYy5jIGtlcm4v bG9hZGVyLmMga2Vybi9yZXNjdWUuYyBrZXJuL3Rlcm0uYwkJXAogCWtlcm4vcGFydGl0aW9u LmMga2Vybi9lbnYuYyBjb21tYW5kcy9scy5jIHBhcnRtYXAvYW1pZ2EuYwlcCi0JcGFydG1h cC9wYy5jIHBhcnRtYXAvYXBwbGUuYwkJCQkJXAorCXBhcnRtYXAvcGMuYyBwYXJ0bWFwL2Fw cGxlLmMgcGFydG1hcC9zdW4uYwkJCVwKIAljb21tYW5kcy90ZXJtaW5hbC5jIGNvbW1hbmRz L2Jvb3QuYyBjb21tYW5kcy9jbXAuYyBjb21tYW5kcy9jYXQuYwkJXAogCXV0aWwvaTM4Ni9w Yy9iaW9zZGlzay5jIGZzL2ZhdC5jIGZzL2V4dDIuYyBmcy91ZnMuYyBmcy9taW5peC5jIGZz L2hmcy5jIGZzL2pmcy5jIGZzL2lzbzk2NjAuYyBcCiAJbm9ybWFsL2NtZGxpbmUuYyBub3Jt YWwvY29tbWFuZC5jIG5vcm1hbC9tYWluLmMgbm9ybWFsL21lbnUuYyBub3JtYWwvYXJnLmMJ XApAQCAtODQsNyArODQsNyBAQCBnZW5tb2RkZXBfU09VUkNFUyA9IHV0aWwvZ2VubW9kZGVw LmMKIHBrZ2RhdGFfTU9EVUxFUyA9IF9jaGFpbi5tb2QgX2xpbnV4Lm1vZCBsaW51eC5tb2Qg ZmF0Lm1vZCB1ZnMubW9kIGV4dDIubW9kIG1pbml4Lm1vZCBcCiAJaGZzLm1vZCBqZnMubW9k IG5vcm1hbC5tb2QgaGVsbG8ubW9kIHZnYS5tb2QgZm9udC5tb2QgX211bHRpYm9vdC5tb2Qg bHMubW9kIFwKIAlib290Lm1vZCBjbXAubW9kIGNhdC5tb2QgdGVybWluYWwubW9kIGZzaGVs cC5tb2QgY2hhaW4ubW9kIG11bHRpYm9vdC5tb2QgXAotCWFtaWdhLm1vZCBhcHBsZS5tb2Qg cGMubW9kIGxvb3BiYWNrLm1vZCByZWJvb3QubW9kIGhhbHQubW9kIGhlbHAubW9kCisJYW1p Z2EubW9kIGFwcGxlLm1vZCBwYy5tb2Qgc3VuLm1vZCBsb29wYmFjay5tb2QgcmVib290Lm1v ZCBoYWx0Lm1vZCBoZWxwLm1vZAogCiAjIEZvciBfY2hhaW4ubW9kLgogX2NoYWluX21vZF9T T1VSQ0VTID0gbG9hZGVyL2kzODYvcGMvY2hhaW5sb2FkZXIuYwpAQCAtMjA0LDYgKzIwNCwx MCBAQCBhcHBsZV9tb2RfQ0ZMQUdTID0gJChDT01NT05fQ0ZMQUdTKQogcGNfbW9kX1NPVVJD RVMgPSBwYXJ0bWFwL3BjLmMKIHBjX21vZF9DRkxBR1MgPSAkKENPTU1PTl9DRkxBR1MpCiAK KyMgRm9yIHN1bi5tb2QKK3N1bl9tb2RfU09VUkNFUyA9IHBhcnRtYXAvc3VuLmMKK3N1bl9t b2RfQ0ZMQUdTID0gJChDT01NT05fQ0ZMQUdTKQorCiAjIEZvciBsb29wYmFjay5tb2QKIGxv b3BiYWNrX21vZF9TT1VSQ0VTID0gZGlzay9sb29wYmFjay5jCiBsb29wYmFja19tb2RfQ0ZM QUdTID0gJChDT01NT05fQ0ZMQUdTKQpJbmRleDogaW5jbHVkZS9ncnViL3BhcnRpdGlvbi5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L2dydWIvZ3J1YjIvaW5jbHVkZS9n cnViL3BhcnRpdGlvbi5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtdSAtcCAt cjEuMSBwYXJ0aXRpb24uaAotLS0gaW5jbHVkZS9ncnViL3BhcnRpdGlvbi5oCTQgRGVjIDIw MDQgMTg6NDU6NDUgLTAwMDAJMS4xCisrKyBpbmNsdWRlL2dydWIvcGFydGl0aW9uLmgJNyBG ZWIgMjAwNSAxODo1NDo1NSAtMDAwMApAQCAtODksNiArODksMTAgQEAgdm9pZCBncnViX2Ft aWdhX3BhcnRpdGlvbl9tYXBfaW5pdCAodm9pZAogdm9pZCBncnViX2FtaWdhX3BhcnRpdGlv bl9tYXBfZmluaSAodm9pZCk7CiB2b2lkIGdydWJfYXBwbGVfcGFydGl0aW9uX21hcF9pbml0 ICh2b2lkKTsKIHZvaWQgZ3J1Yl9hcHBsZV9wYXJ0aXRpb25fbWFwX2ZpbmkgKHZvaWQpOwor dm9pZCBncnViX3N1bl9wYXJ0aXRpb25fbWFwX2luaXQgKHZvaWQpOwordm9pZCBncnViX3N1 bl9wYXJ0aXRpb25fbWFwX2ZpbmkgKHZvaWQpOwogI2VuZGlmCiAMCiBzdGF0aWMgaW5saW5l IHVuc2lnbmVkIGxvbmcKSW5kZXg6IHBhcnRtYXAvc3VuLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogcGFydG1hcC9zdW4uYwpkaWZmIC1OIHBhcnRtYXAvc3VuLmMKLS0tIC9kZXYvbnVs bAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBwYXJ0bWFwL3N1bi5jCTcgRmViIDIw MDUgMTg6NTQ6NTkgLTAwMDAKQEAgLTAsMCArMSwyMTYgQEAKKy8qIHN1bi5jIC0gUmVhZCBT VU4gc3R5bGUgcGFydGl0aW9uIHRhYmxlcy4gICovCisvKgorICogIEdSVUIgIC0tICBHUmFu ZCBVbmlmaWVkIEJvb3Rsb2FkZXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgKgorICogIEdSVUIgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggR1JVQjsgaWYgbm90LCB3 cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBN YXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxn cnViL3BhcnRpdGlvbi5oPgorI2luY2x1ZGUgPGdydWIvZGlzay5oPgorI2luY2x1ZGUgPGdy dWIvbW0uaD4KKyNpbmNsdWRlIDxncnViL21pc2MuaD4KKyNpbmNsdWRlIDxncnViL2RsLmg+ CisKKyNpbmNsdWRlIDxncnViL3N5bWJvbC5oPgorI2luY2x1ZGUgPGdydWIvdHlwZXMuaD4K KyNpbmNsdWRlIDxncnViL2Vyci5oPgorCisjZGVmaW5lIEdSVUJfUEFSVE1BUF9TVU5fTUFH SUMgMHhEQUJFCisjZGVmaW5lIEdSVUJfUEFSVE1BUF9TVU5fTUFYX1BBUlRTIDgKKyNkZWZp bmUgR1JVQl9QQVJUTUFQX1NVTl9XSE9MRV9ESVNLX0lEIDB4MDUKKworCitzdHJ1Y3QgZ3J1 Yl9zdW5fcGFydGl0aW9uX2luZm8KK3sKKyAgZ3J1Yl91aW50OF90IHNwYXJlMTsKKyAgZ3J1 Yl91aW50OF90IGlkOworICBncnViX3VpbnQ4X3Qgc3BhcmUyOworICBncnViX3VpbnQ4X3Qg ZmxhZ3M7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGdydWJfc3Vu X3BhcnRpdGlvbl9kZXNjcmlwdG9yCit7CisgIGdydWJfdWludDMyX3Qgc3RhcnRfY3lsaW5k ZXI7CisgIGdydWJfdWludDMyX3QgbnVtX3NlY3RvcnM7Cit9IF9fYXR0cmlidXRlX18gKChw YWNrZWQpKTsKKworc3RydWN0IGdydWJfc3VuX2Jsb2NrCit7CisgIGdydWJfdWludDhfdCAg aW5mb1sxMjhdOyAgICAgIC8qIEluZm9ybWF0aXZlIHRleHQgc3RyaW5nLiAgKi8KKyAgZ3J1 Yl91aW50OF90ICBzcGFyZTBbMTRdOworICBzdHJ1Y3QgZ3J1Yl9zdW5fcGFydGl0aW9uX2lu Zm8gaW5mb3NbOF07CisgIGdydWJfdWludDhfdCAgc3BhcmUxWzI0Nl07ICAgIC8qIEJvb3Qg aW5mb3JtYXRpb24gZXRjLiAgKi8KKyAgZ3J1Yl91aW50MTZfdCAgcnNwZWVkOyAgICAgICAg LyogRGlzayByb3RhdGlvbmFsIHNwZWVkLiAgKi8KKyAgZ3J1Yl91aW50MTZfdCAgcGN5bGNv dW50OyAgICAgLyogUGh5c2ljYWwgY3lsaW5kZXIgY291bnQuICAqLworICBncnViX3VpbnQx Nl90ICBzcGFyZWN5bDsgICAgICAvKiBleHRyYSBzZWN0cyBwZXIgY3lsaW5kZXIuICAqLwor ICBncnViX3VpbnQ4X3QgIHNwYXJlMls0XTsgICAgICAvKiBNb3JlIG1hZ2ljLi4uICAqLwor ICBncnViX3VpbnQxNl90ICBpbGZhY3Q7ICAgICAgICAvKiBJbnRlcmxlYXZlIGZhY3Rvci4g ICovCisgIGdydWJfdWludDE2X3QgIG5jeWw7ICAgICAgICAgIC8qIERhdGEgY3lsaW5kZXIg Y291bnQuICAqLworICBncnViX3VpbnQxNl90ICBuYWN5bDsgICAgICAgICAvKiBBbHQuIGN5 bGluZGVyIGNvdW50LiAgKi8KKyAgZ3J1Yl91aW50MTZfdCAgbnRya3M7ICAgICAgICAgLyog VHJhY2tzIHBlciBjeWxpbmRlci4gICovCisgIGdydWJfdWludDE2X3QgIG5zZWN0OyAgICAg ICAgIC8qIFNlY3RvcnMgcGVyIHRyYWNrLiAgKi8KKyAgZ3J1Yl91aW50OF90ICBzcGFyZTNb NF07ICAgICAgLyogRXZlbiBtb3JlIG1hZ2ljLi4uICAqLworICBzdHJ1Y3QgZ3J1Yl9zdW5f cGFydGl0aW9uX2Rlc2NyaXB0b3IgcGFydGl0aW9uc1s4XTsKKyAgZ3J1Yl91aW50MTZfdCAg bWFnaWM7ICAgICAgICAgLyogTWFnaWMgbnVtYmVyLiAgKi8KKyAgZ3J1Yl91aW50MTZfdCAg Y3N1bTsgICAgICAgICAgLyogTGFiZWwgeG9yJ2QgY2hlY2tzdW0uICAqLworfSBfX2F0dHJp YnV0ZV9fICgocGFja2VkKSk7CisKK3N0YXRpYyBzdHJ1Y3QgZ3J1Yl9wYXJ0aXRpb25fbWFw IGdydWJfc3VuX3BhcnRpdGlvbl9tYXA7CisKKyNpZm5kZWYgR1JVQl9VVElMCitzdGF0aWMg Z3J1Yl9kbF90IG15X21vZDsKKyNlbmRpZgorCisvKiBWZXJpZnkgY2hlY2tzdW0gKHRydWU9 b2spLiAgKi8KK3N0YXRpYyBpbnQKK2dydWJfc3VuX2lzX3ZhbGlkIChzdHJ1Y3QgZ3J1Yl9z dW5fYmxvY2sgKmxhYmVsKQoreworICBncnViX3VpbnQxNl90ICpwb3M7CisgIGdydWJfdWlu dDE2X3Qgc3VtID0gMDsKKyAgZm9yIChwb3MgPSAoZ3J1Yl91aW50MTZfdCAqKSBsYWJlbDsg cG9zIDwgKGdydWJfdWludDE2X3QgKikgKGxhYmVsICsgMSk7IHBvcysrKQorICAgIHN1bSBe PSAqcG9zOworICByZXR1cm4gIXN1bTsKK30KKworc3RhdGljIGdydWJfZXJyX3QKK3N1bl9w YXJ0aXRpb25fbWFwX2l0ZXJhdGUgKGdydWJfZGlza190IGRpc2ssCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgKCpob29rKSAoY29uc3QgZ3J1Yl9wYXJ0aXRpb25fdCBwYXJ0 aXRpb24pKQoreworICBzdHJ1Y3QgZ3J1Yl9wYXJ0aXRpb24gKnA7CisgIHN0cnVjdCBncnVi X2Rpc2sgcmF3OworICBzdHJ1Y3QgZ3J1Yl9zdW5fYmxvY2sgYmxvY2s7CisgIGludCBwYXJ0 bnVtOworICByYXcgPSAqZGlzazsKKyAgcmF3LnBhcnRpdGlvbiA9IDA7CisgIHAgPSAoc3Ry dWN0IGdydWJfcGFydGl0aW9uICopIGdydWJfbWFsbG9jIChzaXplb2YgKHN0cnVjdCBncnVi X3BhcnRpdGlvbikpOworICBpZiAocCkKKyAgICB7CisgICAgICBwLT5vZmZzZXQgPSAwOwor ICAgICAgcC0+ZGF0YSA9IDA7CisgICAgICBwLT5wYXJ0bWFwID0gJmdydWJfc3VuX3BhcnRp dGlvbl9tYXA7CisgICAgICBpZiAoZ3J1Yl9kaXNrX3JlYWQgKCZyYXcsIDAsIDAsIHNpemVv ZiAoc3RydWN0IGdydWJfc3VuX2Jsb2NrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg KGNoYXIgKikgJmJsb2NrKSA9PSBHUlVCX0VSUl9OT05FKQorICAgICAgICB7CisgICAgICAg ICAgaWYgKEdSVUJfUEFSVE1BUF9TVU5fTUFHSUMgIT0gZ3J1Yl9iZV90b19jcHUxNiAoYmxv Y2subWFnaWMpKQorICAgICAgICAgICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX1BBUlRf VEFCTEUsICJub3QgYSBzdW4gcGFydGl0b24gdGFibGUiKTsKKyAgICAgICAgICBpZiAoIWdy dWJfc3VuX2lzX3ZhbGlkICgmYmxvY2spKQorICAgICAgICAgICAgZ3J1Yl9lcnJvciAoR1JV Ql9FUlJfQkFEX1BBUlRfVEFCTEUsICJpbnZhbGlkIGNoZWNrc3VtIik7CisgICAgICAgICAg LyogTWF5YmUgYW5vdGhlciBlcnJvciB2YWx1ZSB3b3VsZCBiZSBiZXR0ZXIsIGJlY2F1c2UK KyAgICAgICAgICAgKiBwYXJ0aXRpb24gdGFibGUgX2lzXyByZWNvZ25pc2VkIGJ1dCBpbnZh bGlkLiAgKi8KKyAgICAgICAgICBmb3IgKHBhcnRudW0gPSAwOyBwYXJ0bnVtIDwgR1JVQl9Q QVJUTUFQX1NVTl9NQVhfUEFSVFM7IHBhcnRudW0rKykKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgaWYgKGJsb2NrLmluZm9zW3BhcnRudW1dLmlkID09IDAgfHwKKyAgICAgICAg ICAgICAgICAgIGJsb2NrLmluZm9zW3BhcnRudW1dLmlkID09IEdSVUJfUEFSVE1BUF9TVU5f V0hPTEVfRElTS19JRCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg ICAgcC0+c3RhcnQgPSBncnViX2JlX3RvX2NwdTMyCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYmxvY2sucGFydGl0aW9uc1twYXJ0bnVtXS5zdGFydF9jeWxpbmRlcikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICogZ3J1Yl9iZV90b19jcHUxNiAoYmxvY2subnRya3Mp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGdydWJfYmVfdG9fY3B1MTYgKGJsb2Nr Lm5zZWN0KTsKKyAgICAgICAgICAgICAgcC0+bGVuID0gZ3J1Yl9iZV90b19jcHUzMiAoYmxv Y2sucGFydGl0aW9uc1twYXJ0bnVtXS5udW1fc2VjdG9ycyk7CisgICAgICAgICAgICAgIHAt PmluZGV4ID0gcGFydG51bTsKKyAgICAgICAgICAgICAgaWYgKHAtPmxlbikKKyAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICBpZiAoaG9vayAocCkpCisgICAgICAgICAg ICAgICAgICAgIHBhcnRudW0gPSBHUlVCX1BBUlRNQVBfU1VOX01BWF9QQVJUUzsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIGdydWJfZnJl ZSAocCk7CisgICAgfQorICByZXR1cm4gZ3J1Yl9lcnJubzsKK30KKworc3RhdGljIGdydWJf cGFydGl0aW9uX3QKK3N1bl9wYXJ0aXRpb25fbWFwX3Byb2JlIChncnViX2Rpc2tfdCBkaXNr LCBjb25zdCBjaGFyICpzdHIpCit7CisgIGdydWJfcGFydGl0aW9uX3QgcCA9IDA7CisgIGlu dCBwYXJ0bnVtID0gMDsKKyAgY2hhciAqcyA9IChjaGFyICopIHN0cjsKKworICBhdXRvIGlu dCBmaW5kX2Z1bmMgKGNvbnN0IGdydWJfcGFydGl0aW9uX3QgcGFydGl0aW9uKTsKKyAgaW50 IGZpbmRfZnVuYyAoY29uc3QgZ3J1Yl9wYXJ0aXRpb25fdCBwYXJ0aXRpb24pCisgICAgewor ICAgICAgaWYgKHBhcnRudW0gPT0gcGFydGl0aW9uLT5pbmRleCkKKyAgICAgICAgeworICAg ICAgICAgIHAgPSAoZ3J1Yl9wYXJ0aXRpb25fdCkgZ3J1Yl9tYWxsb2MgKHNpemVvZiAoKnAp KTsKKyAgICAgICAgICBpZiAocCkKKyAgICAgICAgICAgIGdydWJfbWVtY3B5KHAsIHBhcnRp dGlvbiwgc2l6ZW9mICgqcCkpOworICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9Cisg ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgZ3J1Yl9lcnJubyA9IEdSVUJfRVJSX05PTkU7 CisgIHBhcnRudW0gPSBncnViX3N0cnRvdWwgKHMsIDAsIDEwKTsKKyAgaWYgKGdydWJfZXJy bm8gPT0gR1JVQl9FUlJfTk9ORSkKKyAgICB7CisgICAgICBpZiAoc3VuX3BhcnRpdGlvbl9t YXBfaXRlcmF0ZSAoZGlzaywgZmluZF9mdW5jKSkKKyAgICAgICAgeworICAgICAgICAgIGdy dWJfZnJlZSAocCk7CisgICAgICAgICAgcCA9IDA7CisgICAgICAgIH0KKyAgICB9CisgIGVs c2UKKyAgICB7CisgICAgICBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfRklMRU5BTUUsICJp bnZhbGlkIHBhcnRpdGlvbiIpOworICAgICAgcCA9IDA7CisgICAgfQorICByZXR1cm4gcDsK K30KKworc3RhdGljIGNoYXIgKgorc3VuX3BhcnRpdGlvbl9tYXBfZ2V0X25hbWUgKGNvbnN0 IGdydWJfcGFydGl0aW9uX3QgcCkKK3sKKyAgY2hhciAqbmFtZTsKKyAgbmFtZSA9IGdydWJf bWFsbG9jICgxMyk7CisgIGlmIChuYW1lKQorICAgIGdydWJfc3ByaW50ZiAobmFtZSwgIiVk IiwgcC0+aW5kZXgpOworICByZXR1cm4gbmFtZTsKK30KKworLyogUGFydGl0aW9uIG1hcCB0 eXBlLiAgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3J1Yl9wYXJ0aXRpb25fbWFwIGdydWJfc3VuX3Bh cnRpdGlvbl9tYXAgPQorICB7CisgICAgLm5hbWUgPSAic3VuX3BhcnRpdGlvbl9tYXAiLAor ICAgIC5pdGVyYXRlID0gc3VuX3BhcnRpdGlvbl9tYXBfaXRlcmF0ZSwKKyAgICAucHJvYmUg PSBzdW5fcGFydGl0aW9uX21hcF9wcm9iZSwKKyAgICAuZ2V0X25hbWUgPSBzdW5fcGFydGl0 aW9uX21hcF9nZXRfbmFtZQorICB9OworCisjaWZkZWYgR1JVQl9VVElMCit2b2lkCitncnVi X3N1bl9wYXJ0aXRpb25fbWFwX2luaXQgKHZvaWQpCit7CisgIGdydWJfcGFydGl0aW9uX21h cF9yZWdpc3RlciAoJmdydWJfc3VuX3BhcnRpdGlvbl9tYXApOworfQorCit2b2lkCitncnVi X3N1bl9wYXJ0aXRpb25fbWFwX2ZpbmkgKHZvaWQpCit7CisgIGdydWJfcGFydGl0aW9uX21h cF91bnJlZ2lzdGVyICgmZ3J1Yl9zdW5fcGFydGl0aW9uX21hcCk7Cit9CisjZWxzZQorR1JV Ql9NT0RfSU5JVAoreworICBncnViX3BhcnRpdGlvbl9tYXBfcmVnaXN0ZXIgKCZncnViX3N1 bl9wYXJ0aXRpb25fbWFwKTsKKyAgbXlfbW9kID0gbW9kOworfQorCitHUlVCX01PRF9GSU5J Cit7CisgIGdydWJfcGFydGl0aW9uX21hcF91bnJlZ2lzdGVyICgmZ3J1Yl9zdW5fcGFydGl0 aW9uX21hcCk7Cit9CisjZW5kaWYKSW5kZXg6IHV0aWwvZ3J1Yi1lbXUuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9ncnViL2dydWIyL3V0aWwvZ3J1Yi1lbXUuYyx2CnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xMwpkaWZmIC11IC1wIC1yMS4xMyBncnViLWVtdS5jCi0t LSB1dGlsL2dydWItZW11LmMJMzEgSmFuIDIwMDUgMjE6NDA6MjUgLTAwMDAJMS4xMworKysg dXRpbC9ncnViLWVtdS5jCTcgRmViIDIwMDUgMTg6NTQ6NTkgLTAwMDAKQEAgLTE2MCw2ICsx NjAsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAvKiBYWFg6IFRoaXMg aXMgYSBiaXQgdW5wb3J0YWJsZS4gICovCiAgIGdydWJfdXRpbF9iaW9zZGlza19pbml0IChh cmdzLmRldl9tYXApOwogICBncnViX3BjX3BhcnRpdGlvbl9tYXBfaW5pdCAoKTsKKyAgZ3J1 Yl9zdW5fcGFydGl0aW9uX21hcF9pbml0ICgpOwogICBncnViX2FtaWdhX3BhcnRpdGlvbl9t YXBfaW5pdCAoKTsKICAgZ3J1Yl9hcHBsZV9wYXJ0aXRpb25fbWFwX2luaXQgKCk7CiAKQEAg LTIwMCw2ICsyMDEsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICBncnVi X2NhdF9maW5pICgpOwogICBncnViX3Rlcm1pbmFsX2ZpbmkgKCk7CiAgIGdydWJfYW1pZ2Ff cGFydGl0aW9uX21hcF9maW5pICgpOworICBncnViX3N1bl9wYXJ0aXRpb25fbWFwX2Zpbmkg KCk7CiAgIGdydWJfcGNfcGFydGl0aW9uX21hcF9maW5pICgpOwogICBncnViX2FwcGxlX3Bh cnRpdGlvbl9tYXBfZmluaSAoKTsKICAgCg== --------------080401080306000501010505--