Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Jan 2010 14:10:35 -0800
From:      Xin LI <delphij@delphij.net>
To:        freebsd-net@freebsd.org
Cc:        delphij@freebsd.org, Robert Watson <rwatson@FreeBSD.ORG>, jhb@freebsd.org
Subject:   [PATCH] Interface description
Message-ID:  <4B5E16DB.2080203@delphij.net>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------090205010302020105020607
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I have revised the patchset based on feedback received.  This version:

 - Unbreak the case when libpcap is being built for pre-ifdescr world.
 - Documents the descr and -descr primitives for ifconfig(8), they are
intended for OpenBSD compatibility.
 - Simplify and concentrate memory allocation in ifconfig(8)
 - Document the use of nul terminated buffer and the meaning of length
parameter
 - Use char* instead of sbuf and simplify the logic in kernel part.

Hopefully this version would address all problems raised by reviewers.
Comments?

Cheers,
- -- 
Xin LI <delphij@delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!	       Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iQEcBAEBAgAGBQJLXhbbAAoJEATO+BI/yjfBWg8IAJTruuq7gMcB3SS/CP7hhRPN
2lN7N3NxTz9V1s4mkzZ4/EFtM+mpwn30PYlZ7Q4t9QdPgnUbH54hQt+FJU1EHSnd
U+CyilDA7kR7AlnAv9Rk7RxjF/zq19JiVIbZn3DZFQI20EpfFap/PzbdGWNZiGtz
Lp7Q7v7/FgIk5dwNtjbXnyd9sOAc67oBi33rd6KOORKZLtzDz3xZYuTaasT1ZGfp
LtCWRHKeMcFR0lHr3meEYxzkj8C48UIoTvp486vgak2hcE1ez7fgCJb+lvEbIxxs
x5h5g+330z5XG0vHJLFyNQEs8oMTh5KihqcOD0/nBONYryXJnOmvskm3c64zJko=
=mElq
-----END PGP SIGNATURE-----

--------------090205010302020105020607
Content-Type: text/plain;
 name="ifdescr.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="ifdescr.diff"

SW5kZXg6IGNvbnRyaWIvbGlicGNhcC9pbmV0LmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY29udHJp
Yi9saWJwY2FwL2luZXQuYwkocmV2aXNpb24gMjAyOTc5KQorKysgY29udHJpYi9saWJwY2Fw
L2luZXQuYwkod29ya2luZyBjb3B5KQpAQCAtNDAxLDExICs0MDEsMTYgQEAgYWRkX2FkZHJf
dG9faWZsaXN0KHBjYXBfaWZfdCAqKmFsbGRldnMsIGNvbnN0IGNoYXIKIAlwY2FwX2lmX3Qg
KmN1cmRldjsKIAljaGFyICpkZXNjcmlwdGlvbiA9IE5VTEw7CiAJcGNhcF9hZGRyX3QgKmN1
cmFkZHIsICpwcmV2YWRkciwgKm5leHRhZGRyOworCWludCBzOwogI2lmZGVmIFNJT0NHSUZE
RVNDUgogCXN0cnVjdCBpZnJlcSBpZnJkZXNjOworI2lmbmRlZiBJRkRFU0NSU0laRQorI2Rl
ZmluZSBfSUZERVNDUlNJWkUgNjQKKwljaGFyIGlmZGVzY3JbX0lGREVTQ1JTSVpFXTsKKyNl
bHNlCiAJY2hhciBpZmRlc2NyW0lGREVTQ1JTSVpFXTsKLQlpbnQgczsKICNlbmRpZgorI2Vu
ZGlmCiAKICNpZmRlZiBTSU9DR0lGREVTQ1IKIAkvKgpAQCAtNDEzLDEyICs0MTgsMTcgQEAg
YWRkX2FkZHJfdG9faWZsaXN0KHBjYXBfaWZfdCAqKmFsbGRldnMsIGNvbnN0IGNoYXIKIAkg
Ki8KIAltZW1zZXQoJmlmcmRlc2MsIDAsIHNpemVvZiBpZnJkZXNjKTsKIAlzdHJsY3B5KGlm
cmRlc2MuaWZyX25hbWUsIG5hbWUsIHNpemVvZiBpZnJkZXNjLmlmcl9uYW1lKTsKKyNpZmRl
ZiBfX0ZyZWVCU0RfXworCWlmcmRlc2MuaWZyX2J1ZmZlci5idWZmZXIgPSBpZmRlc2NyOwor
CWlmcmRlc2MuaWZyX2J1ZmZlci5sZW5ndGggPSBzaXplb2YoaWZkZXNjcik7CisjZWxzZQog
CWlmcmRlc2MuaWZyX2RhdGEgPSAoY2FkZHJfdCkmaWZkZXNjcjsKKyNlbmRpZgogCXMgPSBz
b2NrZXQoQUZfSU5FVCwgU09DS19ER1JBTSwgMCk7CiAJaWYgKHMgPj0gMCkgewogCQlpZiAo
aW9jdGwocywgU0lPQ0dJRkRFU0NSLCAmaWZyZGVzYykgPT0gMCAmJgotCQkgICAgc3RybGVu
KGlmcmRlc2MuaWZyX2RhdGEpICE9IDApCi0JCQlkZXNjcmlwdGlvbiA9IGlmcmRlc2MuaWZy
X2RhdGE7CisJCSAgICBzdHJsZW4oaWZkZXNjcikgIT0gMCkKKwkJCWRlc2NyaXB0aW9uID0g
aWZkZXNjcjsKIAkJY2xvc2Uocyk7CiAJfQogI2VuZGlmCkluZGV4OiBzYmluL2lmY29uZmln
L2lmY29uZmlnLjgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc2Jpbi9pZmNvbmZpZy9pZmNvbmZpZy44
CShyZXZpc2lvbiAyMDI5NzkpCisrKyBzYmluL2lmY29uZmlnL2lmY29uZmlnLjgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIC5cIiAgICAgRnJvbTogQCgjKWlmY29uZmln
LjgJOC4zIChCZXJrZWxleSkgMS81Lzk0CiAuXCIgJEZyZWVCU0QkCiAuXCIKLS5EZCBTZXB0
ZW1iZXIgMjMsIDIwMDkKKy5EZCBKYW51YXJ5IDI1LCAyMDEwCiAuRHQgSUZDT05GSUcgOAog
Lk9zCiAuU2ggTkFNRQpAQCAtMjU4LDYgKzI1OCwxMiBAQCBEaXNhYmxlIHBlcm1hbmVudGx5
IHByb21pc2N1b3VzIG1vZGUuCiBBbm90aGVyIG5hbWUgZm9yIHRoZQogLkZsIGFsaWFzCiBw
YXJhbWV0ZXIuCisuSXQgQ20gZGVzY3JpcHRpb24gQXIgdmFsdWUgLCBDbSBkZXNjciBBciB2
YWx1ZQorU3BlY2lmeSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBpbnRlcmZhY2UuCitUaGlzIGNh
biBiZSB1c2VkIHRvIGxhYmVsIGludGVyZmFjZXMgaW4gc2l0dWF0aW9ucyB3aGVyZSB0aGV5
IG1heQorb3RoZXJ3aXNlIGJlIGRpZmZpY3VsdCB0byBkaXN0aW5ndWlzaC4KKy5JdCBDbSAt
ZGVzY3JpcHRpb24gLCBDbSAtZGVzY3IKK0NsZWFyIHRoZSBpbnRlcmZhY2UgZGVzY3JpcHRp
b24uCiAuSXQgQ20gZG93bgogTWFyayBhbiBpbnRlcmZhY2UKIC5EcSBkb3duIC4KQEAgLTI1
MTIsNiArMjUxOCwxMCBAQCBDb25maWd1cmUgdGhlIGludGVyZmFjZQogdG8gdXNlIDEwMGJh
c2VUWCwgZnVsbCBkdXBsZXggRXRoZXJuZXQgbWVkaWEgb3B0aW9uczoKIC5EbCAjIGlmY29u
ZmlnIHhsMCBtZWRpYSAxMDBiYXNlVFggbWVkaWFvcHQgZnVsbC1kdXBsZXgKIC5QcAorTGFi
ZWwgdGhlIGVtMCBpbnRlcmZhY2UgYXMgYW4gdXBsaW5rOgorLlBwCisuRGwgIyBpZmNvbmZp
ZyBlbTAgZGVzY3JpcHRpb24gXCYiVXBsaW5rIHRvIEdpZ2FiaXQgU3dpdGNoIDJcJiIKKy5Q
cAogQ3JlYXRlIHRoZSBzb2Z0d2FyZSBuZXR3b3JrIGludGVyZmFjZQogLkxpIGdpZjEgOgog
LkRsICMgaWZjb25maWcgZ2lmMSBjcmVhdGUKSW5kZXg6IHNiaW4vaWZjb25maWcvaWZjb25m
aWcuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBzYmluL2lmY29uZmlnL2lmY29uZmlnLmMJKHJldmlz
aW9uIDIwMjk3OSkKKysrIHNiaW4vaWZjb25maWcvaWZjb25maWcuYwkod29ya2luZyBjb3B5
KQpAQCAtNDQsNyArNDQsNiBAQCBzdGF0aWMgY29uc3QgY2hhciByY3NpZFtdID0KICNpbmNs
dWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KICNpbmNsdWRlIDxz
eXMvc29ja2V0Lmg+Ci0jaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgogI2luY2x1ZGUgPHN5cy90
aW1lLmg+CiAjaW5jbHVkZSA8c3lzL21vZHVsZS5oPgogI2luY2x1ZGUgPHN5cy9saW5rZXIu
aD4KQEAgLTgzLDYgKzgyLDggQEAgc3RhdGljIGNvbnN0IGNoYXIgcmNzaWRbXSA9CiBzdHJ1
Y3QJaWZyZXEgaWZyOwogCiBjaGFyCW5hbWVbSUZOQU1TSVpdOworY2hhcgkqZGVzY3IgPSBO
VUxMOworc2l6ZV90CWRlc2NybGVuID0gNjQ7CiBpbnQJc2V0YWRkcjsKIGludAlzZXRtYXNr
OwogaW50CWRvYWxpYXM7CkBAIC04MzgsNiArODM5LDM1IEBAIHNldGlmbmFtZShjb25zdCBj
aGFyICp2YWwsIGludCBkdW1teSBfX3VudXNlZCwgaW50CiAJZnJlZShuZXduYW1lKTsKIH0K
IAorLyogQVJHU1VTRUQgKi8KK3N0YXRpYyB2b2lkCitzZXRpZmRlc2NyKGNvbnN0IGNoYXIg
KnZhbCwgaW50IGR1bW15IF9fdW51c2VkLCBpbnQgcywgCisgICAgY29uc3Qgc3RydWN0IGFm
c3d0Y2ggKmFmcCkKK3sKKwljaGFyICpuZXdkZXNjcjsKKworCW5ld2Rlc2NyID0gc3RyZHVw
KHZhbCk7CisJaWYgKG5ld2Rlc2NyID09IE5VTEwpIHsKKwkJd2Fybigibm8gbWVtb3J5IHRv
IHNldCBpZmRlc2NyIik7CisJCXJldHVybjsKKwl9CisKKwlpZnIuaWZyX2J1ZmZlci5idWZm
ZXIgPSBuZXdkZXNjcjsKKwlpZnIuaWZyX2J1ZmZlci5sZW5ndGggPSBzdHJsZW4obmV3ZGVz
Y3IpICsgMTsKKwlpZiAoaW9jdGwocywgU0lPQ1NJRkRFU0NSLCAoY2FkZHJfdCkmaWZyKSA8
IDApCisJCXdhcm4oImlvY3RsIChzZXQgZGVzY3IpIik7CisKKwlmcmVlKG5ld2Rlc2NyKTsK
K30KKworLyogQVJHU1VTRUQgKi8KK3N0YXRpYyB2b2lkCit1bnNldGlmZGVzY3IoY29uc3Qg
Y2hhciAqdmFsLCBpbnQgdmFsdWUsIGludCBzLCBjb25zdCBzdHJ1Y3QgYWZzd3RjaCAqYWZw
KQoreworCisJc2V0aWZkZXNjcigiIiwgMCwgcywgMCk7Cit9CisKICNkZWZpbmUJSUZGQklU
UyBcCiAiXDAyMFwxVVBcMkJST0FEQ0FTVFwzREVCVUdcNExPT1BCQUNLXDVQT0lOVE9QT0lO
VFw2U01BUlRcN1JVTk5JTkciIFwKICJcMTBOT0FSUFwxMVBST01JU0NcMTJBTExNVUxUSVwx
M09BQ1RJVkVcMTRTSU1QTEVYXDE1TElOSzBcMTZMSU5LMVwxN0xJTksyIiBcCkBAIC04ODIs
NiArOTEyLDIyIEBAIHN0YXR1cyhjb25zdCBzdHJ1Y3QgYWZzd3RjaCAqYWZwLCBjb25zdCBz
dHJ1Y3Qgc29jCiAJCXByaW50ZigiIG10dSAlZCIsIGlmci5pZnJfbXR1KTsKIAlwdXRjaGFy
KCdcbicpOwogCisJZG8geworCQlpZiAoKGRlc2NyID0gcmVhbGxvY2YoZGVzY3IsIGRlc2Ny
bGVuKSkgIT0gTlVMTCkgeworCQkJaWZyLmlmcl9idWZmZXIuYnVmZmVyID0gZGVzY3I7CisJ
CQlpZnIuaWZyX2J1ZmZlci5sZW5ndGggPSBkZXNjcmxlbjsKKwkJCWlmIChpb2N0bChzLCBT
SU9DR0lGREVTQ1IsICZpZnIpID09IDApIHsKKwkJCSAgICBpZiAoc3RybGVuKGRlc2NyKSA+
IDApCisJCQkJcHJpbnRmKCJcdGRlc2NyaXB0aW9uOiAlc1xuIiwgZGVzY3IpOworCQkJfSBl
bHNlIGlmIChlcnJubyA9PSBFTkFNRVRPT0xPTkcpIHsKKwkJCQlkZXNjcmxlbiAqPSAyOwor
CQkJCWNvbnRpbnVlOworCQkJfQorCQl9IGVsc2UKKwkJCXdhcm4oInVuYWJsZSB0byBhbGxv
Y2F0ZSBtZW1vcnkgZm9yIGludGVyZmFjZSIKKwkJCSAgICAiZGVzY3JpcHRpb24iKTsKKwl9
IHdoaWxlICgwKTsKKwogCWlmIChpb2N0bChzLCBTSU9DR0lGQ0FQLCAoY2FkZHJfdCkmaWZy
KSA9PSAwKSB7CiAJCWlmIChpZnIuaWZyX2N1cmNhcCAhPSAwKSB7CiAJCQlwcmludGIoIlx0
b3B0aW9ucyIsIGlmci5pZnJfY3VyY2FwLCBJRkNBUEJJVFMpOwpAQCAtMTA1MSw2ICsxMDk3
LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgY21kIGJhc2ljX2NtZHNbXSA9IHsKIAlERUZfQ01EKCIt
YXJwIiwJCUlGRl9OT0FSUCwJc2V0aWZmbGFncyksCiAJREVGX0NNRCgiZGVidWciLAlJRkZf
REVCVUcsCXNldGlmZmxhZ3MpLAogCURFRl9DTUQoIi1kZWJ1ZyIsCS1JRkZfREVCVUcsCXNl
dGlmZmxhZ3MpLAorCURFRl9DTURfQVJHKCJkZXNjcmlwdGlvbiIsCQlzZXRpZmRlc2NyKSwK
KwlERUZfQ01EX0FSRygiZGVzY3IiLAkJCXNldGlmZGVzY3IpLAorCURFRl9DTUQoIi1kZXNj
cmlwdGlvbiIsCTAsCQl1bnNldGlmZGVzY3IpLAorCURFRl9DTUQoIi1kZXNjciIsCTAsCQl1
bnNldGlmZGVzY3IpLAogCURFRl9DTUQoInByb21pc2MiLAlJRkZfUFBST01JU0MsCXNldGlm
ZmxhZ3MpLAogCURFRl9DTUQoIi1wcm9taXNjIiwJLUlGRl9QUFJPTUlTQywJc2V0aWZmbGFn
cyksCiAJREVGX0NNRCgiYWRkIiwJCUlGRl9VUCwJCW5vdGVhbGlhcyksCkluZGV4OiBzaGFy
ZS9tYW4vbWFuNC9uZXRpbnRyby40Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNoYXJlL21hbi9tYW40
L25ldGludHJvLjQJKHJldmlzaW9uIDIwMjk3OSkKKysrIHNoYXJlL21hbi9tYW40L25ldGlu
dHJvLjQJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIC5cIiAgICAgQCgjKW5l
dGludHJvLjQJOC4yIChCZXJrZWxleSkgMTEvMzAvOTMKIC5cIiAkRnJlZUJTRCQKIC5cIgot
LkRkIEp1bmUgMTgsIDIwMDQKKy5EZCBKYW51YXJ5IDI1LCAyMDEwCiAuRHQgTkVUSU5UUk8g
NAogLk9zCiAuU2ggTkFNRQpAQCAtMjA0LDYgKzIwNCw3IEBAIHN0cnVjdAlpZnJlcSB7CiAg
ICAgICAgIHN0cnVjdCAgICBzb2NrYWRkciBpZnJ1X2FkZHI7CiAgICAgICAgIHN0cnVjdCAg
ICBzb2NrYWRkciBpZnJ1X2RzdGFkZHI7CiAgICAgICAgIHN0cnVjdCAgICBzb2NrYWRkciBp
ZnJ1X2Jyb2FkYWRkcjsKKyAgICAgICAgc3RydWN0IHsgc2l6ZV90IGxlbmd0aDsgY2FkZHJf
dCBidWZmZXI7IH0gaWZydV9idWZmZXI7CiAgICAgICAgIHNob3J0ICAgICBpZnJ1X2ZsYWdz
WzJdOwogICAgICAgICBzaG9ydCAgICAgaWZydV9pbmRleDsKICAgICAgICAgaW50ICAgICAg
IGlmcnVfbWV0cmljOwpAQCAtMjE2LDYgKzIxNyw3IEBAIHN0cnVjdAlpZnJlcSB7CiAjZGVm
aW5lIGlmcl9hZGRyICAgICAgaWZyX2lmcnUuaWZydV9hZGRyICAgICAgLyogYWRkcmVzcyAq
LwogI2RlZmluZSBpZnJfZHN0YWRkciAgIGlmcl9pZnJ1LmlmcnVfZHN0YWRkciAgIC8qIG90
aGVyIGVuZCBvZiBwLXRvLXAgbGluayAqLwogI2RlZmluZSBpZnJfYnJvYWRhZGRyIGlmcl9p
ZnJ1LmlmcnVfYnJvYWRhZGRyIC8qIGJyb2FkY2FzdCBhZGRyZXNzICovCisjZGVmaW5lIGlm
cl9idWZmZXIgICAgaWZyX2lmcnUuaWZydV9idWZmZXIgICAgLyogdXNlciBzdXBwbGllZCBi
dWZmZXIgd2l0aCBpdHMgbGVuZ3RoICovCiAjZGVmaW5lIGlmcl9mbGFncyAgICAgaWZyX2lm
cnUuaWZydV9mbGFnc1swXSAgLyogZmxhZ3MgKGxvdyAxNiBiaXRzKSAqLwogI2RlZmluZSBp
ZnJfZmxhZ3NoaWdoIGlmcl9pZnJ1LmlmcnVfZmxhZ3NbMV0gIC8qIGZsYWdzIChoaWdoIDE2
IGJpdHMpICovCiAjZGVmaW5lIGlmcl9tZXRyaWMgICAgaWZyX2lmcnUuaWZydV9tZXRyaWMg
ICAgLyogbWV0cmljICovCkBAIC0yNzcsNiArMjc5LDI2IEBAIGFuZAogZmllbGRzIG9mIHRo
ZQogLlZ0IGlmcmVxCiBzdHJ1Y3R1cmUsIHJlc3BlY3RpdmVseS4KKy5JdCBEdiBTSU9DR0lG
REVTQ1IKK0dldCB0aGUgaW50ZXJmYWNlIGRlc2NyaXB0aW9uLCByZXR1cm5lZCBpbiB0aGUK
Ky5WYSBidWZmZXIKK2ZpZWxkIG9mCisuVmEgaWZydV9idWZmZXIKK3N0cnVjdC4KK1RoZSB1
c2VyIHN1cHBsaWVkIGJ1ZmZlciBsZW5ndGggc2hvdWxkIGJlIGRlZmluZWQgaW4gdGhlCisu
VmEgbGVuZ3RoCitmaWVsZCBvZgorLlZhIGlmcnVfYnVmZmVyCitzdHJ1Y3QgcGFzc2VkIGlu
IGFzIHBhcmFtZXRlciwgYW5kIHRoZSBsZW5ndGggd291bGQgaW5jbHVkZQordGhlIHRlcm1p
bmF0aW5nIG51bCBjaGFyYWN0ZXIuCisuSXQgRHYgU0lPQ1NJRkRFU0NSCitTZXQgdGhlIGlu
dGVyZmFjZSBkZXNjcmlwdGlvbiB0byB0aGUgdmFsdWUgb2YgdGhlCisuVmEgYnVmZmVyCitm
aWVsZCBvZgorLlZhIGlmcnVfYnVmZmVyCitzdHJ1Y3QsIHdpdGgKKy5WYSBsZW5ndGgKK2Zp
ZWxkIHNwZWNpZnlpbmcgaXRzIGxlbmd0aCAoY291bnRpbmcgdGhlIHRlcm1pbmF0aW5nIG51
bCkuCiAuSXQgRHYgU0lPQ1NJRkZMQUdTCiBTZXQgaW50ZXJmYWNlIGZsYWdzIGZpZWxkLgog
SWYgdGhlIGludGVyZmFjZSBpcyBtYXJrZWQgZG93biwKSW5kZXg6IHN5cy9rZXJuL2tlcm5f
amFpbC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9rZXJuL2tlcm5famFpbC5jCShyZXZpc2lv
biAyMDI5NzkpCisrKyBzeXMva2Vybi9rZXJuX2phaWwuYwkod29ya2luZyBjb3B5KQpAQCAt
MzU5Miw2ICszNTkyLDcgQEAgcHJpc29uX3ByaXZfY2hlY2soc3RydWN0IHVjcmVkICpjcmVk
LCBpbnQgcHJpdikKIAljYXNlIFBSSVZfTkVUX1NFVElGTVRVOgogCWNhc2UgUFJJVl9ORVRf
U0VUSUZGTEFHUzoKIAljYXNlIFBSSVZfTkVUX1NFVElGQ0FQOgorCWNhc2UgUFJJVl9ORVRf
U0VUSUZERVNDUjoKIAljYXNlIFBSSVZfTkVUX1NFVElGTkFNRQk6CiAJY2FzZSBQUklWX05F
VF9TRVRJRk1FVFJJQzoKIAljYXNlIFBSSVZfTkVUX1NFVElGUEhZUzoKSW5kZXg6IHN5cy9u
ZXQvaWYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbmV0L2lmLmMJKHJldmlzaW9uIDIwMjk3
OSkKKysrIHN5cy9uZXQvaWYuYwkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYgKzEwNiwxOCBA
QCBTWVNDVExfSU5UKF9uZXRfbGluaywgT0lEX0FVVE8sIGxvZ19saW5rX3N0YXRlX2NoYQog
CSZsb2dfbGlua19zdGF0ZV9jaGFuZ2UsIDAsCiAJImxvZyBpbnRlcmZhY2UgbGluayBzdGF0
ZSBjaGFuZ2UgZXZlbnRzIik7CiAKKy8qIEludGVyZmFjZSBkZXNjcmlwdGlvbiAqLworc3Rh
dGljIHVuc2lnbmVkIGludCBpZmRlc2NyX21heGxlbiA9IDEwMjQ7CitTWVNDVExfVUlOVChf
bmV0LCBPSURfQVVUTywgaWZkZXNjcl9tYXhsZW4sIENUTEZMQUdfUlcsCisJJmlmZGVzY3Jf
bWF4bGVuLCAwLAorCSJhZG1pbmlzdHJhdGl2ZSBtYXhpbXVtIGxlbmd0aCBmb3IgaW50ZXJm
YWNlIGRlc2NyaXB0aW9uIik7CisKK01BTExPQ19ERUZJTkUoTV9JRkRFU0NSLCAiaWZkZXNj
ciIsICJpZm5ldCBkZXNjcmlwdGlvbnMiKTsKKworLyogZ2xvYmFsIHN4IGZvciBub24tY3Jp
dGljYWwgcGF0aCBpZmRlc2NyICovCitzdGF0aWMgc3RydWN0IHN4IGlmZGVzY3Jfc3g7CitT
WF9TWVNJTklUKGlmZGVzY3Jfc3gsICZpZmRlc2NyX3N4LCAiaWZuZXQgZGVzY3IiKTsKKwog
dm9pZAkoKmJzdHBfbGlua3N0YXRlX3ApKHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgc3RhdGUp
Owogdm9pZAkoKm5nX2V0aGVyX2xpbmtfc3RhdGVfcCkoc3RydWN0IGlmbmV0ICppZnAsIGlu
dCBzdGF0ZSk7CiB2b2lkCSgqbGFnZ19saW5rc3RhdGVfcCkoc3RydWN0IGlmbmV0ICppZnAs
IGludCBzdGF0ZSk7CkBAIC00NDIsNiArNDU0LDggQEAgaWZfZnJlZV9pbnRlcm5hbChzdHJ1
Y3QgaWZuZXQgKmlmcCkKICNpZmRlZiBNQUMKIAltYWNfaWZuZXRfZGVzdHJveShpZnApOwog
I2VuZGlmIC8qIE1BQyAqLworCWlmIChpZnAtPmlmX2Rlc2NyaXB0aW9uICE9IE5VTEwpCisJ
CWZyZWUoaWZwLT5pZl9kZXNjcmlwdGlvbiwgTV9JRkRFU0NSKTsKIAlJRl9BRkRBVEFfREVT
VFJPWShpZnApOwogCUlGX0FERFJfTE9DS19ERVNUUk9ZKGlmcCk7CiAJaWZxX2RlbGV0ZSgm
aWZwLT5pZl9zbmQpOwpAQCAtMTk3OSw2ICsxOTkzLDggQEAgaWZod2lvY3RsKHVfbG9uZyBj
bWQsIHN0cnVjdCBpZm5ldCAqaWZwLCBjYWRkcl90IGQKIAlpbnQgZXJyb3IgPSAwOwogCWlu
dCBuZXdfZmxhZ3MsIHRlbXBfZmxhZ3M7CiAJc2l6ZV90IG5hbWVsZW4sIG9uYW1lbGVuOwor
CXNpemVfdCBkZXNjcmxlbjsKKwljaGFyICpkZXNjcmJ1ZiwgKm9kZXNjcmJ1ZjsKIAljaGFy
IG5ld19uYW1lW0lGTkFNU0laXTsKIAlzdHJ1Y3QgaWZhZGRyICppZmE7CiAJc3RydWN0IHNv
Y2thZGRyX2RsICpzZGw7CkBAIC0yMDE4LDYgKzIwMzQsNTUgQEAgaWZod2lvY3RsKHVfbG9u
ZyBjbWQsIHN0cnVjdCBpZm5ldCAqaWZwLCBjYWRkcl90IGQKIAkJaWZyLT5pZnJfcGh5cyA9
IGlmcC0+aWZfcGh5c2ljYWw7CiAJCWJyZWFrOwogCisJY2FzZSBTSU9DR0lGREVTQ1I6CisJ
CWVycm9yID0gMDsKKwkJc3hfc2xvY2soJmlmZGVzY3Jfc3gpOworCQlpZiAoaWZwLT5pZl9k
ZXNjcmlwdGlvbiA9PSBOVUxMKQorCQkJZXJyb3IgPSBFTk9NU0c7CisJCWVsc2UgeworCQkJ
Lyogc3BhY2UgZm9yIHRlcm1pbmF0aW5nIG51bCAqLworCQkJZGVzY3JsZW4gPSBzdHJsZW4o
aWZwLT5pZl9kZXNjcmlwdGlvbikgKyAxOworCQkJaWYgKGlmci0+aWZyX2J1ZmZlci5sZW5n
dGggPCBkZXNjcmxlbikKKwkJCQllcnJvciA9IEVOQU1FVE9PTE9ORzsKKwkJCWVsc2UKKwkJ
CQllcnJvciA9IGNvcHlvdXQoaWZwLT5pZl9kZXNjcmlwdGlvbiwKKwkJCQkgICAgaWZyLT5p
ZnJfYnVmZmVyLmJ1ZmZlciwgZGVzY3JsZW4pOworCQl9CisJCXN4X3N1bmxvY2soJmlmZGVz
Y3Jfc3gpOworCQlicmVhazsKKworCWNhc2UgU0lPQ1NJRkRFU0NSOgorCQllcnJvciA9IHBy
aXZfY2hlY2sodGQsIFBSSVZfTkVUX1NFVElGREVTQ1IpOworCQlpZiAoZXJyb3IpCisJCQly
ZXR1cm4gKGVycm9yKTsKKworCQkvKgorCQkgKiBDb3B5IG9ubHkgKGxlbmd0aC0xKSBieXRl
cyB0byBtYWtlIHN1cmUgdGhhdAorCQkgKiBpZl9kZXNjcmlwdGlvbiBpcyBhbHdheXMgbnVs
IHRlcm1pbmF0ZWQuICBUaGUKKwkJICogbGVuZ3RoIHBhcmFtZXRlciBpcyBzdXBwb3NlZCB0
byBjb3VudCB0aGUKKwkJICogdGVybWluYXRpbmcgbnVsIGluLgorCQkgKi8KKwkJaWYgKGlm
ci0+aWZyX2J1ZmZlci5sZW5ndGggPiBpZmRlc2NyX21heGxlbikKKwkJCXJldHVybiAoRU5B
TUVUT09MT05HKTsKKworCQlkZXNjcmJ1ZiA9IG1hbGxvYyhpZnItPmlmcl9idWZmZXIubGVu
Z3RoLCBNX0lGREVTQ1IsCisJCSAgICBNX1dBSVRPSyB8IE1fWkVSTyk7CisJCWVycm9yID0g
Y29weWluKGlmci0+aWZyX2J1ZmZlci5idWZmZXIsIGRlc2NyYnVmLAorCQkgICAgaWZyLT5p
ZnJfYnVmZmVyLmxlbmd0aCAtIDEpOworCQlpZiAoZXJyb3IpIHsKKwkJCWZyZWUoZGVzY3Ji
dWYsIE1fSUZERVNDUik7CisJCQlicmVhazsKKwkJfQorCisJCXN4X3hsb2NrKCZpZmRlc2Ny
X3N4KTsKKwkJb2Rlc2NyYnVmID0gaWZwLT5pZl9kZXNjcmlwdGlvbjsKKwkJaWZwLT5pZl9k
ZXNjcmlwdGlvbiA9IGRlc2NyYnVmOworCQlzeF94dW5sb2NrKCZpZmRlc2NyX3N4KTsKKwor
CQlnZXRtaWNyb3RpbWUoJmlmcC0+aWZfbGFzdGNoYW5nZSk7CisJCWZyZWUob2Rlc2NyYnVm
LCBNX0lGREVTQ1IpOworCQlicmVhazsKKwogCWNhc2UgU0lPQ1NJRkZMQUdTOgogCQllcnJv
ciA9IHByaXZfY2hlY2sodGQsIFBSSVZfTkVUX1NFVElGRkxBR1MpOwogCQlpZiAoZXJyb3Ip
CkluZGV4OiBzeXMvbmV0L2lmLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL25ldC9pZi5oCShy
ZXZpc2lvbiAyMDI5NzkpCisrKyBzeXMvbmV0L2lmLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
NSw2ICsyOTUsNyBAQCBzdHJ1Y3QJaWZyZXEgewogCQlzdHJ1Y3QJc29ja2FkZHIgaWZydV9h
ZGRyOwogCQlzdHJ1Y3QJc29ja2FkZHIgaWZydV9kc3RhZGRyOwogCQlzdHJ1Y3QJc29ja2Fk
ZHIgaWZydV9icm9hZGFkZHI7CisJCXN0cnVjdCB7IHNpemVfdCBsZW5ndGg7IGNhZGRyX3QJ
YnVmZmVyOyB9IGlmcnVfYnVmZmVyOwogCQlzaG9ydAlpZnJ1X2ZsYWdzWzJdOwogCQlzaG9y
dAlpZnJ1X2luZGV4OwogCQlpbnQJaWZydV9qaWQ7CkBAIC0zMDgsNiArMzA5LDcgQEAgc3Ry
dWN0CWlmcmVxIHsKICNkZWZpbmUJaWZyX2FkZHIJaWZyX2lmcnUuaWZydV9hZGRyCS8qIGFk
ZHJlc3MgKi8KICNkZWZpbmUJaWZyX2RzdGFkZHIJaWZyX2lmcnUuaWZydV9kc3RhZGRyCS8q
IG90aGVyIGVuZCBvZiBwLXRvLXAgbGluayAqLwogI2RlZmluZQlpZnJfYnJvYWRhZGRyCWlm
cl9pZnJ1LmlmcnVfYnJvYWRhZGRyCS8qIGJyb2FkY2FzdCBhZGRyZXNzICovCisjZGVmaW5l
CWlmcl9idWZmZXIJaWZyX2lmcnUuaWZydV9idWZmZXIJLyogdXNlciBzdXBwbGllZCBidWZm
ZXIgd2l0aCBpdHMgbGVuZ3RoICovCiAjZGVmaW5lCWlmcl9mbGFncwlpZnJfaWZydS5pZnJ1
X2ZsYWdzWzBdCS8qIGZsYWdzIChsb3cgMTYgYml0cykgKi8KICNkZWZpbmUJaWZyX2ZsYWdz
aGlnaAlpZnJfaWZydS5pZnJ1X2ZsYWdzWzFdCS8qIGZsYWdzIChoaWdoIDE2IGJpdHMpICov
CiAjZGVmaW5lCWlmcl9qaWQJCWlmcl9pZnJ1LmlmcnVfamlkCS8qIGphaWwvdm5ldCAqLwpJ
bmRleDogc3lzL25ldC9pZl92YXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbmV0L2lmX3Zh
ci5oCShyZXZpc2lvbiAyMDI5NzkpCisrKyBzeXMvbmV0L2lmX3Zhci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDMsNyArMjAzLDggQEAgc3RydWN0IGlmbmV0IHsKIAkgKiBiZSB1c2VkIHdp
dGggY2FyZSB3aGVyZSBiaW5hcnkgY29tcGF0aWJpbGl0eSBpcyByZXF1aXJlZC4KIAkgKi8K
IAljaGFyCSBpZl9jc3BhcmVbM107Ci0Jdm9pZAkqaWZfcHNwYXJlWzhdOworCWNoYXIJKmlm
X2Rlc2NyaXB0aW9uOwkvKiBpbnRlcmZhY2UgZGVzY3JpcHRpb24gKi8KKwl2b2lkCSppZl9w
c3BhcmVbN107CiAJaW50CWlmX2lzcGFyZVs0XTsKIH07CiAKSW5kZXg6IHN5cy9zeXMvcHJp
di5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9zeXMvcHJpdi5oCShyZXZpc2lvbiAyMDI5Nzkp
CisrKyBzeXMvc3lzL3ByaXYuaAkod29ya2luZyBjb3B5KQpAQCAtMzM1LDYgKzMzNSw3IEBA
CiAjZGVmaW5lCVBSSVZfTkVUX0xBR0cJCTQxNQkvKiBBZG1pbmlzdGVyIGxhZ2cgaW50ZXJm
YWNlLiAqLwogI2RlZmluZQlQUklWX05FVF9HSUYJCTQxNgkvKiBBZG1pbmlzdGVyIGdpZiBp
bnRlcmZhY2UuICovCiAjZGVmaW5lCVBSSVZfTkVUX1NFVElGVk5FVAk0MTcJLyogTW92ZSBp
bnRlcmZhY2UgdG8gdm5ldC4gKi8KKyNkZWZpbmUJUFJJVl9ORVRfU0VUSUZERVNDUgk0MTgJ
LyogU2V0IGludGVyZmFjZSBkZXNjcmlwdGlvbi4gKi8KIAogLyoKICAqIDgwMi4xMS1yZWxh
dGVkIHByaXZpbGVnZXMuCkluZGV4OiBzeXMvc3lzL3NvY2tpby5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHN5cy9zeXMvc29ja2lvLmgJKHJldmlzaW9uIDIwMjk3OSkKKysrIHN5cy9zeXMvc29j
a2lvLmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDggQEAKICNkZWZpbmUJU0lPQ0dJ
Rk1BQwlfSU9XUignaScsIDM4LCBzdHJ1Y3QgaWZyZXEpCS8qIGdldCBJRiBNQUMgbGFiZWwg
Ki8KICNkZWZpbmUJU0lPQ1NJRk1BQwkgX0lPVygnaScsIDM5LCBzdHJ1Y3QgaWZyZXEpCS8q
IHNldCBJRiBNQUMgbGFiZWwgKi8KICNkZWZpbmUJU0lPQ1NJRk5BTUUJIF9JT1coJ2knLCA0
MCwgc3RydWN0IGlmcmVxKQkvKiBzZXQgSUYgbmFtZSAqLworI2RlZmluZQlTSU9DU0lGREVT
Q1IJIF9JT1coJ2knLCA0MSwgc3RydWN0IGlmcmVxKQkvKiBzZXQgaWZuZXQgZGVzY3IgKi8g
CisjZGVmaW5lCVNJT0NHSUZERVNDUglfSU9XUignaScsIDQyLCBzdHJ1Y3QgaWZyZXEpCS8q
IGdldCBpZm5ldCBkZXNjciAqLyAKIAogI2RlZmluZQlTSU9DQURETVVMVEkJIF9JT1coJ2kn
LCA0OSwgc3RydWN0IGlmcmVxKQkvKiBhZGQgbSdjYXN0IGFkZHIgKi8KICNkZWZpbmUJU0lP
Q0RFTE1VTFRJCSBfSU9XKCdpJywgNTAsIHN0cnVjdCBpZnJlcSkJLyogZGVsIG0nY2FzdCBh
ZGRyICovCg==
--------------090205010302020105020607--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B5E16DB.2080203>