summaryrefslogtreecommitdiffstats
path: root/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/Resource.h30
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.c512
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.icobin0 -> 766 bytes
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mak240
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mdpbin0 -> 35328 bytes
-rw-r--r--res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.rc130
6 files changed, 912 insertions, 0 deletions
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/Resource.h b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/Resource.h
new file mode 100644
index 0000000..46cfc3f
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/Resource.h
@@ -0,0 +1,30 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by UserPort.rc
+//
+#define IDD_USERPORT 101
+#define IDI_APP 102
+#define IDC_AUMP_LIST_GRANTS 1000
+#define IDC_AUMP_EDIT_ADD 1001
+#define IDC_AUMP_BUTTON_ADD 1002
+#define IDC_AUMP_BUTTON_REMOVE 1003
+#define IDC_TCF_EDIT_ADD 1004
+#define IDC_BUTTON_UPDATE 1009
+#define IDC_BUTTON_START 1010
+#define IDC_TCF_LIST_GRANTS 1011
+#define IDC_TCF_BUTTON_ADD 1012
+#define IDC_BUTTON_STOP 1013
+#define IDC_AUMP_BUTTON_DEFAULTS 1016
+#define IDC_TCF_BUTTON_REMOVE 1017
+#define IDC_TCF_BUTTON_DEFAULTS 1018
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 103
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1017
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.c b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.c
new file mode 100644
index 0000000..5129ae5
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.c
@@ -0,0 +1,512 @@
+#include <windows.h>
+#include <string.h>
+#include "resource.h"
+
+char szDriverFileName[MAX_PATH];
+char DriverName[]="UserPort";
+HWND hDlg;
+
+unsigned Chars2Hex (char ch, unsigned oldval)
+{
+ int nHex;
+
+ if ((ch>='0') && (ch<='9'))
+ nHex=ch-'0';
+ else if ((ch>='a') && (ch<='f'))
+ nHex=ch-'a'+10;
+ else if ((ch>='A') && (ch<='F'))
+ nHex=ch-'A'+10;
+ else
+ return oldval;
+ return oldval*16+nHex;
+}
+
+void UpperString(char *Str)
+{
+ int i,Len;
+
+ Len=strlen(Str);
+ for (i=0;i<Len;i++)
+ if (Str[i]>'Z')
+ Str[i]-=32;
+}
+
+BOOL StopDriver()
+{
+ SC_HANDLE schService;
+ SC_HANDLE schSCManager;
+ SERVICE_STATUS serviceStatus;
+
+
+ schSCManager = OpenSCManager (NULL, // machine (NULL == local)
+ NULL, // database (NULL == default)
+ SC_MANAGER_ALL_ACCESS // access required
+ );
+ if (schSCManager == NULL)
+ {
+ return FALSE;
+ }
+
+ schService = OpenService (schSCManager,
+ DriverName,
+ SERVICE_ALL_ACCESS
+ );
+
+ if (schService == NULL)
+ {
+ CloseServiceHandle (schSCManager);
+ return FALSE;
+ }
+
+ ControlService (schService, SERVICE_CONTROL_STOP, &serviceStatus);
+
+ DeleteService (schService);
+
+ CloseServiceHandle (schService);
+ CloseServiceHandle (schSCManager);
+ return TRUE;
+}
+
+BOOL StartDriver()
+{
+ SC_HANDLE schService = NULL;
+ SC_HANDLE schSCManager;
+ HANDLE hDriver;
+ DWORD LastError;
+ char szMess[300];
+ char szTmp[MAX_PATH];
+
+ lstrcpy(szTmp,szDriverFileName);
+ szTmp[12] = '\0';
+ if (lstrcmpi(szTmp,"\\SystemRoot\\")==0)
+ {
+ GetWindowsDirectory(szTmp,sizeof(szTmp));
+ lstrcat(szTmp,szDriverFileName+11);
+ }
+ else
+ lstrcpy(szTmp,szDriverFileName);
+
+
+ hDriver = CreateFile (szTmp,
+ GENERIC_READ,
+ 0,
+ NULL,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL
+ );
+ if (hDriver==INVALID_HANDLE_VALUE)
+ {
+ wsprintf(szMess,"Driver does not exist:\r\n%s",szTmp);
+ MessageBox(hDlg,szMess,"UserPort",MB_OK);
+ return FALSE;
+ }
+
+ CloseHandle(hDriver);
+
+ schSCManager = OpenSCManager (NULL, // machine (NULL == local)
+ NULL, // database (NULL == default)
+ SC_MANAGER_ALL_ACCESS // access required
+ );
+
+ if (schSCManager == NULL)
+ {
+ if (GetLastError() == ERROR_ACCESS_DENIED)
+ MessageBox(hDlg,"You are not authorized to install drivers.\r\nPlase contact your administrator.","UserPort",MB_OK);
+ else
+ MessageBox(hDlg,"Unable to start driver!","UserPort",MB_OK);
+
+ return FALSE;
+ }
+
+ schService = CreateService (schSCManager, // SCManager database
+ DriverName, // name of service
+ DriverName, // name to display
+ SERVICE_START,//SERVICE_ALL_ACCESS, // desired access
+ SERVICE_KERNEL_DRIVER, // service type
+ SERVICE_SYSTEM_START, // start type
+ SERVICE_ERROR_NORMAL, // error control type
+ szDriverFileName, // service's binary
+ NULL, // no load ordering group
+ NULL, // no tag identifier
+ NULL, // no dependencies
+ NULL, // LocalSystem account
+ NULL // no password
+ );
+
+ if (schService == NULL)
+ {
+ LastError = GetLastError();
+ if (LastError == ERROR_SERVICE_EXISTS)
+ MessageBox(hDlg,"Driver already started!","UserPort",MB_OK);
+ else if (LastError == ERROR_ACCESS_DENIED)
+ MessageBox(hDlg,"You are not authorized to install drivers.\r\nPlase contact your administrator.","UserPort",MB_OK);
+ else
+ MessageBox(hDlg,"Unable to start driver!","UserPort",MB_OK);
+
+ CloseServiceHandle (schSCManager);
+ return FALSE;
+ }
+
+ StartService (schService, // service identifier
+ 0, // number of arguments
+ NULL // pointer to arguments
+ );
+
+ CloseServiceHandle (schService);
+ CloseServiceHandle (schSCManager);
+ return TRUE;
+}
+
+BOOL GetStartAndStopAddress(char *szStr, unsigned *nStartAddress, unsigned *nStopAddress)
+{
+ unsigned i, nStart = 0, nStop = 0;
+
+ for (i=0;(szStr[i]!='\0')&&(szStr[i]!='-');i++)
+ nStart = Chars2Hex(szStr[i], nStart);
+
+ if (szStr[i]=='\0')
+ return FALSE;
+
+ for (i++;(szStr[i]!='\0')&&(szStr[i]!='-');i++)
+ nStop = Chars2Hex(szStr[i], nStop);
+
+ *nStartAddress = nStart;
+ *nStopAddress = nStop;
+
+ if (nStop < nStart)
+ return FALSE;
+ if (nStop > 0x3ff)
+ return FALSE;
+
+ return TRUE;
+}
+
+BOOL AddAUMPBtn()
+{
+ char szTemp[256];
+ char szTemp2[256];
+ unsigned nStartAddress,nStopAddress;
+
+ GetDlgItemText(hDlg,IDC_AUMP_EDIT_ADD,szTemp,sizeof(szTemp));
+
+ if (!GetStartAndStopAddress(szTemp, &nStartAddress, &nStopAddress))
+ {
+ MessageBox(hDlg,"Wrong syntax. Use: \"startadress - stopaddress\" (000 - 3ff)","UserPort",MB_OK);
+ return FALSE;
+ }
+
+ wsprintf(szTemp2,"%X - %X",nStartAddress,nStopAddress);
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)szTemp2);
+ SetDlgItemText(hDlg,IDC_AUMP_EDIT_ADD,"");
+ return TRUE;
+}
+
+BOOL AddTCFBtn()
+{
+ char szTemp[256];
+ char szTemp2[256];
+ unsigned nStartAddress,nStopAddress;
+
+ GetDlgItemText(hDlg,IDC_TCF_EDIT_ADD,szTemp,sizeof(szTemp));
+
+ if (!GetStartAndStopAddress(szTemp, &nStartAddress, &nStopAddress))
+ {
+ MessageBox(hDlg,"Wrong syntax. Use: \"startadress - stopaddress\" (000 - 3ff)","UserPort",MB_OK);
+ return FALSE;
+ }
+
+ wsprintf(szTemp2,"%X - %X",nStartAddress,nStopAddress);
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)szTemp2);
+ SetDlgItemText(hDlg,IDC_TCF_EDIT_ADD,"");
+ return TRUE;
+}
+
+BOOL UpdateBtn()
+{
+ HKEY hKey;
+ DWORD wType;
+ UCHAR AllProcessesIOPM[0x80];
+ UCHAR ThroughCreateFileIOPM[0x80];
+ unsigned nCount,i,j;
+ char szTemp[256];
+ unsigned nStartAddress,nStopAddress;
+
+ for (i=0;i<sizeof(AllProcessesIOPM);i++)
+ AllProcessesIOPM[i] = 0xff;
+
+ nCount = SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_GETCOUNT, 0,0);
+
+ for (i=0;i<nCount;i++)
+ {
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_GETTEXT, i,(LPARAM)szTemp);
+ if (GetStartAndStopAddress(szTemp, &nStartAddress, &nStopAddress))
+ {
+ for (j=nStartAddress;j<=nStopAddress;j++)
+ AllProcessesIOPM[j>>3] &= ~(1 << (j&7));
+ }
+ }
+
+ for (i=0;i<sizeof(ThroughCreateFileIOPM);i++)
+ ThroughCreateFileIOPM[i] = 0xff;
+
+ nCount = SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_GETCOUNT, 0,0);
+
+ for (i=0;i<nCount;i++)
+ {
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_GETTEXT, i,(LPARAM)szTemp);
+ if (GetStartAndStopAddress(szTemp, &nStartAddress, &nStopAddress))
+ {
+ for (j=nStartAddress;j<=nStopAddress;j++)
+ ThroughCreateFileIOPM[j>>3] &= ~(1 << (j&7));
+ }
+ }
+
+ if (RegCreateKeyEx(HKEY_LOCAL_MACHINE,
+ "Software\\UserPort",0,"",
+ REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,
+ NULL,&hKey,&wType) == ERROR_SUCCESS)
+ {
+ RegSetValueEx(hKey,
+ "AllProcessesIOPM",0,REG_BINARY,
+ (BYTE *)AllProcessesIOPM,sizeof(AllProcessesIOPM));
+ RegSetValueEx(hKey,
+ "ThroughCreateFileIOPM",0,REG_BINARY,
+ (BYTE *)ThroughCreateFileIOPM,sizeof(ThroughCreateFileIOPM));
+
+ RegCloseKey(hKey);
+ if (StopDriver())
+ {
+ Sleep(200);
+ StartDriver();
+ }
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+BOOL ReadRegistry()
+{
+ UCHAR AllProcessesIOPM[0x80];
+ UCHAR ThroughCreateFileIOPM[0x80];
+ char szTemp[256];
+ unsigned i,nStartAddress,nStopAddress;
+
+ DWORD cb,wType, bResult1 = FALSE, bResult2 = FALSE;
+ HKEY hKey;
+
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+ "Software\\UserPort",0,KEY_READ,
+ &hKey) == ERROR_SUCCESS)
+ {
+ cb = sizeof(AllProcessesIOPM);
+ if (RegQueryValueEx(hKey,"AllProcessesIOPM",0,&wType,(BYTE *)AllProcessesIOPM,&cb) == ERROR_SUCCESS)
+ bResult1 = TRUE;
+ cb = sizeof(ThroughCreateFileIOPM);
+ if (RegQueryValueEx(hKey,"ThroughCreateFileIOPM",0,&wType,(BYTE *)ThroughCreateFileIOPM,&cb) == ERROR_SUCCESS)
+ bResult2 = TRUE;
+ RegCloseKey(hKey);
+ }
+
+ if ((bResult1 == FALSE) || (bResult2 == FALSE))
+ return FALSE;
+
+ for (i=0;i <sizeof(AllProcessesIOPM)<<3;i++)
+ {
+ if ((AllProcessesIOPM[i>>3] & (1 << (i&7))) == 0)
+ {
+ nStartAddress = i;
+ do
+ {
+ nStopAddress = i;
+ i++;
+ } while ((i < sizeof(AllProcessesIOPM)<<3) && ((AllProcessesIOPM[i>>3] & (1 << (i&7))) == 0));
+ wsprintf(szTemp,"%X - %X",nStartAddress,nStopAddress);
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)szTemp);
+ }
+ }
+
+ for (i=0;i <sizeof(ThroughCreateFileIOPM)<<3;i++)
+ {
+ if ((ThroughCreateFileIOPM[i>>3] & (1 << (i&7))) == 0)
+ {
+ nStartAddress = i;
+ do
+ {
+ nStopAddress = i;
+ i++;
+ } while ((i < sizeof(ThroughCreateFileIOPM)<<3) && ((ThroughCreateFileIOPM[i>>3] & (1 << (i&7))) == 0));
+ wsprintf(szTemp,"%X - %X",nStartAddress,nStopAddress);
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)szTemp);
+ }
+ }
+
+ return TRUE;
+}
+
+BOOL AddAUMPDefaults()
+{
+ int nCount,i;
+
+ nCount = SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_GETCOUNT, 0,0);
+
+ for (i=0;i<nCount;i++)
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_DELETESTRING, 0,0);
+
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"200 - 37F");
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"3BC - 3BF");
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"3E8 - 3FF");
+ return TRUE;
+}
+BOOL AddTCFDefaults()
+{
+ int nCount,i;
+
+ nCount = SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_GETCOUNT, 0,0);
+
+ for (i=0;i<nCount;i++)
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_DELETESTRING, 0,0);
+
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"200 - 37F");
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"3BC - 3BF");
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_ADDSTRING, 0,(LPARAM)"3E8 - 3FF");
+ return TRUE;
+}
+
+BOOL WINAPI DlgProc(
+ HWND hWnd, //Handtag till fönster, 16-bitar
+ UINT msg, //Meddelande, unsigned int
+ WPARAM wParam, //Parameter (word), unsigned int
+ LPARAM lParam ) //Parameter (long), unsigned long int
+{
+ char szTemp[256];
+ int nIndex;
+ switch (msg)
+ {
+ case WM_INITDIALOG:
+ hDlg=hWnd;
+ if (!ReadRegistry())
+ {
+ AddTCFDefaults();
+ AddAUMPDefaults();
+ }
+ break;
+ case WM_COMMAND:
+ switch (LOWORD(wParam))
+ {
+ case IDCANCEL:
+ PostQuitMessage ( 0 );
+ EndDialog(hWnd,FALSE);
+ break;
+ case IDC_BUTTON_START:
+ StartDriver();
+ break;
+ case IDC_BUTTON_STOP:
+ if (!StopDriver())
+ {
+ if (GetLastError() == ERROR_ACCESS_DENIED)
+ MessageBox(hDlg,"You are not authorized to remove drivers.\r\nPlase contact your administrator.","UserPort",MB_OK);
+ else
+ MessageBox(hDlg,"Driver is not installed!","UserPort",MB_OK);
+ }
+ break;
+ case IDC_AUMP_BUTTON_ADD:
+ AddAUMPBtn();
+ break;
+ case IDC_TCF_BUTTON_ADD:
+ AddTCFBtn();
+ break;
+ case IDC_BUTTON_UPDATE:
+ UpdateBtn();
+ break;
+ case IDC_AUMP_BUTTON_REMOVE:
+ nIndex = SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_GETCURSEL, 0,0);
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_DELETESTRING, nIndex,0);
+ EnableWindow(GetDlgItem(hWnd,IDC_AUMP_BUTTON_REMOVE), FALSE);
+ break;
+ case IDC_TCF_BUTTON_REMOVE:
+ nIndex = SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_GETCURSEL, 0,0);
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_DELETESTRING, nIndex,0);
+ EnableWindow(GetDlgItem(hWnd,IDC_TCF_BUTTON_REMOVE), FALSE);
+ break;
+ case IDC_AUMP_BUTTON_DEFAULTS:
+ AddAUMPDefaults();
+ break;
+ case IDC_TCF_BUTTON_DEFAULTS:
+ AddTCFDefaults();
+ break;
+ case IDC_AUMP_EDIT_ADD:
+ GetDlgItemText(hDlg,IDC_AUMP_EDIT_ADD,szTemp,sizeof(szTemp));
+ EnableWindow(GetDlgItem(hWnd,IDC_AUMP_BUTTON_ADD), szTemp[0]!='\0');
+ break;
+ case IDC_TCF_EDIT_ADD:
+ GetDlgItemText(hDlg,IDC_TCF_EDIT_ADD,szTemp,sizeof(szTemp));
+ EnableWindow(GetDlgItem(hWnd,IDC_TCF_BUTTON_ADD), szTemp[0]!='\0');
+ break;
+ case IDC_AUMP_LIST_GRANTS:
+ if (HIWORD(wParam) == LBN_SELCHANGE)
+ {
+ nIndex = SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_GETCURSEL, 0,0);
+ SendDlgItemMessage(hDlg, IDC_AUMP_LIST_GRANTS,LB_SETCURSEL, nIndex,0);
+ EnableWindow(GetDlgItem(hWnd,IDC_AUMP_BUTTON_REMOVE), TRUE);
+ }
+ break;
+ case IDC_TCF_LIST_GRANTS:
+ if (HIWORD(wParam) == LBN_SELCHANGE)
+ {
+ nIndex = SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_GETCURSEL, 0,0);
+ SendDlgItemMessage(hDlg, IDC_TCF_LIST_GRANTS,LB_SETCURSEL, nIndex,0);
+ EnableWindow(GetDlgItem(hWnd,IDC_TCF_BUTTON_REMOVE), TRUE);
+ }
+ break;
+ default:
+ return FALSE;
+ break;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+} //DlgProc
+
+int WINAPI WinMain(
+ HINSTANCE hInstance,
+ HINSTANCE hPrevInstance,
+ LPSTR lpszCmdline,
+ int nShow )
+{
+ MSG msg;
+
+ OSVERSIONINFO osvi;
+
+ GetVersionEx(&osvi);
+
+ if ((osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) || (osvi.dwPlatformId == VER_PLATFORM_WIN32s))
+ {
+ MessageBox(NULL,"UserPort does not work on Windows 3.11/95/98/Me.\r\n\r\nUsermode programs does always have access to ports in Windows 3.11/95/98.\r\nThis program is therefore not needed on these operating systems.","UserPort",MB_OK);
+ return 0;
+ }
+
+ if (lpszCmdline[0] != '\0')
+ lstrcpy(szDriverFileName, lpszCmdline);
+ else
+ lstrcpy(szDriverFileName,"\\SystemRoot\\System32\\Drivers\\UserPort.sys");
+ CreateDialog(
+ hInstance,
+ MAKEINTRESOURCE(IDD_USERPORT),
+ NULL,
+ (DLGPROC)DlgProc);
+
+ SetClassLong(hDlg,GCL_HICON,(long)LoadIcon ( hInstance, MAKEINTRESOURCE(IDI_APP)));
+
+ while ( GetMessage ( &msg, NULL, 0, 0 ) )
+ {
+ if (IsDialogMessage(hDlg,&msg))
+ continue;
+ TranslateMessage ( &msg );
+ DispatchMessage ( &msg );
+ }
+ return 0;
+} //WinMain
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.ico b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.ico
new file mode 100644
index 0000000..a603441
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.ico
Binary files differ
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mak b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mak
new file mode 100644
index 0000000..0b5d146
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mak
@@ -0,0 +1,240 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.10
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Application" 0x0101
+
+!IF "$(CFG)" == ""
+CFG=UserPort - Win32 Debug
+!MESSAGE No configuration specified. Defaulting to UserPort - Win32 Debug.
+!ENDIF
+
+!IF "$(CFG)" != "UserPort - Win32 Release" && "$(CFG)" !=\
+ "UserPort - Win32 Debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "UserPort.mak" CFG="UserPort - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "UserPort - Win32 Release" (based on "Win32 (x86) Application")
+!MESSAGE "UserPort - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+################################################################################
+# Begin Project
+# PROP Target_Last_Scanned "UserPort - Win32 Debug"
+CPP=cl.exe
+MTL=mktyplib.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "UserPort - 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 Target_Dir ""
+OUTDIR=.\Release
+INTDIR=.\Release
+
+ALL : "$(OUTDIR)\UserPort.exe"
+
+CLEAN :
+ -@erase "$(INTDIR)\UserPort.obj"
+ -@erase "$(INTDIR)\UserPort.res"
+ -@erase "$(OUTDIR)\UserPort.exe"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
+CPP_PROJ=/nologo /ML /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"\
+ /Fp"$(INTDIR)/UserPort.pch" /YX /Fo"$(INTDIR)/" /c
+CPP_OBJS=.\Release/
+CPP_SBRS=.\.
+# ADD BASE MTL /nologo /D "NDEBUG" /win32
+# ADD MTL /nologo /D "NDEBUG" /win32
+MTL_PROJ=/nologo /D "NDEBUG" /win32
+# ADD BASE RSC /l 0x41d /d "NDEBUG"
+# ADD RSC /l 0x41d /d "NDEBUG"
+RSC_PROJ=/l 0x41d /fo"$(INTDIR)/UserPort.res" /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/UserPort.bsc"
+BSC32_SBRS= \
+
+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 /nologo /subsystem:windows /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib msvcrt.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\
+ advapi32.lib shell32.lib msvcrt.lib /nologo /subsystem:windows /incremental:no\
+ /pdb:"$(OUTDIR)/UserPort.pdb" /machine:I386 /nodefaultlib\
+ /out:"$(OUTDIR)/UserPort.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\UserPort.obj" \
+ "$(INTDIR)\UserPort.res"
+
+"$(OUTDIR)\UserPort.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "UserPort - 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 Target_Dir ""
+OUTDIR=.\Debug
+INTDIR=.\Debug
+
+ALL : "$(OUTDIR)\UserPort.exe" "$(OUTDIR)\UserPort.bsc"
+
+CLEAN :
+ -@erase "$(INTDIR)\UserPort.obj"
+ -@erase "$(INTDIR)\UserPort.res"
+ -@erase "$(INTDIR)\UserPort.sbr"
+ -@erase "$(INTDIR)\vc40.idb"
+ -@erase "$(INTDIR)\vc40.pdb"
+ -@erase "$(OUTDIR)\UserPort.bsc"
+ -@erase "$(OUTDIR)\UserPort.exe"
+ -@erase "$(OUTDIR)\UserPort.ilk"
+ -@erase "$(OUTDIR)\UserPort.pdb"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
+# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /c
+CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS"\
+ /FR"$(INTDIR)/" /Fp"$(INTDIR)/UserPort.pch" /YX /Fo"$(INTDIR)/" /Fd"$(INTDIR)/"\
+ /c
+CPP_OBJS=.\Debug/
+CPP_SBRS=.\Debug/
+# ADD BASE MTL /nologo /D "_DEBUG" /win32
+# ADD MTL /nologo /D "_DEBUG" /win32
+MTL_PROJ=/nologo /D "_DEBUG" /win32
+# ADD BASE RSC /l 0x41d /d "_DEBUG"
+# ADD RSC /l 0x41d /d "_DEBUG"
+RSC_PROJ=/l 0x41d /fo"$(INTDIR)/UserPort.res" /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+BSC32_FLAGS=/nologo /o"$(OUTDIR)/UserPort.bsc"
+BSC32_SBRS= \
+ "$(INTDIR)\UserPort.sbr"
+
+"$(OUTDIR)\UserPort.bsc" : "$(OUTDIR)" $(BSC32_SBRS)
+ $(BSC32) @<<
+ $(BSC32_FLAGS) $(BSC32_SBRS)
+<<
+
+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 /nologo /subsystem:windows /debug /machine:I386
+# ADD LINK32 ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /debug /machine:I386
+# SUBTRACT LINK32 /nodefaultlib
+LINK32_FLAGS=ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib\
+ winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows\
+ /incremental:yes /pdb:"$(OUTDIR)/UserPort.pdb" /debug /machine:I386\
+ /out:"$(OUTDIR)/UserPort.exe"
+LINK32_OBJS= \
+ "$(INTDIR)\UserPort.obj" \
+ "$(INTDIR)\UserPort.res"
+
+"$(OUTDIR)\UserPort.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+ $(LINK32) @<<
+ $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+!ENDIF
+
+.c{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_OBJS)}.obj:
+ $(CPP) $(CPP_PROJ) $<
+
+.c{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cpp{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+.cxx{$(CPP_SBRS)}.sbr:
+ $(CPP) $(CPP_PROJ) $<
+
+################################################################################
+# Begin Target
+
+# Name "UserPort - Win32 Release"
+# Name "UserPort - Win32 Debug"
+
+!IF "$(CFG)" == "UserPort - Win32 Release"
+
+!ELSEIF "$(CFG)" == "UserPort - Win32 Debug"
+
+!ENDIF
+
+################################################################################
+# Begin Source File
+
+SOURCE=.\UserPort.rc
+DEP_RSC_USERP=\
+ ".\UserPort.ico"\
+
+
+"$(INTDIR)\UserPort.res" : $(SOURCE) $(DEP_RSC_USERP) "$(INTDIR)"
+ $(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+# End Source File
+################################################################################
+# Begin Source File
+
+SOURCE=.\UserPort.c
+
+!IF "$(CFG)" == "UserPort - Win32 Release"
+
+
+"$(INTDIR)\UserPort.obj" : $(SOURCE) "$(INTDIR)"
+
+
+!ELSEIF "$(CFG)" == "UserPort - Win32 Debug"
+
+
+"$(INTDIR)\UserPort.obj" : $(SOURCE) "$(INTDIR)"
+
+"$(INTDIR)\UserPort.sbr" : $(SOURCE) "$(INTDIR)"
+
+
+!ENDIF
+
+# End Source File
+# End Target
+# End Project
+################################################################################
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mdp b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mdp
new file mode 100644
index 0000000..d332bda
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.mdp
Binary files differ
diff --git a/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.rc b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.rc
new file mode 100644
index 0000000..ad92f0d
--- /dev/null
+++ b/res/ATFBlast_ALL/userport/UserPort/UserPort_EXE/UserPort.rc
@@ -0,0 +1,130 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Swedish resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE)
+#ifdef _WIN32
+LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_USERPORT DIALOG DISCARDABLE 0, 0, 243, 159
+STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE |
+ WS_CAPTION | WS_SYSMENU
+CAPTION "UserPort 1.0 - Tomas Franzon (c) 2001"
+FONT 8, "MS Sans Serif"
+BEGIN
+ GROUPBOX "All User Mode Processes Grant List",IDC_STATIC,2,3,118,
+ 122
+ LTEXT "Enter Grant Intervall:(0x000-0x3ff)",IDC_STATIC,10,13,
+ 105,8
+ EDITTEXT IDC_AUMP_EDIT_ADD,8,23,60,14,ES_AUTOHSCROLL
+ LISTBOX IDC_AUMP_LIST_GRANTS,8,38,60,82,LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "Add",IDC_AUMP_BUTTON_ADD,74,24,38,14,WS_DISABLED
+ PUSHBUTTON "Remove",IDC_AUMP_BUTTON_REMOVE,74,41,38,14,WS_DISABLED
+ GROUPBOX "Driver (UserPort.SYS)",IDC_STATIC,2,124,139,33
+ PUSHBUTTON "Start",IDC_BUTTON_START,7,136,36,14
+ PUSHBUTTON "Update",IDC_BUTTON_UPDATE,53,136,35,14
+ PUSHBUTTON "Stop",IDC_BUTTON_STOP,98,136,36,14
+ PUSHBUTTON "Exit",IDCANCEL,145,128,95,29
+ PUSHBUTTON "Defaults",IDC_AUMP_BUTTON_DEFAULTS,74,59,38,14
+ GROUPBOX "Through ""\\\\.\\UserPort"" Grant List",IDC_STATIC,123,
+ 3,118,122
+ LTEXT "Enter Grant Intervall:(0x000-0x3ff)",IDC_STATIC,131,13,
+ 108,8
+ EDITTEXT IDC_TCF_EDIT_ADD,129,22,60,14,ES_AUTOHSCROLL
+ LISTBOX IDC_TCF_LIST_GRANTS,129,38,60,82,LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_TABSTOP
+ PUSHBUTTON "Add",IDC_TCF_BUTTON_ADD,195,24,38,14,WS_DISABLED
+ PUSHBUTTON "Remove",IDC_TCF_BUTTON_REMOVE,195,41,38,14,WS_DISABLED
+ PUSHBUTTON "Defaults",IDC_TCF_BUTTON_DEFAULTS,195,59,38,14
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_USERPORT, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 241
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 156
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_APP ICON DISCARDABLE "UserPort.ico"
+#endif // Swedish resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+