Update of /cvsroot/opengtoolkit/portIO/source/docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30171/source/docs Added Files: PORT IO Disable Range__ogtkc.png PORT IO Enable Range__ogtkc.png PORT IO Get Version__ogtkc.png PORT IO Install Driver__ogtkc.png PORT IO Read Byte__ogtkc.png PORT IO Read Long__ogtkc.png PORT IO Read Word__ogtkc.png PORT IO Read__ogtkc.png PORT IO Uninstall Driver__ogtkc.png PORT IO Write Byte__ogtkc.png PORT IO Write Long__ogtkc.png PORT IO Write Word__ogtkc.png PORT IO Write__ogtkc.png ogportio.html readme.txt Log Message: Moved documentation into source directory --- NEW FILE: PORT IO Install Driver__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Word__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Enable Range__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Uninstall Driver__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Disable Range__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Get Version__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Long__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: readme.txt --- /* * Generic Port IO library for LabVIEW for Windows 9x/ME/NT/2000/XP/2003 * * Copyright (C) 2004 Rolf Kalbermatter, r.k...@hc... * * Please visit http://www.OpenG.org to learn about the * Open Source LabVIEW software movement. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 1) Introduction --------------- With this library it is possible to access Port IO from within LabVIEW in a uniform way. It comes with a LabVIEW VI library, a shared library to access from LabVIEW, and a device driver which is used under Windows NT (NT 4, 2000, XP, 2003) based systems to access the low level kernel functionality necessary for this library. This library consists of four parts: readme.txt This file ogportio.llb LabVIEW VI library for LabVIEW 6.1 and higher ogportio.dll Shared library implementing Port IO functionality ogportio.sys Device Driver for Windows NT based systems 2) Installation --------------- The shared library will work directly on Windows 9x/ME systems as they need no device driver support to access the CPU port IO space. On Windows NT (NT4/2000/XP/2003) the shared library will check for the device driver and automatically install it if this is necessary. For this to work you need to be logged in with administrator rights the first time you want to use this library. Also the ogportio.sys must be in the same directory as the ogportio.dll. Once the device driver is installed it is not anymore necessary to have administrator rights to access the libraries functionality except for the uninstall function. 3) Uninstallation ----------------- Once you do not need the port IO library anymore you can remove the device driver by calling the "PORT IO Uninstall.vi" function. For this you also need to be logged in with administrator rights, and this function will remove the port IO driver from the service database of your Windows NT based system. The driver will then be unavailable but not be removed from the %WINNT%\system32\drivers directory. 4) Communication ---------------- If you have bug reports or suggestions to the functionality of this library it is probably best to direct them to the Open-G support list for this library on sourceforge. 5) Building your own -------------------- In addition the source code for the shared library and device driver are available in a separate directory c_source. This directory contains the Visual C 6 workspace file ogportio.dsw to create the shared library. The library is quite simple and should be compilable with little or no changes by other Windows 32 bit compatible C compilers such as LabWindows CVI, MingW, Watcom C, Borland C, and Symantec C, but no tests have been done nor support will be available for this. You should know your compiler environment quite well, if you want to attempt to build the shared library yourself with it. The device driver itself can probably only be built with an installed Windows NT or Windows 2000 DDK and that also needs a full (enterprise) version of the Visual C compiler for some of the build tools as well. Refer to the DDK documentation which came with your DDK installation to what you will need exactly and how to build the device driver from the sources. Basically after having setup your DDK environment in a command shell you will have to move to the directory containing the sources and type "build". --- NEW FILE: PORT IO Read Word__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ogportio.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>PORT IO VI Tree__ogtk.vi</title> <meta name="Author" content=""> <meta name="GENERATOR" content="G Development Environment"> </head> <body bgcolor="#ffffff"> <h1>OpenG PORT IO Function Library</h1> <p>For Windows NT based systems (NT 4, 2000, XP, 2003) access to hardware resources from user space (e.g. any application) is restricted to improve system security. If an application tries to access such resources directly, the CPU indicates a Protection Fault which then is catched by the Windows NT kernel. The kernel then displays a dialog (or optionally offers to start a system debugger) and terminates the process that caused the Protection Fault.</p> <p>This library allows to access the IO port addresses of the x86 CPU architecture. For Windows NT based systems it uses a device driver, which is automatically installed if necessary. However in order for the installation to be possible the current user needs to have administrator rights.</p> <hr> <a name="PORT IO Get Version__ogtk.vi"></a> <h2>PORT IO Get Version__ogtk.vi</h2> <p>The version number contains the device driver version number in the high order word and the user space shared library version number in the low order word. For Windows 95/98/ME there is no device driver and the high order word is set to 0.</p> <p></p> <p>The two version numbers are in hexadecimal notation "major, minor, bugfix" (eg. 0x0115 for major = 1, minor = 1, fix = 5).</p> <p></p> <p>The called library function determines on Windows NT based systems if the device driver has been already installed and activated and in the case it hasn't will do so automatically. For this to work however the current user needs to have administrator rights and the ogportio.sys driver needs to be present in the same directory as the called shared library ogportio.dll file.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Get%20Version__ogtkc.png" alt="PORT IO Get Version__ogtk.vi"></p> <hr> <a name="PORT IO Install Driver__ogtk.vi"></a> <h2>PORT IO Install Driver__ogtk.vi</h2> <p>The called library function determines on Windows NT based systems if the device driver has been already installed and activated and in the case it hasn't will do so automatically. For this to work however the current user needs to have administrator rights and the ogportio.sys driver needs to be present in the same directory as the called shared library ogportio.dll file.</p> <p></p> <p>SECURITY ALERT: It is not recomended to install this driver as autostart, since this driver does open up the entire IO address range to any aware application and therefore might pose a security risk.</p> <p>However the alternative is that after each system restart one of the PORT IO driver functions has to be called in an account with administrator rights in order for the driver to be activated. The driver does stay activated even during logoffs, until the system is either restarted or the driver is uninstalled with the PORT IO Uninstall.vi function.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Install%20Driver__ogtkc.png" alt="PORT IO Install Driver__ogtk.vi"></p> <hr> <a name="PORT IO Uninstall Driver__ogtk.vi"></a> <h2>PORT IO Uninstall Driver__ogtk.vi</h2> <p>This VI uninstalls the device driver if it is installed. The current user needs to have administrator rights for this to work properly.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Uninstall%20Driver__ogtkc.png" alt="PORT IO Uninstall Driver__ogtk.vi"></p> <hr> <a name="PORT IO Enable Range__ogtk.vi"></a> <h2>PORT IO Enable Range__ogtk.vi</h2> <p>This function enables user space access to a range of IO ports for the current process. This function has no effect on Windows 95/98/ME based operating systems.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Enable%20Range__ogtkc.png" alt="PORT IO Enable Range__ogtk.vi"></p> <hr> <a name="PORT IO Disable Range__ogtk.vi"></a> <h2>PORT IO Disable Range__ogtk.vi</h2> <p>This function disables user space access to a range of IO ports for the current process. This function has no effect on Windows 95/98/ME based operating systems.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Disable%20Range__ogtkc.png" alt="PORT IO Disable Range__ogtk.vi"></p> <hr> <a name="PORT IO Read__ogtk.vi"></a> <h2>PORT IO Read__ogtk.vi</h2> <p>This function reads data from the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Read__ogtkc.png" alt="PORT IO Read__ogtk.vi"></p> <hr> <a name="PORT IO Read Byte__ogtk.vi"></a> <h2>PORT IO Read Byte__ogtk.vi</h2> <p>This function reads in a single byte from the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Read%20Byte__ogtkc.png" alt="PORT IO Read Byte__ogtk.vi"></p> <hr> <a name="PORT IO Read Word__ogtk.vi"></a> <h2>PORT IO Read Word__ogtk.vi</h2> <p>This function reads in a single word from the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Read%20Word__ogtkc.png" alt="PORT IO Read Word__ogtk.vi"></p> <hr> <a name="PORT IO Read Long__ogtk.vi"></a> <h2>PORT IO Read Long__ogtk.vi</h2> <p>This function reads in a single long word from the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Read%20Long__ogtkc.png" alt="PORT IO Read Long__ogtk.vi"></p> <hr> <a name="PORT IO Write__ogtk.vi"></a> <h2>PORT IO Write__ogtk.vi</h2> <p>This function writes data to the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Write__ogtkc.png" alt="PORT IO Write__ogtk.vi"></p> <hr> <a name="PORT IO Write Byte__ogtk.vi"></a> <h2>PORT IO Write Byte__ogtk.vi</h2> <p>This function writes a single byte to the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Write%20Byte__ogtkc.png" alt="PORT IO Write Byte__ogtk.vi"></p> <hr> <a name="PORT IO Write Word__ogtk.vi"></a> <h2>PORT IO Write Word__ogtk.vi</h2> <p>This function writes a single word to the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Write%20Word__ogtkc.png" alt="PORT IO Write Word__ogtk.vi"></p> <hr> <a name="PORT IO Write Long__ogtk.vi"></a> <h2>PORT IO Write Long__ogtk.vi</h2> <p>This function writes a single long word to the specified IO port. If you set fast to True, and are running under Windows NT/2000/XP/2003 you must have enabled the according IO port with a call to "PORT IO Enable Range.vi" to avoid a General Protection Fault error.</p> <h3>Connector Pane</h3> <p><img src="PORT%20IO%20Write%20Long__ogtkc.png" alt="PORT IO Write Long__ogtk.vi"></p> </body> </html> --- NEW FILE: PORT IO Read Long__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Byte__ogtkc.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read Byte__ogtkc.png --- (This appears to be a binary file; contents omitted.) |