--------------Boundary-00=_DQGQTZJ0INPIVZH9VTX1 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit
Hello On Monday 12 November 2001 13:00, you wrote: > .... > > Attached is a slightly modified avision.c (simply replace the sane-1.0.6 > one). It doesn't yet do the software color-packing ... - But it includes > all vendor strings I was able to find, outputs some scanner parameters > in a readable way and (most importantly) it generated the gamma-table in > another way. It like to make Christian another test scan using this new > code (test my theory ...). > >... > > WARNING: All test are done on your own risk ... It recognised my scanner :-), but failed on reporting dimensions / resolutions ... I did not try to scan, but made some changes to the code in attach, which I am attaching (of course!), as well as a log. The relevant parts have comments with questions. I have two questions (and a side note) which may be of general interest to the list: a) coolscan uses sane.type = "slide scanner", canon uses "film scanner". Shouldn't the same name be used for both? b) Is there a backend that implements film strip sense/control (and works)? c) From backend/coolscan.c "This file implements a SANE backend for COOLSCAN flatbed scanners." Flatbed coolscan? Regards Ze Paulo --------------Boundary-00=_DQGQTZJ0INPIVZH9VTX1 Content-Type: text/english; name="sane.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sane.log" W3NhbmVpX2RlYnVnXSBTZXR0aW5nIGRlYnVnIGxldmVsIG9mIGF2aXNpb24gdG8gMjU1LgpbYXZp c2lvbl0gc2FuZV9pbml0OiBwYXJzaW5nIGNvbmZpZyBsaW5lICJzY3NpIEFWSVNJT04iClthdmlz aW9uXSBzYW5lX2luaXQ6IGNvbmZpZyBmaWxlIGxpbmUgMTogdHJ5aW5nIHRvIGF0dGFjaCBgc2Nz aSBBVklTSU9OJwpbYXZpc2lvbl0gc2FuZV9pbml0OiBwYXJzaW5nIGNvbmZpZyBsaW5lICIvZGV2 L3NnMCIKW2F2aXNpb25dIHNhbmVfaW5pdDogY29uZmlnIGZpbGUgbGluZSAyOiB0cnlpbmcgdG8g YXR0YWNoIGAvZGV2L3NnMCcKW2F2aXNpb25dIGF0dGFjaApbYXZpc2lvbl0gYXR0YWNoOiBvcGVu aW5nIC9kZXYvc2cwClthdmlzaW9uXSBhdHRhY2g6IHNlbmRpbmcgSU5RVUlSWQpbYXZpc2lvbl0g d2FpdF9yZWFkeTogc2VuZGluZyBURVNUX1VOSVRfUkVBRFkKW2F2aXNpb25dIGF0dGFjaDogSW5x dWlyeSBnaXZlcyBtZmc9TUlOT0xUQSwgbW9kZWw9RlMtVjEsIHByb2R1Y3QgcmV2aXNpb249MS4y My4KW2F2aXNpb25dIHJlc3VsdFsgIDBdIDAwMDAwMTEwYiAgIDZvICAgNmQgIDZ4ClthdmlzaW9u XSByZXN1bHRbICAxXSAxMDAwMDAwMGIgMjAwbyAxMjhkIDgweApbYXZpc2lvbl0gcmVzdWx0WyAg Ml0gMDAwMDAwMTBiICAgMm8gICAyZCAgMngKW2F2aXNpb25dIHJlc3VsdFsgIDNdIDAxMDAwMDEw YiAxMDJvICA2NmQgNDJ4ClthdmlzaW9uXSByZXN1bHRbICA0XSAwMTAxMTAxMWIgMTMzbyAgOTFk IDVieApbYXZpc2lvbl0gcmVzdWx0WyAgNV0gMDAwMDAwMDBiICAgMG8gICAwZCAgMHgKW2F2aXNp b25dIHJlc3VsdFsgIDZdIDAwMDAwMDAwYiAgIDBvICAgMGQgIDB4ClthdmlzaW9uXSByZXN1bHRb ICA3XSAwMDAwMDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVzdWx0WyAgOF0gMDEwMDEx MDFiIDExNW8gIDc3ZCA0ZHgKW2F2aXNpb25dIHJlc3VsdFsgIDldIDAxMDAxMDAxYiAxMTFvICA3 M2QgNDl4ClthdmlzaW9uXSByZXN1bHRbIDEwXSAwMTAwMTExMGIgMTE2byAgNzhkIDRleApbYXZp c2lvbl0gcmVzdWx0WyAxMV0gMDEwMDExMTFiIDExN28gIDc5ZCA0ZngKW2F2aXNpb25dIHJlc3Vs dFsgMTJdIDAxMDAxMTAwYiAxMTRvICA3NmQgNGN4ClthdmlzaW9uXSByZXN1bHRbIDEzXSAwMTAx MDEwMGIgMTI0byAgODRkIDU0eApbYXZpc2lvbl0gcmVzdWx0WyAxNF0gMDEwMDAwMDFiIDEwMW8g IDY1ZCA0MXgKW2F2aXNpb25dIHJlc3VsdFsgMTVdIDAwMTAwMDAwYiAgNDBvICAzMmQgMjB4Clth dmlzaW9uXSByZXN1bHRbIDE2XSAwMTAwMDExMGIgMTA2byAgNzBkIDQ2eApbYXZpc2lvbl0gcmVz dWx0WyAxN10gMDEwMTAwMTFiIDEyM28gIDgzZCA1M3gKW2F2aXNpb25dIHJlc3VsdFsgMThdIDAw MTAxMTAxYiAgNTVvICA0NWQgMmR4ClthdmlzaW9uXSByZXN1bHRbIDE5XSAwMTAxMDExMGIgMTI2 byAgODZkIDU2eApbYXZpc2lvbl0gcmVzdWx0WyAyMF0gMDAxMTAwMDFiICA2MW8gIDQ5ZCAzMXgK W2F2aXNpb25dIHJlc3VsdFsgMjFdIDAwMTAwMDAwYiAgNDBvICAzMmQgMjB4ClthdmlzaW9uXSBy ZXN1bHRbIDIyXSAwMDEwMDAwMGIgIDQwbyAgMzJkIDIweApbYXZpc2lvbl0gcmVzdWx0WyAyM10g MDAxMDAwMDBiICA0MG8gIDMyZCAyMHgKW2F2aXNpb25dIHJlc3VsdFsgMjRdIDAwMTAwMDAwYiAg NDBvICAzMmQgMjB4ClthdmlzaW9uXSByZXN1bHRbIDI1XSAwMDEwMDAwMGIgIDQwbyAgMzJkIDIw eApbYXZpc2lvbl0gcmVzdWx0WyAyNl0gMDAxMDAwMDBiICA0MG8gIDMyZCAyMHgKW2F2aXNpb25d IHJlc3VsdFsgMjddIDAwMTAwMDAwYiAgNDBvICAzMmQgMjB4ClthdmlzaW9uXSByZXN1bHRbIDI4 XSAwMDEwMDAwMGIgIDQwbyAgMzJkIDIweApbYXZpc2lvbl0gcmVzdWx0WyAyOV0gMDAxMDAwMDBi ICA0MG8gIDMyZCAyMHgKW2F2aXNpb25dIHJlc3VsdFsgMzBdIDAwMTAwMDAwYiAgNDBvICAzMmQg MjB4ClthdmlzaW9uXSByZXN1bHRbIDMxXSAwMDEwMDAwMGIgIDQwbyAgMzJkIDIweApbYXZpc2lv bl0gcmVzdWx0WyAzMl0gMDAxMTAwMDFiICA2MW8gIDQ5ZCAzMXgKW2F2aXNpb25dIHJlc3VsdFsg MzNdIDAwMTAxMTEwYiAgNTZvICA0NmQgMmV4ClthdmlzaW9uXSByZXN1bHRbIDM0XSAwMDExMDAx MGIgIDYybyAgNTBkIDMyeApbYXZpc2lvbl0gcmVzdWx0WyAzNV0gMDAxMTAwMTFiICA2M28gIDUx ZCAzM3gKW2F2aXNpb25dIHJlc3VsdFsgMzZdIDEwMTAwMDAwYiAyNDBvIDE2MGQgYTB4Clthdmlz aW9uXSByZXN1bHRbIDM3XSAwMDAwMDAxMWIgICAzbyAgIDNkICAzeApbYXZpc2lvbl0gcmVzdWx0 WyAzOF0gMDAwMDAxMTBiICAgNm8gICA2ZCAgNngKW2F2aXNpb25dIHJlc3VsdFsgMzldIDExMTAw MTExYiAzNDdvIDIzMWQgZTd4ClthdmlzaW9uXSByZXN1bHRbIDQwXSAwMDAwMTAxMWIgIDEzbyAg MTFkICBieApbYXZpc2lvbl0gcmVzdWx0WyA0MV0gMDAwMDAxMDBiICAgNG8gICA0ZCAgNHgKW2F2 aXNpb25dIHJlc3VsdFsgNDJdIDAwMDAxMDExYiAgMTNvICAxMWQgIGJ4ClthdmlzaW9uXSByZXN1 bHRbIDQzXSAwMDAwMDEwMGIgICA0byAgIDRkICA0eApbYXZpc2lvbl0gcmVzdWx0WyA0NF0gMDAw MDEwMTFiICAxM28gIDExZCAgYngKW2F2aXNpb25dIHJlc3VsdFsgNDVdIDAwMDAwMTAwYiAgIDRv ICAgNGQgIDR4ClthdmlzaW9uXSByZXN1bHRbIDQ2XSAwMDAwMTAxMWIgIDEzbyAgMTFkICBieApb YXZpc2lvbl0gcmVzdWx0WyA0N10gMDAwMDAxMDBiICAgNG8gICA0ZCAgNHgKW2F2aXNpb25dIHJl c3VsdFsgNDhdIDAwMDAwMDAwYiAgIDBvICAgMGQgIDB4ClthdmlzaW9uXSByZXN1bHRbIDQ5XSAw MDAwMDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVzdWx0WyA1MF0gMTEwMTEwMDFiIDMz MW8gMjE3ZCBkOXgKW2F2aXNpb25dIHJlc3VsdFsgNTFdIDEwMDEwMTAwYiAyMjRvIDE0OGQgOTR4 ClthdmlzaW9uXSByZXN1bHRbIDUyXSAxMTExMTAxMGIgMzcybyAyNTBkIGZheApbYXZpc2lvbl0g cmVzdWx0WyA1M10gMDAwMDEwMDBiICAxMG8gICA4ZCAgOHgKW2F2aXNpb25dIHJlc3VsdFsgNTRd IDAwMDAwMTAwYiAgIDRvICAgNGQgIDR4ClthdmlzaW9uXSByZXN1bHRbIDU1XSAwMDAwMDEwMGIg ICA0byAgIDRkICA0eApbYXZpc2lvbl0gcmVzdWx0WyA1Nl0gMDAwMDAwMTBiICAgMm8gICAyZCAg MngKW2F2aXNpb25dIHJlc3VsdFsgNTddIDAwMDAxMDAwYiAgMTBvICAgOGQgIDh4ClthdmlzaW9u XSByZXN1bHRbIDU4XSAwMDAwMTAwMGIgIDEwbyAgIDhkICA4eApbYXZpc2lvbl0gcmVzdWx0WyA1 OV0gMDAwMDEwMDBiICAxMG8gICA4ZCAgOHgKW2F2aXNpb25dIHJlc3VsdFsgNjBdIDExMDAwMDAw YiAzMDBvIDE5MmQgYzB4ClthdmlzaW9uXSByZXN1bHRbIDYxXSAxMTAxMDAwMGIgMzIwbyAyMDhk IGQweApbYXZpc2lvbl0gcmVzdWx0WyA2Ml0gMTAxMDEwMDBiIDI1MG8gMTY4ZCBhOHgKW2F2aXNp b25dIHJlc3VsdFsgNjNdIDAwMDAwMTAxYiAgIDVvICAgNWQgIDV4ClthdmlzaW9uXSByZXN1bHRb IDY0XSAwMDAwMDAwMWIgICAxbyAgIDFkICAxeApbYXZpc2lvbl0gcmVzdWx0WyA2NV0gMDAwMDAw MDFiICAgMW8gICAxZCAgMXgKW2F2aXNpb25dIHJlc3VsdFsgNjZdIDAwMDAwMDEwYiAgIDJvICAg MmQgIDJ4ClthdmlzaW9uXSByZXN1bHRbIDY3XSAwMDAwMDAxMWIgICAzbyAgIDNkICAzeApbYXZp c2lvbl0gcmVzdWx0WyA2OF0gMDAwMDAxMDBiICAgNG8gICA0ZCAgNHgKW2F2aXNpb25dIHJlc3Vs dFsgNjldIDAwMDAwMTAxYiAgIDVvICAgNWQgIDV4ClthdmlzaW9uXSByZXN1bHRbIDcwXSAwMDAw MDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVzdWx0WyA3MV0gMDAwMDAwMDBiICAgMG8g ICAwZCAgMHgKW2F2aXNpb25dIHJlc3VsdFsgNzJdIDAwMDAwMDAwYiAgIDBvICAgMGQgIDB4Clth dmlzaW9uXSByZXN1bHRbIDczXSAwMDAwMDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVz dWx0WyA3NF0gMDAwMDAwMDBiICAgMG8gICAwZCAgMHgKW2F2aXNpb25dIHJlc3VsdFsgNzVdIDAw MDAxMTExYiAgMTdvICAxNWQgIGZ4ClthdmlzaW9uXSByZXN1bHRbIDc2XSAxMTExMTExMWIgMzc3 byAyNTVkIGZmeApbYXZpc2lvbl0gcmVzdWx0WyA3N10gMDAwMDAwMDBiICAgMG8gICAwZCAgMHgK W2F2aXNpb25dIHJlc3VsdFsgNzhdIDAwMDAwMDAwYiAgIDBvICAgMGQgIDB4ClthdmlzaW9uXSBy ZXN1bHRbIDc5XSAwMDAwMDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVzdWx0WyA4MF0g MDAwMDAwMDBiICAgMG8gICAwZCAgMHgKW2F2aXNpb25dIHJlc3VsdFsgODFdIDAwMDAxMDEwYiAg MTJvICAxMGQgIGF4ClthdmlzaW9uXSByZXN1bHRbIDgyXSAxMDAwMDAwMGIgMjAwbyAxMjhkIDgw eApbYXZpc2lvbl0gcmVzdWx0WyA4M10gMDAwMDExMTFiICAxN28gIDE1ZCAgZngKW2F2aXNpb25d IHJlc3VsdFsgODRdIDExMDAwMDAwYiAzMDBvIDE5MmQgYzB4ClthdmlzaW9uXSByZXN1bHRbIDg1 XSAwMDAwMTAxMGIgIDEybyAgMTBkICBheApbYXZpc2lvbl0gcmVzdWx0WyA4Nl0gMTAwMDAwMDBi IDIwMG8gMTI4ZCA4MHgKW2F2aXNpb25dIHJlc3VsdFsgODddIDAwMDAxMTExYiAgMTdvICAxNWQg IGZ4ClthdmlzaW9uXSByZXN1bHRbIDg4XSAxMTAwMDAwMGIgMzAwbyAxOTJkIGMweApbYXZpc2lv bl0gcmVzdWx0WyA4OV0gMDAwMDEwMTFiICAxM28gIDExZCAgYngKW2F2aXNpb25dIHJlc3VsdFsg OTBdIDAwMDAwMTAwYiAgIDRvICAgNGQgIDR4ClthdmlzaW9uXSByZXN1bHRbIDkxXSAwMDAwMDAx MWIgICAzbyAgIDNkICAzeApbYXZpc2lvbl0gcmVzdWx0WyA5Ml0gMDAwMDAwMDBiICAgMG8gICAw ZCAgMHgKW2F2aXNpb25dIHJlc3VsdFsgOTNdIDAwMTAwMDAwYiAgNDBvICAzMmQgMjB4Clthdmlz aW9uXSByZXN1bHRbIDk0XSAwMDAwMDAwMGIgICAwbyAgIDBkICAweApbYXZpc2lvbl0gcmVzdWx0 WyA5NV0gMDAwMDAwMDBiICAgMG8gICAwZCAgMHgKW2F2aXNpb25dIGF0dGFjaDogbGluZSBkaWZm ZXJlbmNlIChzb2Z0d2FyZSBjb2xvciBwYWNrKTogOApbYXZpc2lvbl0gYXR0YWNoOiBjb2xvciBt b2RlIHBpeGVsIGJvdW5kYXJ5OiA0ClthdmlzaW9uXSBhdHRhY2g6IGdyZXkgbW9kZSBwaXhlbCBi b3VuZGFyeTogNApbYXZpc2lvbl0gYXR0YWNoOiBjaGFubmVscyBwZXIgcGl4ZWw6IDE5MgpbYXZp c2lvbl0gYXR0YWNoOiBiaXRzIHBlciBjaGFubmVsOiAyMDgKW2F2aXNpb25dIGF0dGFjaDogZm91 bmQgQVZJU0lPTiBzY2FubmVyIG1vZGVsIEZTLVYxIChmbGF0YmVkIHNjYW5uZXIpClthdmlzaW9u XSAgICAgICAgIFgtUmFuZ2U6IDIwMy4xOTk5OTdtbSwgWS1SYW5nZTogMzMwLjE5OTk5N21tIChS YXctUmFuZ2U6IDEwLCAxMjgsIDE1LCAxOTIpClthdmlzaW9uXSBSQVcuUmVzdWx0OgpbYXZpc2lv bl0gWzBdOjYtPgYKW2F2aXNpb25dIFsxXTo4MC0+gApbYXZpc2lvbl0gWzJdOjItPgIKW2F2aXNp b25dIFszXTo0Mi0+QgpbYXZpc2lvbl0gWzRdOjViLT5bClthdmlzaW9uXSBbNV06MC0+AApbYXZp c2lvbl0gWzZdOjAtPgAKW2F2aXNpb25dIFs3XTowLT4AClthdmlzaW9uXSBbOF06NGQtPk0KW2F2 aXNpb25dIFs5XTo0OS0+SQpbYXZpc2lvbl0gWzEwXTo0ZS0+TgpbYXZpc2lvbl0gWzExXTo0Zi0+ TwpbYXZpc2lvbl0gWzEyXTo0Yy0+TApbYXZpc2lvbl0gWzEzXTo1NC0+VApbYXZpc2lvbl0gWzE0 XTo0MS0+QQpbYXZpc2lvbl0gWzE1XToyMC0+IApbYXZpc2lvbl0gWzE2XTo0Ni0+RgpbYXZpc2lv bl0gWzE3XTo1My0+UwpbYXZpc2lvbl0gWzE4XToyZC0+LQpbYXZpc2lvbl0gWzE5XTo1Ni0+Vgpb YXZpc2lvbl0gWzIwXTozMS0+MQpbYXZpc2lvbl0gWzIxXToyMC0+IApbYXZpc2lvbl0gWzIyXToy MC0+IApbYXZpc2lvbl0gWzIzXToyMC0+IApbYXZpc2lvbl0gWzI0XToyMC0+IApbYXZpc2lvbl0g WzI1XToyMC0+IApbYXZpc2lvbl0gWzI2XToyMC0+IApbYXZpc2lvbl0gWzI3XToyMC0+IApbYXZp c2lvbl0gWzI4XToyMC0+IApbYXZpc2lvbl0gWzI5XToyMC0+IApbYXZpc2lvbl0gWzMwXToyMC0+ IApbYXZpc2lvbl0gWzMxXToyMC0+IApbYXZpc2lvbl0gWzMyXTozMS0+MQpbYXZpc2lvbl0gWzMz XToyZS0+LgpbYXZpc2lvbl0gWzM0XTozMi0+MgpbYXZpc2lvbl0gWzM1XTozMy0+MwpbYXZpc2lv bl0gWzM2XTphMC0+oApbYXZpc2lvbl0gWzM3XTozLT4DClthdmlzaW9uXSBbMzhdOjYtPgYKW2F2 aXNpb25dIFszOV06ZTctPucKW2F2aXNpb25dIFs0MF06Yi0+CwpbYXZpc2lvbl0gWzQxXTo0LT4E ClthdmlzaW9uXSBbNDJdOmItPgsKW2F2aXNpb25dIFs0M106NC0+BApbYXZpc2lvbl0gWzQ0XTpi LT4LClthdmlzaW9uXSBbNDVdOjQtPgQKW2F2aXNpb25dIFs0Nl06Yi0+CwpbYXZpc2lvbl0gWzQ3 XTo0LT4EClthdmlzaW9uXSBbNDhdOjAtPgAKW2F2aXNpb25dIFs0OV06MC0+AApbYXZpc2lvbl0g WzUwXTpkOS0+2QpbYXZpc2lvbl0gWzUxXTo5NC0+lApbYXZpc2lvbl0gWzUyXTpmYS0++gpbYXZp c2lvbl0gWzUzXTo4LT4IClthdmlzaW9uXSBbNTRdOjQtPgQKW2F2aXNpb25dIFs1NV06NC0+BApb YXZpc2lvbl0gWzU2XToyLT4CClthdmlzaW9uXSBbNTddOjgtPggKW2F2aXNpb25dIFs1OF06OC0+ CApbYXZpc2lvbl0gWzU5XTo4LT4IClthdmlzaW9uXSBbNjBdOmMwLT7AClthdmlzaW9uXSBbNjFd OmQwLT7QClthdmlzaW9uXSBbNjJdOmE4LT6oClthdmlzaW9uXSBbNjNdOjUtPgUKW2F2aXNpb25d IFs2NF06MS0+AQpbYXZpc2lvbl0gWzY1XToxLT4BClthdmlzaW9uXSBbNjZdOjItPgIKW2F2aXNp b25dIFs2N106My0+AwpbYXZpc2lvbl0gWzY4XTo0LT4EClthdmlzaW9uXSBbNjldOjUtPgUKW2F2 aXNpb25dIFs3MF06MC0+AApbYXZpc2lvbl0gWzcxXTowLT4AClthdmlzaW9uXSBbNzJdOjAtPgAK W2F2aXNpb25dIFs3M106MC0+AApbYXZpc2lvbl0gWzc0XTowLT4AClthdmlzaW9uXSBbNzVdOmYt Pg8KW2F2aXNpb25dIFs3Nl06ZmYtPv8KW2F2aXNpb25dIFs3N106MC0+AApbYXZpc2lvbl0gWzc4 XTowLT4AClthdmlzaW9uXSBbNzldOjAtPgAKW2F2aXNpb25dIFs4MF06MC0+AApbYXZpc2lvbl0g WzgxXTphLT4KClthdmlzaW9uXSBbODJdOjgwLT6AClthdmlzaW9uXSBbODNdOmYtPg8KW2F2aXNp b25dIFs4NF06YzAtPsAKW2F2aXNpb25dIFs4NV06YS0+CgpbYXZpc2lvbl0gWzg2XTo4MC0+gApb YXZpc2lvbl0gWzg3XTpmLT4PClthdmlzaW9uXSBbODhdOmMwLT7AClthdmlzaW9uXSBbODldOmIt PgsKW2F2aXNpb25dIFs5MF06NC0+BApbYXZpc2lvbl0gWzkxXTozLT4DClthdmlzaW9uXSBbOTJd OjAtPgAKW2F2aXNpb25dIFs5M106MjAtPiAKW2F2aXNpb25dIFs5NF06MC0+AApbYXZpc2lvbl0g Wzk1XTowLT4AClthdmlzaW9uXSBJbnF1aXJ5IHgveS1yYW5nZSBpcyB2YWlsZD8hPwpbYXZpc2lv bl0gc2FuZV9pbml0OiBwYXJzaW5nIGNvbmZpZyBsaW5lICIiClthdmlzaW9uXSBzYW5lX2luaXQ6 IGNvbmZpZyBmaWxlIGxpbmUgMzogaWdub3JpbmcgZW1wdHkgbGluZQpbYXZpc2lvbl0gc2FuZV9n ZXRfZGV2aWNlcwpbYXZpc2lvbl0gc2FuZV9vcGVuOgpbYXZpc2lvbl0gaW5pdF9vcHRpb25zClth dmlzaW9uXSBtYXhfc3RyaW5nX3NpemUKW2F2aXNpb25dIG1ha2VfbW9kZQpbYXZpc2lvbl0gc2Fu ZV9jb250cm9sX29wdGlvbgpbYXZpc2lvbl0gc2FuZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2 aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNjcmlwdG9yClthdmlzaW9uXSBzYW5lX2NvbnRyb2xf b3B0aW9uClthdmlzaW9uXSBzYW5lX2dldF9vcHRpb25fZGVzY3JpcHRvcgpbYXZpc2lvbl0gc2Fu ZV9jb250cm9sX29wdGlvbgpbYXZpc2lvbl0gc2FuZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2 aXNpb25dIHNhbmVfY29udHJvbF9vcHRpb24KW2F2aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNj cmlwdG9yClthdmlzaW9uXSBzYW5lX2dldF9vcHRpb25fZGVzY3JpcHRvcgpbYXZpc2lvbl0gc2Fu ZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2aXNpb25dIHNhbmVfY29udHJvbF9vcHRpb24KW2F2 aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNjcmlwdG9yClthdmlzaW9uXSBzYW5lX2NvbnRyb2xf b3B0aW9uClthdmlzaW9uXSBzYW5lX2dldF9vcHRpb25fZGVzY3JpcHRvcgpbYXZpc2lvbl0gc2Fu ZV9jb250cm9sX29wdGlvbgpbYXZpc2lvbl0gc2FuZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2 aXNpb25dIHNhbmVfY29udHJvbF9vcHRpb24KW2F2aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNj cmlwdG9yClthdmlzaW9uXSBzYW5lX2dldF9vcHRpb25fZGVzY3JpcHRvcgpbYXZpc2lvbl0gc2Fu ZV9jb250cm9sX29wdGlvbgpbYXZpc2lvbl0gc2FuZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2 aXNpb25dIHNhbmVfY29udHJvbF9vcHRpb24KW2F2aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNj cmlwdG9yClthdmlzaW9uXSBzYW5lX2NvbnRyb2xfb3B0aW9uClthdmlzaW9uXSBzYW5lX2dldF9v cHRpb25fZGVzY3JpcHRvcgpbYXZpc2lvbl0gc2FuZV9jb250cm9sX29wdGlvbgpbYXZpc2lvbl0g c2FuZV9nZXRfb3B0aW9uX2Rlc2NyaXB0b3IKW2F2aXNpb25dIHNhbmVfY29udHJvbF9vcHRpb24K W2F2aXNpb25dIHNhbmVfZ2V0X29wdGlvbl9kZXNjcmlwdG9yClthdmlzaW9uXSBzYW5lX2NvbnRy b2xfb3B0aW9uCihNZXNzYWdlcyByZXBlYXRlZCBtYW55IHRpbWVzLi4uKQo= --------------Boundary-00=_DQGQTZJ0INPIVZH9VTX1 Content-Type: text/x-c; name="attach.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attach.c" c3RhdGljIFNBTkVfU3RhdHVzCmF0dGFjaCAoY29uc3QgY2hhciogZGV2bmFtZSwgQXZpc2lvbl9E ZXZpY2UqKiBkZXZwKQp7CiAgdW5zaWduZWQgY2hhciByZXN1bHQgW0lOUV9MRU5dOwogIGludCBm ZDsKICBBdmlzaW9uX0RldmljZSogZGV2OwogIFNBTkVfU3RhdHVzIHN0YXR1czsKICBzaXplX3Qg c2l6ZTsKCiAgY2hhciBtZmdbOV07CiAgY2hhciBtb2RlbFsxN107CiAgY2hhciByZXZbNV07CiAg CiAgaW50IGk7CgogIGRvdWJsZSB4X3JhbmdlOwogIGRvdWJsZSB5X3JhbmdlOwogIAogIERCRyAo MywgImF0dGFjaFxuIik7CgogIGZvciAoZGV2ID0gZmlyc3RfZGV2OyBkZXY7IGRldiA9IGRldi0+ bmV4dCkKICAgIGlmIChzdHJjbXAgKGRldi0+c2FuZS5uYW1lLCBkZXZuYW1lKSA9PSAwKSB7CiAg ICAgIGlmIChkZXZwKQoJKmRldnAgPSBkZXY7CiAgICAgIHJldHVybiBTQU5FX1NUQVRVU19HT09E OwogICAgfQoKICBEQkcgKDMsICJhdHRhY2g6IG9wZW5pbmcgJXNcbiIsIGRldm5hbWUpOwogIHN0 YXR1cyA9IHNhbmVpX3Njc2lfb3BlbiAoZGV2bmFtZSwgJmZkLCBzZW5zZV9oYW5kbGVyLCAwKTsK ICBpZiAoc3RhdHVzICE9IFNBTkVfU1RBVFVTX0dPT0QpIHsKICAgIERCRyAoMSwgImF0dGFjaDog b3BlbiBmYWlsZWQgKCVzKVxuIiwgc2FuZV9zdHJzdGF0dXMgKHN0YXR1cykpOwogICAgcmV0dXJu IFNBTkVfU1RBVFVTX0lOVkFMOwogIH0KCiAgREJHICgzLCAiYXR0YWNoOiBzZW5kaW5nIElOUVVJ UllcbiIpOwogIHNpemUgPSBzaXplb2YgKHJlc3VsdCk7CiAgc3RhdHVzID0gc2FuZWlfc2NzaV9j bWQgKGZkLCBpbnF1aXJ5LCBzaXplb2YgKGlucXVpcnkpLCByZXN1bHQsICZzaXplKTsKICBpZiAo c3RhdHVzICE9IFNBTkVfU1RBVFVTX0dPT0QgfHwgc2l6ZSAhPSBJTlFfTEVOKSB7CiAgICBEQkcg KDEsICJhdHRhY2g6IGlucXVpcnkgZmFpbGVkICglcylcbiIsIHNhbmVfc3Ryc3RhdHVzIChzdGF0 dXMpKTsKICAgIHNhbmVpX3Njc2lfY2xvc2UgKGZkKTsKICAgIHJldHVybiBzdGF0dXM7CiAgfQoK ICBzdGF0dXMgPSB3YWl0X3JlYWR5IChmZCk7CiAgc2FuZWlfc2NzaV9jbG9zZSAoZmQpOwogIGlm IChzdGF0dXMgIT0gU0FORV9TVEFUVVNfR09PRCkKICAgIHJldHVybiBzdGF0dXM7CiAgCiAgLyog Y29weSBzdHJpbmcgaW5mb3JtYXRpb24gLSBhbmQgYnVpbGQgemVybyB0ZXJtaW5hdGVkIGMtc3Ry aW5ncyAqLwogIG1lbWNweSAoJm1mZywgcmVzdWx0ICsgOCwgOCk7CiAgbWZnIFs4XSA9IDA7CiAg bWVtY3B5ICgmbW9kZWwsIHJlc3VsdCArIDE2LCAxNik7CiAgbW9kZWwgWzE2XSA9IDA7CiAgbWVt Y3B5ICgmcmV2LCByZXN1bHQgKyAzMiwgNCk7CiAgcmV2IFs0XSA9IDA7CiAgCiAgLy8gc2hvcnRl biBzdHJpbmdzICggLTEgZm9yIGxhc3QgaW5kZXg7IC0xIGZvciBsYXN0IDA7ID4wIGJlY2FzdWUg b25lIGNoYXIgYXQgbGVhc3QpKQogIGZvciAoaSA9IHNpemVvZiAobWZnKSAtIDI7IGkgPiAwOyBp LS0pIHsKICAgIGlmIChtZmdbaV0gPT0gMHgyMCkKICAgICAgbWZnW2ldID0gMDsKICAgIGVsc2UK ICAgICAgYnJlYWs7CiAgfQogIGZvciAoaSA9IHNpemVvZiAobW9kZWwpIC0gMjsgaSA+IDA7IGkt LSkgewogICAgaWYgKG1vZGVsW2ldID09IDB4MjApCiAgICAgIG1vZGVsW2ldID0gMDsKICAgIGVs c2UKICAgICAgYnJlYWs7CiAgfQogIAogIERCRyAoMSwgImF0dGFjaDogSW5xdWlyeSBnaXZlcyBt Zmc9JXMsIG1vZGVsPSVzLCBwcm9kdWN0IHJldmlzaW9uPSVzLlxuIiwgJm1mZywgJm1vZGVsLCAm cmV2KTsKICAKICBpZiAoc3RyY21wIChtZmcsICJBVklTSU9OIikgIT0gMCAmJgogICAgICBzdHJj bXAgKG1mZywgIkhQIikgIT0gMCAmJgogICAgICBzdHJjbXAgKG1mZywgIk1JTk9MVEEiKSAhPSAw KQogICAgewogICAgICBEQkcgKDEsICJhdHRhY2g6IGRldmljZSBkb2Vzbid0IGxvb2sgbGlrZSBh biBBVklTSU9OIChvciBPRU0pIHNjYW5uZXIhXG4iKTsKICAgICAgcmV0dXJuIFNBTkVfU1RBVFVT X0lOVkFMOwogICAgfQogIAogIGlmIChzdHJjbXAgKG1vZGVsLCAiQVY2MzBDUyIpICE9IDAgJiYK ICAgICAgc3RyY21wIChtb2RlbCwgIkFWNjIwQ1MiKSAhPSAwICYmCiAgICAgIHN0cmNtcCAobW9k ZWwsICJTY2FuSmV0IDUzNzBDIikgIT0gMCAmJgogICAgICBzdHJjbXAgKG1vZGVsLCAic2Nhbmpl dCA3NDAwYyIpICE9IDAgJiYKICAgICAgc3RyY21wIChtb2RlbCwgIkZTLVYxIikgIT0gMCkKICAg IHsKICAgICAgREJHICgxLCAiYXR0YWNoOiBtb2RlbCBpcyBub3QgaW4gdGhlIGxpc3Qgb2Ygc3Vw cG9ydGVkIG1vZGVsIVxuIik7CiAgICAgIERCRyAoMSwgImF0dGFjaCAgWW91IG1pZ2h0IHdhbnQg dG8gcmVwb3J0IHRoaXMgb3V0cHV0LlxuIik7CiAgICAgIHJldHVybiBTQU5FX1NUQVRVU19JTlZB TDsKICAgIH0KICAKICBkZXYgPSBtYWxsb2MgKHNpemVvZiAoKmRldikpOwogIGlmICghZGV2KQog ICAgcmV0dXJuIFNBTkVfU1RBVFVTX05PX01FTTsKICAKICBtZW1zZXQgKGRldiwgMHgwLCBzaXpl b2YgKCpkZXYpKTsKCiAgZGV2LT5zYW5lLm5hbWUgICA9IHN0cmR1cCAoZGV2bmFtZSk7CiAgZGV2 LT5zYW5lLnZlbmRvciA9IHN0cmR1cCAobWZnKTsKICBkZXYtPnNhbmUubW9kZWwgID0gc3RyZHVw IChtb2RlbCk7CiAgaWYgKHN0cmNtcCAobW9kZWwsICJGUy1WMSIpICE9IDApCiAgICB7CiAgICAg IGRldi0+c2FuZS50eXBlICAgPSAiZmxhdGJlZCBzY2FubmVyIjsKICAgIH0KICBlbHNlCiAgICB7 CiAgICAgIC8qIFRoZSBjb29sc2NhbiBiYWNrZW5kIHNheXMgInNsaWRlIHNjYW5uZXIiLCB0aGUg Y2Fub24gc2F5cyAiZmlsbSBzY2FubmVyIgogICAgICAgICBkZWNpZGluZyBvbiBhIG5hbWUgd291 bGQgYmUgdXNlZnVsPyAqLwogICAgICBkZXYtPnNhbmUudHlwZSAgID0gInNsaWRlIHNjYW5uZXIi OwogICAgfQoKIyBkZWZpbmUgQklUKG4sIHApICAobiAmICggMSA8PCBwKSk/MTowCiAgZm9yIChp PTA7IGk8c2l6ZW9mKHJlc3VsdCk7IGkrKykgewogICAgREJHICgxLCAicmVzdWx0WyUzZF0gJTFk JTFkJTFkJTFkJTFkJTFkJTFkJTFkYiAlM29vICUzZGQgJTJ4eFxuIiwgaSwgQklUKHJlc3VsdFtp XSw3KSwgCiAgICAgICAgIEJJVChyZXN1bHRbaV0sNiksIEJJVChyZXN1bHRbaV0sNSksIEJJVChy ZXN1bHRbaV0sNCksIEJJVChyZXN1bHRbaV0sMyksIEJJVChyZXN1bHRbaV0sMiksCiAgICAgICAg IEJJVChyZXN1bHRbaV0sMSksIEJJVChyZXN1bHRbaV0sMCksIHJlc3VsdFtpXSwgcmVzdWx0W2ld LCByZXN1bHRbaV0pOwogIH0KICAKICAvKiBwcmludCBzb21lIG1vcmUgc2Nhbm5lciBmZWF0dXJl cy9wYXJhbXMgKi8KICBEQkcgKDMsICJhdHRhY2g6IGxpbmUgZGlmZmVyZW5jZSAoc29mdHdhcmUg Y29sb3IgcGFjayk6ICVpXG4iLCByZXN1bHRbNTNdKTsKICBEQkcgKDMsICJhdHRhY2g6IGNvbG9y IG1vZGUgcGl4ZWwgYm91bmRhcnk6ICVpXG4iLCByZXN1bHRbNTRdKTsKICBEQkcgKDMsICJhdHRh Y2g6IGdyZXkgbW9kZSBwaXhlbCBib3VuZGFyeTogJWlcbiIsIHJlc3VsdFs1NV0pOwogIAogIERC RyAoMywgImF0dGFjaDogY2hhbm5lbHMgcGVyIHBpeGVsOiAlaVxuIiwgcmVzdWx0WzYwXSk7CiAg REJHICgzLCAiYXR0YWNoOiBiaXRzIHBlciBjaGFubmVsOiAlaVxuIiwgcmVzdWx0WzYxXSk7CiAg CiAgLyogR2V0IG1heCBYIGFuZCBtYXggWSAuLi4qLwogIC8qIEluc3RlYWQgb2YgZGl2aWRpbmcg YnkgMzAwIEkgd291bGQgZGl2aWRlIGJ5ICAKICAgICAoIG9wdGljYWxfcmVzb2x1dGlvbiA9ICgo dW5zaWduZWQgaW50KXJlc3VsdFs4OV0gPDwgOCkgKyAodW5zaWduZWQgaW50KXJlc3VsdFs5MF0g KQogICAgIEkgd291bGQgYXNzdW1lIHRoYXQgdGhlIGRvY3VtZW50IGlzIG5vdCBjb3JyZWN0Lgog ICAgIEZvciBteSBzY2FubmVyIG9wdGljYWxfcmVzb2x1dGlvbiBpcyAoMTE8PDgrNCk9MjgyMAog ICAgIElzIHRoaXMgY29ycmVjdCBmb3Igb3RoZXIgc2Nhbm5lcnM/IFRoZSA3NDAwIGRvZXMgMjQw MGRwaSBJIHRoaW5rLiBXaGF0IHZhbHVlcyBhcmUgcmVwb3J0ZWQ/CiAgKi8KICB4X3JhbmdlID0g KCAoICggKHVuc2lnbmVkIGludClyZXN1bHRbODFdIDw8IDgpICsgKHVuc2lnbmVkIGludClyZXN1 bHRbODJdICkgLyAzMDAgKSAqIE1NX1BFUl9JTkNIOwogIHlfcmFuZ2UgPSAoICggKCAodW5zaWdu ZWQgaW50KXJlc3VsdFs4M10gPDwgOCkgKyAodW5zaWduZWQgaW50KXJlc3VsdFs4NF0gKSAvIDMw MCApICogTU1fUEVSX0lOQ0g7CiAgZGV2LT54X3JhbmdlLm1heCA9IFNBTkVfRklYICh4X3Jhbmdl KTsKICBkZXYtPnlfcmFuZ2UubWF4ID0gU0FORV9GSVggKHlfcmFuZ2UpOwogIAogIGRldi0+eF9y YW5nZS5xdWFudCA9IDA7CiAgZGV2LT55X3JhbmdlLnF1YW50ID0gMDsKICAKICBkZXYtPmRwaV9y YW5nZS5taW4gPSA1MDsKICBkZXYtPmRwaV9yYW5nZS5xdWFudCA9IDE7CiAgZGV2LT5kcGlfcmFu Z2UubWF4ID0gMTIwMDsgLyogQ2hhbmdlIGFzIGFib3ZlPyAqLwoKICBEQkcgKDMsICJhdHRhY2g6 IGZvdW5kIEFWSVNJT04gc2Nhbm5lciBtb2RlbCAlcyAoJXMpXG4iLCBkZXYtPnNhbmUubW9kZWws IGRldi0+c2FuZS50eXBlKTsKICBEQkcgKDMsICIgICAgICAgIFgtUmFuZ2U6ICVmbW0sIFktUmFu Z2U6ICVmbW0gKFJhdy1SYW5nZTogJWQsICVkLCAlZCwgJWQpXG4iLAogICAgICAgU0FORV9VTkZJ WCAoZGV2LT54X3JhbmdlLm1heCksCiAgICAgICBTQU5FX1VORklYIChkZXYtPnlfcmFuZ2UubWF4 KSwKICAgICAgIChpbnQpcmVzdWx0WzgxXSwgKGludClyZXN1bHRbODJdLCAoaW50KXJlc3VsdFs4 M10sIChpbnQpcmVzdWx0Wzg0XSk7CiAgCiAgREJHICg1LCAiUkFXLlJlc3VsdDpcbiIpOwogIGZv ciAoaSA9IDA7IGkgPCBzaXplb2YgKHJlc3VsdCk7IGkrKykKICAgIHsKICAgICAgREJHICg1LCAi WyVkXToleC0+IiIlYyIiXG4iLCBpLCAodW5zaWduZWQgY2hhcikgcmVzdWx0W2ldLCByZXN1bHRb aV0pOwogICAgfQogIAogIC8qIGNoZWNrIGlmIHgveSByYW5nZSBpcyB2YWlsZCA6LSgoKCAqLwoK ICAvKiBUaGVzZSBjaGVja3MgYXJlIHZlcnkgIGRhbmdlcm91cyBmb3IgYSBuZWdhdGl2ZSAoMjR4 MzYgbW0hISkgCiAgICAgV2hhdCBpcyB0aGUgYmVzdCBhcHByb2FjaD8gVXNlIGRldi0+c2FuZS50 eXBlIG9yIGEgdmFyaWFibGU/IAogICAgIFRoZW4gdXNlIGEgbGFyZ2UgaWYgdGhhdCBjb250cm9s cyB0aGlzID8gKi8KCiAgaWYgKGRldi0+eF9yYW5nZS5tYXggPT0gMCB8fCBkZXYtPnlfcmFuZ2Uu bWF4ID09IDApCiAgICB7CiAgICAgIERCRyAoMSwgIklucXVpcnkgeC95LXJhbmdlIGlzIGludmFp bGQhIFVzaW5nIGRlZmF1bGQgJWZ4JWZpbmNoIChJU08gQTQpLlxuIiwgTUFYX1hfUkFOR0UsIE1B WF9ZX1JBTkdFKTsKICAgICAgZGV2LT54X3JhbmdlLm1heCA9IFNBTkVfRklYIChNQVhfWF9SQU5H RSAqIE1NX1BFUl9JTkNIKTsKICAgICAgZGV2LT55X3JhbmdlLm1heCA9IFNBTkVfRklYIChNQVhf WV9SQU5HRSAqIE1NX1BFUl9JTkNIKTsKICAgIH0KICBlbHNlCiAgICBEQkcgKDMsICJJbnF1aXJ5 IHgveS1yYW5nZSBpcyB2YWlsZD8hP1xuIik7CiAgCiAgaWYgKGZvcmNlX2E0KQogICAgewogICAg ICBEQkcgKDEsICJvcHRpb246IFwiZm9yY2VfYTRcIiBmb3VuZCEgVXNpbmcgZGVmYXVsZCAlZngl ZmluY2ggKElTTyBBNCkuXG4iLAoJICAgTUFYX1hfUkFOR0UsIE1BWF9ZX1JBTkdFKTsKICAgICAg ZGV2LT54X3JhbmdlLm1heCA9IFNBTkVfRklYIChNQVhfWF9SQU5HRSAqIE1NX1BFUl9JTkNIKTsK ICAgICAgZGV2LT55X3JhbmdlLm1heCA9IFNBTkVfRklYIChNQVhfWV9SQU5HRSAqIE1NX1BFUl9J TkNIKTsKICAgIH0KICAKICArK251bV9kZXZpY2VzOwogIGRldi0+bmV4dCA9IGZpcnN0X2RldjsK ICBmaXJzdF9kZXYgPSBkZXY7CgogIGlmIChkZXZwKQogICAgKmRldnAgPSBkZXY7CiAgcmV0dXJu IFNBTkVfU1RBVFVTX0dPT0Q7Cn0KCg== --------------Boundary-00=_DQGQTZJ0INPIVZH9VTX1--