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