kern/179473: Source code contribution of implementation about virtual ethernet interface

Henning Matyschok henning.matyschok at stud.fh-flensburg.de
Mon Aug 19 04:10:02 UTC 2013


The following reply was made to PR kern/179473; it has been noted by GNATS.

From: "Henning Matyschok" <henning.matyschok at stud.fh-flensburg.de>
To: bug-followup at freebsd.org, henning.matyschok at stud.fh-flensburg.de
Cc:  
Subject: Re: kern/179473: Source code contribution of implementation about
 virtual ethernet interface
Date: Mon, 19 Aug 2013 05:32:16 -0000

 ------------5OCVZbrxpul0dnsDsZO7pQ
 Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes
 Content-Transfer-Encoding: 7bit
 
 
 
 -- 
 Using Opera's mail client: http://www.opera.com/mail/
 ------------5OCVZbrxpul0dnsDsZO7pQ
 Content-Disposition: attachment; filename=if_vether.c
 Content-Type: application/octet-stream; name=if_vether.c
 Content-Transfer-Encoding: Base64
 
 LyotCiAqIENvcHlyaWdodCAoYykgMjAxMyBIZW5uaW5nIE1hdHlzY2hvawogKiBB
 bGwgcmlnaHRzIHJlc2VydmVkLgogKgogKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
 IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICog
 bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
 bGxvd2luZyBjb25kaXRpb25zCiAqIGFyZSBtZXQ6CiAqIDEuIFJlZGlzdHJpYnV0
 aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
 Z2h0CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
 ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICogMi4gUmVkaXN0cmlidXRpb25zIGlu
 IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
 ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
 bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQogKiAgICBkb2N1bWVudGF0aW9uIGFu
 ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
 aW9uLgogKgogKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRI
 T1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECiAqIEFOWSBFWFBSRVNT
 IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
 RUQgVE8sIFRIRQogKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
 SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQogKiBBUkUg
 RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09O
 VFJJQlVUT1JTIEJFIExJQUJMRQogKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
 IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
 TAogKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
 Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwogKiBPUiBTRVJWSUNFUzsgTE9T
 UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
 VElPTikKICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
 QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKICogTElBQklMSVRZ
 LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
 SVNJTkcgSU4gQU5ZIFdBWQogKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
 QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAqIFNV
 Q0ggREFNQUdFLgogKgogKi8KLyoKICogQ29weXJpZ2h0IChjKSAyMDA5IFRoZW8g
 ZGUgUmFhZHQKICoKICogUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwg
 YW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CiAqIHB1cnBvc2Ug
 d2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQg
 dGhhdCB0aGUgYWJvdmUKICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
 aXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KICoKICogVEhFIFNP
 RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xB
 SU1TIEFMTCBXQVJSQU5USUVTCiAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdB
 UkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKICogTUVSQ0hB
 TlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVU
 SE9SIEJFIExJQUJMRSBGT1IKICogQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJF
 Q1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUwogKiBX
 SEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBS
 T0ZJVFMsIFdIRVRIRVIgSU4gQU4KICogQUNUSU9OIE9GIENPTlRSQUNULCBORUdM
 SUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YK
 ICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0Ug
 T0YgVEhJUyBTT0ZUV0FSRS4KICovCiNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KI2lu
 Y2x1ZGUgPHN5cy9rZXJuZWwuaD4KI2luY2x1ZGUgPHN5cy9tb2R1bGUuaD4KI2lu
 Y2x1ZGUgPHN5cy9saWJrZXJuLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+IAoj
 aW5jbHVkZSA8c3lzL3NvY2tpby5oPgogCiNpbmNsdWRlIDxuZXQvaWYuaD4KI2lu
 Y2x1ZGUgPG5ldC9pZl9jbG9uZS5oPgojaW5jbHVkZSA8bmV0L2lmX21lZGlhLmg+
 CiNpbmNsdWRlIDxuZXQvaWZfdHlwZXMuaD4KCiNpbmNsdWRlIDxuZXQvZXRoZXJu
 ZXQuaD4KI2luY2x1ZGUgPG5ldC9pZl9icmlkZ2V2YXIuaD4KCiNkZWZpbmUgVkVU
 SEVSTkFNRQkidmV0aGVyIgogCnN0cnVjdCB2ZXRoZXJfc29mdGMgewoJc3RydWN0
 IGlmbmV0CSpzY19pZnA7CS8qIE5ldHdvcmsgaW50ZXJmYWNlLiAqLwoJTElTVF9F
 TlRSWSh2ZXRoZXJfc29mdGMpIHZldGhlcl9saXN0OwoJc3RydWN0IG10eAlzY19t
 dHg7CQojZGVmaW5lCVZFVEhFUl9MT0NLX0lOSVQoc2MpCW10eF9pbml0KCYoc2Mp
 LT5zY19tdHgsICJ2ZXRoZXIgc29mdGMiLAlcCgkJCQkgICAgIE5VTEwsIE1UWF9E
 RUYpCiNkZWZpbmUJVkVUSEVSX0xPQ0tfREVTVFJPWShzYykJbXR4X2Rlc3Ryb3ko
 JihzYyktPnNjX210eCkKI2RlZmluZQlWRVRIRVJfTE9DSyhzYykJCW10eF9sb2Nr
 KCYoc2MpLT5zY19tdHgpCiNkZWZpbmUJVkVUSEVSX1VOTE9DSyhzYykJCW10eF91
 bmxvY2soJihzYyktPnNjX210eCkKI2RlZmluZQlWRVRIRVJfTE9DS19BU1NFUlQo
 c2MpCW10eF9hc3NlcnQoJihzYyktPnNjX210eCwgTUFfT1dORUQpCQoJLyogRmFr
 ZSBpbmZvcm1hdGlvbiBhYm91dCB0cmFuc21pc3Npb24gbWVkaWEuICovCglzdHJ1
 Y3QgaWZtZWRpYQlzY19pZm07CQoJaW50CXNjX3N0YXR1czsKfTsKCnN0YXRpYyBM
 SVNUX0hFQUQoLCB2ZXRoZXJfc29mdGMpIHZldGhlcl9saXN0OwogCnN0YXRpYyBz
 dHJ1Y3QgbXR4IHZldGhlcl9tdHg7CnN0YXRpYyBNQUxMT0NfREVGSU5FKE1fVkVU
 SEVSLCBWRVRIRVJOQU1FLCAiVmlydHVhbCBFdGhlcm5ldCBpbnRlcmZhY2UiKTsK
 IApzdGF0aWMgaW50CXZldGhlcl9jbG9uZV9jcmVhdGUoc3RydWN0IGlmX2Nsb25l
 ICosIGludCwgY2FkZHJfdCk7CnN0YXRpYyB2b2lkCXZldGhlcl9jbG9uZV9kZXN0
 cm95KHN0cnVjdCBpZm5ldCAqKTsKIApJRkNfU0lNUExFX0RFQ0xBUkUodmV0aGVy
 LCAwKTsKCnN0YXRpYyB2b2lkCXZldGhlcl9pbml0KHZvaWQgKik7CnN0YXRpYyB2
 b2lkCXZldGhlcl9zdG9wKHN0cnVjdCBpZm5ldCAqLCBpbnQpOwpzdGF0aWMgdm9p
 ZAl2ZXRoZXJfc3RhcnRfbG9ja2VkKHN0cnVjdCBpZm5ldCAqKTsKc3RhdGljIHZv
 aWQJdmV0aGVyX3N0YXJ0KHN0cnVjdCBpZm5ldCAqKTsKCnN0YXRpYyBpbnQJdmV0
 aGVyX21lZGlhX2NoYW5nZShzdHJ1Y3QgaWZuZXQgKik7CnN0YXRpYyB2b2lkCXZl
 dGhlcl9tZWRpYV9zdGF0dXMoc3RydWN0IGlmbmV0ICosIHN0cnVjdCBpZm1lZGlh
 cmVxICopOwpzdGF0aWMgaW50CXZldGhlcl9pb2N0bChzdHJ1Y3QgaWZuZXQgKiwg
 dV9sb25nLCBjYWRkcl90KTsKCi8qCiAqIEluc3RhbnRpYXRlcyB2ZXRoZXIgaW50
 ZXJmYWNlLgogKi8Kc3RhdGljIGludAp2ZXRoZXJfY2xvbmVfY3JlYXRlKHN0cnVj
 dCBpZl9jbG9uZSAqaWZjLCBpbnQgdW5pdCwgY2FkZHJfdCBkYXRhKQp7CglzdHJ1
 Y3QgdmV0aGVyX3NvZnRjICpzYzsKCXN0cnVjdCBpZm5ldCAqaWZwOwoJdWludDMy
 X3QgcmFuZHZhbDsKCXVpbnQ4X3QJbGxhW0VUSEVSX0FERFJfTEVOXTsKIAoJc2Mg
 PSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCB2ZXRoZXJfc29mdGMpLCBNX1ZFVEhFUiwg
 TV9XQUlUT0t8TV9aRVJPKTsKCWlmcCA9IHNjLT5zY19pZnAgPSBpZl9hbGxvYyhJ
 RlRfRVRIRVIpOwoJaWYgKGlmcCA9PSBOVUxMKSB7CgkJZnJlZShzYywgTV9WRVRI
 RVIpOwoJCXJldHVybihFTk9TUEMpOwoJfQogCglWRVRIRVJfTE9DS19JTklUKHNj
 KTsKCWlmcC0+aWZfc29mdGMgPSBzYzsKIAoJaWZfaW5pdG5hbWUoaWZwLCBpZmMt
 PmlmY19uYW1lLCB1bml0KTsKIAoJLyogR2VuZXJhdGVzIGxsYSB3aXRoIHJhbmRv
 bWl6ZWQgdmFsdWUuICovCglsbGFbMF0gPSAweDA7CglyYW5kdmFsID0gYXJjNHJh
 bmRvbSgpOwoJbWVtY3B5KCZsbGFbMV0sICZyYW5kdmFsLCBzaXplb2YodWludDMy
 X3QpKTsKCWxsYVs1XSA9ICh1aW50OF90KXVuaXQ7IC8qIEludGVyZmFjZSBtYWpv
 ciBudW1iZXIgKi8KIAoJZXRoZXJfaWZhdHRhY2goaWZwLCBsbGEpOwogCglpZnAt
 PmlmX2luaXQgPSB2ZXRoZXJfaW5pdDsKCWlmcC0+aWZfaW9jdGwgPSB2ZXRoZXJf
 aW9jdGw7CglpZnAtPmlmX3N0YXJ0ID0gdmV0aGVyX3N0YXJ0OwogCglpZnAtPmlm
 X2NhcGFiaWxpdGllcyA9IElGQ0FQX1ZMQU5fTVRVIHwgSUZDQVBfSlVNQk9fTVRV
 OwoJaWZwLT5pZl9jYXBlbmFibGUgPSBJRkNBUF9WTEFOX01UVSB8IElGQ0FQX0pV
 TUJPX01UVTsKCWlmcC0+aWZfZmxhZ3MgPSAoSUZGX1NJTVBMRVggfCBJRkZfQlJP
 QURDQVNUIHwgSUZGX01VTFRJQ0FTVCk7CglpZnAtPmlmX3NuZC5pZnFfbWF4bGVu
 ID0gaWZxbWF4bGVuOwogCglpZm1lZGlhX2luaXQoJnNjLT5zY19pZm0sIDAsIHZl
 dGhlcl9tZWRpYV9jaGFuZ2UsIHZldGhlcl9tZWRpYV9zdGF0dXMpOwoJaWZtZWRp
 YV9hZGQoJnNjLT5zY19pZm0sIElGTV9FVEhFUiB8IElGTV9BVVRPLCAwLCBOVUxM
 KTsKCWlmbWVkaWFfc2V0KCZzYy0+c2NfaWZtLCBJRk1fRVRIRVIgfCBJRk1fQVVU
 Tyk7CiAKCXNjLT5zY19zdGF0dXMgPSBJRk1fQVZBTElEOwoJaWZwLT5pZl9iYXVk
 cmF0ZSA9IDA7CiAKCW10eF9sb2NrKCZ2ZXRoZXJfbXR4KTsKCUxJU1RfSU5TRVJU
 X0hFQUQoJnZldGhlcl9saXN0LCBzYywgdmV0aGVyX2xpc3QpOwoJbXR4X3VubG9j
 aygmdmV0aGVyX210eCk7CglpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJWX1JV
 Tk5JTkc7CiAKCXJldHVybigwKTsKfQogCi8qCiAqIERlc3Ryb3lzIHZldGhlciBp
 bnRlcmZhY2UuCiAqLwpzdGF0aWMgdm9pZAp2ZXRoZXJfY2xvbmVfZGVzdHJveShz
 dHJ1Y3QgaWZuZXQgKmlmcCkKewoJc3RydWN0IHZldGhlcl9zb2Z0YyAqc2M7CQoJ
 c2MgPSBpZnAtPmlmX3NvZnRjOwkKIAoJbXR4X2xvY2soJnZldGhlcl9tdHgpOwoJ
 dmV0aGVyX3N0b3AoaWZwLCAxKTsKCWlmcC0+aWZfZmxhZ3MgJj0gfklGRl9VUDsJ
 CQkKCUxJU1RfUkVNT1ZFKHNjLCB2ZXRoZXJfbGlzdCk7CglldGhlcl9pZmRldGFj
 aChpZnApOwoJVkVUSEVSX0xPQ0tfREVTVFJPWShzYyk7CiAKCW10eF91bmxvY2so
 JnZldGhlcl9tdHgpOwoJZnJlZShzYywgTV9WRVRIRVIpOwp9CiAKLyoKICogSW5p
 dGlhbGl6ZXMgdmV0aGVyIGludGVyZmFjZS4KICovCnN0YXRpYyB2b2lkCnZldGhl
 cl9pbml0KHZvaWQgKnhzYykKewoJc3RydWN0IHZldGhlcl9zb2Z0YyAqc2M7Cglz
 dHJ1Y3QgaWZuZXQgKmlmcDsKIAogCXNjID0gKHN0cnVjdCB2ZXRoZXJfc29mdGMg
 Kil4c2M7CglWRVRIRVJfTE9DSyhzYyk7CglpZnAgPSBzYy0+c2NfaWZwOwoJaWZw
 LT5pZl9kcnZfZmxhZ3MgfD0gSUZGX0RSVl9SVU5OSU5HOwoJaWZwLT5pZl9kcnZf
 ZmxhZ3MgJj0gfklGRl9EUlZfT0FDVElWRTsKCVZFVEhFUl9VTkxPQ0soc2MpOwp9
 CiAKLyoKICogU3RvcHMgdmV0aGVyIGludGVyZmFjZS4KICovCnN0YXRpYyB2b2lk
 CnZldGhlcl9zdG9wKHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgZGlzYWJsZSkKewoJ
 c3RydWN0IHZldGhlcl9zb2Z0YyAqc2M7CgkKCXNjID0gaWZwLT5pZl9zb2Z0YzsK
 CVZFVEhFUl9MT0NLX0FTU0VSVChzYyk7CglpZnAtPmlmX2Rydl9mbGFncyAmPSB+
 SUZGX0RSVl9SVU5OSU5HOwp9CQogCi8qCiAqIFN0YXJ0cyB0cmFuc21pc3Npb24u
 CiAqLwpzdGF0aWMgdm9pZAp2ZXRoZXJfc3RhcnQoc3RydWN0IGlmbmV0ICppZnAp
 CnsKCXN0cnVjdCB2ZXRoZXJfc29mdGMJKnNjOwoKCXNjID0gaWZwLT5pZl9zb2Z0
 YzsKCVZFVEhFUl9MT0NLKHNjKTsKCXZldGhlcl9zdGFydF9sb2NrZWQoaWZwKTsK
 CVZFVEhFUl9VTkxPQ0soc2MpOwp9CgpzdGF0aWMgdm9pZAp2ZXRoZXJfc3RhcnRf
 bG9ja2VkKHN0cnVjdCBpZm5ldCAqaWZwKQp7CglzdHJ1Y3QgdmV0aGVyX3NvZnRj
 CSpzYzsKCXN0cnVjdCBtYnVmICptOwoKCXNjID0gaWZwLT5pZl9zb2Z0YzsKCVZF
 VEhFUl9MT0NLX0FTU0VSVChzYyk7CgoJaWZwLT5pZl9kcnZfZmxhZ3MgfD0gSUZG
 X0RSVl9PQUNUSVZFOwoJCglmb3IgKDs7KSB7CgkJSUZRX0RFUVVFVUUoJmlmcC0+
 aWZfc25kLCBtKTsKCQlpZiAobSA9PSBOVUxMKSAKCQkJYnJlYWs7CgkJCiAJCWlm
 IChpZnAtPmlmX2JyaWRnZSA9PSBOVUxMKSB7CgkJCW1fZnJlZW0obSk7CgkJCWNv
 bnRpbnVlOwoJCX0KCQoJCWlmIChtLT5tX2ZsYWdzICYgTV9QUk9UTzEpIHsKCQkJ
 bV9mcmVlbShtKTsKCQkJY29udGludWU7CQkgCQkKCQl9CgkJCgkJaWYgKG0tPm1f
 cGt0aGRyLnJjdmlmID09IE5VTEwpIHsKCQkJbS0+bV9mbGFncyB8PSBNX1BST1RP
 MTsKCQkJbS0+bV9mbGFncyAmPSB+TV9QUk9NSVNDOwoJCQltLT5tX3BrdGhkci5y
 Y3ZpZiA9IGlmcC0+aWZfYnJpZGdlOwoJCgkJCSh2b2lkKShicmlkZ2Vfb3V0cHV0
 X3ApKGlmcCwgbSwgTlVMTCwgTlVMTCk7CQkKIAkJfSBlbHNlIAogCQkJbV9mcmVl
 bShtKTsKCX0KCQkJCQkKCWlmcC0+aWZfZHJ2X2ZsYWdzICY9IH5JRkZfRFJWX09B
 Q1RJVkU7Cn0KCi8qCiAqIE1lZGlhIHR5cGVzIGNhbid0IGNoYW5nZWQuCiAqLwpz
 dGF0aWMgaW50CnZldGhlcl9pb2N0bChzdHJ1Y3QgaWZuZXQgKmlmcCwgdV9sb25n
 IGNtZCwgY2FkZHJfdCBkYXRhKQp7CglzdHJ1Y3QgdmV0aGVyX3NvZnRjICpzYyA9
 IGlmcC0+aWZfc29mdGM7CQoJc3RydWN0IGlmcmVxICppZnIgPSAoc3RydWN0IGlm
 cmVxICopZGF0YTsKCWludCBlcnJvciA9IDA7CiAKCVZFVEhFUl9MT0NLKHNjKTsK
 CXN3aXRjaCAoY21kKSB7CgljYXNlIFNJT0NTSUZNVFU6CgkJaWYgKGlmci0+aWZy
 X210dSA+IEVUSEVSX01BWF9MRU5fSlVNQk8pIAoJCQllcnJvciA9IEVJTlZBTDsK
 CQllbHNlIAoJCQlpZnAtPmlmX210dSA9IGlmci0+aWZyX210dTsJCgkJYnJlYWs7
 CgljYXNlIFNJT0NTSUZNRURJQToKCWNhc2UgU0lPQ0dJRk1FRElBOgoJCWVycm9y
 ID0gaWZtZWRpYV9pb2N0bChpZnAsIGlmciwgJnNjLT5zY19pZm0sIGNtZCk7CgkJ
 YnJlYWs7CgljYXNlIFNJT0NTSUZGTEFHUzoKCWNhc2UgU0lPQ0FERE1VTFRJOgoJ
 Y2FzZSBTSU9DREVMTVVMVEk6CgkJYnJlYWs7CgljYXNlIFNJT0NTSUZQSFlTOgoJ
 CWVycm9yID0gRU9QTk9UU1VQUDsKCQlicmVhazsKCWRlZmF1bHQ6CgkJZXJyb3Ig
 PSBldGhlcl9pb2N0bChpZnAsIGNtZCwgZGF0YSk7CgkJYnJlYWs7Cgl9CglWRVRI
 RVJfVU5MT0NLKHNjKTsKCXJldHVybihlcnJvcik7Cn0gCgpzdGF0aWMgaW50CnZl
 dGhlcl9tZWRpYV9jaGFuZ2Uoc3RydWN0IGlmbmV0ICppZnApCnsKCXJldHVybigw
 KTsKfQogCnN0YXRpYyB2b2lkCnZldGhlcl9tZWRpYV9zdGF0dXMoc3RydWN0IGlm
 bmV0ICppZnAsIHN0cnVjdCBpZm1lZGlhcmVxICppZm1yKQp7CglpZm1yLT5pZm1f
 YWN0aXZlID0gSUZNX0VUSEVSIHwgSUZNX0FVVE87CglpZm1yLT5pZm1fc3RhdHVz
 ID0gSUZNX0FWQUxJRCB8IElGTV9BQ1RJVkU7Cn0KCnN0YXRpYyBpbnQKdmV0aGVy
 X21vZF9ldmVudChtb2R1bGVfdCBtb2QsIGludCBldmVudCwgdm9pZCAqZGF0YSkK
 ewoJaW50IGVycm9yID0gMDsKIAoJc3dpdGNoIChldmVudCkgewoJY2FzZSBNT0Rf
 TE9BRDoKCQltdHhfaW5pdCgmdmV0aGVyX210eCwgImlmX3ZldGhlciIsIE5VTEws
 IE1UWF9ERUYpOwoJCWlmX2Nsb25lX2F0dGFjaCgmdmV0aGVyX2Nsb25lcik7CQoJ
 CWJyZWFrOwoJY2FzZSBNT0RfVU5MT0FEOgkKCQlpZl9jbG9uZV9kZXRhY2goJnZl
 dGhlcl9jbG9uZXIpOwoJCW10eF9kZXN0cm95KCZ2ZXRoZXJfbXR4KTsKCQlicmVh
 azsKCWRlZmF1bHQ6CgkJZXJyb3IgPSBFT1BOT1RTVVBQOwoJfQogCglyZXR1cm4o
 ZXJyb3IpOwp9IAogCnN0YXRpYyBtb2R1bGVkYXRhX3QgdmV0aGVyX21vZCA9IHsK
 CSJpZl92ZXRoZXIiLAoJdmV0aGVyX21vZF9ldmVudCwKCTAKfTsKREVDTEFSRV9N
 T0RVTEUoaWZfdmV0aGVyLCB2ZXRoZXJfbW9kLCBTSV9TVUJfUFNFVURPLCBTSV9P
 UkRFUl9BTlkpOwo=
 
 ------------5OCVZbrxpul0dnsDsZO7pQ--
 


More information about the freebsd-bugs mailing list