Am Montag, 1. November 2010, um 01:03:23 schrieb m. allan noah: > Yes- what we should probably do is add a new set of > sanei_usb_{read,write,etc}_extended() functions, which take the > endpoint as a argument. Then all of the existing functions could > become a wrapper around those, which call a helper function to > determine the 'automatic' endpoint to use.
Here's a first shot at this extension: http://codereview.appspot.com/2823041/ I added sanei_usb_*_extended functions, whenever an endpoint is used in the code. If the endpoint argument is -1, then the auto-detected endpoints are used (first found is taken, all others are ignored, just like things worked so far). I'm not sure if we should add an (optional) pointer to (bulk|int|...)-(in|out) endpoints to the sanei_usb_open function to make it possible to override the default in/out endpoints...? What do you think? With this patch, the magicolor backend works fine for USB-connections (two bulk-in endpoints, where the second needs to be used)... Cheers, Reinhold PS: Why are the files in sanei/sanei* and include/sane/sanei_*.h not installed and rather directly linked to by the backends? The problem with this approach is that any backend outside the sane-backends tree needs to copy those files over and keep them up to date from sane-backends. -- ------------------------------------------------------------------ Reinhold Kainhofer, reinhold at kainhofer.com, http://reinhold.kainhofer.com/ * Financial & Actuarial Math., Vienna Univ. of Technology, Austria * http://www.fam.tuwien.ac.at/, DVR: 0005886 * LilyPond, Music typesetting, http://www.lilypond.org