Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2009 13:47:06 +0100 (BST)
From:      Iain Hibbert <plunky@rya-online.net>
To:        Boris Samorodov <bsam@ipt.ru>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: FBSD bt gammu
Message-ID:  <1243255626.298740.6650.nullmailer@galant.ukfsn.org>
In-Reply-To: <45283323@srv.sem.ipt.ru>
References:  <20070816105005.GA24403@harmless.hu> <bb4a86c70708161140v652ceddfk698ed714e70923a2@mail.gmail.com> <20070817113053.GA61263@harmless.hu> <bb4a86c70708171200v58144139ic72bc334ed84f2e7@mail.gmail.com> <20070818133634.GA1448@harmless.hu> <20070902193327.15488.qmail@stuge.se> <bb4a86c70709050956w2ce76998vb2e074bdd6ba1c4c@mail.gmail.com> <45283323@srv.sem.ipt.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-1972968182-1243255626=:27920
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 6 Sep 2007, Boris Samorodov wrote:

> On Wed, 5 Sep 2007 09:56:26 -0700 Maksim Yevmenkin wrote:
>
> > please modify cmake scripts so it can properly detect bluetooth on freebsd
>
> Michal incorporated all FreeBSD patches to svn version. All bluetooth
> functions except channel searching (switched off for FreeBSD) should
> work fine.
>
> Those who are interested may test it and give a feedback.
> Those who are interested may look into channel searching problem and
> produce patches. ;-)

Hi Boris,

This was some time ago but I have just rewritten the FBSD support in gammu
to be generic BSD support and implemented channel searching using the new
device access (already in FreeBSD) and service discovery (which Max is
working on porting) routines. I wonder if you can validate that my work
doesn't cause any regressions on FreeBSD?

The attached patch adds
	cmake/FindBSDBluetooth.cmake
	libgammu/device/bluetoth/blue_bsd.c
	libgammu/device/bluetoth/blue_bsd.h

and converts the build to use those files instead of the 'fbsd' versions,
which can be removed, and the cmake framework will enable the channel
searching if the new API is present.

I'm not quite ready to commit the bt_dev stuff into NetBSD but will push
this upstream after we have all caught up. I'm not sure if it will be
worth putting the patches into ports or not, will leave that up to you.

iain
--0-1972968182-1243255626=:27920
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=gammu-diff.txt
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.NEB.2.00.0905251347060.27920@localhost.>
Content-Description: update FBSD to BSD support
Content-Disposition: attachment; filename=gammu-diff.txt

ZGlmZiAtTnJ1IG9yaWcvZ2FtbXUtMS4yNC4wL0NNYWtlTGlzdHMudHh0IGdh
bW11LTEuMjQuMC9DTWFrZUxpc3RzLnR4dA0KLS0tIG9yaWcvZ2FtbXUtMS4y
NC4wL0NNYWtlTGlzdHMudHh0CTIwMDktMDQtMTUgMTQ6Mzk6NTQuMDAwMDAw
MDAwICswMTAwDQorKysgZ2FtbXUtMS4yNC4wL0NNYWtlTGlzdHMudHh0CTIw
MDktMDUtMjUgMTM6MDQ6MzYuMDAwMDAwMDAwICswMTAwDQpAQCAtMjcwLDEy
ICsyNzAsMTIgQEANCiAgICAgICAgICAgICBzZXQoQkxVRVRPT1RIX1NFQVJD
SCBUUlVFKQ0KICAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJVc2luZyBC
bHVlWiBzdGFjayIpDQogICAgICAgICBlbmRpZiAoQkxVRVpfRk9VTkQpDQot
ICAgICAgICBmaW5kX3BhY2thZ2UgKEZCU0RCbHVldG9vdGgpDQotICAgICAg
ICBpZiAoRkJTRF9CTFVFX0ZPVU5EKQ0KKyAgICAgICAgZmluZF9wYWNrYWdl
IChCU0RCbHVldG9vdGgpDQorICAgICAgICBpZiAoQlNEX0JMVUVfRk9VTkQp
DQogICAgICAgICAgICAgc2V0KEJMVUVUT09USF9GT1VORCBPTikNCi0gICAg
ICAgICAgICBzZXQoQkxVRVRPT1RIX1NFQVJDSCBGQUxTRSkNCi0gICAgICAg
ICAgICBtZXNzYWdlKFNUQVRVUyAiVXNpbmcgRnJlZUJTRCBCbHVldG9vdGgg
c3RhY2siKQ0KLSAgICAgICAgZW5kaWYgKEZCU0RfQkxVRV9GT1VORCkNCisJ
ICAgIGNoZWNrX2xpYnJhcnlfZXhpc3RzKGJsdWV0b290aCBzZHBfc2Vydmlj
ZV9zZWFyY2hfYXR0cmlidXRlICIiIEJMVUVUT09USF9TRUFSQ0gpDQorICAg
ICAgICAgICAgbWVzc2FnZShTVEFUVVMgIlVzaW5nIEJTRCBCbHVldG9vdGgg
c3RhY2siKQ0KKyAgICAgICAgZW5kaWYgKEJTRF9CTFVFX0ZPVU5EKQ0KICAg
ICAgICAgZmluZF9wYWNrYWdlIChPU1hCbHVldG9vdGgpDQogICAgICAgICBp
ZiAoT1NYX0JMVUVfRk9VTkQpDQogICAgICAgICAgICAgc2V0KEJMVUVUT09U
SF9GT1VORCBPTikNCkBAIC0zNjAsMTEgKzM2MCwxMSBAQA0KICAgICBlbmRp
ZiAoTk9UICIke0JMVUVaX0xJQlJBUklFU30iIFNUUkVRVUFMICIiKQ0KIGVu
ZGlmIChCTFVFWl9GT1VORCkNCiANCi1pZiAoRkJTRF9CTFVFX0ZPVU5EKQ0K
LSAgICBpZiAoTk9UICIke0ZCU0RfQkxVRV9MSUJSQVJJRVN9IiBTVFJFUVVB
TCAiIikNCi0gICAgICAgIHNldCAoR0FNTVVfTElCUyAiJHtHQU1NVV9MSUJT
fSAtbCR7RkJTRF9CTFVFX0xJQlJBUklFU30iKQ0KLSAgICBlbmRpZiAoTk9U
ICIke0ZCU0RfQkxVRV9MSUJSQVJJRVN9IiBTVFJFUVVBTCAiIikNCi1lbmRp
ZiAoRkJTRF9CTFVFX0ZPVU5EKQ0KK2lmIChCU0RfQkxVRV9GT1VORCkNCisg
ICAgaWYgKE5PVCAiJHtCU0RfQkxVRV9MSUJSQVJJRVN9IiBTVFJFUVVBTCAi
IikNCisgICAgICAgIHNldCAoR0FNTVVfTElCUyAiJHtHQU1NVV9MSUJTfSAt
bCR7QlNEX0JMVUVfTElCUkFSSUVTfSIpDQorICAgIGVuZGlmIChOT1QgIiR7
QlNEX0JMVUVfTElCUkFSSUVTfSIgU1RSRVFVQUwgIiIpDQorZW5kaWYgKEJT
RF9CTFVFX0ZPVU5EKQ0KIA0KIGlmIChJQ09OVl9GT1VORCkNCiAgICAgaWYg
KE5PVCAiJHtJQ09OVl9MSUJSQVJJRVN9IiBTVFJFUVVBTCAiIikNCmRpZmYg
LU5ydSBvcmlnL2dhbW11LTEuMjQuMC9jbWFrZS9GaW5kQlNEQmx1ZXRvb3Ro
LmNtYWtlIGdhbW11LTEuMjQuMC9jbWFrZS9GaW5kQlNEQmx1ZXRvb3RoLmNt
YWtlDQotLS0gb3JpZy9nYW1tdS0xLjI0LjAvY21ha2UvRmluZEJTREJsdWV0
b290aC5jbWFrZQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw
MA0KKysrIGdhbW11LTEuMjQuMC9jbWFrZS9GaW5kQlNEQmx1ZXRvb3RoLmNt
YWtlCTIwMDktMDUtMjIgMDk6NDg6MjYuMDAwMDAwMDAwICswMTAwDQpAQCAt
MCwwICsxLDM1IEBADQorIyAtIEZpbmRzIEJsdWV0b290aCBsaWJyYXJ5IG9u
IEJTRA0KKyMgVGhpcyBtb2R1bGUgZGVmaW5lcw0KKyMgIEJTRF9CTFVFX0lO
Q0xVREVfRElSLCB3aGVyZSB0byBmaW5kIGJsdWV0b290aC5oDQorIyAgQlNE
X0JMVUVfTElCUkFSSUVTLCB0aGUgbGlicmFyaWVzIG5lZWRlZCB0byB1c2Ug
QlNEIEJsdWV0b290aC4NCisjICBCU0RfQkxVRV9GT1VORCwgSWYgZmFsc2Us
IGRvIG5vdCB0cnkgdG8gdXNlIEJTRCBCbHVldG9vdGguDQorIw0KKyMgQ29w
eXJpZ2h0IChjKSAyMDA3LCBNaWNoYWwgQ2loYXIsIDxtaWNoYWxAY2loYXIu
Y29tPg0KKyMNCisjIHZpbTogZXhwYW5kdGFiIHN3PTQgdHM9NCBzdHM9NDoN
CisNCitpZiAoTk9UIERFRklORUQgQlNEX0JMVUVfRk9VTkQpDQorICAgIGlm
IChOT1QgQ1JPU1NfTUlOR1cpDQorICAgICAgICBmaW5kX3BhdGgoQlNEX0JM
VUVfSU5DTFVERV9ESVIgTkFNRVMgYmx1ZXRvb3RoLmgNCisgICAgICAgICAg
IFBBVEhTDQorICAgICAgICAgICAvdXNyL2luY2x1ZGUNCisgICAgICAgICAg
IC91c3IvbG9jYWwvaW5jbHVkZQ0KKyAgICAgICAgKQ0KKw0KKyAgICAgICAg
ZmluZF9saWJyYXJ5KEJTRF9CTFVFX0xJQlJBUklFUyBOQU1FUyBibHVldG9v
dGgNCisgICAgICAgICAgIFBBVEhTDQorICAgICAgICAgICAvdXNyL2xpYg0K
KyAgICAgICAgICAgL3Vzci9sb2NhbC9saWINCisgICAgICAgICkNCisNCisg
ICAgICAgIGlmKEJTRF9CTFVFX0lOQ0xVREVfRElSIEFORCBCU0RfQkxVRV9M
SUJSQVJJRVMpDQorICAgICAgICAgICBzZXQoQlNEX0JMVUVfRk9VTkQgVFJV
RSBDQUNIRSBJTlRFUk5BTCAiQlNEIEJsdWV0b290aCBmb3VuZCIpDQorICAg
ICAgICAgICBtZXNzYWdlKFNUQVRVUyAiRm91bmQgQlNEIEJsdWV0b290aDog
JHtCU0RfQkxVRV9JTkNMVURFX0RJUn0sICR7QlNEX0JMVUVfTElCUkFSSUVT
fSIpDQorICAgICAgICBlbHNlKEJTRF9CTFVFX0lOQ0xVREVfRElSIEFORCBC
U0RfQkxVRV9MSUJSQVJJRVMpDQorICAgICAgICAgICBzZXQoQlNEX0JMVUVf
Rk9VTkQgRkFMU0UgQ0FDSEUgSU5URVJOQUwgIkJTRCBCbHVldG9vdGggZm91
bmQiKQ0KKyAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIkJTRCBCbHVldG9v
dGggbm90IGZvdW5kLiIpDQorICAgICAgICBlbmRpZihCU0RfQkxVRV9JTkNM
VURFX0RJUiBBTkQgQlNEX0JMVUVfTElCUkFSSUVTKQ0KKw0KKyAgICAgICAg
bWFya19hc19hZHZhbmNlZChCU0RfQkxVRV9JTkNMVURFX0RJUiBCU0RfQkxV
RV9MSUJSQVJJRVMpDQorICAgIGVuZGlmIChOT1QgQ1JPU1NfTUlOR1cpDQor
ZW5kaWYgKE5PVCBERUZJTkVEIEJTRF9CTFVFX0ZPVU5EKQ0KZGlmZiAtTnJ1
IG9yaWcvZ2FtbXUtMS4yNC4wL2NtYWtlL3RlbXBsYXRlcy9nYW1tdS1jb25m
aWcuaC5jbWFrZSBnYW1tdS0xLjI0LjAvY21ha2UvdGVtcGxhdGVzL2dhbW11
LWNvbmZpZy5oLmNtYWtlDQotLS0gb3JpZy9nYW1tdS0xLjI0LjAvY21ha2Uv
dGVtcGxhdGVzL2dhbW11LWNvbmZpZy5oLmNtYWtlCTIwMDktMDMtMTcgMTU6
MDE6MTEuMDAwMDAwMDAwICswMDAwDQorKysgZ2FtbXUtMS4yNC4wL2NtYWtl
L3RlbXBsYXRlcy9nYW1tdS1jb25maWcuaC5jbWFrZQkyMDA5LTA1LTIyIDA5
OjQ5OjI4LjAwMDAwMDAwMCArMDEwMA0KQEAgLTMyMiw4ICszMjIsOCBAQA0K
IC8qIERvIHdlIGhhdmUgbGlidXNiLTEuMCA/ICovDQogI2NtYWtlZGVmaW5l
IExJQlVTQl9GT1VORA0KIA0KLS8qIFdpbGwgYmUgdXNlZCBGcmVlQlNEIEJs
dWV0b290aCBzdGFjayA/ICovDQotI2NtYWtlZGVmaW5lIEZCU0RfQkxVRV9G
T1VORA0KKy8qIFdpbGwgYmUgdXNlZCBCU0QgQmx1ZXRvb3RoIHN0YWNrID8g
Ki8NCisjY21ha2VkZWZpbmUgQlNEX0JMVUVfRk9VTkQNCiANCiAvKiBXaWxs
IGJlIHVzZWQgT1NYIEJsdWV0b290aCBzdGFjayA/ICovDQogI2NtYWtlZGVm
aW5lIE9TWF9CTFVFX0ZPVU5EDQpkaWZmIC1OcnUgb3JpZy9nYW1tdS0xLjI0
LjAvbGliZ2FtbXUvQ01ha2VMaXN0cy50eHQgZ2FtbXUtMS4yNC4wL2xpYmdh
bW11L0NNYWtlTGlzdHMudHh0DQotLS0gb3JpZy9nYW1tdS0xLjI0LjAvbGli
Z2FtbXUvQ01ha2VMaXN0cy50eHQJMjAwOS0wMy0xOCAwOToxNjozOC4wMDAw
MDAwMDAgKzAwMDANCisrKyBnYW1tdS0xLjI0LjAvbGliZ2FtbXUvQ01ha2VM
aXN0cy50eHQJMjAwOS0wNS0yMiAwOTo0NjoyMy4wMDAwMDAwMDAgKzAxMDAN
CkBAIC03Niw5ICs3Niw5IEBADQogaWYgKExJQlVTQl9GT1VORCkNCiAgICAg
bGlzdCAoQVBQRU5EIExJQlJBUllfU1JDIGRldmljZS91c2IvdXNiLmMpDQog
ZW5kaWYgKExJQlVTQl9GT1VORCkNCi1pZiAoRkJTRF9CTFVFX0ZPVU5EKQ0K
LSAgICBsaXN0IChBUFBFTkQgTElCUkFSWV9TUkMgZGV2aWNlL2JsdWV0b3Ro
L2JsdWVfZmJzZC5jKQ0KLWVuZGlmIChGQlNEX0JMVUVfRk9VTkQpDQoraWYg
KEJTRF9CTFVFX0ZPVU5EKQ0KKyAgICBsaXN0IChBUFBFTkQgTElCUkFSWV9T
UkMgZGV2aWNlL2JsdWV0b3RoL2JsdWVfYnNkLmMpDQorZW5kaWYgKEJTRF9C
TFVFX0ZPVU5EKQ0KIGlmIChPU1hfQkxVRV9GT1VORCkNCiAgICAgbGlzdCAo
QVBQRU5EIExJQlJBUllfU1JDIGRldmljZS9ibHVldG90aC9ibHVlX29zeC5j
KQ0KIGVuZGlmIChPU1hfQkxVRV9GT1VORCkNCkBAIC0xMjYsMTAgKzEyNiwx
MCBAQA0KICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzICgke0xJQlVTQl9JTkNM
VURFX0RJUn0pDQogZW5kaWYgKExJQlVTQl9GT1VORCkNCiANCi1pZiAoRkJT
RF9CTFVFX0ZPVU5EKQ0KLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMgKGxp
YkdhbW11ICR7RkJTRF9CTFVFX0xJQlJBUklFU30pDQotICAgIGluY2x1ZGVf
ZGlyZWN0b3JpZXMgKCR7RkJTRF9CTFVFX0lOQ0xVREVfRElSfSkNCi1lbmRp
ZiAoRkJTRF9CTFVFX0ZPVU5EKQ0KK2lmIChCU0RfQkxVRV9GT1VORCkNCisg
ICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChsaWJHYW1tdSAke0JTRF9CTFVF
X0xJQlJBUklFU30pDQorICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgKCR7QlNE
X0JMVUVfSU5DTFVERV9ESVJ9KQ0KK2VuZGlmIChCU0RfQkxVRV9GT1VORCkN
CiANCiBpZiAoT1NYX0JMVUVfRk9VTkQpDQogICAgIHRhcmdldF9saW5rX2xp
YnJhcmllcyAobGliR2FtbXUgJHtPU1hfQkxVRV9MSUJTfSkNCmRpZmYgLU5y
dSBvcmlnL2dhbW11LTEuMjQuMC9saWJnYW1tdS9kZXZpY2UvYmx1ZXRvdGgv
Ymx1ZV9ic2QuYyBnYW1tdS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2JsdWV0
b3RoL2JsdWVfYnNkLmMNCi0tLSBvcmlnL2dhbW11LTEuMjQuMC9saWJnYW1t
dS9kZXZpY2UvYmx1ZXRvdGgvYmx1ZV9ic2QuYwkxOTcwLTAxLTAxIDAxOjAw
OjAwLjAwMDAwMDAwMCArMDEwMA0KKysrIGdhbW11LTEuMjQuMC9saWJnYW1t
dS9kZXZpY2UvYmx1ZXRvdGgvYmx1ZV9ic2QuYwkyMDA5LTA1LTI1IDEzOjM3
OjQwLjAwMDAwMDAwMCArMDEwMA0KQEAgLTAsMCArMSwyNjUgQEANCisvKi0N
CisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgSWFpbiBIaWJiZXJ0DQorICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6
DQorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuDQorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlDQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SDQor
ICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUw0KKyAqIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuDQorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULA0K
KyAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVA0KKyAqIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwNCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkNCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUDQorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GDQorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4NCisgKi8NCisNCisjaW5jbHVkZSAiLi4vLi4vZ3Ntc3RhdGUuaCINCisN
CisjaWZkZWYgR1NNX0VOQUJMRV9CTFVFVE9PVEhERVZJQ0UNCisjaWZkZWYg
QlNEX0JMVUVfRk9VTkQNCisNCisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0K
KyNpbmNsdWRlIDxzeXMvdGltZS5oPg0KKw0KKyNpbmNsdWRlIDxibHVldG9v
dGguaD4NCisjaW5jbHVkZSA8ZXJybm8uaD4NCisjaW5jbHVkZSA8bmV0ZGIu
aD4NCisjaW5jbHVkZSA8c2RwLmg+DQorI2luY2x1ZGUgPHN0ZGlvLmg+DQor
I2luY2x1ZGUgPHN0ZGxpYi5oPg0KKyNpbmNsdWRlIDxzdHJpbmcuaD4NCisj
aW5jbHVkZSA8dW5pc3RkLmg+DQorDQorI2luY2x1ZGUgIi4uLy4uL2dzbWNv
bW9uLmgiDQorI2luY2x1ZGUgIi4uL2RldmZ1bmMuaCINCisjaW5jbHVkZSAi
Ymx1ZXRvdGguaCINCisNCisvKg0KKyAqIEhhbmRsZSBGcmVlQlNEIGNvbXBh
dGliaWxpdHkNCisgKi8NCisjaWZuZGVmIEJUUFJPVE9fUkZDT01NDQorI2Rl
ZmluZSBCVFBST1RPX1JGQ09NTQlCTFVFVE9PVEhfUFJPVE9fUkZDT01NDQor
I2RlZmluZSBCREFERFJfQU5ZCU5HX0hDSV9CREFERFJfQU5ZDQorI2RlZmlu
ZSBzb2NrYWRkcl9idAlzb2NrYWRkcl9yZmNvbW0NCisjZGVmaW5lIGJ0X2xl
bgkJcmZjb21tX2xlbg0KKyNkZWZpbmUgYnRfZmFtaWx5CXJmY29tbV9mYW1p
bHkNCisjZGVmaW5lIGJ0X2NoYW5uZWwJcmZjb21tX2NoYW5uZWwNCisjZGVm
aW5lIGJ0X2JkYWRkcglyZmNvbW1fYmRhZGRyDQorI2VuZGlmDQorDQorc3Rh
dGljIEdTTV9FcnJvciBibHVldG9vdGhfb3BlbihHU01fU3RhdGVNYWNoaW5l
ICpzLCBiZGFkZHJfdCAqYmRhZGRyLCBpbnQgY2hhbm5lbCkNCit7DQorCUdT
TV9EZXZpY2VfQmx1ZVRvb3RoRGF0YQkqZCA9ICZzLT5EZXZpY2UuRGF0YS5C
bHVlVG9vdGg7DQorCXN0cnVjdCBzb2NrYWRkcl9idCAJCXNhOw0KKwlpbnQg
CQkJCWZkOw0KKw0KKwltZW1zZXQoJnNhLCAwLCBzaXplb2Yoc2EpKTsNCisJ
c2EuYnRfbGVuID0gc2l6ZW9mKHNhKTsNCisJc2EuYnRfZmFtaWx5ID0gQUZf
QkxVRVRPT1RIOw0KKw0KKwlzbXByaW50ZihzLCAiQ29ubmVjdGluZyB0byBS
RiBjaGFubmVsICVpXG4iLCBjaGFubmVsKTsNCisNCisJZmQgPSBzb2NrZXQo
UEZfQkxVRVRPT1RILCBTT0NLX1NUUkVBTSwgQlRQUk9UT19SRkNPTU0pOw0K
KwlpZiAoZmQgPCAwKSB7DQorCQlzbXByaW50ZihzLCAiQ2FuJ3QgY3JlYXRl
IHNvY2tldFxuIik7DQorCQlyZXR1cm4gRVJSX0RFVklDRU5PRFJJVkVSOw0K
Kwl9DQorDQorCWJkYWRkcl9jb3B5KCZzYS5idF9iZGFkZHIsIEJEQUREUl9B
TlkpOw0KKw0KKwlpZiAoYmluZChmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZz
YSwgc2l6ZW9mKHNhKSkgPCAwKSB7DQorCQlzbXByaW50ZihzLCAiQ2FuJ3Qg
YmluZCBzb2NrZXQ6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KKwkJY2xv
c2UoZmQpOw0KKwkJcmV0dXJuIEVSUl9ERVZJQ0VPUEVORVJST1I7DQorCX0N
CisNCisJc2EuYnRfY2hhbm5lbCA9IGNoYW5uZWw7DQorCWJkYWRkcl9jb3B5
KCZzYS5idF9iZGFkZHIsIGJkYWRkcik7DQorDQorCWlmIChjb25uZWN0KGZk
LCAoc3RydWN0IHNvY2thZGRyICopJnNhLCBzaXplb2Yoc2EpKSA8IDApIHsN
CisJCXNtcHJpbnRmKHMsICJDYW4ndCBjb25uZWN0IHRvICVzOiAlc1xuIiwg
YnRfbnRvYShiZGFkZHIsIE5VTEwpLCBzdHJlcnJvcihlcnJubykpOw0KKwkJ
Y2xvc2UoZmQpOw0KKwkJcmV0dXJuIEVSUl9ERVZJQ0VPUEVORVJST1I7DQor
CX0NCisNCisJZC0+aFBob25lID0gZmQ7DQorICAgIAlyZXR1cm4gRVJSX05P
TkU7DQorfQ0KKw0KK0dTTV9FcnJvciBibHVldG9vdGhfY29ubmVjdChHU01f
U3RhdGVNYWNoaW5lICpzLCBpbnQgcG9ydCwgY2hhciAqZGV2aWNlKQ0KK3sN
CisJYmRhZGRyX3QJYmRhZGRyOw0KKwlzdHJ1Y3QgaG9zdGVudCAqaGUgPSBO
VUxMOw0KKw0KKwlpZiAoIWJ0X2F0b24oZGV2aWNlLCAmYmRhZGRyKSkgew0K
KwkJaWYgKChoZSA9IGJ0X2dldGhvc3RieW5hbWUoZGV2aWNlKSkgPT0gTlVM
TCkgew0KKwkJCXNtcHJpbnRmKHMsICIlczogJXNcbiIsIGRldmljZSwgaHN0
cmVycm9yKGhfZXJybm8pKTsNCisJCQlyZXR1cm4gRVJSX1VOS05PV047DQor
CQl9DQorDQorCQliZGFkZHJfY29weSgmYmRhZGRyLCAoYmRhZGRyX3QgKilo
ZS0+aF9hZGRyKTsNCisJfQ0KKw0KKwlyZXR1cm4gYmx1ZXRvb3RoX29wZW4o
cywgJmJkYWRkciwgcG9ydCk7DQorfQ0KKw0KKyNpZmRlZiBCTFVFVE9PVEhf
UkZfU0VBUkNISU5HDQorDQorc3RhdGljIGludCBibHVldG9vdGhfY2hhbm5l
bChzZHBfZGF0YV90ICp2YWx1ZSkNCit7DQorCXNkcF9kYXRhX3QJcGRsLCBz
ZXE7DQorCXVpbnRtYXhfdAljaGFubmVsOw0KKw0KKwlzZHBfZ2V0X2FsdCh2
YWx1ZSwgdmFsdWUpOwkvKiBzdHJpcCBhbnkgYWx0IGNvbnRhaW5lciAqLw0K
Kw0KKwl3aGlsZSAoc2RwX2dldF9zZXEodmFsdWUsICZwZGwpKSB7DQorCQlp
ZiAoc2RwX2dldF9zZXEoJnBkbCwgJnNlcSkNCisJCSAgICAmJiBzZHBfbWF0
Y2hfdXVpZDE2KCZzZXEsIFNEUF9VVUlEX1BST1RPQ09MX0wyQ0FQKQ0KKwkJ
ICAgICYmIHNkcF9nZXRfc2VxKCZwZGwsICZzZXEpDQorCQkgICAgJiYgc2Rw
X21hdGNoX3V1aWQxNigmc2VxLCBTRFBfVVVJRF9QUk9UT0NPTF9SRkNPTU0p
DQorCQkgICAgJiYgc2RwX2dldF91aW50KCZzZXEsICZjaGFubmVsKQ0KKwkJ
ICAgICYmIGNoYW5uZWwgPj0gMSAmJiBjaGFubmVsIDw9IDMwKQ0KKwkJCXJl
dHVybiBjaGFubmVsOw0KKwl9DQorDQorCXJldHVybiAtMTsNCit9DQorDQor
c3RhdGljIGNoYXIgKmJsdWV0b290aF9zZXJ2aWNlKHNkcF9kYXRhX3QgKnZh
bHVlKQ0KK3sNCisJY2hhcgkJKnN0cjsNCisJc2l6ZV90CQlsZW47DQorDQor
CWlmICghc2RwX2dldF9zdHIodmFsdWUsICZzdHIsICZsZW4pKQ0KKwkJcmV0
dXJuIE5VTEw7DQorDQorCXJldHVybiBzdHJuZHVwKHN0ciwgbGVuKTsNCit9
DQorDQorc3RhdGljIEdTTV9FcnJvciBibHVldG9vdGhfc2VhcmNoKEdTTV9T
dGF0ZU1hY2hpbmUgKnMsIGJkYWRkcl90ICpiZGFkZHIpDQorew0KKwlzZHBf
ZGF0YV90CXJlYywgcnNwLCBzc3AsIHZhbHVlOw0KKwl1aW50OF90CQlidWZb
M107DQorCXVpbnQxNl90CWF0dHI7DQorCXNkcF9zZXNzaW9uX3QJc3M7DQor
CWludAkJY2gsIGNoYW5uZWwsIHNjLCBzY29yZTsNCisJY2hhcgkJKnN2Ow0K
Kw0KKwlzbXByaW50ZihzLCAiU2VhcmNoaW5nIGZvciBzZXJ2aWNlcyBvbiAl
c1xuIiwgYnRfbnRvYShiZGFkZHIsIE5VTEwpKTsNCisNCisJc3MgPSBzZHBf
b3BlbihOVUxMLCBiZGFkZHIpOw0KKwlpZiAoc3MgPT0gTlVMTCkgew0KKwkJ
c21wcmludGYocywgIlNEUCBDb25uZWN0aW9uIGZhaWxlZDogJXNcbiIsIHN0
cmVycm9yKGVycm5vKSk7DQorCQlyZXR1cm4gRVJSX1RJTUVPVVQ7DQorCX0N
CisNCisJc3NwLm5leHQgPSBidWY7DQorCXNzcC5lbmQgPSBidWYgKyBzaXpl
b2YoYnVmKTsNCisJc2RwX3B1dF91dWlkMTYoJnNzcCwgU0RQX1VVSURfUFJP
VE9DT0xfUkZDT01NKTsNCisJc3NwLmVuZCA9IHNzcC5uZXh0Ow0KKwlzc3Au
bmV4dCA9IGJ1ZjsNCisNCisJaWYgKCFzZHBfc2VydmljZV9zZWFyY2hfYXR0
cmlidXRlKHNzLCAmc3NwLCBOVUxMLCAmcnNwKSkgew0KKwkJc21wcmludGYo
cywgIlNEUCBTZXJ2aWNlIFNlYXJjaCBBdHRyaWJ1dGUgZmFpbGVkOiAlc1xu
Iiwgc3RyZXJyb3IoZXJybm8pKTsNCisJCXNkcF9jbG9zZShzcyk7DQorCQly
ZXR1cm4gRVJSX1VOS05PV047DQorCX0NCisNCisJY2hhbm5lbCA9IC0xOw0K
KwlzY29yZSA9IDA7DQorDQorCXdoaWxlIChzZHBfZ2V0X3NlcSgmcnNwLCAm
cmVjKSkgew0KKwkJY2ggPSAtMTsNCisJCXN2ID0gTlVMTDsNCisNCisJCXdo
aWxlIChzZHBfZ2V0X2F0dHIoJnJlYywgJmF0dHIsICZ2YWx1ZSkpIHsNCisJ
CQlzd2l0Y2ggKGF0dHIpIHsNCisJCQljYXNlIFNEUF9BVFRSX1BST1RPQ09M
X0RFU0NSSVBUT1JfTElTVDoNCisJCQkJY2ggPSBibHVldG9vdGhfY2hhbm5l
bCgmdmFsdWUpOw0KKwkJCQlicmVhazsNCisNCisJCQljYXNlIFNEUF9BVFRS
X1BSSU1BUllfTEFOR1VBR0VfQkFTRV9JRCArIFNEUF9BVFRSX1NFUlZJQ0Vf
TkFNRV9PRkZTRVQ6DQorCQkJCXN2ID0gYmx1ZXRvb3RoX3NlcnZpY2UoJnZh
bHVlKTsNCisJCQkJYnJlYWs7DQorDQorCQkJZGVmYXVsdDoNCisJCQkJYnJl
YWs7DQorCQkJfQ0KKwkJfQ0KKw0KKwkJaWYgKGNoICE9IC0xKSB7DQorCQkJ
c21wcmludGYocywgIiAgIENoYW5uZWwgJWkiLCBjaCk7DQorCQkJaWYgKHN2
ICE9IE5VTEwpIHsNCisJCQkJc2MgPSBibHVldG9vdGhfY2hlY2tzZXJ2aWNl
bmFtZShzLCBzdik7DQorCQkJCXNtcHJpbnRmKHMsICIgLSBcIiVzXCIgKHNj
b3JlPSVkKSIsIHN2LCBzYyk7DQorCQkJCWlmIChzYyA+IHNjb3JlKSB7DQor
CQkJCQlzY29yZSA9IHNjOw0KKwkJCQkJY2hhbm5lbCA9IGNoOw0KKwkJCQl9
DQorCQkJfQ0KKwkJCXNtcHJpbnRmKHMsICJcbiIpOw0KKwkJfQ0KKw0KKwkJ
ZnJlZShzdik7DQorCX0NCisNCisJc2RwX2Nsb3NlKHNzKTsNCisNCisJaWYg
KGNoYW5uZWwgPT0gLTEpIHsNCisJCXNtcHJpbnRmKHMsICJObyBzdWl0YWJs
ZSBzZXJ2aWNlIGZvdW5kIVxuIik7DQorCQlyZXR1cm4gRVJSX05PVFNVUFBP
UlRFRDsNCisJfQ0KKw0KKwlyZXR1cm4gYmx1ZXRvb3RoX29wZW4ocywgYmRh
ZGRyLCBjaGFubmVsKTsNCit9DQorDQorR1NNX0Vycm9yIGJsdWV0b290aF9m
aW5kY2hhbm5lbChHU01fU3RhdGVNYWNoaW5lICpzKQ0KK3sNCisJY2hhcgkJ
CSpkZXZpY2UgPSBzLT5DdXJyZW50Q29uZmlnLT5EZXZpY2U7DQorCWJkYWRk
cl90CQliZGFkZHI7DQorCXN0cnVjdCBob3N0ZW50CQkqaGU7DQorCXN0cnVj
dCBidF9kZXZpbnF1aXJ5CSppaTsNCisJaW50CQkJbjsNCisNCisJaWYgKGJ0
X2F0b24oZGV2aWNlLCAmYmRhZGRyKSkNCisJCXJldHVybiBibHVldG9vdGhf
c2VhcmNoKHMsICZiZGFkZHIpOw0KKw0KKwlpZiAoKGhlID0gYnRfZ2V0aG9z
dGJ5bmFtZShkZXZpY2UpKSAhPSBOVUxMKQ0KKwkJcmV0dXJuIGJsdWV0b290
aF9zZWFyY2gocywgKGJkYWRkcl90ICopaGUtPmhfYWRkcik7DQorDQorCXNt
cHJpbnRmKHMsICJEZXZpY2UgXCIlc1wiIHVua25vd24uIFN0YXJ0aW5nIGlu
cXVpcnkuLlxuIik7DQorDQorCWlmICgobiA9IGJ0X2RldmlucXVpcnkoTlVM
TCwgMTAsIDIwLCAmaWkpKSA9PSAtMSkgew0KKwkJc21wcmludGYocywgIklu
cXVpcnkgZmFpbGVkOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCisJCXJl
dHVybiBFUlJfVU5LTk9XTjsNCisJfQ0KKw0KKwlzbXByaW50ZihzLCAiRm91
bmQgJWQgZGV2aWNlc1xuIiwgbik7DQorDQorCXdoaWxlIChuLS0gPiAwKSB7
DQorCQlpZiAoYmx1ZXRvb3RoX3NlYXJjaChzLCAmaWktPmJkYWRkcikgPT0g
RVJSX05PTkUpDQorCQkJcmV0dXJuIEVSUl9OT05FOw0KKw0KKwkJaWkrKzsN
CisJfQ0KKw0KKwlyZXR1cm4gRVJSX1VOS05PV047DQorfQ0KKw0KKyNlbmRp
Zg0KKyNlbmRpZg0KKyNlbmRpZg0KKw0KKy8qIEhvdyBzaG91bGQgZWRpdG9y
IGhhZGxlIHRhYnMgaW4gdGhpcyBmaWxlPyBBZGQgZWRpdG9yIGNvbW1hbmRz
IGhlcmUuDQorICogdmltOiBub2V4cGFuZHRhYiBzdz04IHRzPTggc3RzPTg6
DQorICovDQpkaWZmIC1OcnUgb3JpZy9nYW1tdS0xLjI0LjAvbGliZ2FtbXUv
ZGV2aWNlL2JsdWV0b3RoL2JsdWVfYnNkLmggZ2FtbXUtMS4yNC4wL2xpYmdh
bW11L2RldmljZS9ibHVldG90aC9ibHVlX2JzZC5oDQotLS0gb3JpZy9nYW1t
dS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2JsdWV0b3RoL2JsdWVfYnNkLmgJ
MTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDANCisrKyBnYW1t
dS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2JsdWV0b3RoL2JsdWVfYnNkLmgJ
MjAwOS0wNS0yNSAxMzozNTo0NC4wMDAwMDAwMDAgKzAxMDANCkBAIC0wLDAg
KzEgQEANCisvKiBlbXB0eSBmaWxlICovDQpkaWZmIC1OcnUgb3JpZy9nYW1t
dS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2JsdWV0b3RoL2JsdWV0b3RoLmMg
Z2FtbXUtMS4yNC4wL2xpYmdhbW11L2RldmljZS9ibHVldG90aC9ibHVldG90
aC5jDQotLS0gb3JpZy9nYW1tdS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2Js
dWV0b3RoL2JsdWV0b3RoLmMJMjAwOS0wMi0xMiAxNDoxOTowMS4wMDAwMDAw
MDAgKzAwMDANCisrKyBnYW1tdS0xLjI0LjAvbGliZ2FtbXUvZGV2aWNlL2Js
dWV0b3RoL2JsdWV0b3RoLmMJMjAwOS0wNS0yMiAwOTo0NDoyOS4wMDAwMDAw
MDAgKzAxMDANCkBAIC0yMSw4ICsyMSw4IEBADQogI2lmZGVmIEJMVUVaX0ZP
VU5EDQogIyAgaW5jbHVkZSAiYmx1ZXouaCINCiAjZW5kaWYNCi0jaWZkZWYg
RkJTRF9CTFVFX0ZPVU5EDQotIyAgaW5jbHVkZSAiYmx1ZV9mYnNkLmgiDQor
I2lmZGVmIEJTRF9CTFVFX0ZPVU5EDQorIyAgaW5jbHVkZSAiYmx1ZV9ic2Qu
aCINCiAjZW5kaWYNCiAjaWZkZWYgT1NYX0JMVUVfRk9VTkQNCiAjICBpbmNs
dWRlICJibHVlX29zeC5oIg0K

--0-1972968182-1243255626=:27920--



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