I have a commercial 32bit application which is linked with sanei_scsi.c, and which fails to detect any connected SCSI scanner when running on an AMD64 system. Communication with the scanner is via /dev/sgX, it fails in a write() call returning EINVAL. The author of said app refuses to compile a 64bit version, but is prepared to link a version of sanei_scsi.c which has its write() wrapped in such a way that it works on both 32bit and 64bit systems.
At first glance, there are two write() calls involved. Before I have a detailed look at the code, is someone knowledgable able to give a guess as to whether this seems to be at all possible? I would at this point imagine that the problem is in 32/64bit byte ordering and structure packing, and that some byte shuffling would be nececassry. Thanks, Volker -- Volker Kuhlmann is possibly list0570 with the domain in header http://volker.dnsalias.net/ Please do not CC list postings to me.
