Date: Wed, 6 Sep 2000 19:15:49 +0100 (BST) From: Nick Hibma <n_hibma@qubesoft.com> To: USB BSD list <usb-bsd@egroups.com> Cc: freebsd-current@freebsd.org Subject: uscanner driver Message-ID: <Pine.BSF.4.20.0009061904060.54419-500000@henny.webweaving.org>
next 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. Send mail to mime@docserver.cac.washington.edu for more info. --0-1557275625-968264149=:54419 Content-Type: TEXT/PLAIN; charset=US-ASCII I've quickly thrown together a driver for USB scanners. Unforunately, I don't have a scanner available that is supported by SANE, so I can't test it. The driver is a rip-off of the ugen, with some bits of udbp thrown in for good measure. It relies on a very recent version of usbdevs, so make sure your system is up to date. I'd appreciate it if someone that has a supported scanner (see http://www.mostang.com/sane/sane-backends.html ) would pick this driver up and turn it into something that works. If your scanner is supported by SANE, but not recognised by uscanner.ko, add the id for your scanner (usbdevs -v) to usbdevs and uscanner.h and recompile and try again. To install it: Install Gimp Install Sane Copy uscanner.c & .h (attached) to /sys/dev/usb Mkdir /sys/modules/uscanner Copy Makefile (attached) to /sys/modules/uscanner/ patch your kernel with the file uscanner.patch (attached) cd /sys/ patch < /tmp/uscanner.patch And compile & load the thing cd /sys/modules/uscanner make load Be warned! This driver will reboot your machine, break it, send your dog on a holiday and will turn the weather into hail for the next three weeks. If any of that does not happen, you just got lucky, don't have a dog or live in Scotland. Let me know! Nick -- Qube Software, Ltd. Private: n_hibma@qubesoft.com n_hibma@webweaving.org n_hibma@freebsd.org http://www.qubesoft.com/ http://www.etla.net/~n_hibma/ --0-1557275625-968264149=:54419 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="uscanner.c" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.20.0009061915490.54419@henny.webweaving.org> Content-Description: Content-Disposition: attachment; filename="uscanner.c" LyoJJEZyZWVCU0QkCSovDQoNCi8qDQogKiBDb3B5cmlnaHQgKGMpIDE5OTgg VGhlIE5ldEJTRCBGb3VuZGF0aW9uLCBJbmMuDQogKiBBbGwgcmlnaHRzIHJl c2VydmVkLg0KICoNCiAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29m dHdhcmUgY29udHJpYnV0ZWQgdG8gVGhlIE5ldEJTRCBGb3VuZGF0aW9uDQog KiBieSBMZW5uYXJ0IEF1Z3VzdHNzb24gKGxlbm5hcnRAYXVndXN0c3Nvbi5u ZXQpIGF0DQogKiBDYXJsc3RlZHQgUmVzZWFyY2ggJiBUZWNobm9sb2d5Lg0K ICoNCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KICogbW9kaWZpY2F0aW9u LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj b25kaXRpb25zDQogKiBhcmUgbWV0Og0KICogMS4gUmVkaXN0cmlidXRpb25z IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln aHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqIDIuIFJlZGlzdHJpYnV0 aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg Y29weXJpZ2h0DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQogKiAg ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICogMy4gQWxsIGFkdmVydGlz aW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0 aGlzIHNvZnR3YXJlDQogKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2lu ZyBhY2tub3dsZWRnZW1lbnQ6DQogKiAgICAgICAgVGhpcyBwcm9kdWN0IGlu Y2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgTmV0QlNEDQogKiAg ICAgICAgRm91bmRhdGlvbiwgSW5jLiBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4N CiAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgVGhlIE5ldEJTRCBGb3VuZGF0 aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzDQogKiAgICBjb250cmlidXRvcnMg bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl cml2ZWQNCiAqICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCiAqDQogKiBUSElTIFNP RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBORVRCU0QgRk9VTkRBVElPTiwg SU5DLiBBTkQgQ09OVFJJQlVUT1JTDQogKiBgYEFTIElTJycgQU5EIEFOWSBF WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg Tk9UIExJTUlURUQNCiAqIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS DQogKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB TEwgVEhFIEZPVU5EQVRJT04gT1IgQ09OVFJJQlVUT1JTDQogKiBCRSBMSUFC TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD SUFMLCBFWEVNUExBUlksIE9SDQogKiBDT05TRVFVRU5USUFMIERBTUFHRVMg KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP Rg0KICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQogKiBJTlRFUlJV UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ QUJJTElUWSwgV0hFVEhFUiBJTg0KICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS V0lTRSkNCiAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFDQogKiBQ T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCiAqLw0KDQoNCiNpbmNsdWRl IDxzeXMvcGFyYW0uaD4NCiNpbmNsdWRlIDxzeXMvc3lzdG0uaD4NCiNpbmNs dWRlIDxzeXMva2VybmVsLmg+DQojaW5jbHVkZSA8c3lzL21hbGxvYy5oPg0K I2lmIGRlZmluZWQoX19OZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0Rf XykNCiNpbmNsdWRlIDxzeXMvZGV2aWNlLmg+DQojZWxpZiBkZWZpbmVkKF9f RnJlZUJTRF9fKQ0KI2luY2x1ZGUgPHN5cy9tb2R1bGUuaD4NCiNpbmNsdWRl IDxzeXMvYnVzLmg+DQojaW5jbHVkZSA8c3lzL2NvbmYuaD4NCiNpbmNsdWRl IDxzeXMvZmNudGwuaD4NCiNpbmNsdWRlIDxzeXMvZmlsaW8uaD4NCiNlbmRp Zg0KI2luY2x1ZGUgPHN5cy90dHkuaD4NCiNpbmNsdWRlIDxzeXMvZmlsZS5o Pg0KI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4NCiNpbmNsdWRlIDxzeXMvcHJv Yy5oPg0KI2luY2x1ZGUgPHN5cy92bm9kZS5oPg0KI2luY2x1ZGUgPHN5cy9w b2xsLmg+DQoNCiNpbmNsdWRlIDxkZXYvdXNiL3VzYi5oPg0KI2luY2x1ZGUg PGRldi91c2IvdXNiZGkuaD4NCiNpbmNsdWRlIDxkZXYvdXNiL3VzYmRpX3V0 aWwuaD4NCg0KI2luY2x1ZGUgPGRldi91c2IvdXNiZGV2cy5oPg0KI2luY2x1 ZGUgPGRldi91c2IvdXNjYW5uZXIuaD4NCg0KI2lmZGVmIFVTQ0FOTkVSX0RF QlVHDQojZGVmaW5lIERQUklOVEYoeCkJaWYgKHVzY2FubmVyZGVidWcpIGxv Z3ByaW50ZiB4DQojZGVmaW5lIERQUklOVEZOKG4seCkJaWYgKHVzY2FubmVy ZGVidWc+KG4pKSBsb2dwcmludGYgeA0KaW50CXVzY2FubmVyZGVidWcgPSAx MDsNCiNlbHNlDQojZGVmaW5lIERQUklOVEYoeCkNCiNkZWZpbmUgRFBSSU5U Rk4obix4KQ0KI2VuZGlmDQoNCiNkZWZpbmUJVVNDQU5ORVJfQlVGRkVSU0la RQkxMDI0DQoNCnN0cnVjdCB1c2Nhbm5lcl9zb2Z0YyB7DQoJVVNCQkFTRURF VklDRQkJc2NfZGV2OwkJLyogYmFzZSBkZXZpY2UgKi8NCgl1c2JkX2Rldmlj ZV9oYW5kbGUJc2NfdWRldjsNCgl1c2JkX2ludGVyZmFjZV9oYW5kbGUJc2Nf aWZhY2U7DQoNCgl1c2JkX3BpcGVfaGFuZGxlCXNjX2J1bGtpbl9waXBlOw0K CWludAkJCXNjX2J1bGtpbjsNCgl1c2JkX3hmZXJfaGFuZGxlCXNjX2J1bGtp bl94ZmVyOw0KCXZvaWQgCQkJKnNjX2J1bGtpbl9idWZmZXI7DQoJaW50CQkJ c2NfYnVsa2luX2J1ZmZlcmxlbjsNCglpbnQJCQlzY19idWxraW5fZGF0YWxl bjsNCg0KCXVzYmRfcGlwZV9oYW5kbGUJc2NfYnVsa291dF9waXBlOw0KCWlu dAkJCXNjX2J1bGtvdXQ7DQoJdXNiZF94ZmVyX2hhbmRsZQlzY19idWxrb3V0 X3hmZXI7DQoJdm9pZCAJCQkqc2NfYnVsa291dF9idWZmZXI7DQoJaW50CQkJ c2NfYnVsa291dF9idWZmZXJsZW47DQoJaW50CQkJc2NfYnVsa291dF9kYXRh bGVuOw0KDQoJdW5zaWduZWQgY2hhciBzdGF0ZTsNCiNkZWZpbmUgVVNDQU5O RVJfT1BFTgkJMHgwMQkvKiBvcGVuZWQgKi8NCg0KCWludAkJCXNjX3JlZmNu dDsNCgl1X2NoYXIJCQlzY19keWluZzsNCn07DQoNCiNpZiBkZWZpbmVkKF9f TmV0QlNEX18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pDQpjZGV2X2RlY2wo dXNjYW5uZXIpOw0KI2VsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykNCmRfb3Bl bl90ICB1c2Nhbm5lcm9wZW47DQpkX2Nsb3NlX3QgdXNjYW5uZXJjbG9zZTsN CmRfcmVhZF90ICB1c2Nhbm5lcnJlYWQ7DQpkX3dyaXRlX3QgdXNjYW5uZXJ3 cml0ZTsNCmRfcG9sbF90ICB1c2Nhbm5lcnBvbGw7DQoNCiNkZWZpbmUgVVND QU5ORVJfQ0RFVl9NQUpPUgkxNTUNCg0KU3RhdGljIHN0cnVjdCBjZGV2c3cg dXNjYW5uZXJfY2RldnN3ID0gew0KCS8qIG9wZW4gKi8JdXNjYW5uZXJvcGVu LA0KCS8qIGNsb3NlICovCXVzY2FubmVyY2xvc2UsDQoJLyogcmVhZCAqLwl1 c2Nhbm5lcnJlYWQsDQoJLyogd3JpdGUgKi8JdXNjYW5uZXJ3cml0ZSwNCgkv KiBpb2N0bCAqLwlub2lvY3RsLA0KCS8qIHBvbGwgKi8JdXNjYW5uZXJwb2xs LA0KCS8qIG1tYXAgKi8Jbm9tbWFwLA0KCS8qIHN0cmF0ZWd5ICovCW5vc3Ry YXRlZ3ksDQoJLyogbmFtZSAqLwkidXNjYW5uZXIiLA0KCS8qIG1haiAqLwlV U0NBTk5FUl9DREVWX01BSk9SLA0KCS8qIGR1bXAgKi8Jbm9kdW1wLA0KCS8q IHBzaXplICovCW5vcHNpemUsDQoJLyogZmxhZ3MgKi8JMCwNCgkvKiBibWFq ICovCS0xDQp9Ow0KI2VuZGlmDQoNClN0YXRpYyBpbnQgdXNjYW5uZXJfZG9f cmVhZChzdHJ1Y3QgdXNjYW5uZXJfc29mdGMgKiwgc3RydWN0IHVpbyAqLCBp bnQpOw0KU3RhdGljIGludCB1c2Nhbm5lcl9kb193cml0ZShzdHJ1Y3QgdXNj YW5uZXJfc29mdGMgKiwgc3RydWN0IHVpbyAqLCBpbnQpOw0KU3RhdGljIHZv aWQgdXNjYW5uZXJfZG9fY2xvc2Uoc3RydWN0IHVzY2FubmVyX3NvZnRjICop Ow0KDQojZGVmaW5lIFVTQ0FOTkVSVU5JVChuKSAobWlub3IobikgJiAweGYp DQoNClVTQl9ERUNMQVJFX0RSSVZFUih1c2Nhbm5lcik7DQoNClVTQl9NQVRD SCh1c2Nhbm5lcikNCnsNCglVU0JfTUFUQ0hfU1RBUlQodXNjYW5uZXIsIHVh YSk7DQoJaW50IGkgPSAwOw0KDQoJaWYgKHVhYS0+aWZhY2UgPT0gMCkNCgkJ cmV0dXJuIFVNQVRDSF9OT05FOw0KDQoJd2hpbGUgKHNjYW5uZXJfaWRzW2ld LnZlbmRvciAhPSAwKSB7DQoJCWlmIChzY2FubmVyX2lkc1tpXS52ZW5kb3Ig PT0gdWFhLT52ZW5kb3INCgkJICAgICYmIHNjYW5uZXJfaWRzW2ldLnZlbmRv ciA9PSB1YWEtPnZlbmRvcikgew0KCQkJcmV0dXJuIChVTUFUQ0hfVkVORE9S X1BST0RVQ1QpOw0KCQl9IGVsc2Ugew0KCQkJaSsrOw0KCQl9DQoJfQ0KDQoJ cmV0dXJuIChVTUFUQ0hfTk9ORSk7DQp9DQoNClVTQl9BVFRBQ0godXNjYW5u ZXIpDQp7DQoJVVNCX0FUVEFDSF9TVEFSVCh1c2Nhbm5lciwgc2MsIHVhYSk7 DQoJdXNiX2ludGVyZmFjZV9kZXNjcmlwdG9yX3QgKmlkID0gMDsNCgl1c2Jf ZW5kcG9pbnRfZGVzY3JpcHRvcl90ICplZCwgKmVkX2J1bGtpbiA9IE5VTEws ICplZF9idWxrb3V0ID0gTlVMTDsNCgljaGFyIGRldmluZm9bMTAyNF07DQoJ aW50IGk7DQoJdXNiZF9zdGF0dXMgZXJyOw0KDQoJdXNiZF9kZXZpbmZvKHVh YS0+ZGV2aWNlLCAwLCBkZXZpbmZvKTsNCglVU0JfQVRUQUNIX1NFVFVQOw0K CXByaW50ZigiJXM6ICVzXG4iLCBVU0JERVZOQU1FKHNjLT5zY19kZXYpLCBk ZXZpbmZvKTsNCg0KCXNjLT5zY191ZGV2ID0gdWFhLT5kZXZpY2U7DQoNCgkv KiBYWFggV2Ugb25seSBjaGVjayB0aGUgZmlyc3QgaW50ZXJmYWNlICovDQoJ ZXJyID0gdXNiZF9kZXZpY2UyaW50ZXJmYWNlX2hhbmRsZShzYy0+c2NfdWRl diwgMCwgJnNjLT5zY19pZmFjZSk7DQoJaWYgKCFlcnIgJiYgc2MtPnNjX2lm YWNlKQ0KCSAgICBpZCA9IHVzYmRfZ2V0X2ludGVyZmFjZV9kZXNjcmlwdG9y KHNjLT5zY19pZmFjZSk7DQoJaWYgKGVyciB8fCBpZCA9PSAwKSB7DQoJCXBy aW50ZigiJXM6IGNvdWxkIG5vdCBnZXQgaW50ZXJmYWNlIGRlc2NyaXB0b3Is IGVycj0lZCxpZD0lcFxuIiwNCgkJICAgICAgIFVTQkRFVk5BTUUoc2MtPnNj X2RldiksIGVyciwgaWQpOw0KCQlVU0JfQVRUQUNIX0VSUk9SX1JFVFVSTjsN Cgl9DQoNCgkvKiBGaW5kIHRoZSB0d28gZmlyc3QgYnVsayBlbmRwb2ludHMg Ki8NCglmb3IgKGkgPSAwIDsgaSA8IGlkLT5iTnVtRW5kcG9pbnRzOyBpKysp IHsNCgkJZWQgPSB1c2JkX2ludGVyZmFjZTJlbmRwb2ludF9kZXNjcmlwdG9y KHNjLT5zY19pZmFjZSwgaSk7DQoJCWlmIChlZCA9PSAwKSB7DQoJCQlwcmlu dGYoIiVzOiBjb3VsZCBub3QgcmVhZCBlbmRwb2ludCBkZXNjcmlwdG9yXG4i LA0KCQkJICAgICAgIFVTQkRFVk5BTUUoc2MtPnNjX2RldikpOw0KCQkJVVNC X0FUVEFDSF9FUlJPUl9SRVRVUk47DQoJCX0NCg0KCQlpZiAoVUVfR0VUX0RJ UihlZC0+YkVuZHBvaW50QWRkcmVzcykgPT0gVUVfRElSX0lODQoJCSAgICAm JiAoZWQtPmJtQXR0cmlidXRlcyAmIFVFX1hGRVJUWVBFKSA9PSBVRV9CVUxL KSB7DQoJCQllZF9idWxraW4gPSBlZDsNCgkJfSBlbHNlIGlmIChVRV9HRVRf RElSKGVkLT5iRW5kcG9pbnRBZGRyZXNzKSA9PSBVRV9ESVJfT1VUDQoJCSAg ICAmJiAoZWQtPmJtQXR0cmlidXRlcyAmIFVFX1hGRVJUWVBFKSA9PSBVRV9C VUxLKSB7DQoJCSAgICAgICAgZWRfYnVsa291dCA9IGVkOw0KCQl9DQoNCgkJ aWYgKGVkX2J1bGtpbiAmJiBlZF9idWxrb3V0KQkvKiBmb3VuZCBhbGwgd2Ug bmVlZCAqLw0KCQkJYnJlYWs7DQoJfQ0KDQoJLyogVmVyaWZ5IHRoYXQgd2Ug Z29ldGhpbmcgc2Vuc2libGUgKi8NCglpZiAoZWRfYnVsa2luID09IE5VTEwg fHwgZWRfYnVsa291dCA9PSBOVUxMKSB7DQoJCXByaW50ZigiJXM6IGJ1bGst aW4gYW5kL29yIGJ1bGstb3V0IGVuZHBvaW50IG5vdCBmb3VuZFxuIiwNCgkJ CVVTQkRFVk5BTUUoc2MtPnNjX2RldikpOw0KCQlVU0JfQVRUQUNIX0VSUk9S X1JFVFVSTjsNCgl9DQoNCglzYy0+c2NfYnVsa2luID0gZWRfYnVsa2luLT5i RW5kcG9pbnRBZGRyZXNzOw0KCXNjLT5zY19idWxrb3V0ID0gZWRfYnVsa291 dC0+YkVuZHBvaW50QWRkcmVzczsNCg0KCS8qIHRoZSBtYWluIGRldmljZSwg Y3RybCBlbmRwb2ludCAqLw0KCW1ha2VfZGV2KCZ1c2Nhbm5lcl9jZGV2c3cs IFVTQkRFVlVOSVQoc2MtPnNjX2RldiksDQoJCVVJRF9ST09ULCBHSURfT1BF UkFUT1IsIDA2NDQsICIlcyIsIFVTQkRFVk5BTUUoc2MtPnNjX2RldikpOw0K DQoJVVNCX0FUVEFDSF9TVUNDRVNTX1JFVFVSTjsNCn0NCg0KaW50DQp1c2Nh bm5lcm9wZW4oZGV2LCBmbGFnLCBtb2RlLCBwKQ0KCWRldl90IGRldjsNCglp bnQgZmxhZzsNCglpbnQgbW9kZTsNCglzdHJ1Y3QgcHJvYyAqcDsNCnsNCglz dHJ1Y3QgdXNjYW5uZXJfc29mdGMgKnNjOw0KCWludCB1bml0ID0gVVNDQU5O RVJVTklUKGRldik7DQoJdXNiZF9zdGF0dXMgZXJyOw0KDQoJVVNCX0dFVF9T Q19PUEVOKHVzY2FubmVyLCB1bml0LCBzYyk7DQoNCiAJRFBSSU5URk4oNSwg KCJ1c2Nhbm5lcm9wZW46IGZsYWc9JWQsIG1vZGU9JWQsIHVuaXQ9JWRcbiIs IA0KCQkgICAgIGZsYWcsIG1vZGUsIHVuaXQpKTsNCg0KCWlmIChzYyA9PSBO VUxMIHx8IHNjLT5zY19keWluZykNCgkJcmV0dXJuIChFTlhJTyk7DQoNCglp ZiAoc2MtPnN0YXRlICYgVVNDQU5ORVJfT1BFTikNCgkJcmV0dXJuIChFQlVT WSk7DQoNCglzYy0+c2NfYnVsa2luX2J1ZmZlciA9IG1hbGxvYyhVU0NBTk5F Ul9CVUZGRVJTSVpFLCBNX1VTQkRFViwgTV9XQUlUT0spOw0KCXNjLT5zY19i dWxrb3V0X2J1ZmZlciA9IG1hbGxvYyhVU0NBTk5FUl9CVUZGRVJTSVpFLCBN X1VTQkRFViwgTV9XQUlUT0spOw0KCWlmIChzYy0+c2NfYnVsa2luX2J1ZmZl ciA9PSAwIHx8IHNjLT5zY19idWxrb3V0X2J1ZmZlciA9PSAwKSB7DQoJCXVz Y2FubmVyX2RvX2Nsb3NlKHNjKTsNCgkJcmV0dXJuIEVOT01FTTsNCgl9DQoJ c2MtPnNjX2J1bGtpbl9idWZmZXJsZW4gPSBVU0NBTk5FUl9CVUZGRVJTSVpF Ow0KCXNjLT5zY19idWxrb3V0X2J1ZmZlcmxlbiA9IFVTQ0FOTkVSX0JVRkZF UlNJWkU7DQoNCgkvKiBXZSBoYXZlIGRlY2lkZWQgb24gd2hpY2ggZW5kcG9p bnRzIHRvIHVzZSwgbm93IG9wZW4gdGhlIHBpcGVzICovDQoJZXJyID0gdXNi ZF9vcGVuX3BpcGUoc2MtPnNjX2lmYWNlLCBzYy0+c2NfYnVsa2luLA0KCQkJ CVVTQkRfRVhDTFVTSVZFX1VTRSwgJnNjLT5zY19idWxraW5fcGlwZSk7DQoJ aWYgKGVycikgew0KCQlwcmludGYoIiVzOiBjYW5ub3Qgb3BlbiBidWxrLWlu IHBpcGUgKGFkZHIgJWQpXG4iLA0KCQkJVVNCREVWTkFNRShzYy0+c2NfZGV2 KSwgc2MtPnNjX2J1bGtpbik7DQoJCXVzY2FubmVyX2RvX2Nsb3NlKHNjKTsN CgkJcmV0dXJuIEVJTzsNCgl9DQoJZXJyID0gdXNiZF9vcGVuX3BpcGUoc2Mt PnNjX2lmYWNlLCBzYy0+c2NfYnVsa291dCwNCgkJCQlVU0JEX0VYQ0xVU0lW RV9VU0UsICZzYy0+c2NfYnVsa291dF9waXBlKTsNCglpZiAoZXJyKSB7DQoJ CXByaW50ZigiJXM6IGNhbm5vdCBvcGVuIGJ1bGstb3V0IHBpcGUgKGFkZHIg JWQpXG4iLA0KCQkJVVNCREVWTkFNRShzYy0+c2NfZGV2KSwgc2MtPnNjX2J1 bGtvdXQpOw0KCQl1c2Nhbm5lcl9kb19jbG9zZShzYyk7DQoJCXJldHVybiBF SU87DQoJfQ0KDQoJc2MtPnNjX2J1bGtpbl94ZmVyID0gdXNiZF9hbGxvY194 ZmVyKHNjLT5zY191ZGV2KTsNCglpZiAoc2MtPnNjX2J1bGtpbl94ZmVyID09 IDApIHsNCgkJdXNjYW5uZXJfZG9fY2xvc2Uoc2MpOw0KCQlyZXR1cm4gKEVO T01FTSk7DQoJfQ0KCXNjLT5zY19idWxrb3V0X3hmZXIgPSB1c2JkX2FsbG9j X3hmZXIoc2MtPnNjX3VkZXYpOw0KCWlmIChzYy0+c2NfYnVsa291dF94ZmVy ID09IDApIHsNCgkJdXNjYW5uZXJfZG9fY2xvc2Uoc2MpOw0KCQlyZXR1cm4g KEVOT01FTSk7DQoJfQ0KDQoJcmV0dXJuIDA7CS8qIHN1Y2Nlc3MgKi8NCn0N Cg0KaW50DQp1c2Nhbm5lcmNsb3NlKGRldiwgZmxhZywgbW9kZSwgcCkNCglk ZXZfdCBkZXY7DQoJaW50IGZsYWc7DQoJaW50IG1vZGU7DQoJc3RydWN0IHBy b2MgKnA7DQp7DQoJc3RydWN0IHVzY2FubmVyX3NvZnRjICpzYzsNCg0KCVVT Ql9HRVRfU0ModXNjYW5uZXIsIFVTQ0FOTkVSVU5JVChkZXYpLCBzYyk7DQoN CglEUFJJTlRGTig1LCAoInVzY2FubmVyY2xvc2U6IGZsYWc9JWQsIG1vZGU9 JWQsIHVuaXQ9JWRcbiIsDQoJCSAgICAgZmxhZywgbW9kZSwgVVNDQU5ORVJV TklUKGRldikpKTsNCg0KI2lmZGVmIERJQUdOT1NUSUMNCglpZiAoIShzYy0+ c3RhdGUgJiBVU0NBTk5FUl9PUEVOKSkgew0KCQlwcmludGYoInVzY2FubmVy Y2xvc2U6IG5vdCBvcGVuXG4iKTsNCgkJcmV0dXJuIChFSU5WQUwpOw0KCX0N CiNlbmRpZg0KDQoJdXNjYW5uZXJfZG9fY2xvc2Uoc2MpOw0KDQoJcmV0dXJu IDA7DQp9DQoNCnZvaWQNCnVzY2FubmVyX2RvX2Nsb3NlKHN0cnVjdCB1c2Nh bm5lcl9zb2Z0YyAqc2MpDQp7DQoJaWYgKHNjLT5zY19idWxraW5feGZlcikg ew0KCQl1c2JkX2ZyZWVfeGZlcihzYy0+c2NfYnVsa2luX3hmZXIpOw0KCQlz Yy0+c2NfYnVsa2luX3hmZXIgPSBOVUxMOw0KCX0NCglpZiAoc2MtPnNjX2J1 bGtvdXRfeGZlcikgew0KCQl1c2JkX2ZyZWVfeGZlcihzYy0+c2NfYnVsa291 dF94ZmVyKTsNCgkJc2MtPnNjX2J1bGtvdXRfeGZlciA9IE5VTEw7DQoJfQ0K DQoJaWYgKHNjLT5zY19idWxraW5fcGlwZSkgew0KCQl1c2JkX2Fib3J0X3Bp cGUoc2MtPnNjX2J1bGtpbl9waXBlKTsNCgkJdXNiZF9jbG9zZV9waXBlKHNj LT5zY19idWxraW5fcGlwZSk7DQoJCXNjLT5zY19idWxraW5fcGlwZSA9IE5V TEw7DQoJfQ0KCWlmIChzYy0+c2NfYnVsa291dF9waXBlKSB7DQoJCXVzYmRf YWJvcnRfcGlwZShzYy0+c2NfYnVsa291dF9waXBlKTsNCgkJdXNiZF9jbG9z ZV9waXBlKHNjLT5zY19idWxrb3V0X3BpcGUpOw0KCQlzYy0+c2NfYnVsa291 dF9waXBlID0gTlVMTDsNCgl9DQoNCglpZiAoc2MtPnNjX2J1bGtpbl9idWZm ZXIpIHsNCgkJZnJlZShzYy0+c2NfYnVsa2luX2J1ZmZlciwgTV9VU0JERVYp Ow0KCQlzYy0+c2NfYnVsa2luX2J1ZmZlciA9IE5VTEw7DQoJfQ0KCWlmIChz Yy0+c2NfYnVsa291dF9idWZmZXIpIHsNCgkJZnJlZShzYy0+c2NfYnVsa291 dF9idWZmZXIsIE1fVVNCREVWKTsNCgkJc2MtPnNjX2J1bGtvdXRfYnVmZmVy ID0gTlVMTDsNCgl9DQoNCglzYy0+c3RhdGUgJj0gflVTQ0FOTkVSX09QRU47 DQp9DQoNClN0YXRpYyBpbnQNCnVzY2FubmVyX2RvX3JlYWQoc2MsIHVpbywg ZmxhZykNCglzdHJ1Y3QgdXNjYW5uZXJfc29mdGMgKnNjOw0KCXN0cnVjdCB1 aW8gKnVpbzsNCglpbnQgZmxhZzsNCnsNCgl1X2ludDMyX3QgbiwgdG47DQoJ dXNiZF9zdGF0dXMgZXJyOw0KCWludCBlcnJvciA9IDA7DQoNCglEUFJJTlRG Tig1LCAoIiVzOiB1c2Nhbm5lcnJlYWRcbiIsIFVTQkRFVk5BTUUoc2MtPnNj X2RldikpKTsNCg0KCWlmIChzYy0+c2NfZHlpbmcpDQoJCXJldHVybiAoRUlP KTsNCg0KCXdoaWxlICgobiA9IG1pbihzYy0+c2NfYnVsa2luX2J1ZmZlcmxl biwgdWlvLT51aW9fcmVzaWQpKSAhPSAwKSB7DQoJCURQUklOVEZOKDEsICgi dXNjYW5uZXJyZWFkOiBzdGFydCB0cmFuc2ZlciAlZCBieXRlc1xuIixuKSk7 DQoJCXRuID0gbjsNCg0KCQllcnIgPSB1c2JkX2J1bGtfdHJhbnNmZXIoDQoJ CQlzYy0+c2NfYnVsa2luX3hmZXIsIHNjLT5zY19idWxraW5fcGlwZSwNCgkJ CXNjLT5zdGF0ZSAmIFVTQkRfU0hPUlRfWEZFUl9PSywgVVNCRF9OT19USU1F T1VULA0KCQkJc2MtPnNjX2J1bGtpbl9idWZmZXIsICZ0biwNCgkJCSJ1c2Nh bm5lcnJiIik7DQoJCWlmIChlcnIpIHsNCgkJCWlmIChlcnIgPT0gVVNCRF9J TlRFUlJVUFRFRCkNCgkJCQllcnJvciA9IEVJTlRSOw0KCQkJZWxzZSBpZiAo ZXJyID09IFVTQkRfVElNRU9VVCkNCgkJCQllcnJvciA9IEVUSU1FRE9VVDsN CgkJCWVsc2UNCgkJCQllcnJvciA9IEVJTzsNCgkJCWJyZWFrOw0KCQl9DQoJ CURQUklOVEZOKDEsICgidXNjYW5uZXJyZWFkOiBnb3QgJWQgYnl0ZXNcbiIs IHRuKSk7DQoJCWVycm9yID0gdWlvbW92ZShzYy0+c2NfYnVsa2luX2J1ZmZl ciwgdG4sIHVpbyk7DQoJCWlmIChlcnJvciB8fCB0biA8IG4pDQoJCQlicmVh azsNCgl9DQoNCglyZXR1cm4gKGVycm9yKTsNCn0NCg0KaW50DQp1c2Nhbm5l cnJlYWQoZGV2LCB1aW8sIGZsYWcpDQoJZGV2X3QgZGV2Ow0KCXN0cnVjdCB1 aW8gKnVpbzsNCglpbnQgZmxhZzsNCnsNCglzdHJ1Y3QgdXNjYW5uZXJfc29m dGMgKnNjOw0KCWludCBlcnJvcjsNCg0KCVVTQl9HRVRfU0ModXNjYW5uZXIs IFVTQ0FOTkVSVU5JVChkZXYpLCBzYyk7DQoNCglzYy0+c2NfcmVmY250Kys7 DQoJZXJyb3IgPSB1c2Nhbm5lcl9kb19yZWFkKHNjLCB1aW8sIGZsYWcpOw0K CWlmICgtLXNjLT5zY19yZWZjbnQgPCAwKQ0KCQl1c2JfZGV0YWNoX3dha2V1 cChVU0JERVYoc2MtPnNjX2RldikpOw0KDQoJcmV0dXJuIChlcnJvcik7DQp9 DQoNClN0YXRpYyBpbnQNCnVzY2FubmVyX2RvX3dyaXRlKHNjLCB1aW8sIGZs YWcpDQoJc3RydWN0IHVzY2FubmVyX3NvZnRjICpzYzsNCglzdHJ1Y3QgdWlv ICp1aW87DQoJaW50IGZsYWc7DQp7DQoJdV9pbnQzMl90IG47DQoJaW50IGVy cm9yID0gMDsNCgl1c2JkX3N0YXR1cyBlcnI7DQoNCglEUFJJTlRGTig1LCAo IiVzOiB1c2Nhbm5lcl9kb193cml0ZVxuIiwgVVNCREVWTkFNRShzYy0+c2Nf ZGV2KSkpOw0KDQoJaWYgKHNjLT5zY19keWluZykNCgkJcmV0dXJuIChFSU8p Ow0KDQoJd2hpbGUgKChuID0gbWluKHNjLT5zY19idWxrb3V0X2J1ZmZlcmxl biwgdWlvLT51aW9fcmVzaWQpKSAhPSAwKSB7DQoJCWVycm9yID0gdWlvbW92 ZShzYy0+c2NfYnVsa291dF9idWZmZXIsIG4sIHVpbyk7DQoJCWlmIChlcnJv cikNCgkJCWJyZWFrOw0KCQlEUFJJTlRGTigxLCAoInVzY2FubmVyX2RvX3dy aXRlOiB0cmFuc2ZlciAlZCBieXRlc1xuIiwgbikpOw0KCQllcnIgPSB1c2Jk X2J1bGtfdHJhbnNmZXIoDQoJCQlzYy0+c2NfYnVsa291dF94ZmVyLCBzYy0+ c2NfYnVsa291dF9waXBlLA0KCQkJMCwgVVNCRF9OT19USU1FT1VULA0KCQkJ c2MtPnNjX2J1bGtvdXRfYnVmZmVyLCAmbiwNCgkJCSJ1c2Nhbm5lcndiIik7 DQoJCWlmIChlcnIpIHsNCgkJCWlmIChlcnIgPT0gVVNCRF9JTlRFUlJVUFRF RCkNCgkJCQllcnJvciA9IEVJTlRSOw0KCQkJZWxzZQ0KCQkJCWVycm9yID0g RUlPOw0KCQkJYnJlYWs7DQoJCX0NCgl9DQoNCglyZXR1cm4gKGVycm9yKTsN Cn0NCg0KaW50DQp1c2Nhbm5lcndyaXRlKGRldiwgdWlvLCBmbGFnKQ0KCWRl dl90IGRldjsNCglzdHJ1Y3QgdWlvICp1aW87DQoJaW50IGZsYWc7DQp7DQoJ c3RydWN0IHVzY2FubmVyX3NvZnRjICpzYzsNCglpbnQgZXJyb3I7DQoNCglV U0JfR0VUX1NDKHVzY2FubmVyLCBVU0NBTk5FUlVOSVQoZGV2KSwgc2MpOw0K DQoJc2MtPnNjX3JlZmNudCsrOw0KCWVycm9yID0gdXNjYW5uZXJfZG9fd3Jp dGUoc2MsIHVpbywgZmxhZyk7DQoJaWYgKC0tc2MtPnNjX3JlZmNudCA8IDAp DQoJCXVzYl9kZXRhY2hfd2FrZXVwKFVTQkRFVihzYy0+c2NfZGV2KSk7DQoJ cmV0dXJuIChlcnJvcik7DQp9DQoNCiNpZiBkZWZpbmVkKF9fTmV0QlNEX18p IHx8IGRlZmluZWQoX19PcGVuQlNEX18pDQppbnQNCnVzY2FubmVyX2FjdGl2 YXRlKHNlbGYsIGFjdCkNCglkZXZpY2VfcHRyX3Qgc2VsZjsNCgllbnVtIGRl dmFjdCBhY3Q7DQp7DQoJc3RydWN0IHVzY2FubmVyX3NvZnRjICpzYyA9IChz dHJ1Y3QgdXNjYW5uZXJfc29mdGMgKilzZWxmOw0KDQoJc3dpdGNoIChhY3Qp IHsNCgljYXNlIERWQUNUX0FDVElWQVRFOg0KCQlyZXR1cm4gKEVPUE5PVFNV UFApOw0KCQlicmVhazsNCg0KCWNhc2UgRFZBQ1RfREVBQ1RJVkFURToNCgkJ c2MtPnNjX2R5aW5nID0gMTsNCgkJYnJlYWs7DQoJfQ0KCXJldHVybiAoMCk7 DQp9DQojZW5kaWYNCg0KVVNCX0RFVEFDSCh1c2Nhbm5lcikNCnsNCglVU0Jf REVUQUNIX1NUQVJUKHVzY2FubmVyLCBzYyk7DQoJaW50IHM7DQojaWYgZGVm aW5lZChfX05ldEJTRF9fKSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKQ0KCWlu dCBtYWosIG1uOw0KI2VsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykNCglkZXZf dCBkZXY7DQoJc3RydWN0IHZub2RlICp2cDsNCiNlbmRpZg0KDQojaWYgZGVm aW5lZChfX05ldEJTRF9fKSB8fCBkZWZpbmVkKF9fT3BlbkJTRF9fKQ0KCURQ UklOVEYoKCJ1c2Nhbm5lcl9kZXRhY2g6IHNjPSVwIGZsYWdzPSVkXG4iLCBz YywgZmxhZ3MpKTsNCiNlbGlmIGRlZmluZWQoX19GcmVlQlNEX18pDQoJRFBS SU5URigoInVzY2FubmVyX2RldGFjaDogc2M9JXBcbiIsIHNjKSk7DQojZW5k aWYNCg0KCXNjLT5zY19keWluZyA9IDE7DQoNCgkvKiBBYm9ydCBhbGwgcGlw ZXMuICBDYXVzZXMgcHJvY2Vzc2VzIHdhaXRpbmcgZm9yIHRyYW5zZmVyIHRv IHdha2UuICovDQoJaWYgKHNjLT5zY19idWxraW5fcGlwZSkNCgkJdXNiZF9h Ym9ydF9waXBlKHNjLT5zY19idWxraW5fcGlwZSk7DQoJaWYgKHNjLT5zY19i dWxrb3V0X3BpcGUpDQoJCXVzYmRfYWJvcnRfcGlwZShzYy0+c2NfYnVsa291 dF9waXBlKTsNCg0KCXMgPSBzcGx1c2IoKTsNCglpZiAoLS1zYy0+c2NfcmVm Y250ID49IDApIHsNCgkJLyogV2FpdCBmb3IgcHJvY2Vzc2VzIHRvIGdvIGF3 YXkuICovDQoJCXVzYl9kZXRhY2hfd2FpdChVU0JERVYoc2MtPnNjX2Rldikp Ow0KCX0NCglzcGx4KHMpOw0KDQojaWYgZGVmaW5lZChfX05ldEJTRF9fKSB8 fCBkZWZpbmVkKF9fT3BlbkJTRF9fKQ0KCS8qIGxvY2F0ZSB0aGUgbWFqb3Ig bnVtYmVyICovDQoJZm9yIChtYWogPSAwOyBtYWogPCBuY2hyZGV2OyBtYWor KykNCgkJaWYgKGNkZXZzd1ttYWpdLmRfb3BlbiA9PSB1c2Nhbm5lcm9wZW4p DQoJCQlicmVhazsNCg0KCS8qIE51a2UgdGhlIHZub2RlcyBmb3IgYW55IG9w ZW4gaW5zdGFuY2VzIChjYWxscyBjbG9zZSkuICovDQoJbW4gPSBzZWxmLT5k dl91bml0ICogVVNCX01BWF9FTkRQT0lOVFM7DQoJdmRldmdvbmUobWFqLCBt biwgbW4gKyBVU0JfTUFYX0VORFBPSU5UUyAtIDEsIFZDSFIpOw0KI2VsaWYg ZGVmaW5lZChfX0ZyZWVCU0RfXykNCgkvKiBkZXN0cm95IHRoZSBkZXZpY2Ug Zm9yIHRoZSBjb250cm9sIGVuZHBvaW50ICovDQoJZGV2ID0gbWFrZWRldihV U0NBTk5FUl9DREVWX01BSk9SLCBVU0JERVZVTklUKHNjLT5zY19kZXYpKTsN Cgl2cCA9IFNMSVNUX0ZJUlNUKCZkZXYtPnNpX2hsaXN0KTsNCglpZiAodnAp DQoJCVZPUF9SRVZPS0UodnAsIFJFVk9LRUFMTCk7DQoJZGVzdHJveV9kZXYo ZGV2KTsNCiNlbmRpZg0KDQoJcmV0dXJuICgwKTsNCn0NCg0KaW50DQp1c2Nh bm5lcnBvbGwoZGV2LCBldmVudHMsIHApDQoJZGV2X3QgZGV2Ow0KCWludCBl dmVudHM7DQoJc3RydWN0IHByb2MgKnA7DQp7DQoJc3RydWN0IHVzY2FubmVy X3NvZnRjICpzYzsNCglpbnQgcmV2ZW50cyA9IDA7DQoNCglVU0JfR0VUX1ND KHVzY2FubmVyLCBVU0NBTk5FUlVOSVQoZGV2KSwgc2MpOw0KDQoJaWYgKHNj LT5zY19keWluZykNCgkJcmV0dXJuIChFSU8pOw0KDQoJLyogDQoJICogV2Ug aGF2ZSBubyBlYXN5IHdheSBvZiBkZXRlcm1pbmluZyBpZiBhIHJlYWQgd2ls bA0KCSAqIHlpZWxkIGFueSBkYXRhIG9yIGEgd3JpdGUgd2lsbCBoYXBwZW4u DQoJICogUHJldGVuZCB0aGV5IHdpbGwuDQoJICovDQoJcmV2ZW50cyB8PSBl dmVudHMgJiANCgkJICAgKFBPTExJTiB8IFBPTExSRE5PUk0gfCBQT0xMT1VU IHwgUE9MTFdSTk9STSk7DQoNCglyZXR1cm4gKHJldmVudHMpOw0KfQ0KDQoj aWYgZGVmaW5lZChfX0ZyZWVCU0RfXykNCkRSSVZFUl9NT0RVTEUodXNjYW5u ZXIsIHVodWIsIHVzY2FubmVyX2RyaXZlciwgdXNjYW5uZXJfZGV2Y2xhc3Ms IHVzYmRfZHJpdmVyX2xvYWQsIDApOw0KI2VuZGlmDQo= --0-1557275625-968264149=:54419 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="uscanner.h" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.20.0009061915491.54419@henny.webweaving.org> Content-Description: Content-Disposition: attachment; filename="uscanner.h" LyogdGFibGUgb2Ygc2Nhbm5lcnMgdGhhdCBtYXkgd29yayB3aXRoIHRoaXMg ZHJpdmVyICovDQpzdGF0aWMgY29uc3Qgc3RydWN0IHNjYW5uZXJfaWQgew0K ICAgIHVpbnQxNl90CXZlbmRvcjsNCiAgICB1aW50MTZfdAlwcm9kdWN0Ow0K fSBzY2FubmVyX2lkcyBbXSA9IHsNCiAgICB7IFVTQl9WRU5ET1JfQUNFUlAs IFVTQl9QUk9EVUNUX0FDRVJQX0FDRVJTQ0FOXzY0MFUgfSwNCiAgICB7IFVT Ql9WRU5ET1JfQUNFUlAsIFVTQl9QUk9EVUNUX0FDRVJQX0FDRVJTQ0FOXzYy MFUgfSwNCg0KICAgIHsgVVNCX1ZFTkRPUl9BR0ZBLCBVU0JfUFJPRFVDVF9B R0ZBX1NOQVBTQ0FOMTIxMlUgfSwNCiAgICB7IFVTQl9WRU5ET1JfQUdGQSwg VVNCX1BST0RVQ1RfQUdGQV9TTkFQU0NBTjEyMTJVMiB9LA0KICAgIHsgVVNC X1ZFTkRPUl9BR0ZBLCBVU0JfUFJPRFVDVF9BR0ZBX1NOQVBTQ0FOVE9VQ0gg fSwNCg0KICAgIHsgVVNCX1ZFTkRPUl9LWUUsIFVTQl9QUk9EVUNUX0tZRV9W SVZJRFBSTyB9LA0KDQogICAgeyBVU0JfVkVORE9SX0hQLCBVU0JfUFJPRFVD VF9IUF8zMzAwQyB9LA0KICAgIHsgVVNCX1ZFTkRPUl9IUCwgVVNCX1BST0RV Q1RfSFBfNDEwMEMgfSwNCiAgICB7IFVTQl9WRU5ET1JfSFAsIFVTQl9QUk9E VUNUX0hQXzQyMDBDIH0sDQogICAgeyBVU0JfVkVORE9SX0hQLCBVU0JfUFJP RFVDVF9IUF9TMjAgfSwNCiAgICB7IFVTQl9WRU5ET1JfSFAsIFVTQl9QUk9E VUNUX0hQXzUyMDAgfSwNCiAgICB7IFVTQl9WRU5ET1JfSFAsIFVTQl9QUk9E VUNUX0hQXzYyMDBDIH0sDQogICAgeyBVU0JfVkVORE9SX0hQLCBVU0JfUFJP RFVDVF9IUF82MzAwQyB9LA0KDQogICAgeyBVU0JfVkVORE9SX0FWSVNJT04s IFVTQl9QUk9EVUNUX0FWSVNJT05fMTIwMFUgfSwNCg0KICAgIHsgVVNCX1ZF TkRPUl9NSUNST1RFSywgVVNCX1BST0RVQ1RfTUlDUk9URUtfWDZVIH0sDQog ICAgeyBVU0JfVkVORE9SX01JQ1JPVEVLLCBVU0JfUFJPRFVDVF9NSUNST1RF S18zMzZDWCB9LA0KICAgIHsgVVNCX1ZFTkRPUl9NSUNST1RFSywgVVNCX1BS T0RVQ1RfTUlDUk9URUtfMzM2Q1gyIH0sDQogICAgeyBVU0JfVkVORE9SX01J Q1JPVEVLLCBVU0JfUFJPRFVDVF9NSUNST1RFS19DNiB9LA0KICAgIHsgVVNC X1ZFTkRPUl9NSUNST1RFSywgVVNCX1BST0RVQ1RfTUlDUk9URUtfVjZVU0wg fSwNCiAgICB7IFVTQl9WRU5ET1JfTUlDUk9URUssIFVTQl9QUk9EVUNUX01J Q1JPVEVLX1Y2VVNMMiB9LA0KICAgIHsgVVNCX1ZFTkRPUl9NSUNST1RFSywg VVNCX1BST0RVQ1RfTUlDUk9URUtfVjZVTCB9LA0KDQogICAgeyBVU0JfVkVO RE9SX01VU1RFSywgVVNCX1BST0RVQ1RfTVVTVEVLXzEyMDBDVSB9LA0KDQog ICAgeyBVU0JfVkVORE9SX1BSSU1BWCwgVVNCX1BST0RVQ1RfUFJJTUFYX0cy RTMwMCB9LA0KICAgIHsgVVNCX1ZFTkRPUl9QUklNQVgsIFVTQl9QUk9EVUNU X1BSSU1BWF82MzZJIH0sDQogICAgeyBVU0JfVkVORE9SX1BSSU1BWCwgVVNC X1BST0RVQ1RfUFJJTUFYX0cyMzAwIH0sDQogICAgeyBVU0JfVkVORE9SX1BS SU1BWCwgVVNCX1BST0RVQ1RfUFJJTUFYX0cyNjAwIH0sDQogICAgeyBVU0Jf VkVORE9SX1BSSU1BWCwgVVNCX1BST0RVQ1RfUFJJTUFYX0cyRTMwMDIgfSwN CiAgICB7IFVTQl9WRU5ET1JfUFJJTUFYLCBVU0JfUFJPRFVDVF9QUklNQVhf RzJFNjAwIH0sDQogICAgeyBVU0JfVkVORE9SX1BSSU1BWCwgVVNCX1BST0RV Q1RfUFJJTUFYXzk2MDAgfSwNCiAgICB7IFVTQl9WRU5ET1JfUFJJTUFYLCBV U0JfUFJPRFVDVF9QUklNQVhfMTkyMDAgfSwNCiAgICB7IFVTQl9WRU5ET1Jf UFJJTUFYLCBVU0JfUFJPRFVDVF9QUklNQVhfNjAwVSB9LA0KICAgIHsgVVNC X1ZFTkRPUl9QUklNQVgsIFVTQl9QUk9EVUNUX1BSSU1BWF8xMjAwVSB9LA0K DQogICAgeyBVU0JfVkVORE9SX0VQU09OLCBVU0JfUFJPRFVDVF9FUFNPTl82 MzYgfSwNCiAgICB7IFVTQl9WRU5ET1JfRVBTT04sIFVTQl9QUk9EVUNUX0VQ U09OXzYxMCB9LA0KICAgIHsgVVNCX1ZFTkRPUl9FUFNPTiwgVVNCX1BST0RV Q1RfRVBTT05fMTIwMCB9LA0KDQogICAgeyBVU0JfVkVORE9SX1VNQVgsIFVT Ql9QUk9EVUNUX1VNQVhfQVNUUkExMjIwVSB9LA0KICAgIHsgVVNCX1ZFTkRP Ul9VTUFYLCBVU0JfUFJPRFVDVF9VTUFYX0FTVFJBMTIzNlUgfSwNCiAgICB7 IFVTQl9WRU5ET1JfVU1BWCwgVVNCX1BST0RVQ1RfVU1BWF9BU1RSQTIwMDBV IH0sDQogICAgeyBVU0JfVkVORE9SX1VNQVgsIFVTQl9QUk9EVUNUX1VNQVhf QVNUUkEyMjAwVSB9LA0KDQogICAgeyBVU0JfVkVORE9SX1ZJU0lPTkVFUiwg VVNCX1BST0RVQ1RfVklTSU9ORUVSXzUzMDAgfSwNCiAgICB7IFVTQl9WRU5E T1JfVklTSU9ORUVSLCBVU0JfUFJPRFVDVF9WSVNJT05FRVJfNjEwMCB9LA0K DQogICAgeyAwLCAwIH0NCn07DQoNCg0K --0-1557275625-968264149=:54419 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.20.0009061915492.54419@henny.webweaving.org> Content-Description: Content-Disposition: attachment; filename=Makefile IyAgICAgICAkRnJlZUJTRDogc3JjL3N5cy9tb2R1bGVzL3Vtcy9NYWtlZmls ZSx2IDEuOSAyMDAwLzA1LzI3IDAxOjE0OjI4IHBldGVyIEV4cCAkIA0KDQpN QUlOVEFJTkVSCSA9IG5faGlibWFAZnJlZWJzZC5vcmcNCg0KLlBBVEg6ICAJ ICR7LkNVUkRJUn0vLi4vLi4vZGV2L3VzYg0KS01PRAkJID0gdXNjYW5uZXIN ClNSQ1MJCSA9IGJ1c19pZi5oIGRldmljZV9pZi5oIHZub2RlX2lmLmggb3B0 X3VzYi5oIHVzY2FubmVyLmMNCk5PTUFOCQkgPQ0KDQpDRkxBR1MJCSs9IC1n DQoNCi5pbmNsdWRlIDxic2Qua21vZC5taz4NCg== --0-1557275625-968264149=:54419 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="uscanner.patch" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.BSF.4.20.0009061915493.54419@henny.webweaving.org> Content-Description: Content-Disposition: attachment; filename="uscanner.patch" SW5kZXg6IGJvb3QvZm9ydGgvbG9hZGVyLmNvbmYNCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvYm9vdC9m b3J0aC9sb2FkZXIuY29uZix2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzAN CmRpZmYgLXcgLXUgLXIxLjMwIGxvYWRlci5jb25mDQotLS0gYm9vdC9mb3J0 aC9sb2FkZXIuY29uZgkyMDAwLzA3LzI4IDExOjU0OjA4CTEuMzANCisrKyBi b290L2ZvcnRoL2xvYWRlci5jb25mCTIwMDAvMDkvMDUgMTM6NDg6MjMNCkBA IC0xNjksNiArMTY5LDcgQEANCiB1bHB0X2xvYWQ9Ik5PIgkJCSMgUHJpbnRl cg0KIHVtc19sb2FkPSJOTyIJCQkjIE1vdXNlDQogdW1hc3NfbG9hZD0iTk8i CQkJIyBNYXNzIFN0b3JhZ2UgRGV2aWNlcw0KK3VzY2FubmVyX2xvYWQ9Ik5P IgkJIyBTY2FubmVycw0KIGlmX2F1ZV9sb2FkPSJOTyIJCSMgQURNdGVrIFVT QiBldGhlcm5ldA0KIGlmX2N1ZV9sb2FkPSJOTyIJCSMgQ0FUQyBVU0IgZXRo ZXJuZXQNCiBpZl9rdWVfbG9hZD0iTk8iCQkjIEthd2FzYWtpIExTSSBVU0Ig ZXRoZXJuZXQNCkluZGV4OiBjb25mL21ham9ycw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9jb25mL21h am9ycyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTEyDQpkaWZmIC13IC11 IC1yMS4xMTIgbWFqb3JzDQotLS0gY29uZi9tYWpvcnMJMjAwMC8wOS8wMSAy MToxNDoxNQkxLjExMg0KKysrIGNvbmYvbWFqb3JzCTIwMDAvMDkvMDUgMTM6 MzY6MDINCkBAIC0xNzEsNiArMTcxLDcgQEANCiAxNTIJYWNwaQkJQUNQSSBi aW9zIHN1cHBvcnQgKFRha2Fub3JpIFdhdGFuYWJlIHRha2F3YXRhQHNoaWRh aGFyYTEucGxhbmV0LnNjaS5rb2JlLXUuYWMuanApDQogMTUzCXRpCQlUaWdv biBHaWdhYml0IEV0aGVybmV0IGRyaXZlciAoa2VuQEZyZWVCU0QuT1JHKQ0K IDE1NAlhc3IJCUFkYXB0ZWMgU0NTSSBSQUlEIDxtc21pdGhAZnJlZWJzZC5v cmc+DQorMTU1CXVzY2FubmVyCVVTQiBTY2FubmVycyA8bl9oaWJtYT4NCiAy MDAJPz8JCWVudHJpZXMgZnJvbSAyMDAtMjUyIGFyZSByZXNlcnZlZCBmb3Ig bG9jYWwgdXNlDQogMjUyCT8/CQllbnRyaWVzIGZyb20gMjAwLTI1MiBhcmUg cmVzZXJ2ZWQgZm9yIGxvY2FsIHVzZQ0KIDI1MwltZnMJCVVzZWQgYnkgTUZT DQpJbmRleDogbW9kdWxlcy9NYWtlZmlsZQ0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9tb2R1bGVzL01h a2VmaWxlLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMzcNCmRpZmYgLXcg LXUgLXIxLjEzNyBNYWtlZmlsZQ0KLS0tIG1vZHVsZXMvTWFrZWZpbGUJMjAw MC8wOS8wMSAwNzo1MToyNAkxLjEzNw0KKysrIG1vZHVsZXMvTWFrZWZpbGUJ MjAwMC8wOS8wNSAxMzo0NjowMw0KQEAgLTEzLDYgKzEzLDcgQEANCiAJbndm cyBwb3J0YWwgcHJvY2ZzICR7X3JhbmRvbWRldn0gXA0KIAlybCBycCBzZiBz aXMgc2sgc24gc291bmQgc3RlIHN5c2NvbnMgdGkgdGwgdHdlIHR4IFwNCiAJ dWRicCB1Z2VuIHVoaWQgdWtiZCB1bHB0IHVtYXBmcyB1bWFzcyB1bW9kZW0g dW1zIHVuaW9uIHVyaW8gdXNiIFwNCisJdXNjYW5uZXIgXA0KIAl2aW51bSB2 biB2cG8gdnIgd2Igd3ggeGwNCiANCiAjIFhYWCBzb21lIG9mIHRoZXNlIGNh biBtb3ZlIHRvIHRoZSBnZW5lcmFsIGNhc2Ugd2hlbiBkZS1pMzg2J2VkDQo= --0-1557275625-968264149=:54419-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.0009061904060.54419-500000>