X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: Date: Wed, 26 Mar 2008 13:49:41 -0500 From: "Andrew Dyer" To: cygwin AT cygwin DOT com Subject: Re: Looking for ioperm maintainer (was Re: ioperm() with ports above 0x3ff) In-Reply-To: <20080219090528.GG30886@calimero.vinschen.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_13548_1257702.1206557381097" References: <20080219090528 DOT GG30886 AT calimero DOT vinschen DOT de> Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com ------=_Part_13548_1257702.1206557381097 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On Tue, Feb 19, 2008 at 4:05 AM, Corinna Vinschen 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. ------=_Part_13548_1257702.1206557381097 Content-Type: application/octet-stream; name=ioperm-port-range-patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fea92l0o0 Content-Disposition: attachment; filename=ioperm-port-range-patch LS0tIGlvcGVybS0wLjQvZHJpdmVyL2lvcGVybS5jfgkyMDAzLTAxLTMxIDA5 OjA4OjU4LjAwMDAwMDAwMCAtMDYwMAorKysgaW9wZXJtLTAuNC9kcml2ZXIv aW9wZXJtLmMJMjAwOC0wMi0xOSAwOToxNzoxNy44NzUwMDAwMDAgLTA2MDAK QEAgLTk0LDcgKzk0LDcgQEAKIAogCQkvKiB0ZXN0IGlucHV0IGJ1ZmZlciBz aXplIGFuZCBwYXJhbWV0ZXJzICovCiAJCWlmICgoaW9fc3RhY2stPlBhcmFt ZXRlcnMuRGV2aWNlSW9Db250cm9sLklucHV0QnVmZmVyTGVuZ3RoIDwgc2l6 ZW9mIChzdHJ1Y3QgaW9wZXJtX2RhdGEpKQotCQkJfHwgKCFpb3Blcm1fZGF0 YSkgfHwgKGlvcGVybV9kYXRhLT5mcm9tICsgaW9wZXJtX2RhdGEtPm51bSA+ IDB4NDAwKSkKKwkJCXx8ICghaW9wZXJtX2RhdGEpIHx8IChpb3Blcm1fZGF0 YS0+ZnJvbSArIGlvcGVybV9kYXRhLT5udW0gPiAweDEwMDAwKSkKIAkJewog CQkJSXJwLT5Jb1N0YXR1cy5TdGF0dXMgPSBTVEFUVVNfSU5WQUxJRF9QQVJB TUVURVI7CiAJCX0gZWxzZSB7Cg== ------=_Part_13548_1257702.1206557381097 Content-Type: text/plain; charset=us-ascii -- 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/ ------=_Part_13548_1257702.1206557381097--