On Tue, Feb 19, 2008 at 4:05 AM, Corinna Vinschen <[EMAIL PROTECTED]> wrote: > On Feb 18 21:15, Andrew Dyer wrote: > > I am having problems using ioperm() to try and access a parallel printer > port on > > a PCI card in my system running WinXP. The port is mapped to I/O port > address > > 0xDCD8. I cannot access the port because the ioperm() driver has a check > to > > limit I/O port accesses to < 0x400. > > > > from /usr/src/ioperm-0.4/driver/ioperm.c, lines 95-100 > > > > /* test input buffer size and parameters */ > > if ((io_stack->Parameters.DeviceIoControl.InputBufferLength > < sizeof (struct > > ioperm_data)) > > || (!ioperm_data) || (ioperm_data->from + > ioperm_data->num > 0x400)) > > { > > Irp->IoStatus.Status = STATUS_INVALID_PARAMETER; > > } else { > > [...] > > I can't rebuild the driver as I don't have access to the DDK. Can someone > > The necessary ddk files are part of the w32api package in the Cygwin > distro. You don't have to install the Microsoft DDK package. > > > rebuild it with the check modified so I could test it? > > The ioperm package has no maintainer anymore since 2006. If anybody > feels that maintaining ioperm would be something they could consider as > a fun side job, just read http://cygwin.com/setup.html and follow the > instructions. >
Attached is a patch that fixes this issue for me. -- Hardware, n.: The parts of a computer system that can be kicked.
ioperm-port-range-patch
Description: Binary data
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/