Return-Path: MIME-Version: 1.0 In-Reply-To: <200911131343.21326.jcaden@libresoft.es> References: <200911131343.21326.jcaden@libresoft.es> Date: Mon, 16 Nov 2009 15:52:46 -0200 Message-ID: Subject: Re: [PATCH] SDP patch to add support for HDP From: Claudio Takahasi To: jcaden@libresoft.es Cc: "linux-bluetooth@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: SGkgSm9zZScsCgpncGcgZGlzYWJsZWQgOi0pCgpPbiBGcmksIE5vdiAxMywgMjAwOSBhdCAxMDo0 MyBBTSwgSm9zw6kgQW50b25pbyBTYW50b3MgQ2FkZW5hcwo8amNhZGVuQGxpYnJlc29mdC5lcz4g d3JvdGU6Cj4gVGhpcyBwYXRjaCB0cmllcyB0byBzaW1wbGlmeSB0aGUgd2F5IHRoZSBTRFAgcmVj b3JkcyBmb3IgSERQIGFyZSBjcmVhdGVkLiBUaGUKPiBjcmVhdGVkIGZ1bmN0aW9ucyBhbGxvdyBh ZGRpbmcgc3VwcG9ydGVkIGZlYXR1cmVzIGVhc2lseSB0byBhbiBzZHAgcmVjb3JkLiBUaGUKPiBh cmUgc2ltaWxhciB0byBzZHBfc2V0X3Byb2ZpbGVfZGVzY3MgYW5kIHNkcF9nZXRfcHJvZmlsZV9k ZXNjcy4gwqBJJ3ZlIGFsc28gYWRkZWQKPiBzb21lIG1hY3JvcyB0byBkZWZpbmUgbmV3IFVVSUQn cyBmb3IgSERQLgo+Cj4KPiBkaWZmIC0tZ2l0IGEvbGliL3NkcC5jIGIvbGliL3NkcC5jCj4gaW5k ZXggODIyZWMxYS4uOTM0OTBlNyAxMDA2NDQKPiAtLS0gYS9saWIvc2RwLmMKPiArKysgYi9saWIv c2RwLmMKPiBAQCAtNDYyMSwzICs0NjIxLDgyIEBAIHVpbnQxNl90IHNkcF9nZW5fdGlkKHNkcF9z ZXNzaW9uX3QgKnNlc3Npb24pCj4gwqB7Cj4gwqAgwqAgwqAgwqByZXR1cm4gc2Vzc2lvbi0+dGlk Kys7Cj4gwqB9Cj4gKwo+ICsvKgo+ICsqIFNldCB0aGUgc3VwcG9ydGVkIGZlYXR1cmVzCj4gKyov Cj4gK3ZvaWQgc2RwX3NldF9zdXBwX2ZlYXQoc2RwX3JlY29yZF90ICpyZWMsIGNvbnN0IHNkcF9s aXN0X3QgKnNmKQo+ICt7Cj4gKyDCoCDCoCDCoCBjb25zdCBzZHBfbGlzdF90ICpwLCAqcjsKPiAr IMKgIMKgIMKgIHNkcF9kYXRhX3QgKmZlYXQgPSBOVUxMLCAqc2VxX2ZlYXQgPSBOVUxMOwpBdm9p ZCBkZWNsYXJhdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24uCgo+ICsKPiArIMKgIMKgIMKgIGludCBz ZXFsZW4gPSBzZHBfbGlzdF9sZW4oc2YpOwo+ICsgwqAgwqAgwqAgdm9pZCAqKnNlcURURHMgPSAo dm9pZCAqKiltYWxsb2MgKHNlcWxlbiAqIMKgc2l6ZW9mKHZvaWQgKikpOwo+ICsgwqAgwqAgwqAg dm9pZCAqKnNlcVZhbHMgPSAodm9pZCAqKiltYWxsb2MgKHNlcWxlbiAqIMKgc2l6ZW9mKHZvaWQg KikpOwo+ICsgwqAgwqAgwqAgaW50IGkgPSAwOwo+ICsKPiArIMKgIMKgIMKgIGZvciAocCA9IHNm OyBwOyBwID0gcC0+bmV4dCkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaW50IHBsZW4gPSBz ZHBfbGlzdF9sZW4ocC0+ZGF0YSk7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCB2b2lkICoqZHRk cyA9ICh2b2lkICoqKW1hbGxvYyAocGxlbiAqIMKgc2l6ZW9mKHZvaWQgKikpOwo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgdm9pZCAqKnZhbHMgPSAodm9pZCAqKiltYWxsb2MgKHBsZW4gKiDCoHNp emVvZih2b2lkICopKTsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGludCBqID0gMDsKPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIGZvciAocj1wLT5kYXRhOyByOyByID0gci0+bmV4dCkgewpjb2Rp bmcgc3R5bGU6IG1pc3Npbmcgc3BhY2UgInI9cC0+ZGF0YSIKCj4gKyDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBzZHBfZGF0YV90ICpkYXRhID0gKHNkcF9kYXRhX3QqKXItPmRhdGE7 Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBkdGRzW2pdID0gJmRhdGEtPmR0 ZDsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHZhbHNbal0gPSAmZGF0YS0+ dmFsOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaisrOwo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZmVhdCA9IHNkcF9zZXFf YWxsb2MoZHRkcywgdmFscywgcGxlbik7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBmcmVlKGR0 ZHMpOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZnJlZSh2YWxzKTsKPiArCj4gKyDCoCDCoCDC oCDCoCDCoCDCoCDCoCBzZXFEVERzW2ldID0gJmZlYXQtPmR0ZDsKPiArIMKgIMKgIMKgIMKgIMKg IMKgIMKgIHNlcVZhbHNbaV0gPSBmZWF0Owo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaSsrOwo+ ICsgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgc2VxX2ZlYXQgPSBzZHBfc2VxX2FsbG9jKHNlcURU RHMsIHNlcVZhbHMsIHNlcWxlbik7Cj4gKwo+ICsgwqAgwqAgwqAgc2RwX2F0dHJfcmVwbGFjZShy ZWMsIFNEUF9BVFRSX1NVUFBPUlRFRF9GRUFUVVJFU19MSVNULCBzZXFfZmVhdCk7CkNoZWNrIGlm IHNlcURURHMgYW5kIHNlcVZhbHMgbmVlZCB0byBiZSBmcmVlZC4KCj4gK30KPiArCj4gKy8qCj4g KyAqIEdldCB0aGUgc3VwcG9ydGVkIGZlYXR1cmVzCj4gKyAqIElmIGFuIGVycm9yIG9jY3VycmVk IC0xIGlzIHJldHVybmVkIGFuZCBlcnJubyBpcyBzZXQKPiArICovCj4gK2ludCBzZHBfZ2V0X3N1 cHBfZmVhdCAoY29uc3Qgc2RwX3JlY29yZF90ICpyZWMsIHNkcF9saXN0X3QgKipzZXFwKQo+ICt7 Cj4gKwo+ICsgwqAgwqAgwqAgKnNlcXAgPSBOVUxMOwo+ICsgwqAgwqAgwqAgc2RwX2RhdGFfdCAq IHNkcGRhdGEgPSBOVUxMOwpDb21waWxlciB3YXJuaW5nOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQg ZGVjbGFyYXRpb25zIGFuZCBjb2RlLiBSZW1vdmUKZXh0cmEgc3BhY2UgYW5kICJzZHBkYXRhIiBp bml0aWFsaXphdGlvbi4KCkF2b2lkIG5lc3RlZCBpZi9lbHNlL2ZvcjoKCj4gKwo+ICsgwqAgwqAg wqAgc2RwZGF0YSA9IHNkcF9kYXRhX2dldChyZWMsIFNEUF9BVFRSX1NVUFBPUlRFRF9GRUFUVVJF U19MSVNUKTsKPiArIMKgIMKgIMKgIGlmIChzZHBkYXRhICYmIHNkcGRhdGEtPmR0ZCA+PSBTRFBf U0VROCAmJiBzZHBkYXRhLT5kdGQgPD0gU0RQX1NFUTMyKSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDC oCDCoCBzZHBfZGF0YV90ICpkOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZm9yIChkID0gc2Rw ZGF0YS0+dmFsLmRhdGFzZXE7IGQ7IGQgPSBkLT5uZXh0KSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCBpZiAoIGQtPmR0ZCA+PSBTRFBfU0VROCAmJiBkLT5kdGQgPD0gU0RQ X1NFUTMyICkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgc2RwX2RhdGFfdCAqZGQ7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBzZHBfbGlzdF90ICpzdWJzZXEgPSBOVUxMOwo+ICsgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZm9yIChkZCA9IGQtPnZhbC5kYXRhc2VxOyBk ZDsgZGQgPSBkZC0+bmV4dCkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgc2RwX2RhdGFfdCAqZGF0YTsKPiArIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICggZGQtPmR0 ZCAhPSBTRFBfVUlOVDggJiYKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGRkLT5kdGQgIT0gU0RQX1VJTlQxNiAm Jgo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgZGQtPmR0ZCAhPSBTRFBfVEVYVF9TVFI4KQo+ICsgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgZ290byBmYWlsOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgZGF0YSA9IHNkcF9kYXRhX2FsbG9jKGRkLT5kdGQsICZkZC0+dmFs KTsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIHN1YnNlcSA9IHNkcF9saXN0X2FwcGVuZChzdWJzZXEsIGRhdGEpOwo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKnNlcXAgPSBzZHBfbGlzdF9hcHBlbmQg KCpzZXFwLCBzdWJzZXEpOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfSBl bHNlCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBnb3Rv IGZhaWw7CklmIHlvdSBpbnZlcnQgdGhlIGxvZ2ljIHlvdSBkb24ndCBuZWVkIHRoaXMgImdvdG8i Cgo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcmV0 dXJuIDA7Cj4gKyDCoCDCoCDCoCB9Cj4gKwo+ICsKUmVtb3ZlIGV4dHJhIGxpbmUuCkRvIHlvdSBo YXZlIGFuIGFwcGxpY2F0aW9uIG9yIHNkcHRvb2wncyBwYXRjaCB0byB0ZXN0IHRoZXNlIGZ1bmN0 aW9ucz8KCkJyLApDbGF1ZGlvLgo+ICsgwqAgwqAgwqAgcmV0dXJuIHNkcF9nZXRfdXVpZHNlcV9h dHRyKHJlYywgU0RQX0FUVFJfU1VQUE9SVEVEX0ZFQVRVUkVTX0xJU1QsIHNlcXApOwo+ICsKPiAr ZmFpbDoKPiArIMKgIMKgIMKgIHNkcF9saXN0X2ZyZWUoKnNlcXAsIGZyZWUpOwo+ICsgwqAgwqAg wqAgZXJybm8gPSBFSU5WQUw7Cj4gKyDCoCDCoCDCoCByZXR1cm4gLTE7Cj4gK30KPiBkaWZmIC0t Z2l0IGEvbGliL3NkcC5oIGIvbGliL3NkcC5oCj4gaW5kZXggMzc1MjYxZS4uMWJiMzUxYSAxMDA2 NDQKPiAtLS0gYS9saWIvc2RwLmgKPiArKysgYi9saWIvc2RwLmgKPiBAQCAtMjQ0LDEzICsyNDQs MTYgQEAgZXh0ZXJuICJDIiB7Cj4gwqAjZGVmaW5lIFNEUF9BVFRSX0dST1VQX0lEIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMHgwMjAwCj4gwqAjZGVmaW5lIFNEUF9BVFRSX0lQX1NV Qk5FVCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAweDAyMDAKPiDCoCNkZWZpbmUgU0RQ X0FUVFJfVkVSU0lPTl9OVU1fTElTVCDCoCDCoCDCoCDCoCDCoCDCoCDCoDB4MDIwMAo+ICsjZGVm aW5lIFNEUF9BVFRSX1NVUFBPUlRFRF9GRUFUVVJFU19MSVNUIDB4MDIwMAo+IMKgI2RlZmluZSBT RFBfQVRUUl9TVkNEQl9TVEFURSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAweDAyMDEKPgo+ IMKgI2RlZmluZSBTRFBfQVRUUl9TRVJWSUNFX1ZFUlNJT04gwqAgwqAgwqAgwqAgwqAgwqAgwqAg MHgwMzAwCj4gwqAjZGVmaW5lIFNEUF9BVFRSX0VYVEVSTkFMX05FVFdPUksgwqAgwqAgwqAgwqAg wqAgwqAgwqAweDAzMDEKPiDCoCNkZWZpbmUgU0RQX0FUVFJfU1VQUE9SVEVEX0RBVEFfU1RPUkVT X0xJU1QgwqAgwqAweDAzMDEKPiArI2RlZmluZSBTRFBfQVRUUl9EQVRBX0VYQ0hBTkdFX1NQRUMg wqAgwqAgwqAgwqAgwqAgwqAweDAzMDEKPiDCoCNkZWZpbmUgU0RQX0FUVFJfRkFYX0NMQVNTMV9T VVBQT1JUIMKgIMKgIMKgIMKgIMKgIMKgMHgwMzAyCj4gwqAjZGVmaW5lIFNEUF9BVFRSX1JFTU9U RV9BVURJT19WT0xVTUVfQ09OVFJPTCDCoCAweDAzMDIKPiArI2RlZmluZSBTRFBfQVRUUl9NQ0FQ X1NVUFBPUlRFRF9QUk9DRURVUkVTIMKgIMKgIDB4MDMwMgo+IMKgI2RlZmluZSBTRFBfQVRUUl9G QVhfQ0xBU1MyMF9TVVBQT1JUIMKgIMKgIMKgIMKgIMKgIDB4MDMwMwo+IMKgI2RlZmluZSBTRFBf QVRUUl9TVVBQT1JURURfRk9STUFUU19MSVNUIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMHgwMzAz Cj4gwqAjZGVmaW5lIFNEUF9BVFRSX0ZBWF9DTEFTUzJfU1VQUE9SVCDCoCDCoCDCoCDCoCDCoCDC oDB4MDMwNAo+IGRpZmYgLS1naXQgYS9saWIvc2RwX2xpYi5oIGIvbGliL3NkcF9saWIuaAo+IGlu ZGV4IGVlMzlkZjguLjQxZDU3ODYgMTAwNjQ0Cj4gLS0tIGEvbGliL3NkcF9saWIuaAo+ICsrKyBi L2xpYi9zZHBfbGliLmgKPiBAQCAtNTg1LDYgKzU4NSwxOSBAQCBzdGF0aWMgaW5saW5lIGludCBz ZHBfZ2V0X2ljb25fdXJsKGNvbnN0IHNkcF9yZWNvcmRfdAo+ICpyZWMsIGNoYXIgKnN0ciwgaW50 IGxlbikKPiDCoCDCoCDCoCDCoHJldHVybiBzZHBfZ2V0X3N0cmluZ19hdHRyKHJlYywgU0RQX0FU VFJfSUNPTl9VUkwsIHN0ciwgbGVuKTsKPiDCoH0KPgo+ICsvKgo+ICsgKiBTZXQgdGhlIHN1cHBv cnRlZCBmZWF0dXJlcwo+ICsgKiBzZiBzaG91bGQgYmUgYSBsaXN0IG9mIGxpc3Qgd2l0aCBlYWNo IGZlYXR1cmUgZGF0YQo+ICsgKi8KPiArdm9pZCBzZHBfc2V0X3N1cHBfZmVhdChzZHBfcmVjb3Jk X3QgKnJlYywgY29uc3Qgc2RwX2xpc3RfdCAqc2YpOwo+ICsKPiArLyoKPiArICogR2V0IHRoZSBz dXBwb3J0ZWQgZmVhdHVyZXMKPiArICogc2VxcCBpcyBzZXQgdG8gYSBsaXN0IG9mIGxpc3Qgd2l0 aCBlYWNoIGZlYXR1cmUgZGF0YQo+ICsgKiBJZiBhbiBlcnJvciBvY2N1cnJlZCAtMSBpcyByZXR1 cm5lZCBhbmQgZXJybm8gaXMgc2V0Cj4gKyAqLwo+ICtpbnQgc2RwX2dldF9zdXBwX2ZlYXQgKGNv bnN0IHNkcF9yZWNvcmRfdCAqcmVjLCBzZHBfbGlzdF90ICoqc2VxcCk7Cj4gKwo+IMKgc2RwX3Jl Y29yZF90ICpzZHBfZXh0cmFjdF9wZHUoY29uc3QgdWludDhfdCAqcGRhdGEsIGludCBidWZzaXpl LCBpbnQKPiAqc2Nhbm5lZCk7Cj4gwqBzZHBfcmVjb3JkX3QgKnNkcF9jb3B5X3JlY29yZChzZHBf cmVjb3JkX3QgKnJlYyk7Cj4KPgo=