[Prism54-devel] [PATCH] AVS rf-monitor header

Antonio Eugenio Burriel aeb@ryanstudios.com
Fri, 19 Mar 2004 02:35:22 +0100


--=-/AB3hEAEGMzmLJmaT+aV
Content-Type: multipart/mixed; boundary="=-hanz34mCG6aLH9QX6v2C"


--=-hanz34mCG6aLH9QX6v2C
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi all,

The idea was simple: to let Kismet log received signal levels.

I studied that 20 bytes header and identified the most relevant fields.
There're at least 2 flags fields hanging around.
I chose the AVS WLAN monitor header. Tested with pcap and kismet. Not
sure if there are any other good choices. Comments?

The hack it's too ugly. I'm just a kernel-newbie and I'm too stressed to
do it better today. However the work is pretty simple.

I've contemplated the option of choosing between the old capture framing
('classical style') and this one. Maybe could be of interest choosing
between any of them (an ioctl for example?)? and to choose between
discard or not the bad frames?


--=-hanz34mCG6aLH9QX6v2C
Content-Disposition: attachment; filename=prism54-avs-monitor.patch
Content-Type: text/x-patch; name=prism54-avs-monitor.patch; charset=ISO-8859-15
Content-Transfer-Encoding: base64

ZGlmZiAtdXIgcHJpc201NC1jdnMyMDA0MDMxOC9rc3JjL2lzbF9pb2N0bC5jIHByaXNtNTQtMjAw
NDAzMTgtYWViL2tzcmMvaXNsX2lvY3RsLmMNCi0tLSBwcmlzbTU0LWN2czIwMDQwMzE4L2tzcmMv
aXNsX2lvY3RsLmMJMjAwNC0wMy0xOCAwNjoyNToyNC4wMDAwMDAwMDAgKzAxMDANCisrKyBwcmlz
bTU0LTIwMDQwMzE4LWFlYi9rc3JjL2lzbF9pb2N0bC5jCTIwMDQtMDMtMTkgMDE6MDU6MjYuMDAw
MDAwMDAwICswMTAwDQpAQCAtMzIxLDM4ICszMjEsNTAgQEANCiAJcmV0dXJuIHJ2YWx1ZTsNCiB9
DQogDQotc3RhdGljIGludA0KLXByaXNtNTRfc2V0X2ZyZXEoc3RydWN0IG5ldF9kZXZpY2UgKm5k
ZXYsIHN0cnVjdCBpd19yZXF1ZXN0X2luZm8gKmluZm8sDQotCQkgc3RydWN0IGl3X2ZyZXEgKmZ3
cnEsIGNoYXIgKmV4dHJhKQ0KKw0KK2ludA0KK2ZyZXEyY2hhbm5lbChpbnQgbSwgaW50IGUpDQog
ew0KLQlpc2xwY2lfcHJpdmF0ZSAqcHJpdiA9IG5ldGRldl9wcml2KG5kZXYpOw0KLQlpbnQgcnZh
bHVlOw0KIAl1MzIgYyA9IDA7DQogDQotCS8qIHByZXBhcmUgdGhlIHN0cnVjdHVyZSBmb3IgdGhl
IHNldCBvYmplY3QgKi8NCi0JaWYgKGZ3cnEtPm0gPCAxMDAwKQ0KKwlpZiAobSA8IDEwMDApDQog
CQkvKiBzdHJ1Y3R1cmUgdmFsdWUgY29udGFpbnMgYSBjaGFubmVsIGluZGljYXRpb24gKi8NCi0J
CWMgPSBmd3JxLT5tOw0KKwkJcmV0dXJuIG07DQogCWVsc2Ugew0KLQkJLyogc3RydWN0dXJlIGNv
bnRhaW5zIGEgZnJlcXVlbmN5IGluZGljYXRpb24gYW5kIGZ3cnEtPmUgPSAxICovDQotCQlpbnQg
ZiA9IGZ3cnEtPm0gLyAxMDAwMDA7DQorCQkvKiBtYW50aXNzYSBjb250YWlucyBhIGZyZXF1ZW5j
eSBpbmRpY2F0aW9uIGFuZCBleHBvbmVudCA9IDEgKi8NCisJCWludCBmID0gKGYgPiAxMDAwMDAg
PyBtIC8gMTAwMDAwIDogbSk7DQogDQotCQlpZiAoZndycS0+ZSAhPSAxKQ0KLQkJCXJldHVybiAt
RUlOVkFMOw0KKwkJaWYgKGUgIT0gMSkNCisJCQlyZXR1cm4gLTE7DQogCQlpZiAoKGYgPj0gMjQx
MikgJiYgKGYgPD0gMjQ4NCkpIHsNCiAJCQl3aGlsZSAoKGMgPCAxNCkgJiYgKGYgIT0gZnJlcXVl
bmN5X2xpc3RfYmdbY10pKQ0KIAkJCQljKys7DQogCQkJaWYgKGMgPj0gMTQpDQotCQkJCXJldHVy
biAtRUlOVkFMOw0KKwkJCQlyZXR1cm4gLTE7DQogCQl9IGVsc2UgaWYgKChmID49IChpbnQpIDUx
NzApICYmIChmIDw9IChpbnQpIDUzMjApKSB7DQogCQkJd2hpbGUgKChjIDwgMTIpICYmIChmICE9
IGZyZXF1ZW5jeV9saXN0X2FbY10pKQ0KIAkJCQljKys7DQogCQkJaWYgKGMgPj0gMTIpDQotCQkJ
CXJldHVybiAtRUlOVkFMOw0KKwkJCQlyZXR1cm4gLTE7DQogCQl9IGVsc2UNCi0JCQlyZXR1cm4g
LUVJTlZBTDsNCisJCQlyZXR1cm4gLTE7DQogCQljKys7DQogCX0NCisJcmV0dXJuIGM7DQorfQ0K
Kw0KK3N0YXRpYyBpbnQNCitwcmlzbTU0X3NldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2
LCBzdHJ1Y3QgaXdfcmVxdWVzdF9pbmZvICppbmZvLA0KKwkJIHN0cnVjdCBpd19mcmVxICpmd3Jx
LCBjaGFyICpleHRyYSkNCit7DQorCWlzbHBjaV9wcml2YXRlICpwcml2ID0gbmV0ZGV2X3ByaXYo
bmRldik7DQorCWludCBydmFsdWU7DQorCXUzMiBjID0gMDsNCisNCisJLyogcHJlcGFyZSB0aGUg
c3RydWN0dXJlIGZvciB0aGUgc2V0IG9iamVjdCAqLw0KKwljID0gZnJlcTJjaGFubmVsKGZ3cnEt
Pm0sZndycS0+ZSk7DQorCWlmIChjPDApDQorCQlyZXR1cm4gLUVJTlZBTDsNCiANCiAJcnZhbHVl
ID0gbWd0X3NldF9yZXF1ZXN0KHByaXYsIERPVDExX09JRF9DSEFOTkVMLCAwLCAmYyk7DQogDQpA
QCAtNDEwLDcgKzQyMiw3IEBADQogDQogCW1ndF9jb21taXQocHJpdik7DQogCXByaXYtPm5kZXYt
PnR5cGUgPSAocHJpdi0+aXdfbW9kZSA9PSBJV19NT0RFX01PTklUT1IpDQotCSAgICA/IEFSUEhS
RF9JRUVFODAyMTEgOiBBUlBIUkRfRVRIRVI7DQorCSAgICA/IEFSUEhSRF9JRUVFODAyMTFfUFJJ
U00gOiBBUlBIUkRfRVRIRVI7DQogCXVwX3dyaXRlKCZwcml2LT5taWJfc2VtKTsNCiANCiAJcmV0
dXJuIDA7DQpkaWZmIC11ciBwcmlzbTU0LWN2czIwMDQwMzE4L2tzcmMvaXNsX2lvY3RsLmggcHJp
c201NC0yMDA0MDMxOC1hZWIva3NyYy9pc2xfaW9jdGwuaA0KLS0tIHByaXNtNTQtY3ZzMjAwNDAz
MTgva3NyYy9pc2xfaW9jdGwuaAkyMDA0LTAzLTE4IDA2OjI1OjI0LjAwMDAwMDAwMCArMDEwMA0K
KysrIHByaXNtNTQtMjAwNDAzMTgtYWViL2tzcmMvaXNsX2lvY3RsLmgJMjAwNC0wMy0xOSAwMDo1
MzowNS4wMDAwMDAwMDAgKzAxMDANCkBAIC01Miw0ICs1Miw1IEBADQogDQogZXh0ZXJuIGNvbnN0
IHN0cnVjdCBpd19oYW5kbGVyX2RlZiBwcmlzbTU0X2hhbmRsZXJfZGVmOw0KIA0KK2ludCBmcmVx
MmNoYW5uZWwoaW50LCBpbnQpOw0KICNlbmRpZgkJCQkvKiBfSVNMX0lPQ1RMX0ggKi8NCmRpZmYg
LXVyIHByaXNtNTQtY3ZzMjAwNDAzMTgva3NyYy9pc2xwY2lfZGV2LmMgcHJpc201NC0yMDA0MDMx
OC1hZWIva3NyYy9pc2xwY2lfZGV2LmMNCi0tLSBwcmlzbTU0LWN2czIwMDQwMzE4L2tzcmMvaXNs
cGNpX2Rldi5jCTIwMDQtMDMtMTggMDY6MjU6MjQuMDAwMDAwMDAwICswMTAwDQorKysgcHJpc201
NC0yMDA0MDMxOC1hZWIva3NyYy9pc2xwY2lfZGV2LmMJMjAwNC0wMy0xOSAwMDozMzoxNC4wMDAw
MDAwMDAgKzAxMDANCkBAIC03MTcsNyArNzE3LDcgQEANCiAJcHJpdi0+cGRldiA9IHBkZXY7DQog
DQogCXByaXYtPm5kZXYtPnR5cGUgPSAocHJpdi0+aXdfbW9kZSA9PSBJV19NT0RFX01PTklUT1Ip
ID8NCi0JCUFSUEhSRF9JRUVFODAyMTE6IEFSUEhSRF9FVEhFUjsNCisJCUFSUEhSRF9JRUVFODAy
MTFfUFJJU006IEFSUEhSRF9FVEhFUjsNCiANCiAJLyogc2F2ZSB0aGUgc3RhcnQgYW5kIGVuZCBh
ZGRyZXNzIG9mIHRoZSBQQ0kgbWVtb3J5IGFyZWEgKi8NCiAJbmRldi0+bWVtX3N0YXJ0ID0gKHVu
c2lnbmVkIGxvbmcpIHByaXYtPmRldmljZV9iYXNlOw0KZGlmZiAtdXIgcHJpc201NC1jdnMyMDA0
MDMxOC9rc3JjL2lzbHBjaV9ldGguYyBwcmlzbTU0LTIwMDQwMzE4LWFlYi9rc3JjL2lzbHBjaV9l
dGguYw0KLS0tIHByaXNtNTQtY3ZzMjAwNDAzMTgva3NyYy9pc2xwY2lfZXRoLmMJMjAwNC0wMy0x
OCAwNjoyNToyNC4wMDAwMDAwMDAgKzAxMDANCisrKyBwcmlzbTU0LTIwMDQwMzE4LWFlYi9rc3Jj
L2lzbHBjaV9ldGguYwkyMDA0LTAzLTE5IDAxOjU5OjIzLjAwMDAwMDAwMCArMDEwMA0KQEAgLTEs
NCArMSw0IEBADQotLyogICRIZWFkZXI6IC92YXIvbGliL2N2cy9wcmlzbTU0LW5nL2tzcmMvaXNs
cGNpX2V0aC5jLHYgMS4yOSAyMDA0LzAzLzE4IDA1OjI1OjI0IG1jZ3JvZiBFeHAgJA0KKy8qDQog
ICogIA0KICAqICBDb3B5cmlnaHQgKEMpIDIwMDIgSW50ZXJzaWwgQW1lcmljYXMgSW5jLg0KICAq
DQpAQCAtMjQsNiArMjQsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPg0KICNpbmNsdWRl
IDxsaW51eC9uZXRkZXZpY2UuaD4NCiAjaW5jbHVkZSA8bGludXgvZXRoZXJkZXZpY2UuaD4NCisj
aW5jbHVkZSA8bGludXgvaWZfYXJwLmg+DQogDQogI2luY2x1ZGUgImlzbF8zOHh4LmgiDQogI2lu
Y2x1ZGUgImlzbHBjaV9ldGguaCINCkBAIC0yNTUsNiArMjU2LDkgQEANCiAJdTE2IHNpemU7DQog
CXUzMiBpbmRleCwgb2Zmc2V0Ow0KIAl1bnNpZ25lZCBjaGFyICpzcmM7DQorCXJmbW9uX2hlYWRl
ciAqcmZtLHRtcDsNCisJYXZzXzgwMjExXzFfaGVhZGVyICphdnM7DQorCS8qdTMyICpmY3M7Ki8N
CiAJaW50IGRpc2NhcmQgPSAwOw0KIA0KICNpZiBWRVJCT1NFID4gU0hPV19FUlJPUl9NRVNTQUdF
Uw0KQEAgLTMxNiwxMSArMzIwLDEyIEBADQogDQogCS8qIHRha2UgY2FyZSBvZiBtb25pdG9yIG1v
ZGUgKi8NCiAJaWYgKHByaXYtPml3X21vZGUgPT0gSVdfTU9ERV9NT05JVE9SKSB7DQorCQlyZm09
KHJmbW9uX2hlYWRlciAqKXNrYi0+ZGF0YTsNCiAJCS8qIFRoZSBjYXJkIHJlcG9ydHMgZnVsbCA4
MDIuMTEgcGFja2V0cyBidXQgd2l0aCBhIDIwIGJ5dGVzDQogCQkgKiBoZWFkZXIgYW5kIHdpdGhv
dXQgdGhlIEZDUy4gQnV0IHRoZXJlIGEgaXMgYSBiaXQgdGhhdA0KIAkJICogaW5kaWNhdGVzIGlm
IHRoZSBwYWNrZXQgaXMgY29ycnVwdGVkIDotKSAqLw0KIAkJLyogaW50IGk7ICovDQotCQlpZiAo
c2tiLT5kYXRhWzhdICYgMHgwMSl7DQorCQlpZiAocmZtLT5vayAmIDB4MDEpew0KIAkJCS8qIFRo
aXMgb25lIGlzIGJhZC4gRHJvcCBpdCAhKi8NCiAJCQlkaXNjYXJkID0gMTsNCiAJCQkvKiBwcmlu
dGsoIkJBRFxuIik7Ki8NCkBAIC0zMjksMTEgKzMzNCw1NyBAQA0KIAkJZm9yKGk9MDtpPDUwO2kr
KykNCiAJCQlwcmludGsoIiUyLjJYOiIsc2tiLT5kYXRhW2ldKTsNCiAJCXByaW50aygiXG4iKTsN
Ci0JCSovCQkNCi0JCXNrYl9wdWxsKHNrYiwgMjApOw0KKwkJKi8NCisJCWlmKHByaXYtPm5kZXYt
PnR5cGUhPUFSUEhSRF9JRUVFODAyMTFfUFJJU00pIHsNCisJCQlza2JfcHVsbChza2IsIDIwKTsg
LyogcmVtb3ZlIHRoYXQgaGVhZGVyICovDQorCQl9IGVsc2Ugew0KKwkJCS8qIGV4dHJhY3QgdGhl
IHJlbGV2YW50IGRhdGEgZnJvbSB0aGUgaGVhZGVyICovDQorCQkJdG1wLnRpbWU9cmZtLT50aW1l
Ow0KKwkJCXRtcC50eF9yYXRlPXJmbS0+dHhfcmF0ZTsNCisJCQl0bXAudHhfZnJlcT1yZm0tPnR4
X2ZyZXE7DQorCQkJdG1wLnNpZ25hbD1yZm0tPnNpZ25hbDsNCisJCQkNCisJCQlza2JfcHVsbChz
a2IsIDIwKTsgLyogcmVtb3ZlIGl0ICovDQorCQkJaWYoc2tiX2hlYWRyb29tKHNrYik8c2l6ZW9m
KGF2c184MDIxMV8xX2hlYWRlcikpIHsNCisJCQkJc3RydWN0IHNrX2J1ZmYgKm5ld3NrYjsNCisJ
CQkJbmV3c2tiPXNrYl9jb3B5X2V4cGFuZChza2Isc2l6ZW9mKGF2c184MDIxMV8xX2hlYWRlciks
MC8qc2l6ZW9mKHUzMikqLyxHRlBfQVRPTUlDKTsNCisJCQkJaWYobmV3c2tiIT1OVUxMKSB7DQor
CQkJCQlrZnJlZV9za2Ioc2tiKTsNCisJCQkJCXNrYj1uZXdza2I7DQorCQkJCQkvKmJldHRlciBl
cnJvciBjaGVja2luZyBuZWVkZWQqLw0KKwkJCQl9DQorCQkJfQ0KKwkJCWF2cz0oYXZzXzgwMjEx
XzFfaGVhZGVyICopc2tiX3B1c2goc2tiLCBzaXplb2YoYXZzXzgwMjExXzFfaGVhZGVyKSk7IC8q
IGFuZCBtYWtlIHJvb20gZm9yIHRoZSBuZXcgaGVhZGVyICovDQorCQkJLyogQWNjb3JkaW5nIHRv
IExpbnV4LVdsYW4tTkcgZG9jcywNCisJCQkgKiAiSWYgdGhlIGhhcmR3YXJlIGRvZXMgbm90IHN1
cHBseSB0aGUgRkNTIHRvIHRoZSBkcml2ZXIsIHRoZW4gdGhlIGZyYW1lIHNoYWxsDQorCQkJICog
aGF2ZSBhIEZDUyBvZiAweEZGRkZGRkZGLiINCisJCQkgKiBIb3dldmVyIEtpc21ldC1kZXZlbCBk
b2Vzbid0IGhvbm91ciB0aGlzLiBOZWl0aGVyIFBDYXAgZG9lcy4NCisJCQkgKiBIbW1tLCBJIGNv
dWxkIGJlIHdyb25nLiBBbmQgdGlyZWQgZm9yIHN1cmUuIFRpbWUgdG8gZ28gdG8gYmVkLiBVaCwg
Zm9yZ2V0IGl0LCBJIHRoaW5nIEkgZ290IGl0DQorCQkJICovDQorCQkJLy9mY3M9KHUzMiAqKXNr
Yl9wdXQoc2tiLHNpemVvZih1MzIpKTsgLyptYWtlIHJvb20gZm9yIHRoZSAoZmFrZSkgRkNTKi8N
CisJCQkvLypmY3M9MHhmZmZmZmZmZjsgLypuby1GQ1MgYXMgcmVxdWVzdGVkIGJ5IHRoZSBBVlMg
Q2FwdHVyZSBGcmFtZSBGb3JtYXQqLw0KKwkJCQ0KKwkJCQ0KKwkJCWF2cy0+dmVyc2lvbj1odG9u
bChQODAyMTFDQVBUVVJFX1ZFUlNJT04pOw0KKwkJCWF2cy0+bGVuZ3RoPWh0b25sKHNpemVvZihh
dnNfODAyMTFfMV9oZWFkZXIpKTsNCisJCQlhdnMtPm1hY3RpbWU9X19jcHVfdG9fYmU2NCh0bXAu
dGltZSk7DQorCQkJYXZzLT5ob3N0dGltZT1fX2NwdV90b19iZTY0KGppZmZpZXMpOw0KKwkJCWF2
cy0+cGh5dHlwZT1odG9ubCg2KTsgLypPRkRNOiA2IGZvciAoZyksIDggZm9yIChhKSovDQorCQkJ
Ly9hdnMtPmNoYW5uZWw9aHRvbmwodG1wLnR4X2ZyZXEpOyAvKmhlcmUgc2hvdWxkIGdvIHRoZSBj
aGFubmVsIGluc3RlYWQqLw0KKwkJCWF2cy0+Y2hhbm5lbD1odG9ubChmcmVxMmNoYW5uZWwodG1w
LnR4X2ZyZXEsMSkpOw0KKwkJCWF2cy0+ZGF0YXJhdGU9aHRvbmwodG1wLnR4X3JhdGUqNSk7DQor
CQkJYXZzLT5hbnRlbm5hPWh0b25sKDApOyAvKnVua25vd24qLw0KKwkJCWF2cy0+cHJpb3JpdHk9
aHRvbmwoMCk7IC8qdW5rbm93biovDQorCQkJYXZzLT5zc2lfdHlwZT1odG9ubCgzKTsgLyoyOiBk
Qm0sIDM6IHJhdyBSU1NJKi8NCisJCQlhdnMtPnNzaV9zaWduYWw9aHRvbmwodG1wLnNpZ25hbCk7
DQorCQkJYXZzLT5zc2lfbm9pc2U9aHRvbmwocHJpdi0+bG9jYWxfaXdzdGF0aXN0aWNzLnF1YWwu
bm9pc2UpOyAvKmJldHRlciB0aGFuICd1bmRlZmluZWQnLCBJIGFzc3VtZSovDQorCQkJYXZzLT5w
cmVhbWJsZT1odG9ubCgwKTsgLyp1bmtub3duKi8NCisJCQlhdnMtPmVuY29kaW5nPWh0b25sKDAp
OyAvKnVua25vd24qLw0KKwkJCX0NCiAJCXNrYi0+cHJvdG9jb2wgPSBodG9ucyhFVEhfUF84MDJf
Mik7DQogCQlza2ItPm1hYy5yYXcgPSBza2ItPmRhdGE7DQogCQlza2ItPnBrdF90eXBlID0gUEFD
S0VUX09USEVSSE9TVDsNCisNCiAJfSBlbHNlDQogCQlza2ItPnByb3RvY29sID0gZXRoX3R5cGVf
dHJhbnMoc2tiLCBuZGV2KTsNCiANCmRpZmYgLXVyIHByaXNtNTQtY3ZzMjAwNDAzMTgva3NyYy9p
c2xwY2lfZXRoLmggcHJpc201NC0yMDA0MDMxOC1hZWIva3NyYy9pc2xwY2lfZXRoLmgNCi0tLSBw
cmlzbTU0LWN2czIwMDQwMzE4L2tzcmMvaXNscGNpX2V0aC5oCTIwMDQtMDEtMTIgMjM6MTY6MzIu
MDAwMDAwMDAwICswMTAwDQorKysgcHJpc201NC0yMDA0MDMxOC1hZWIva3NyYy9pc2xwY2lfZXRo
LmgJMjAwNC0wMy0xOSAwMTowNjoyOC4wMDAwMDAwMDAgKzAxMDANCkBAIC0yMyw2ICsyMyw0NiBA
QA0KICNpbmNsdWRlICJpc2xfMzh4eC5oIg0KICNpbmNsdWRlICJpc2xwY2lfZGV2LmgiDQogDQor
dHlwZWRlZiBzdHJ1Y3Qgew0KKwl1OCB1bmsxOwkvKiAweDAwICovDQorCXU4IHVuazI7CS8qIDB4
MDAgKi8NCisJdTE2IGlkZW50aWY7CS8qIDB4MDAxNCAqLw0KKwl1MzIgdGltZTsJLyogMU1IeiBj
bG9jayBpbiBteSBjYXJkKi8NCisJdTggb2s7CQkvKiAweDAxPWludmFsaWQgZnJhbWUgKi8NCisJ
dTggdW5rMzsJLyogMHgwMCAqLw0KKwl1OCB0eF9yYXRlOwkvKiB0cmFuc21pdGlvbiBzcGVlZCAq
MiAoTWJpdHMvcykgKi8NCisJdTggdW5rNDsJLyogMHgwMCAqLw0KKwl1MTYgdHhfZnJlcTsJLyog
dHJhbnNtaXRpb24gZnJlcXVlbmN5IChNSHopICovDQorCXU4IGZsYWdzMTsJLyogMHgwMCAvIDB4
MDEgKi8NCisJdTggZmxhZ3MyOwkvKiAweDAwIC8gMHgwMSAqLw0KKwl1OCBzaWduYWw7CS8qIHNp
Z25hbCBsZXZlbCAoZEJtKSAqLw0KKwl1OCB1bms1OwkvKiAweDAwICovDQorCXU4IHVuazY7CS8q
IDB4MDAgKi8NCisJdTggdW5rNzsJLyogMHgwMCAqLw0KK30gcmZtb25faGVhZGVyOw0KKw0KKyNk
ZWZpbmUgUDgwMjExQ0FQVFVSRV9WRVJTSU9OIDB4ODAyMTEwMDENCisvLyB3bGFuLW5nIChhbmQg
aG9wZWZ1bGx5IG90aGVycykgQVZTIGhlYWRlciwgdmVyc2lvbiBvbmUuICBGaWVsZHMgaW4NCisv
LyBuZXR3b3JrIGJ5dGUgb3JkZXIuDQordHlwZWRlZiBzdHJ1Y3Qgew0KKwl1aW50MzJfdCB2ZXJz
aW9uOw0KKwl1aW50MzJfdCBsZW5ndGg7DQorCXVpbnQ2NF90IG1hY3RpbWU7DQorCXVpbnQ2NF90
IGhvc3R0aW1lOw0KKwl1aW50MzJfdCBwaHl0eXBlOw0KKwl1aW50MzJfdCBjaGFubmVsOw0KKwl1
aW50MzJfdCBkYXRhcmF0ZTsNCisJdWludDMyX3QgYW50ZW5uYTsNCisJdWludDMyX3QgcHJpb3Jp
dHk7DQorCXVpbnQzMl90IHNzaV90eXBlOw0KKwlpbnQzMl90IHNzaV9zaWduYWw7DQorCWludDMy
X3Qgc3NpX25vaXNlOw0KKwl1aW50MzJfdCBwcmVhbWJsZTsNCisJdWludDMyX3QgZW5jb2Rpbmc7
DQorfSBhdnNfODAyMTFfMV9oZWFkZXI7DQorDQorIGludCBmcmVxMmNoYW5uZWwoaW50LCBpbnQp
Ow0KKw0KIHZvaWQgaXNscGNpX2V0aF9jbGVhbnVwX3RyYW5zbWl0KGlzbHBjaV9wcml2YXRlICos
IGlzbDM4eHhfY29udHJvbF9ibG9jayAqKTsNCiBpbnQgaXNscGNpX2V0aF90cmFuc21pdChzdHJ1
Y3Qgc2tfYnVmZiAqLCBzdHJ1Y3QgbmV0X2RldmljZSAqKTsNCiBpbnQgaXNscGNpX2V0aF9yZWNl
aXZlKGlzbHBjaV9wcml2YXRlICopOw0K

--=-hanz34mCG6aLH9QX6v2C--

--=-/AB3hEAEGMzmLJmaT+aV
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBAWk5ZDwClThbmH4sRAjsYAKCnyuIdW2/Db4MTdpVI5Zjzxpcj1QCdHR4m
ae1OJHmuA4v4mKaezuNni9o=
=YTfp
-----END PGP SIGNATURE-----

--=-/AB3hEAEGMzmLJmaT+aV--