You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(42) |
Nov
(368) |
Dec
(248) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(2) |
Feb
(207) |
Mar
(180) |
Apr
(9) |
May
(39) |
Jun
(9) |
Jul
(22) |
Aug
(56) |
Sep
(82) |
Oct
(113) |
Nov
(236) |
Dec
(219) |
2005 |
Jan
(119) |
Feb
(81) |
Mar
(53) |
Apr
(177) |
May
(2) |
Jun
(67) |
Jul
(17) |
Aug
(5) |
Sep
(53) |
Oct
(17) |
Nov
(122) |
Dec
(77) |
2006 |
Jan
(293) |
Feb
(16) |
Mar
(32) |
Apr
(14) |
May
(29) |
Jun
(6) |
Jul
|
Aug
|
Sep
(18) |
Oct
(28) |
Nov
|
Dec
(2) |
2007 |
Jan
(8) |
Feb
(19) |
Mar
(4) |
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(37) |
Oct
(1) |
Nov
(8) |
Dec
(25) |
2008 |
Jan
(1) |
Feb
(13) |
Mar
(17) |
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(10) |
Nov
(19) |
Dec
(16) |
2009 |
Jan
(6) |
Feb
(9) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <lab...@us...> - 2004-03-03 15:23:16
|
Update of /cvsroot/opengtoolkit/portIO/built/portio In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2827/portio Log Message: Directory /cvsroot/opengtoolkit/portIO/built/portio added to the repository |
From: <lab...@us...> - 2004-03-03 13:33:00
|
Update of /cvsroot/opengtoolkit/portIO/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12704/source Added Files: ogportio.dll ogportio.sys readme.txt Log Message: First release version of Port IO VI library with according Windows NT device driver. --- NEW FILE: ogportio.dll --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ogportio.sys --- (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.0 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 needs a full 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". |
From: <lab...@us...> - 2004-03-03 13:33:00
|
Update of /cvsroot/opengtoolkit/portIO/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12704/tests Added Files: PORT IO Test.vi Log Message: First release version of Port IO VI library with according Windows NT device driver. --- NEW FILE: PORT IO Test.vi --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/opengtoolkit/portIO/source/ogportio.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12704/source/ogportio.llb Added Files: PORT IO Disable Range.vi PORT IO Enable Range.vi PORT IO Error Translation.vi PORT IO Get Version.vi PORT IO Read Byte.vi PORT IO Read Long.vi PORT IO Read Word.vi PORT IO Read.vi PORT IO Uninstall Driver.vi PORT IO VI Tree.vi PORT IO Write Byte.vi PORT IO Write Long.vi PORT IO Write Word.vi PORT IO Write.vi Log Message: First release version of Port IO VI library with according Windows NT device driver. --- NEW FILE: PORT IO Disable Range.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Enable Range.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Error Translation.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Get Version.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read Byte.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read Long.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read Word.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Read.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Uninstall Driver.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO VI Tree.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Byte.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Long.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write Word.vi --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PORT IO Write.vi --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/opengtoolkit/portIO/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12704/c_source Added Files: MAKEFILE SOURCES ogportio.c ogportio.dsp ogportio.dsw ogportio.h ogportio.rc ogportiodll.c ogportiodll.h ogportiodll.rc Log Message: First release version of Port IO VI library with according Windows NT device driver. --- NEW FILE: MAKEFILE --- # # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source # file to this component. This file merely indirects to the real make file # that is shared by all the driver components of the Windows NT DDK # !INCLUDE $(NTMAKEENV)\makefile.def --- NEW FILE: SOURCES --- # The sources for the OpenG Generic Port I/O device driver: TARGETNAME=ogportio TARGETPATH=obj TARGETTYPE=DRIVER INCLUDES=..\ SOURCES=ogportio.c ogportio.rc --- NEW FILE: ogportio.c --- #include <ntddk.h> #include <ogportio.h> #define IOPM_SIZE 0x2000 typedef UCHAR IOPM[IOPM_SIZE]; NTKERNELAPI void Ke386SetIoAccessMap(int, IOPM *); NTKERNELAPI void Ke386QueryIoAccessMap(int, IOPM *); NTKERNELAPI void Ke386IoSetAccessProcess(PEPROCESS, int); NTKERNELAPI NTSTATUS PsLookupProcessByProcessId(IN ULONG ulProcId, OUT PEPROCESS * pEProcess); //NTKERNELAPI BOOLEAN MmIsAddressValid(IN PVOID ); //NTKERNELAPI PVOID MmMapIoSpace(PHYSICAL_ADDRESS, SIZE_T, BOOLEAN); //NTKERNELAPI VOID MmUnmapIoSpace(PVOID, SIZE_T); NTSTATUS DriverEntry(IN PDRIVER_OBJECT driverObject, IN PUNICODE_STRING registryPath); NTSTATUS OGPortIOReturn(IN PDEVICE_OBJECT deviceObject, IN PIRP irp); NTSTATUS OGPortIODispatch(IN PDEVICE_OBJECT deviceObject, IN PIRP irp); VOID OGPortIOUnload(IN PDRIVER_OBJECT driverObject); #ifdef MAP_ADDRESS #define BusAddress(busType, bus, physAddr, memType, mapAddr) \ HalTranslateBusAddress(Isa, 0, physAddr, &memType, &mapAddr) #else #define BusAddress(busType, bus, physAddr, memType, mapAddr) \ (mapAddr.LowPart = physAddr.LowPart, mapAddr.HighPart = physAddr.HighPart, TRUE) #endif #ifdef ALLOC_PRAGMA #pragma alloc_text (INIT, DriverEntry) #pragma alloc_text (PAGE, OGPortIOReturn) #pragma alloc_text (PAGE, OGPortIODispatch) #pragma alloc_text (PAGE, OGPortIOUnload) #endif /****************************************************************************** * * Driver entry point * *****************************************************************************/ NTSTATUS DriverEntry(IN PDRIVER_OBJECT driverObject, IN PUNICODE_STRING registryPath) { PDEVICE_OBJECT pDevObj; NTSTATUS status; WCHAR nameBuffer[] = L"\\Device\\OGPortIO"; WCHAR dosBuffer[] = L"\\DosDevices\\OGPortIO"; UNICODE_STRING uniNameString, uniDOSString; UNREFERENCED_PARAMETER (registryPath); KdPrint(("OpenG PORTIO: OGPortIO V1.0 08/18/2003 has loaded")); RtlInitUnicodeString(&uniNameString, nameBuffer); RtlInitUnicodeString(&uniDOSString, dosBuffer); status = IoCreateDevice(driverObject, sizeof(IOPM), &uniNameString, OGPORTIO_TYPE, 0, FALSE, &pDevObj); if (NT_SUCCESS(status)) { RtlFillMemory(pDevObj->DeviceExtension, sizeof(IOPM), 0xFF); status = IoCreateSymbolicLink (&uniDOSString, &uniNameString); if (NT_SUCCESS(status)) { driverObject->MajorFunction[IRP_MJ_CREATE] = OGPortIOReturn; driverObject->MajorFunction[IRP_MJ_CLOSE] = OGPortIOReturn; driverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = OGPortIODispatch; driverObject->DriverUnload = OGPortIOUnload; } else { KdPrint(("IoCreateSymbolicLink failed in DriverEntry\n")); IoDeleteDevice(driverObject->DeviceObject); } } else { KdPrint(("IoCreateDevice failed in DriverEntry\n")); } return status; } NTSTATUS OGPortIOReturn(IN PDEVICE_OBJECT pDevObj, IN PIRP pIrp) { pIrp->IoStatus.Information = 0; pIrp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(pIrp, IO_NO_INCREMENT); return STATUS_SUCCESS; } static NTSTATUS OGPortIOProcess(ULONG processID, BOOLEAN install) { PEPROCESS process; if (processID) { KdPrint(("OpenG PORTIO: ProcessID received is %d\n", processID)); PsLookupProcessByProcessId(processID, &process); } else { process = IoGetCurrentProcess(); } KdPrint(("OpenG PORTIO: Pointer to process is 0x%X\n", process)); Ke386IoSetAccessProcess(process, install); return STATUS_SUCCESS; } NTSTATUS OGPortIODispatch(IN PDEVICE_OBJECT pDevObj, IN PIRP pIrp) { NTSTATUS ntStatus = STATUS_SUCCESS; PUCHAR pIOBuffer = (PUCHAR)pIrp->AssociatedIrp.SystemBuffer; PPORTMAP portmap = pIrp->AssociatedIrp.SystemBuffer; PPORTREG portreg = pIrp->AssociatedIrp.SystemBuffer; PMEMMAP memmap = pIrp->AssociatedIrp.SystemBuffer; PIO_STACK_LOCATION irpSp = IoGetCurrentIrpStackLocation(pIrp); ULONG inBufLength = irpSp->Parameters.DeviceIoControl.InputBufferLength; ULONG outBufLength = irpSp->Parameters.DeviceIoControl.OutputBufferLength; switch (irpSp->Parameters.DeviceIoControl.IoControlCode) { case IOCTL_GET_VERSION: KdPrint(("OpenG PORTIO: IOCTL_GET_VERSION\n")); if (outBufLength >= sizeof(ULONG)) { *(PULONG)pIOBuffer = OGPORTIO_VERSION << 16; pIrp->IoStatus.Information = sizeof(ULONG); /* output buffer size */ } else { ntStatus = STATUS_BUFFER_TOO_SMALL; pIrp->IoStatus.Information = 0; /* output buffer size */ } break; case IOCTL_GET_IOPM: KdPrint(("OpenG PORTIO: IOCTL_GET_IOPM\n")); ntStatus = OGPortIOProcess(inBufLength >= 4 ? portmap->processID : 0, TRUE); if (ntStatus == STATUS_SUCCESS) { Ke386QueryIoAccessMap(1, pDevObj->DeviceExtension); if (outBufLength > 0) { PUCHAR buf = (PUCHAR)(pDevObj->DeviceExtension); if (inBufLength >= 8) { if (outBufLength > (portmap->offset + IOPM_SIZE)) outBufLength = IOPM_SIZE - portmap->offset; buf += portmap->offset; } else { if (outBufLength > IOPM_SIZE) outBufLength = IOPM_SIZE; } RtlMoveMemory(pIOBuffer, buf, outBufLength); } } pIrp->IoStatus.Information = outBufLength; /* output buffer size */ break; case IOCTL_SET_IOPM: KdPrint(("OpenG PORTIO: IOCTL_SET_IOPM\n")); ntStatus = OGPortIOProcess(inBufLength >= 4 ? portmap->processID : 0, TRUE); if (ntStatus == STATUS_SUCCESS) { if (inBufLength > 8 && portmap->offset < IOPM_SIZE) { PUCHAR buf = (PUCHAR)(pDevObj->DeviceExtension) + portmap->offset; inBufLength -= 8; if (portmap->offset + inBufLength > IOPM_SIZE) inBufLength = IOPM_SIZE - portmap->offset; RtlMoveMemory(buf, portmap->iopm, inBufLength); } Ke386SetIoAccessMap(1, pDevObj->DeviceExtension); } pIrp->IoStatus.Information = 0; /* output buffer size */ break; case IOCTL_RESET_IOPM: KdPrint(("OpenG PORTIO: IOCTL_RESET_IOPM\n")); ntStatus = OGPortIOProcess(inBufLength >= 4 ? portmap->processID : 0, FALSE); pIrp->IoStatus.Information = 0; /* output buffer size */ break; case IOCTL_READ_PORT: if ((inBufLength >= 8) && (outBufLength >= portreg->size)) { PHYSICAL_ADDRESS physAddr; PHYSICAL_ADDRESS mappedAddr; PVOID logicAddr; ULONG memType = 1; KdPrint(("OpenG PORTIO: IOCTL_READ_PORT 0x%X, size %d\n", portreg->address, portreg->size)); physAddr.LowPart = portreg->address; physAddr.HighPart = 0; if (BusAddress(Isa, 0, physAddr, memType, mappedAddr) == FALSE) { KdPrint(("HalTranslateBusAddress failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } else if (memType == 0) { logicAddr = MmMapIoSpace(mappedAddr, portreg->size, FALSE); if (logicAddr == 0) { KdPrint(("MmMapIoSpace failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } } else { logicAddr = (PVOID)mappedAddr.LowPart; } if (ntStatus == STATUS_SUCCESS) { switch (portreg->size) { case 1: ((PUCHAR)pIOBuffer)[0] = READ_PORT_UCHAR(logicAddr); KdPrint(("OpenG PORTIO: Value read %X\n", ((PUCHAR)pIOBuffer)[0])); break; case 2: ((PUSHORT)pIOBuffer)[0] = READ_PORT_USHORT(logicAddr); KdPrint(("OpenG PORTIO: Value read %X\n", ((PUSHORT)pIOBuffer)[0])); break; case 4: ((PULONG)pIOBuffer)[0] = READ_PORT_ULONG(logicAddr); KdPrint(("OpenG PORTIO: Value read %X\n", ((PULONG)pIOBuffer)[0])); break; default: KdPrint(("OpenG PORTIO: Invalid port read size\n")); ntStatus = STATUS_INVALID_PARAMETER; break; } if (memType == 0) { MmUnmapIoSpace(logicAddr, portreg->size); } } } else { ntStatus = STATUS_BUFFER_TOO_SMALL; } if (ntStatus == STATUS_SUCCESS) pIrp->IoStatus.Information = portreg->size; /* output buffer size */ else pIrp->IoStatus.Information = 0; break; case IOCTL_WRITE_PORT: if (inBufLength >= portreg->size + 8) { PHYSICAL_ADDRESS physAddr; PHYSICAL_ADDRESS mappedAddr; PVOID logicAddr; ULONG memType = 1; KdPrint(("OpenG PORTIO: IOCTL_WRITE_PORT 0x%X, size %d\n", portreg->address, portreg->size)); physAddr.LowPart = portreg->address; physAddr.HighPart = 0; if (BusAddress(Isa, 0, physAddr, memType, mappedAddr) == FALSE) { KdPrint(("HalTranslateBusAddress failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } else if (memType == 0) { logicAddr = MmMapIoSpace(mappedAddr, portreg->size, FALSE); if (logicAddr == 0) { KdPrint(("MmMapIoSpace failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } } else { logicAddr = (PVOID)mappedAddr.LowPart; } if (ntStatus == STATUS_SUCCESS) { switch (portreg->size) { case 1: KdPrint(("OpenG PORTIO: Value write 0x%X\n", portreg->u.byte)); WRITE_PORT_UCHAR(logicAddr, portreg->u.byte); break; case 2: KdPrint(("OpenG PORTIO: Value write 0x%X\n", portreg->u.word)); WRITE_PORT_USHORT(logicAddr, portreg->u.word); break; case 4: KdPrint(("OpenG PORTIO: Value write 0x%X\n", portreg->u.dword)); WRITE_PORT_ULONG(logicAddr, portreg->u.dword); break; default: KdPrint(("OpenG PORTIO: Invalid port write size\n")); ntStatus = STATUS_INVALID_PARAMETER; break; } if (memType == 0) { MmUnmapIoSpace(logicAddr, portreg->size); } } } else { ntStatus = STATUS_BUFFER_TOO_SMALL; } pIrp->IoStatus.Information = 0; /* output buffer size */ break; case IOCTL_READ_PHYSMEM: if ((inBufLength >= sizeof(MEMMAP)) && (outBufLength >= memmap->size)) { PHYSICAL_ADDRESS physAddr; PHYSICAL_ADDRESS mappedAddr; PVOID logicAddr; ULONG memType = 0; KdPrint(("OpenG PORTIO: IOCTL_READ_PHYSMEM 0x%X, size %d\n", memmap->address, memmap->size)); physAddr.LowPart = memmap->address; physAddr.HighPart = 0; if (BusAddress(Isa, 0, physAddr, memType, mappedAddr) == FALSE) { KdPrint(("HalTranslateBusAddress failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } else if (memType == 0) { logicAddr = MmMapIoSpace(mappedAddr, memmap->size, FALSE); if (logicAddr == 0) { KdPrint(("MmMapIoSpace failed in IOCTL_READ_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } } else { logicAddr = (PVOID)mappedAddr.LowPart; } if (ntStatus == STATUS_SUCCESS) { switch (memmap->unit) { case 1: KdPrint(("OpenG PORTIO: Read memory, unit 1, size %d\n", memmap->size)); READ_REGISTER_BUFFER_UCHAR(logicAddr, pIOBuffer, memmap->size); break; case 2: KdPrint(("OpenG PORTIO: Read memory, unit 2, size %d\n", memmap->size/2)); READ_REGISTER_BUFFER_USHORT(logicAddr, (PUSHORT)pIOBuffer, memmap->size/2); break; case 4: KdPrint(("OpenG PORTIO: Read memory, unit 4, size %d\n", memmap->size/4)); READ_REGISTER_BUFFER_ULONG(logicAddr, (PULONG)pIOBuffer, memmap->size/4); break; default: KdPrint(("OpenG PORTIO: Invalid memory read unit %d\n", memmap->unit)); ntStatus = STATUS_INVALID_PARAMETER; break; } if (memType == 0) { MmUnmapIoSpace(logicAddr, memmap->size); } } } else { ntStatus = STATUS_BUFFER_TOO_SMALL; } pIrp->IoStatus.Information = 0; /* output buffer size */ break; case IOCTL_WRITE_PHYSMEM: if (inBufLength >= sizeof(MEMMAP) + memmap->size) { PHYSICAL_ADDRESS physAddr; PHYSICAL_ADDRESS mappedAddr; PVOID logicAddr; ULONG memType = 0; KdPrint(("OpenG PORTIO: IOCTL_WRITE_PHYSMEM 0x%X, size %d\n", memmap->address, memmap->size)); physAddr.LowPart = memmap->address; physAddr.HighPart = 0; if (BusAddress(Isa, 0, physAddr, memType, mappedAddr) == FALSE) { KdPrint(("HalTranslateBusAddress failed in IOCTL_WRITE_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } else if (memType == 0) { logicAddr = MmMapIoSpace(mappedAddr, memmap->size, FALSE); if (logicAddr == 0) { KdPrint(("MmMapIoSpace failed in IOCTL_WRITE_PHYSMEM\n")); ntStatus = STATUS_UNSUCCESSFUL; } } else { logicAddr = (PVOID)mappedAddr.LowPart; } if (ntStatus == STATUS_SUCCESS) { switch (memmap->unit) { case 1: KdPrint(("OpenG PORTIO: Write memory, unit 1, size %d\n", memmap->size)); WRITE_REGISTER_BUFFER_UCHAR(logicAddr, memmap->buf, memmap->size); break; case 2: KdPrint(("OpenG PORTIO: Write memory, unit 2, size %d\n", memmap->size/2)); WRITE_REGISTER_BUFFER_USHORT(logicAddr, (PUSHORT)memmap->buf, memmap->size/2); break; case 4: KdPrint(("OpenG PORTIO: Write memory, unit 4, size %d\n", memmap->size/4)); WRITE_REGISTER_BUFFER_ULONG(logicAddr, (PULONG)memmap->buf, memmap->size/4); break; default: KdPrint(("OpenG PORTIO: Invalid memory write unit %d\n", memmap->unit)); ntStatus = STATUS_INVALID_PARAMETER; break; } if (memType == 0) { MmUnmapIoSpace(logicAddr, memmap->size); } } } else { ntStatus = STATUS_BUFFER_TOO_SMALL; } pIrp->IoStatus.Information = 0; /* output buffer size */ break; default: KdPrint(("OpenG PORTIO: Unsupported IOCTL Call\n")); ntStatus = STATUS_UNSUCCESSFUL; pIrp->IoStatus.Information = 0; break; } pIrp->IoStatus.Status = ntStatus; IoCompleteRequest(pIrp, IO_NO_INCREMENT ); return ntStatus; } VOID OGPortIOUnload(IN PDRIVER_OBJECT driverObject) { WCHAR dosBuffer[] = L"\\DosDevices\\OGPortIO"; UNICODE_STRING uniDOSString; KdPrint(("OpenG PORTIO: OGPortIO is Unloading\n")); RtlInitUnicodeString(&uniDOSString, dosBuffer); IoDeleteSymbolicLink (&uniDOSString); IoDeleteDevice(driverObject->DeviceObject); } --- NEW FILE: ogportio.dsp --- # Microsoft Developer Studio Project File - Name="ogportio" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=ogportio - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "ogportio.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "ogportio.mak" CFG="ogportio - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "ogportio - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "ogportio - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "ogportio - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OGPORTIO_EXPORTS" /Yu"stdafx.h" /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OGPORTIO_EXPORTS" /FD /c # SUBTRACT CPP /YX /Yc /Yu # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shlwapi.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "ogportio - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OGPORTIO_EXPORTS" /Yu"stdafx.h" /FD /GZ /c # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OGPORTIO_EXPORTS" /FD /GZ /c # SUBTRACT CPP /YX /Yc /Yu # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib shlwapi.lib /nologo /dll /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "ogportio - Win32 Release" # Name "ogportio - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\ogportiodll.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=.\ogportio.h # End Source File # Begin Source File SOURCE=.\ogportiodll.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # Begin Source File SOURCE=.\ogportiodll.rc # End Source File # End Group # End Target # End Project --- NEW FILE: ogportio.dsw --- Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "ogportio"=.\ogportio.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### --- NEW FILE: ogportio.h --- /* * Generic Port IO device driver header definitions * * 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 */ #define OGPORTIO_NAME "\\\\.\\OGPortIO" #define OGPORTIO_VERSION 0x0101 #define OGPORTIO_TYPE 43210 /* 32768-65535 are reserved for customers */ // The IOCTL function codes from 0x800 to 0xFFF are for customer use. typedef struct { ULONG processID; ULONG offset; UCHAR iopm[0]; } PORTMAP, *PPORTMAP; #define IOCTL_GET_VERSION \ CTL_CODE(OGPORTIO_TYPE, 0x800, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_GET_IOPM \ CTL_CODE(OGPORTIO_TYPE, 0x801, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_SET_IOPM \ CTL_CODE(OGPORTIO_TYPE, 0x802, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_RESET_IOPM \ CTL_CODE(OGPORTIO_TYPE, 0x803, METHOD_BUFFERED, FILE_READ_ACCESS) typedef struct { ULONG address; ULONG size; union { UCHAR byte; USHORT word; ULONG dword; } u; } PORTREG, *PPORTREG; #define IOCTL_READ_PORT \ CTL_CODE(OGPORTIO_TYPE, 0x810, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_WRITE_PORT \ CTL_CODE(OGPORTIO_TYPE, 0x811, METHOD_BUFFERED, FILE_READ_ACCESS) typedef struct { ULONG address; ULONG size; ULONG unit; UCHAR buf[0]; } MEMMAP, *PMEMMAP; #define IOCTL_READ_PHYSMEM \ CTL_CODE(OGPORTIO_TYPE, 0x812, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_WRITE_PHYSMEM \ CTL_CODE(OGPORTIO_TYPE, 0x813, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_MAP_PHYSMEM \ CTL_CODE(OGPORTIO_TYPE, 0x814, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_UNMAP_PHYSMEM \ CTL_CODE(OGPORTIO_TYPE, 0x815, METHOD_BUFFERED, FILE_READ_ACCESS) --- NEW FILE: ogportio.rc --- #include <windows.h> #include <ntverp.h> #define VER_FILETYPE VFT_DRV #define VER_FILESUBTYPE VFT2_DRV_SYSTEM #define VER_FILEDESCRIPTION_STR "OpenG Generic Port I/O Device Driver" #define VER_INTERNALNAME_STR "OGPortIO.sys" #define VER_ORIGINALFILENAME_STR "OGPortIO.sys" #define VER_LEGALCOPYRIGHT_YEARS "\2512004" #define VER_LEGALCOPYRIGHT_STR VER_LEGALCOPYRIGHT_YEARS " Rolf Kalbermatter" #define VER_COMPANYNAME_STR "OpenG, http://www.openg.org" #define VER_PRODUCTNAME_STR "OpenG Generic Port I/O Driver" #define VER_FILEVERSION 1,0,1,0 #define VER_FILEVERSION_STR "Version 1.0.1" #define VER_PRODUCTVERSION 1,0,1 #define VER_PRODUCTVERSION_STR "OpenG Generic Port I/O Driver Version 1.0.1" #include "common.ver" --- NEW FILE: ogportiodll.c --- /* * Generic Port IO user space device driver shared library * * 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 */ #include <windows.h> #include <shlwapi.h> #include <conio.h> #include "ogportio.h" #include "ogportiodll.h" #ifdef _DEBUG #define DebugBreaking() {__asm int 3} #else #define DebugBreaking() #endif static DWORD InstallPortIODriver(SC_HANDLE hSCManager); static HANDLE gModule; static HANDLE hDevice = INVALID_HANDLE_VALUE; static BOOL gWinNT = FALSE; BOOL APIENTRY DllMain(HANDLE hModule, DWORD uReason, LPVOID lpReserved) { switch (uReason) { case DLL_PROCESS_ATTACH: gModule = hModule; gWinNT = GetVersion() < 0x80000000; break; case DLL_PROCESS_DETACH: PortIOClose(); break; } return TRUE; } DWORD LibAPI StartPortIODriver(void) { SC_HANDLE hSCManager; SC_HANDLE hService; BOOL ret; DWORD err = ERROR_SUCCESS; if (gWinNT) { /* Open Handle to Service Control Manager */ hSCManager = OpenSCManager (NULL, /* machine (NULL == local) */ NULL, /* database (NULL == default) */ SC_MANAGER_ALL_ACCESS); /* access required */ if (hSCManager == NULL) { return GetLastError(); } do { /* Open a Handle to the Port IO Service Database */ hService = OpenService(hSCManager, /* handle to service control manager database */ "OGPortIO", /* pointer to name of service to start */ SERVICE_ALL_ACCESS); /* type of access to service */ if (hService == NULL) { switch (err = GetLastError()) { case ERROR_ACCESS_DENIED: /* You do not have rights to the OGPortIO service database\n */ case ERROR_INVALID_NAME: /* The specified service name is invalid */ return err; case ERROR_SERVICE_DOES_NOT_EXIST: err = InstallPortIODriver(hSCManager); if (err) return err; } } } while (hService == NULL); /* Start the PortIO driver. Errors will occur here if OGPortIO.sys file doesn't exist */ ret = StartService (hService, /* service identifier */ 0, /* number of arguments */ NULL); /* pointer to arguments */ if (!ret) { err = GetLastError(); if (err == ERROR_SERVICE_ALREADY_RUNNING) /* Driver already exists. No action taken. */ err = ERROR_SUCCESS; } /* Close handle to Service Control Manager */ CloseServiceHandle(hService); CloseServiceHandle(hSCManager); } return err; } static DWORD InstallPortIODriver(SC_HANDLE hSCManager) { SC_HANDLE hService; DWORD err = ERROR_SUCCESS; CHAR systemFileName[MAX_PATH]; CHAR driverFileName[MAX_PATH]; static CHAR filename[] = "OGPortIO.sys"; /* GetSystemDirectory. Assumes OGPortIO.sys driver is in this directory. Doesn't detect if file exists, nor if file is on removable media - if this is the case then when windows next boots, the driver will fail to load and a error entry is made in the event viewer to reflect this. */ if (!GetSystemDirectory(systemFileName, MAX_PATH - 22)) { return GetLastError(); } /* Append our driver name */ PathAppend(systemFileName, "drivers"); PathAppend(systemFileName, filename); if (!GetModuleFileName(gModule, driverFileName, MAX_PATH)) { return GetLastError(); } PathRemoveFileSpec(driverFileName); PathAppend(driverFileName, filename); /* Copy Driver to System32/drivers directory. This fails if the file doesn't exist. */ if (!CopyFile(driverFileName, systemFileName, FALSE)) { return GetLastError(); } /* Create Service/Driver - This adds the appropriate registry keys in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services - It doesn't care if the driver exists, or if the path is correct. */ hService = CreateService(hSCManager, /* SCManager database */ "OGPortIO", /* name of service */ "Open-G PortIO Driver", /* name to display */ SERVICE_ALL_ACCESS, /* desired access */ SERVICE_KERNEL_DRIVER, /* service type */ SERVICE_DEMAND_START, /* start type */ SERVICE_ERROR_NORMAL, /* error control type */ "System32\\Drivers\\OGPortIO.sys", /* service's binary */ NULL, /* no load ordering group */ NULL, /* no tag identifier */ NULL, /* no dependencies */ NULL, /* LocalSystem account */ NULL /* no password */ ); if (hService == NULL) { err = GetLastError(); if (err == ERROR_SERVICE_EXISTS) /* Driver already exists. No action taken. */ err = ERROR_SUCCESS; } /* Close Handle to Service Control Manager */ CloseServiceHandle(hService); return err; } DWORD LibAPI RemovePortIO(void) { SC_HANDLE hSCManager; SC_HANDLE hService; BOOL ret; DWORD err = ERROR_SUCCESS; SERVICE_STATUS serviceStatus; PortIOClose(); if (gWinNT) { /* Open Handle to Service Control Manager */ hSCManager = OpenSCManager (NULL, // machine (NULL == local) NULL, // database (NULL == default) SC_MANAGER_ALL_ACCESS); // access required /* Open Handle to PortTalk Service Database */ hService = OpenService (hSCManager, "OGPortIO", SERVICE_ALL_ACCESS); if (hService == NULL) { /* Seems not installed at all */ return ERROR_SERVICE_DOES_NOT_EXIST; } /* Stop Service */ ret = ControlService (hService, SERVICE_CONTROL_STOP, &serviceStatus); if (!ret) err = GetLastError(); /* Delete Service */ ret = DeleteService (hService); if (!ret) err = GetLastError(); /* Close Handle to Service Control Manager */ CloseServiceHandle (hService); CloseServiceHandle(hSCManager); } return err; } DWORD LibAPI PortIOOpen(void) { DWORD err = ERROR_SUCCESS; DebugBreaking(); /* if Windows NT, open device driver and if not present install it */ if (gWinNT) { hDevice = CreateFile(OGPORTIO_NAME, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hDevice == INVALID_HANDLE_VALUE) { /* Start or install the Driver */ err = StartPortIODriver(); if (!err) { /* Then try to open once more, before failing */ hDevice = CreateFile(OGPORTIO_NAME, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hDevice == INVALID_HANDLE_VALUE) { err = ERROR_DEV_NOT_EXIST; } } } } return err; } DWORD LibAPI PortIOClose(void) { if (gWinNT && hDevice != INVALID_HANDLE_VALUE) { return CloseHandle(hDevice); } return ERROR_SUCCESS; } DWORD LibAPI PortIOGetVersion(unsigned long *version) { DWORD BytesReturned, err = ERROR_SUCCESS; if (!version) return ERROR_INVALID_PARAMETER; DebugBreaking(); if (gWinNT) { if (hDevice == INVALID_HANDLE_VALUE) { err = PortIOOpen(); if (err) return err; } if (!DeviceIoControl(hDevice, IOCTL_GET_VERSION, NULL, 0, version, sizeof(*version), &BytesReturned, NULL)) { err = GetLastError(); } } *version |= OGPORTIO_VERSION; return err; } DWORD LibAPI PortIOEnablePort(unsigned long processID, unsigned short start, unsigned short size) { DWORD BytesReturned, i, j, err = ERROR_SUCCESS; DebugBreaking(); if (gWinNT) { int len = ((start + size + 7) >> 3) - (start >> 3); PPORTMAP param = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len + sizeof(PORTMAP)); if (!param) return ERROR_OUTOFMEMORY; if (hDevice == INVALID_HANDLE_VALUE) { err = PortIOOpen(); if (err) return err; } param->processID = processID; param->offset = start >> 3; if (!DeviceIoControl(hDevice, IOCTL_GET_IOPM, param, sizeof(PORTMAP), param->iopm, len, &BytesReturned, NULL)) { err = GetLastError(); } else { for (i = (start % 8), j = 0; j < size; j++, i++) { param->iopm[i >> 3] &= ~(1 << (i % 8)); } if (!DeviceIoControl(hDevice, IOCTL_SET_IOPM, param, len + sizeof(PORTMAP), NULL, 0, &BytesReturned, NULL)) { err = GetLastError(); } } HeapFree(GetProcessHeap(), 0, param); } return err; } DWORD LibAPI PortIOReleasePort(unsigned long processID, unsigned short start, unsigned short size) { DWORD BytesReturned, i, j, err = ERROR_SUCCESS; if (gWinNT) { int len = ((start + size + 7) >> 3) - (start >> 3); PPORTMAP param = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len + sizeof(PORTMAP)); if (!param) return ERROR_OUTOFMEMORY; if (hDevice == INVALID_HANDLE_VALUE) { err = PortIOOpen(); if (err) return err; } param->processID = processID; param->offset = start >> 3; if (!DeviceIoControl(hDevice, IOCTL_GET_IOPM, param, sizeof(PORTMAP), param->iopm, len, &BytesReturned, NULL)) { err = GetLastError(); } else { for (i = (start % 8), j = 0; j < size; j++, i++) { param->iopm[i >> 3] |= (1 << (i % 8)); } if (!DeviceIoControl(hDevice, IOCTL_SET_IOPM, param, len + sizeof(PORTMAP), NULL, 0, &BytesReturned, NULL)) { err = GetLastError(); } } HeapFree(GetProcessHeap(), 0, param); } return err; } DWORD LibAPI PortIOReadDirect(unsigned short address, unsigned long size, void *value) { switch (size) { case 1: *(char *)value = (char)_inp(address); break; case 2: *(short *)value = (short)_inpw(address); break; case 4: *(long *)value = (long)_inpd(address); break; default: return ERROR_INVALID_PARAMETER; } return ERROR_SUCCESS; } DWORD LibAPI PortIORead(unsigned short address, unsigned long size, void *value) { DWORD BytesReturned, err = ERROR_SUCCESS; PORTREG param; if (!gWinNT) return PortIOReadDirect(address, size, value); if (size < 1 || size > 4) return ERROR_INVALID_PARAMETER; if (hDevice == INVALID_HANDLE_VALUE) { err = PortIOOpen(); if (err) return err; } param.address = address; param.size = size; if (!DeviceIoControl(hDevice, IOCTL_READ_PORT, ¶m, sizeof(PORTREG), value, size, &BytesReturned, NULL)) { err = GetLastError(); } return err; } DWORD LibAPI PortIOWriteDirect(unsigned short address, unsigned long size, void *value) { switch (size) { case 1: _outp(address, *(char *)value); break; case 2: _outpw(address, *(short *)value); break; case 4: _outpd(address, *(long *)value); break; default: return ERROR_INVALID_PARAMETER; } return ERROR_SUCCESS; } DWORD LibAPI PortIOWrite(unsigned short address, unsigned long size, void *value) { DWORD BytesReturned, err = ERROR_SUCCESS; PORTREG param; if (!gWinNT) return PortIOWriteDirect(address, size, value); if (size < 1 || size > 4) return ERROR_INVALID_PARAMETER; if (hDevice == INVALID_HANDLE_VALUE) { err = PortIOOpen(); if (err) return err; } param.address = address; param.size = size; param.u.dword = *(DWORD *)value; if (!DeviceIoControl(hDevice, IOCTL_WRITE_PORT, ¶m, sizeof(PORTREG), NULL, 0, &BytesReturned, NULL)) { err = GetLastError(); } return err; } --- NEW FILE: ogportiodll.h --- /* * Generic Port IO user space device driver shared library * * 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 */ #if defined(OGPORTIO_EXPORTS) #define LibAPI __declspec(dllexport) __cdecl #else #define LibAPI __declspec(dllimport) __cdecl #endif DWORD LibAPI StartPortIODriver(void); DWORD LibAPI RemovePortIO(void); DWORD LibAPI PortIOOpen(void); DWORD LibAPI PortIOClose(void); DWORD LibAPI PortIOGetVersion(unsigned long *version); DWORD LibAPI PortIOEnablePort(unsigned long processID, unsigned short start, unsigned short size); DWORD LibAPI PortIOReleasePort(unsigned long processID, unsigned short start, unsigned short size); DWORD LibAPI PortIOReadDirect(unsigned short address, unsigned long size, void *value); DWORD LibAPI PortIORead(unsigned short address, unsigned long size, void *value); DWORD LibAPI PortIOWriteDirect(unsigned short address, unsigned long size, void *value); DWORD LibAPI PortIOWrite(unsigned short address, unsigned long size, void *value); --- NEW FILE: ogportiodll.rc --- #include <windows.h> #include <ntverp.h> #define VER_FILETYPE VFT_DRV #define VER_FILESUBTYPE VFT2_DRV_SYSTEM #define VER_FILEDESCRIPTION_STR "OpenG Generic Port I/O User Space Library" #define VER_INTERNALNAME_STR "OGPortIO.dll" #define VER_ORIGINALFILENAME_STR "OGPortIO.dll" #define VER_LEGALCOPYRIGHT_YEARS "\2512004" #define VER_LEGALCOPYRIGHT_STR VER_LEGALCOPYRIGHT_YEARS " Rolf Kalbermatter" #define VER_COMPANYNAME_STR "OpenG, http://www.openg.org" #define VER_PRODUCTNAME_STR "OpenG Generic Port I/O Driver" #define VER_FILEVERSION 1,0,1,0 #define VER_FILEVERSION_STR "Version 1.0.1" #define VER_PRODUCTVERSION 1,0,1 #define VER_PRODUCTVERSION_STR "OpenG Generic Port I/O Driver Version 1.0.1" #include "common.ver" |
From: <lab...@us...> - 2004-03-03 13:32:59
|
Update of /cvsroot/opengtoolkit/portIO In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12704 Added Files: ogportio.bmp ogportio.spec Log Message: First release version of Port IO VI library with according Windows NT device driver. --- NEW FILE: ogportio.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ogportio.spec --- [Package Name] Name=oglib_portio Version=1.0 Release=1 [Description] Description="The OpenG Port IO library supports direct access to hardware IO." Summary="OpenG Port IO Library" License=LGPL Copyright="2004 Rolf Kalbermatter" Distribution="OpenG Toolkit" Icon=ogportio.bmp Vendor=OpenG.org URL=http://openg.org/lvzip Packager="Jim Kring <ji...@ji...>" [Dependencies] Requires="" AutoReqProv=FALSE [Platform] Exclusive_LabVIEW_Version= >=6.0 Exclusive_LabVIEW_System=All Exclusive_OS=All [Files] Num File Groups=4 [File Group 0] Source Dir=built/ogportio Target Dir=<user.lib>/_OpenG.lib/ogportio Replace Mode=Never Num Files=14 File 0=dir.mnu File 1=ogportio.llb/PORT IO VI Tree__ogtk.vi File 2=ogportio.llb/PORT IO Get Version__ogtk.vi File 3=ogportio.llb/PORT IO Enable Range__ogtk.vi File 4=ogportio.llb/PORT IO Disable Range__ogtk.vi File 5=ogportio.llb/PORT IO Uninstall Driver__ogtk.vi File 6=ogportio.llb/PORT IO Read__ogtk.vi File 7=ogportio.llb/PORT IO Read Byte__ogtk.vi File 8=ogportio.llb/PORT IO Read Word__ogtk.vi File 9=ogportio.llb/PORT IO Read Long__ogtk.vi File 10=ogportio.llb/PORT IO Write__ogtk.vi File 11=ogportio.llb/PORT IO Write Byte__ogtk.vi File 12=ogportio.llb/PORT IO Write Word__ogtk.vi File 13=ogportio.llb/PORT IO Write Long__ogtk.vi [File Group 1] Source Dir=built/ogportio Target Dir=<user.lib>/_OpenG.lib/ogportio Exclusive_OS=Windows 9x Replace Mode=Never Num Files=1 File 0=ogportio.dll [File Group 2] Source Dir=built/ogportio Target Dir=<user.lib>/_OpenG.lib/ogportio Exclusive_OS=Windows NT Replace Mode=Never Num Files=2 File 0=ogportio.dll File 1=ogportio.sys [File Group 3] Source Dir=built/ogportio Target Dir=<user.lib>/_OpenG.lib/ogportio Exclusive_OS=Linux Replace Mode=Never Num Files=1 File 0=ogportio.so |
From: <lab...@us...> - 2004-03-03 13:31:31
|
Update of /cvsroot/opengtoolkit/portIO/source/ogportio.llb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12191/ogportio.llb Log Message: Directory /cvsroot/opengtoolkit/portIO/source/ogportio.llb added to the repository |
From: <lab...@us...> - 2004-03-03 13:31:03
|
Update of /cvsroot/opengtoolkit/portIO/built In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12051/built Log Message: Directory /cvsroot/opengtoolkit/portIO/built added to the repository |
From: <lab...@us...> - 2004-03-03 13:31:03
|
Update of /cvsroot/opengtoolkit/portIO/tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12051/tests Log Message: Directory /cvsroot/opengtoolkit/portIO/tests added to the repository |
From: <lab...@us...> - 2004-03-03 13:31:03
|
Update of /cvsroot/opengtoolkit/portIO/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12051/c_source Log Message: Directory /cvsroot/opengtoolkit/portIO/c_source added to the repository |
From: <lab...@us...> - 2004-03-03 13:31:02
|
Update of /cvsroot/opengtoolkit/portIO/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12051/source Log Message: Directory /cvsroot/opengtoolkit/portIO/source added to the repository |
From: <lab...@us...> - 2004-03-03 13:28:14
|
Update of /cvsroot/opengtoolkit/lvzip/c_source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11433/c_source Modified Files: Makefile Makefile.in configure Log Message: Linux makefile modifications Index: Makefile =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/c_source/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile 11 Sep 2003 22:33:15 -0000 1.2 --- Makefile 3 Mar 2004 13:15:24 -0000 1.3 *************** *** 25,29 **** CPP=$(CC) -E - #VER=1.1.4 LIBS=lvzlib.so SHAREDLIB=lvzlib.so --- 25,28 ---- *************** *** 34,41 **** SHELL=/bin/sh ! prefix =/usr/local ! exec_prefix =${prefix} ! libdir =${exec_prefix}/lib ! includedir =${prefix}/include OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ --- 33,40 ---- SHELL=/bin/sh ! prefix = /usr/local ! exec_prefix = ${prefix} ! libdir = ${exec_prefix}/lib ! includedir = ${prefix}/include OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ *************** *** 48,62 **** TEST_OBJS = example.o minigzip.o ! DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] *.mms \ ! algorithm.txt zlib.3 zlib.html \ ! msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ ! nt/Make*[a-z0-9] nt/zlib.dnt amiga/Make*.??? os2/M*.os2 os2/zlib.def \ ! contrib/RE*.contrib contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \ ! contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/*.?86 \ ! contrib/asm[56]86/*.S contrib/iostream/*.cpp \ ! contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ ! contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 \ ! contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]?? \ ! contrib/delphi*/*.??? all: example minigzip --- 47,52 ---- TEST_OBJS = example.o minigzip.o ! DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] gvmat32.* \ ! mkgvmt32.bat algorithm.txt zlib.3 zlib.html zlib.rc zlibvc.* all: example minigzip *************** *** 82,90 **** rm -f _match.s ! $(SHAREDLIB): $(OBJS) ! $(LDSHARED) -o $@ $(OBJS) ! # rm -f $(SHAREDLIB) $(SHAREDLIB).1 ! # ln -s $@ $(SHAREDLIB) ! # ln -s $@ $(SHAREDLIB).1 example: example.o $(LIBS) --- 72,77 ---- rm -f _match.s ! $(SHAREDLIB): $(OBJS) $(OBJA) ! $(LDSHARED) -o $@ $(OBJS) $(OBJA) example: example.o $(LIBS) *************** *** 116,120 **** if test -f zlib.h; then \ v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ ! rm -f zlib.h zconf.h; \ fi; \ cd $(libdir); rm -f libz.a; \ --- 103,107 ---- if test -f zlib.h; then \ v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ ! rm -f zlib.h zconf.h; \ fi; \ cd $(libdir); rm -f libz.a; \ Index: Makefile.in =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/c_source/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.in 4 Oct 2002 09:41:32 -0000 1.1 --- Makefile.in 3 Mar 2004 13:15:24 -0000 1.2 *************** *** 1,19 **** ! # Makefile for zlib # Copyright (C) 1995-2002 Jean-loup Gailly. # For conditions of distribution and use, see copyright notice in zlib.h # To compile and test, type: ! # ./configure; make test ! # The call of configure is optional if you don't have special requirements ! # If you wish to build zlib as a shared library, use: ./configure -s ! ! # To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type: ! # make install ! # To install in $HOME instead of /usr/local, use: ! # make install prefix=$HOME CC=cc ! CFLAGS=-O #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG --- 1,14 ---- ! # Makefile for lvzlib # Copyright (C) 1995-2002 Jean-loup Gailly. + # Copyright (C) 2003 Rolf Kalbermatter. # For conditions of distribution and use, see copyright notice in zlib.h # To compile and test, type: ! # ./configure -s; make test ! # The call of ./configure is optional if you don't have special requirements CC=cc ! CFLAGS=-fPIC -O3 -DHAVE_UNISTD_H -DUSE_MMAP -Wall #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG *************** *** 22,31 **** LDFLAGS=-L. -lz ! LDSHARED=$(CC) CPP=$(CC) -E ! VER=1.1.4 ! LIBS=libz.a ! SHAREDLIB=libz.so AR=ar rc --- 17,25 ---- LDFLAGS=-L. -lz ! LDSHARED=$(CC) -shared -Wl CPP=$(CC) -E ! LIBS=lvzlib.so ! SHAREDLIB=lvzlib.so AR=ar rc *************** *** 41,45 **** OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o \ ! ioapi.o zip.o unzip.o OBJA = --- 35,39 ---- OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o \ ! ioapi.o macbin.o zip.o unzip.o OBJA = *************** *** 48,62 **** TEST_OBJS = example.o minigzip.o ! DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] *.mms \ ! algorithm.txt zlib.3 zlib.html \ ! msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ ! nt/Make*[a-z0-9] nt/zlib.dnt amiga/Make*.??? os2/M*.os2 os2/zlib.def \ ! contrib/RE*.contrib contrib/*.txt contrib/asm386/*.asm contrib/asm386/*.c \ ! contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/asm[56]86/*.?86 \ ! contrib/asm[56]86/*.S contrib/iostream/*.cpp \ ! contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ ! contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 \ ! contrib/minizip/[CM]*[pe] contrib/minizip/*.[ch] contrib/minizip/*.[td]?? \ ! contrib/delphi*/*.??? all: example minigzip --- 42,47 ---- TEST_OBJS = example.o minigzip.o ! DISTFILES = README FAQ INDEX ChangeLog configure Make*[a-z0-9] *.[ch] gvmat32.* \ ! mkgvmt32.bat algorithm.txt zlib.3 zlib.html zlib.rc zlibvc.* all: example minigzip *************** *** 72,76 **** fi ! libz.a: $(OBJS) $(OBJA) $(AR) $@ $(OBJS) $(OBJA) -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 --- 57,61 ---- fi ! lvzlib.a: $(OBJS) $(OBJA) $(AR) $@ $(OBJS) $(OBJA) -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 *************** *** 82,90 **** rm -f _match.s ! $(SHAREDLIB).$(VER): $(OBJS) $(LDSHARED) -o $@ $(OBJS) - rm -f $(SHAREDLIB) $(SHAREDLIB).1 - ln -s $@ $(SHAREDLIB) - ln -s $@ $(SHAREDLIB).1 example: example.o $(LIBS) --- 67,72 ---- rm -f _match.s ! $(SHAREDLIB): $(OBJS) $(LDSHARED) -o $@ $(OBJS) example: example.o $(LIBS) *************** *** 116,120 **** if test -f zlib.h; then \ v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ ! rm -f zlib.h zconf.h; \ fi; \ cd $(libdir); rm -f libz.a; \ --- 98,102 ---- if test -f zlib.h; then \ v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`; \ ! rm -f zlib.h zconf.h; \ fi; \ cd $(libdir); rm -f libz.a; \ *************** *** 149,153 **** mv Makefile~ Makefile ! tags: etags *.[ch] --- 131,135 ---- mv Makefile~ Makefile ! tags: etags *.[ch] *************** *** 171,174 **** --- 153,157 ---- inftrees.o: zutil.h zlib.h zconf.h inftrees.h infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h + macbin.o: zlib.h macbin.h minigzip.o: zlib.h zconf.h trees.o: deflate.h zutil.h zlib.h zconf.h trees.h Index: configure =================================================================== RCS file: /cvsroot/opengtoolkit/lvzip/c_source/configure,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** configure 4 Oct 2002 09:41:32 -0000 1.1 --- configure 3 Mar 2004 13:15:24 -0000 1.2 *************** *** 1,7 **** #!/bin/sh ! # configure script for zlib. This script is needed only if ! # you wish to build a shared library and your system supports them, ! # of if you need special compiler, flags or install directory. ! # Otherwise, you can just use directly "make test; make install" # # To create a shared library, use "configure --shared"; by default a static --- 1,6 ---- #!/bin/sh ! # configure script for lvzlib. This script is needed only if you ! # wish to build a shared library using a special compiler, or flags. ! # Otherwise, you can just use directly "make" # # To create a shared library, use "configure --shared"; by default a static *************** *** 73,77 **** CFLAGS="$cflags" case `(uname -s || echo unknown) 2>/dev/null` in ! Linux | linux) LDSHARED=${LDSHARED-"gcc -shared -Wl,-soname,libz.so.1"};; *) LDSHARED=${LDSHARED-"gcc -shared"};; esac --- 72,76 ---- CFLAGS="$cflags" case `(uname -s || echo unknown) 2>/dev/null` in ! Linux | linux) LDSHARED=${LDSHARED-"gcc -shared -Wl,-soname,lvzlib.so"};; *) LDSHARED=${LDSHARED-"gcc -shared"};; esac *************** *** 96,108 **** LDSHARED=${LDSHARED-"cc -shared"};; QNX*) SFLAGS=${CFLAGS-"-4 -O"} ! CFLAGS=${CFLAGS-"-4 -O"} LDSHARED=${LDSHARED-"cc"} ! RANLIB=${RANLIB-"true"} ! AR="cc -A";; SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "} CFLAGS=${CFLAGS-"-O3"} LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};; SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."} ! CFLAGS=${CFLAGS-"-fast -xcg89"} LDSHARED=${LDSHARED-"cc -G"};; SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"} --- 95,107 ---- LDSHARED=${LDSHARED-"cc -shared"};; QNX*) SFLAGS=${CFLAGS-"-4 -O"} ! CFLAGS=${CFLAGS-"-4 -O"} LDSHARED=${LDSHARED-"cc"} ! RANLIB=${RANLIB-"true"} ! AR="cc -A";; SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "} CFLAGS=${CFLAGS-"-O3"} LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};; SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."} ! CFLAGS=${CFLAGS-"-fast -xcg89"} LDSHARED=${LDSHARED-"cc -G"};; SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"} *************** *** 133,137 **** echo Building shared library $SHAREDLIB.$VER with $CC. elif test -z "$old_cc" -a -z "$old_cflags"; then ! echo No shared library suppport. shared=0; else --- 132,136 ---- echo Building shared library $SHAREDLIB.$VER with $CC. elif test -z "$old_cc" -a -z "$old_cflags"; then ! echo No shared library support. shared=0; else |
From: <lab...@us...> - 2004-03-03 13:27:59
|
Update of /cvsroot/opengtoolkit/lvzip In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11433 Removed Files: To-Do.txt Log Message: Linux makefile modifications --- To-Do.txt DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_template In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4432/source/opengobj_template Added Files: ogobj_template.bmp ogobj_template.spec Removed Files: opengobj_template.bmp opengobj_template.spec Log Message: renamed --- NEW FILE: ogobj_template.bmp --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ogobj_template.spec --- [Package Name] Name=ogobj_template Version=0.1 Release=1 [Description] Description="The OpenGObj Template for OpenGOOP Inheritance Objects" Summary="OpenGOOP Object Template" License=LGPL Copyright="" Distribution="OpenG Toolkit" Icon=ogobj_template.bmp Vendor=OpenG.org URL=http://openg.org/opengoop_inheritance Packager="Jim Kring <ji...@ji...>" [Dependencies] Requires="" AutoReqProv=FALSE [Platform] Exclusive_LabVIEW_Version= >=7.0 Exclusive_LabVIEW_System=All Exclusive_OS=All [Files] Num File Groups=1 [File Group 0] Source Dir=source Target Dir=<application>/resource/OpenG/frameworks/opengoop/opengobj_template Replace Mode=Never Num Files=56 File 0=Class - VI Tree.vi File 1=Templates/Class Create.vit File 2=Templates/Class Modify Data.vit File 3=Templates/Class Polymorphic Method.vit File 4=Templates/Class Read Data.vit File 5=Templates/Class Templates - VI Tree.vi File 6=Templates/Class Virtual Method VI Type RefNum.ctt File 7=Public/Class Destroy.vi File 8=Data Structures/Class GOOP Type Enum.ctl File 9=Data Structures/Class Inheritable Data.ctl File 10=Data Structures/Class Inheritance RefNum.ctl File 11=Data Structures/Class Methods Implimentation Cluster.ctl File 12=Data Structures/Class Private Data.ctl File 13=Data Structures/Class Virtual Methods Cluster.ctl File 14=Data Structures/Virtual Method RefNum Types/Class Destroy.ctl File 15=Core/Class Core - VI Tree.vi File 16=Core/Virtual Method/Class Find Method Implementation VI Paths.vi File 17=Core/Virtual Method/Class Get Implemented Method.vi File 18=Core/Virtual Method/Class Get Method VI Paths by Name.vi File 19=Core/Virtual Method/Class Get Virtual Method Implimentations.vi File 20=Core/Virtual Method/Class Set Method Strict VI Reference.vi File 21=Core/Virtual Method/Class Update Methods List with Self.vi File 22=Core/Persistence/Class Flatten Object to File.vi File 23=Core/Persistence/Class Unflatten Object from File.vi File 24=Core/Object Management/Class Close Object Reference.vi File 25=Core/Object Management/Class Delete.vi File 26=Core/Object Management/Class New.vi File 27=Core/Object Management/Class Open GOOP Object Reference.vi File 28=Core/Object Management/Class Open Object Reference.vi File 29=Core/Data Structures/Class Core Data Cluster.ctl File 30=Core/Data Structures/Class Data Cluster.ctl File 31=Core/Data Structures/Class Data for Child.ctl File 32=Core/Data Structures/Class GOOP RefNum.ctl File 33=Core/Data Structures/Class Inheritance RefNum Innermost Cluster.ctl File 34=Core/Data Structures/Class Methods Cluster.ctl File 35=Core/Data Structures/Class Methods to Invoke Enum.ctl File 36=Core/Data Structures/Class Object Data Core Task Enum.ctl File 37=Core/Data Structures/Class Object Ref Type.vi File 38=Core/Data Structures/Class Subclass RefNum Variant.ctl File 39=Core/Data Structures/Class Virtual Methods Table Cluster.ctl File 40=Core/Data Access/Class Default Data.vi File 41=Core/Data Access/Class Get Data to Modify.vi File 42=Core/Data Access/Class Get Data.vi File 43=Core/Data Access/Class Get Instance Semaphore RefNum.vi File 44=Core/Data Access/Class Object Data Store VI Ref Type.vi File 45=Core/Data Access/Class Set Modified Data.vi File 46=Core/Data Access/Utility/Class Get Data Store Name.vi File 47=Core/Data Access/Data Core/Class Data Core.vi File 48=Core/Data Access/Data Core/Class Object Data Store.vi File 49=Core/Data Access/Data Access For Child/Class Get Data for Child to Modify.vi File 50=Core/Data Access/Data Access For Child/Class Get Data for Child.vi File 51=Core/Data Access/Data Access For Child/Class Set Modified Data from Child.vi File 52=Core/Class Utility/Class Get Class Path.vi File 53=Core/Class Utility/Class Get Class Prefix and Suffix.vi File 54=Core/Class Utility/Class Get Parents Method Name.vi File 55=Core/Class Utility/Class Set Class Refnum Value.vi --- opengobj_template.bmp DELETED --- --- opengobj_template.spec DELETED --- |
From: <jk...@us...> - 2004-03-02 23:58:18
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3897/source/opengobj_tools Removed Files: opengobj_tools.bmp opengobj_tools_banner.bmp Log Message: renamed --- opengobj_tools.bmp DELETED --- --- opengobj_tools_banner.bmp DELETED --- |
From: <jk...@us...> - 2004-03-02 23:54:43
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3094/source/opengobj_tools Removed Files: Build opengobj_tools.deab.vi Log Message: renamed --- Build opengobj_tools.deab.vi DELETED --- |
From: <jk...@us...> - 2004-03-02 23:54:13
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2928/source/opengobj_tools Removed Files: opengobj_tools.deab opengobj_tools.spec Log Message: renamed --- opengobj_tools.deab DELETED --- --- opengobj_tools.spec DELETED --- |
From: <jk...@us...> - 2004-03-02 22:06:36
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source Removed Files: opengobj_tools - VI Tree.vi Log Message: moved --- opengobj_tools - VI Tree.vi DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Utility In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Utility Removed Files: obobtools Rename GOOP Enum.vi oghi Set Parent Inherited Data Cluster Name.vi opengobj_tools Add VI RefNum to Cluster TypeDef.vi opengobj_tools Class Template Location.vi opengobj_tools Disconnect Innermost Cluster.vi opengobj_tools Get Class Name from GOOP Enum.vi opengobj_tools Get GOOP Enum Path.vi opengobj_tools Get Inheritance Hierarchy from CTIR.vi opengobj_tools Get Special File Paths.vi opengobj_tools OpenGObj Location.vi opengobj_tools Prepare OpenGObj for Child Linking.vi opengobj_tools Relink Data Store RefNum by VI Paths.vi opengobj_tools Relink RefNum.vi opengobj_tools Relink to New Parent Class VIs.vi opengobj_tools Rename Inherited Data Cluster.vi opengobj_tools Resize Class Type Inheritance RefNum Control.vi opengobj_tools Resize Class Type Inheritance Refnum TypeDef.vi opengobj_tools in Development Mode.vi opengobj_tools opengoop_inheritace resource location.vi Log Message: moved --- obobtools Rename GOOP Enum.vi DELETED --- --- oghi Set Parent Inherited Data Cluster Name.vi DELETED --- --- opengobj_tools Add VI RefNum to Cluster TypeDef.vi DELETED --- --- opengobj_tools Class Template Location.vi DELETED --- --- opengobj_tools Disconnect Innermost Cluster.vi DELETED --- --- opengobj_tools Get Class Name from GOOP Enum.vi DELETED --- --- opengobj_tools Get GOOP Enum Path.vi DELETED --- --- opengobj_tools Get Inheritance Hierarchy from CTIR.vi DELETED --- --- opengobj_tools Get Special File Paths.vi DELETED --- --- opengobj_tools OpenGObj Location.vi DELETED --- --- opengobj_tools Prepare OpenGObj for Child Linking.vi DELETED --- --- opengobj_tools Relink Data Store RefNum by VI Paths.vi DELETED --- --- opengobj_tools Relink RefNum.vi DELETED --- --- opengobj_tools Relink to New Parent Class VIs.vi DELETED --- --- opengobj_tools Rename Inherited Data Cluster.vi DELETED --- --- opengobj_tools Resize Class Type Inheritance RefNum Control.vi DELETED --- --- opengobj_tools Resize Class Type Inheritance Refnum TypeDef.vi DELETED --- --- opengobj_tools in Development Mode.vi DELETED --- --- opengobj_tools opengoop_inheritace resource location.vi DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Public In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Public Removed Files: opengobj_tools Create New Class.vi opengobj_tools Create.vi opengobj_tools Destroy.vi opengobj_tools Get Class Name.vi opengobj_tools Load Class Into Memory.vi opengobj_tools Relink Class to New Parent.vi opengobj_tools Rename Class.vi opengobj_tools Save Modified VIs.vi opengobj_tools Unload Class From Memory.vi Log Message: moved --- opengobj_tools Create New Class.vi DELETED --- --- opengobj_tools Create.vi DELETED --- --- opengobj_tools Destroy.vi DELETED --- --- opengobj_tools Get Class Name.vi DELETED --- --- opengobj_tools Load Class Into Memory.vi DELETED --- --- opengobj_tools Relink Class to New Parent.vi DELETED --- --- opengobj_tools Rename Class.vi DELETED --- --- opengobj_tools Save Modified VIs.vi DELETED --- --- opengobj_tools Unload Class From Memory.vi DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Tests Removed Files: opengobj_tools - Test List Special Files.vi opengobj_tools - Test New Class.vi opengobj_tools - Test Open Data for Editing.vi opengobj_tools - Test Relink Class to New Parent.vi opengobj_tools - Test Relink Data Store.vi opengobj_tools - Test Rename.vi opengobj_tools - Test Save Modified VIs.vi opengobj_tools - Test.vi Log Message: moved --- opengobj_tools - Test List Special Files.vi DELETED --- --- opengobj_tools - Test New Class.vi DELETED --- --- opengobj_tools - Test Open Data for Editing.vi DELETED --- --- opengobj_tools - Test Relink Class to New Parent.vi DELETED --- --- opengobj_tools - Test Relink Data Store.vi DELETED --- --- opengobj_tools - Test Rename.vi DELETED --- --- opengobj_tools - Test Save Modified VIs.vi DELETED --- --- opengobj_tools - Test.vi DELETED --- |
From: <jk...@us...> - 2004-03-02 22:06:19
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Templates Removed Files: opengobj_tools Create.vit opengobj_tools Destroy.vit opengobj_tools Modify Data.vit opengobj_tools Read Data.vit opengobj_tools Templates - VI Tree.vi Log Message: moved --- opengobj_tools Create.vit DELETED --- --- opengobj_tools Destroy.vit DELETED --- --- opengobj_tools Modify Data.vit DELETED --- --- opengobj_tools Read Data.vit DELETED --- --- opengobj_tools Templates - VI Tree.vi DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Core Removed Files: opengobj_tools Close Object Reference.vi opengobj_tools Core - VI Tree.vi opengobj_tools Data Core.vi opengobj_tools Data Store VI Name.vi opengobj_tools Default Data.vi opengobj_tools Delete.vi opengobj_tools Flatten Object to File.vi opengobj_tools Get Data to Modify.vi opengobj_tools Get Data.vi opengobj_tools Get Instance Semaphore RefNum.vi opengobj_tools New.vi opengobj_tools Object Data Store VI Ref Type.vi opengobj_tools Object Data Store.vi opengobj_tools Object Ref Type.vi opengobj_tools Open Object Reference.vi opengobj_tools Set Modified Data.vi opengobj_tools Unflatten Object from File.vi Log Message: moved --- opengobj_tools Close Object Reference.vi DELETED --- --- opengobj_tools Core - VI Tree.vi DELETED --- --- opengobj_tools Data Core.vi DELETED --- --- opengobj_tools Data Store VI Name.vi DELETED --- --- opengobj_tools Default Data.vi DELETED --- --- opengobj_tools Delete.vi DELETED --- --- opengobj_tools Flatten Object to File.vi DELETED --- --- opengobj_tools Get Data to Modify.vi DELETED --- --- opengobj_tools Get Data.vi DELETED --- --- opengobj_tools Get Instance Semaphore RefNum.vi DELETED --- --- opengobj_tools New.vi DELETED --- --- opengobj_tools Object Data Store VI Ref Type.vi DELETED --- --- opengobj_tools Object Data Store.vi DELETED --- --- opengobj_tools Object Ref Type.vi DELETED --- --- opengobj_tools Open Object Reference.vi DELETED --- --- opengobj_tools Set Modified Data.vi DELETED --- --- opengobj_tools Unflatten Object from File.vi DELETED --- |
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Private In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Private Removed Files: opengobj_tools List Changed Class VIs.vi opengobj_tools List Special VI Paths.vi opengobj_tools OpenG Data for Editing.vi opengobj_tools Refresh Class Info from Disk.vi opengobj_tools Relink Data Store RefNum.vi opengobj_tools Rename Class Folder.vi opengobj_tools Rename Class On Disk.vi Log Message: moved --- opengobj_tools List Changed Class VIs.vi DELETED --- --- opengobj_tools List Special VI Paths.vi DELETED --- --- opengobj_tools OpenG Data for Editing.vi DELETED --- --- opengobj_tools Refresh Class Info from Disk.vi DELETED --- --- opengobj_tools Relink Data Store RefNum.vi DELETED --- --- opengobj_tools Rename Class Folder.vi DELETED --- --- opengobj_tools Rename Class On Disk.vi DELETED --- |
From: <jk...@us...> - 2004-03-02 22:06:12
|
Update of /cvsroot/opengtoolkit/opengoop_inheritance/source/opengobj_tools/source/Data Structures In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10565/source/opengobj_tools/source/Data Structures Removed Files: opengobj_tools Data.ctl opengobj_tools Object Data Core Task Enum.ctl opengobj_tools Object RefNum - Enum.ctl opengobj_tools Object RefNum.ctl opengobj_tools Special File Paths.ctl Log Message: moved --- Structures opengobj_tools Data.ctl DELETED --- --- opengobj_tools Object Data Core Task Enum.ctl DELETED --- --- opengobj_tools Object RefNum - Enum.ctl DELETED --- --- opengobj_tools Object RefNum.ctl DELETED --- --- opengobj_tools Special File Paths.ctl DELETED --- |