This software adds support for ioperm()/iopl() functions to Cygwin. This support includes sys/io.h and sys/perm.h header files (not included in Cygwin by default) together with development and runtime libraries.
ioperm package is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for ioperm. Please read COPYING file for more info.
Warning: Current release of this software may decrease your system security on Windows NT/2000/XP/2003 because enables access to system I/O ports for all processes, including non-privileged. If you are not sure, please do not use ioperm package on Windows NT/2000/XP/2003.
Latest released version is 0.4 and is available for download here.
ioperm is a standard part of the Cygwin net distribution. Installation/upgrade using Cygwin Setup is highly recommended. In that case ioperm.sys driver activation is required only (please read section named "ioperm.sys driver" bottom).
For generic installation information see INSTALL file.
Here are quick build & install steps:
./configure
script. Optional parameter --prefix=/usr
is recommended.make
.make install
.ioperm -i
. This is required only for Windows NT/2000/XP/2003.tests/spkrtest
. This is optional step.ioperm.sys driver is required for using ioperm()/iopl() functions with Windows NT/2000/XP/2003. The driver is not required for Windows 95/98/Me.
ioperm.sys must be installed manually using command ioperm -i
.
For driver uninstallation, please run ioperm -u
.
Please note that driver installation/uninstallation should be performed with Administrator rights.
To use ioperm()/iopl() functions in your Cygwin program, please link your
executable with libioperm.a (-lioperm
parameter for linker) or use autoconf
package (see next paragraph).
If you want to write a portable program between Linux and Cygwin, the best way is to use autoconf package. Then please add following line into your configure.in or configure.ac file:
AC_SEARCH_LIBS([ioperm], [ioperm])