6.0.23.58
This commit is contained in:
parent
814c68fcc4
commit
f1bf68a545
|
@ -11323,7 +11323,7 @@ VOID ProcessTextFwdLine(ConnectionInfo * conn, struct UserInfo * user, char * Bu
|
|||
MsgPtr = MsgBytes;
|
||||
}
|
||||
|
||||
memcpy(&temp, &conn->FwdMsg->datereceived, 4);
|
||||
memcpy(&temp, &conn->FwdMsg->datereceived, sizeof(time_t));
|
||||
tm = gmtime(&temp);
|
||||
|
||||
nodeprintf(conn, "R:%02d%02d%02d/%02d%02dZ %d@%s.%s %s\r",
|
||||
|
|
|
@ -1109,7 +1109,7 @@
|
|||
// Fix BID Hold and Reject filters
|
||||
// Fix Webmail auto-refresh when page exceeds 64K bytes (54)
|
||||
// Fix Webmail send when using both headers/footers and attachmonts (55)
|
||||
|
||||
// Fix R: line corruption on some 64 bit builds
|
||||
|
||||
#include "bpqmail.h"
|
||||
#define MAIL
|
||||
|
|
2
Bpq32.c
2
Bpq32.c
|
@ -1152,6 +1152,8 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
|
|||
// Use sha1 code from https://www.packetizer.com/security/sha1/ instead of openssl (53)
|
||||
// Fix TNC Emulator Monitoring (53)
|
||||
// Fix attach and connect on Telnet port bug introduced in .55 (56)
|
||||
// Fix stopping WinRPR TNC and Start/Stop UZ7HO TNCX on Linux (57)
|
||||
|
||||
|
||||
#define CKernel
|
||||
|
||||
|
|
|
@ -1244,7 +1244,7 @@ VOID SendCompressed(CIRCUIT * conn, struct MsgInfo * FwdMsg)
|
|||
|
||||
DataOffset = (int)(Outputptr - Output); // Used if restarting
|
||||
|
||||
memcpy(&temp, &FwdMsg->datereceived, 4);
|
||||
memcpy(&temp, &FwdMsg->datereceived, sizeof(time_t));
|
||||
tm = gmtime(&temp);
|
||||
|
||||
sprintf(Rline, "R:%02d%02d%02d/%02d%02dZ %d@%s.%s %s\r\n",
|
||||
|
|
|
@ -1340,9 +1340,11 @@ void * UZ7HOExtInit(EXTPORTDATA * PortEntry)
|
|||
|
||||
MoveWindows(TNC);
|
||||
|
||||
#endif
|
||||
|
||||
if (MasterPort[port] == port)
|
||||
{
|
||||
// First port for this TNC - start TNC if sonfigured and connect
|
||||
// First port for this TNC - start TNC if configured and connect
|
||||
|
||||
#ifndef LINBPQ
|
||||
if (EnumWindows(EnumTNCWindowsProc, (LPARAM)TNC))
|
||||
|
@ -1362,10 +1364,8 @@ void * UZ7HOExtInit(EXTPORTDATA * PortEntry)
|
|||
MySetWindowText(TNC->xIDC_COMMSSTATE, TNC->WEB_COMMSSTATE);
|
||||
}
|
||||
|
||||
|
||||
time(&lasttime[port]); // Get initial time value
|
||||
|
||||
#endif
|
||||
return ExtProc;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@
|
|||
|
||||
#endif
|
||||
|
||||
#define KVers 6,0,23,56
|
||||
#define KVerstring "6.0.23.56\0"
|
||||
#define KVers 6,0,23,58
|
||||
#define KVerstring "6.0.23.58\0"
|
||||
|
||||
#ifdef CKernel
|
||||
|
||||
#define Vers KVers
|
||||
#define Verstring KVerstring
|
||||
#define Datestring "March 2023"
|
||||
#define Datestring "April 2023"
|
||||
#define VerComments "G8BPQ Packet Switch (C Version)" KVerstring
|
||||
#define VerCopyright "Copyright © 2001-2023 John Wiseman G8BPQ\0"
|
||||
#define VerDesc "BPQ32 Switch\0"
|
||||
|
|
2
WINMOR.c
2
WINMOR.c
|
@ -2844,7 +2844,7 @@ int KillTNC(struct TNCINFO * TNC)
|
|||
|
||||
SOCKET sock = socket(AF_INET,SOCK_DGRAM,0);
|
||||
struct sockaddr_in destaddr;
|
||||
char Msg[80];
|
||||
char Msg[256];
|
||||
int Len;
|
||||
|
||||
if (sock == INVALID_SOCKET)
|
||||
|
|
29
WinRPR.c
29
WinRPR.c
|
@ -39,6 +39,12 @@ extern int (WINAPI FAR *EnumProcessesPtr)();
|
|||
|
||||
#include "tncinfo.h"
|
||||
|
||||
|
||||
#define SD_RECEIVE 0x00
|
||||
#define SD_SEND 0x01
|
||||
#define SD_BOTH 0x02
|
||||
|
||||
|
||||
//#include "bpq32.h"
|
||||
|
||||
static char ClassName[]="TRACKERSTATUS";
|
||||
|
@ -106,6 +112,7 @@ VOID TrkExitHost(struct TNCINFO * TNC);
|
|||
int ConnecttoWinRPR(int port);
|
||||
|
||||
BOOL KillOldTNC(char * Path);
|
||||
int KillTNC(struct TNCINFO * TNC);
|
||||
|
||||
static BOOL RestartTNC(struct TNCINFO * TNC)
|
||||
{
|
||||
|
@ -605,12 +612,19 @@ ok:
|
|||
|
||||
TrkExitHost(TNC);
|
||||
Sleep(50);
|
||||
CloseCOMPort(TNC->hDevice);
|
||||
TNC->hDevice =(HANDLE)0;
|
||||
TNC->ReopenTimer = 250;
|
||||
TNC->HostMode = FALSE;
|
||||
|
||||
return (0);
|
||||
shutdown(TNC->TCPSock, SD_BOTH);
|
||||
Sleep(100);
|
||||
closesocket(TNC->TCPSock);
|
||||
|
||||
if (TNC->WeStartedTNC)
|
||||
{
|
||||
KillTNC(TNC);
|
||||
RestartTNC(TNC);
|
||||
}
|
||||
return 0;
|
||||
|
||||
case 5: // Close
|
||||
|
||||
|
@ -620,7 +634,14 @@ ok:
|
|||
|
||||
Sleep(25);
|
||||
|
||||
CloseCOMPort(TNC->hDevice);
|
||||
shutdown(TNC->TCPSock, SD_BOTH);
|
||||
Sleep(100);
|
||||
closesocket(TNC->TCPSock);
|
||||
if (TNC->WeStartedTNC)
|
||||
KillTNC(TNC);
|
||||
|
||||
|
||||
|
||||
return (0);
|
||||
|
||||
case 6: // Scan Interface
|
||||
|
|
|
@ -0,0 +1,486 @@
|
|||
|
||||
#define _CRT_SECURE_NO_DEPRECATE
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
struct RIGPORTINFO
|
||||
{
|
||||
char IOBASE[80];
|
||||
char PTTIOBASE[80]; // Port for Hardware PTT - may be same as control port.
|
||||
int SPEED;
|
||||
|
||||
HANDLE hDevice; // COM device Handle
|
||||
int ReopenDelay;
|
||||
SOCKET remoteSock; // Socket for use with WINMORCONROL
|
||||
struct sockaddr remoteDest; // Dest for above
|
||||
UCHAR TXBuffer[500]; // Last message sent - saved for Retry
|
||||
int TXLen; // Len of last sent
|
||||
int CONNECTED; // for HAMLIB
|
||||
int CONNECTING;
|
||||
int Alerted;
|
||||
};
|
||||
|
||||
struct RIGPORTINFO PORTS[4];
|
||||
|
||||
char PTTCATPort[4][64] = {"", "", "", ""};
|
||||
HANDLE PTTCATHandles[4] = {0, 0, 0, 0};
|
||||
int RealMux[4] = {0, 0, 0, 0}; // BPQ Virtual or Real
|
||||
|
||||
|
||||
VOID PTTCATThread();
|
||||
VOID ConnecttoHAMLIB(struct RIGPORTINFO * PORT);
|
||||
|
||||
char * strlop(char * buf, char delim)
|
||||
{
|
||||
// Terminate buf at delim, and return rest of string
|
||||
|
||||
char * ptr;
|
||||
|
||||
if (buf == NULL) return NULL; // Protect
|
||||
|
||||
ptr = strchr(buf, delim);
|
||||
|
||||
if (ptr == NULL) return NULL;
|
||||
|
||||
*(ptr)++=0;
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
|
||||
void SendHamLib(struct RIGPORTINFO * PORT, int PTTState)
|
||||
{
|
||||
char cmd[32];
|
||||
int Len = sprintf(cmd, "T %d\n", PTTState);
|
||||
|
||||
Len = send(PORT->remoteSock, cmd, Len, 0);
|
||||
Len = GetLastError();
|
||||
|
||||
}
|
||||
|
||||
int DecodeHAMLIBAddr(struct RIGPORTINFO * PORT, char * ptr)
|
||||
{
|
||||
// Param is IPADDR:PORT. Only Allow numeric addresses
|
||||
|
||||
struct sockaddr_in * destaddr = (SOCKADDR_IN *)&PORT->remoteDest;
|
||||
char * port;
|
||||
|
||||
strcpy(PORT->IOBASE, ptr);
|
||||
|
||||
port = strlop(ptr, ':');
|
||||
|
||||
if (port == NULL)
|
||||
return 0;
|
||||
|
||||
destaddr->sin_family = AF_INET;
|
||||
destaddr->sin_addr.s_addr = inet_addr(ptr);
|
||||
destaddr->sin_port = htons(atoi(port));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void HAMLIBProcessMessage(struct RIGPORTINFO * PORT)
|
||||
{
|
||||
// Called from Background thread. I think we just need to read and discard
|
||||
|
||||
char RXBuffer[512];
|
||||
|
||||
int InputLen = recv(PORT->remoteSock, RXBuffer, 500, 0);
|
||||
|
||||
if (InputLen == 0 || InputLen == SOCKET_ERROR)
|
||||
{
|
||||
if (PORT->remoteSock)
|
||||
closesocket(PORT->remoteSock);
|
||||
|
||||
PORT->remoteSock = 0;
|
||||
|
||||
PORT->CONNECTED = FALSE;
|
||||
PORT->hDevice = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char ** argv)
|
||||
{
|
||||
struct RIGPORTINFO * PORT;
|
||||
int n = 0;
|
||||
WSADATA WsaData; // receives data from WSAStartup
|
||||
|
||||
if (argc < 3)
|
||||
{
|
||||
printf ("Missing paramters - you need COM port and IP Address and rigctl port of BPQ, eg \r\n"
|
||||
" WinRPRHelper com10 192.168.1.64:4532\r\n\r\n"
|
||||
"Press any key to exit\r\n");
|
||||
|
||||
getchar();
|
||||
|
||||
exit (0);
|
||||
}
|
||||
|
||||
WSAStartup(MAKEWORD(2, 0), &WsaData);
|
||||
|
||||
while (argc > 2)
|
||||
{
|
||||
PORT = &PORTS[n];
|
||||
strcpy(PTTCATPort[n], argv[n + n +1]);
|
||||
DecodeHAMLIBAddr(PORT, argv[n + n + 2]);
|
||||
n++;
|
||||
argc -= 2;
|
||||
}
|
||||
|
||||
_beginthread(PTTCATThread, 0, 0);
|
||||
|
||||
for (n = 0; n < 4; n++)
|
||||
{
|
||||
if (PTTCATPort[n][0]) // Serial port RTS to HAMLIB PTT
|
||||
{
|
||||
PORT = &PORTS[n];
|
||||
ConnecttoHAMLIB(PORT);
|
||||
}
|
||||
}
|
||||
|
||||
Sleep(2000);
|
||||
|
||||
printf("WinRPRHelper running - Press ctrl/c to exit\r\n");
|
||||
fflush(stdout);
|
||||
|
||||
while(1)
|
||||
{
|
||||
Sleep(1000);
|
||||
|
||||
for (n = 0; n < 4; n++)
|
||||
{
|
||||
if (PTTCATPort[n][0]) // Serial port RTS to HAMLIB PTT
|
||||
{
|
||||
PORT = &PORTS[n];
|
||||
|
||||
if (PORT->hDevice == 0)
|
||||
{
|
||||
// Try to reopen every 15 secs
|
||||
|
||||
PORT->ReopenDelay++;
|
||||
|
||||
if (PORT->ReopenDelay > 15)
|
||||
{
|
||||
PORT->ReopenDelay = 0;
|
||||
|
||||
ConnecttoHAMLIB(PORT);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
VOID PTTCATThread()
|
||||
{
|
||||
DWORD dwLength = 0;
|
||||
int Length, ret, i;
|
||||
UCHAR * ptr1;
|
||||
UCHAR * ptr2;
|
||||
UCHAR c;
|
||||
UCHAR Block[4][80];
|
||||
UCHAR CurrentState[4] = {0};
|
||||
#define RTS 2
|
||||
#define DTR 4
|
||||
HANDLE Event;
|
||||
HANDLE Handle[4];
|
||||
DWORD EvtMask[4];
|
||||
OVERLAPPED Overlapped[4];
|
||||
char Port[32];
|
||||
int PIndex = 0;
|
||||
int HIndex = 0;
|
||||
int rc;
|
||||
|
||||
while (PIndex < 4 && PTTCATPort[PIndex][0])
|
||||
{
|
||||
RealMux[HIndex] = 0;
|
||||
|
||||
sprintf(Port, "\\\\.\\pipe\\BPQ%s", PTTCATPort[PIndex]);
|
||||
|
||||
Handle[HIndex] = CreateFile(Port, GENERIC_READ | GENERIC_WRITE,
|
||||
0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);
|
||||
|
||||
if (Handle[HIndex] == (HANDLE) -1)
|
||||
{
|
||||
int Err = GetLastError();
|
||||
printf("PTTMUX port BPQ%s Open failed code %d - trying real com port\r\n", PTTCATPort[PIndex], Err);
|
||||
|
||||
// See if real com port
|
||||
|
||||
sprintf(Port, "\\\\.\\\\%s", PTTCATPort[PIndex]);
|
||||
|
||||
Handle[HIndex] = CreateFile(Port, GENERIC_READ | GENERIC_WRITE,
|
||||
0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
|
||||
|
||||
RealMux[HIndex] = 1;
|
||||
|
||||
if (Handle[HIndex] == (HANDLE) -1)
|
||||
{
|
||||
int Err = GetLastError();
|
||||
printf("PTTMUX port %s Open failed code %d\r\n", PTTCATPort[PIndex], Err);
|
||||
}
|
||||
else
|
||||
{
|
||||
rc = SetCommMask(Handle[HIndex], EV_CTS | EV_DSR); // Request notifications
|
||||
HIndex++;
|
||||
printf("PTTMUX port %s Opened\r\n", PTTCATPort[PIndex]);
|
||||
}
|
||||
}
|
||||
else
|
||||
HIndex++;
|
||||
|
||||
PIndex++;
|
||||
|
||||
}
|
||||
|
||||
if (PIndex == 0)
|
||||
return; // No ports
|
||||
|
||||
Event = CreateEvent(NULL, TRUE, FALSE, NULL);
|
||||
|
||||
for (i = 0; i < HIndex; i ++)
|
||||
{
|
||||
memset(&Overlapped[i], 0, sizeof(OVERLAPPED));
|
||||
Overlapped[i].hEvent = Event;
|
||||
|
||||
if (RealMux[i])
|
||||
{
|
||||
// Request Interface change notifications
|
||||
|
||||
rc = WaitCommEvent(Handle[i], &EvtMask[i], &Overlapped[i]);
|
||||
rc = GetLastError();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// Prime a read on each handle
|
||||
|
||||
ReadFile(Handle[i], Block[i], 80, &Length, &Overlapped[i]);
|
||||
}
|
||||
}
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
||||
WaitAgain:
|
||||
|
||||
ret = WaitForSingleObject(Event, 1000);
|
||||
|
||||
if (ret == WAIT_TIMEOUT)
|
||||
goto WaitAgain;
|
||||
|
||||
ResetEvent(Event);
|
||||
|
||||
// See which request(s) have completed
|
||||
|
||||
for (i = 0; i < HIndex; i ++)
|
||||
{
|
||||
ret = GetOverlappedResult(Handle[i], &Overlapped[i], &Length, FALSE);
|
||||
|
||||
if (ret)
|
||||
{
|
||||
if (RealMux[i])
|
||||
{
|
||||
// Request Interface change notifications
|
||||
|
||||
DWORD Mask;
|
||||
|
||||
GetCommModemStatus(Handle[i], &Mask);
|
||||
|
||||
if (Mask & MS_CTS_ON)
|
||||
SendHamLib(&PORTS[i], TRUE);
|
||||
else
|
||||
SendHamLib(&PORTS[i], FALSE);
|
||||
|
||||
memset(&Overlapped[i], 0, sizeof(OVERLAPPED));
|
||||
Overlapped[i].hEvent = Event;
|
||||
WaitCommEvent(Handle[i], &EvtMask[i], &Overlapped[i]);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
ptr1 = Block[i];
|
||||
ptr2 = Block[i];
|
||||
|
||||
while (Length > 0)
|
||||
{
|
||||
c = *(ptr1++);
|
||||
|
||||
Length--;
|
||||
|
||||
if (c == 0xff)
|
||||
{
|
||||
c = *(ptr1++);
|
||||
Length--;
|
||||
|
||||
if (c == 0xff) // ff ff means ff
|
||||
{
|
||||
Length--;
|
||||
}
|
||||
else
|
||||
{
|
||||
// This is connection / RTS/DTR statua from other end
|
||||
// Convert to CAT Command
|
||||
|
||||
if (c == CurrentState[i])
|
||||
continue;
|
||||
|
||||
if (c & RTS)
|
||||
SendHamLib(&PORTS[i], TRUE);
|
||||
else
|
||||
SendHamLib(&PORTS[i], FALSE);
|
||||
|
||||
CurrentState[i] = c;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
memset(&Overlapped[i], 0, sizeof(OVERLAPPED));
|
||||
Overlapped[i].hEvent = Event;
|
||||
|
||||
ReadFile(Handle[i], Block[i], 80, &Length, &Overlapped[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
VOID HAMLIBThread(struct RIGPORTINFO * PORT);
|
||||
|
||||
VOID ConnecttoHAMLIB(struct RIGPORTINFO * PORT)
|
||||
{
|
||||
_beginthread(HAMLIBThread, 0, (void *)PORT);
|
||||
return ;
|
||||
}
|
||||
|
||||
VOID HAMLIBThread(struct RIGPORTINFO * PORT)
|
||||
{
|
||||
// Opens sockets and looks for data
|
||||
|
||||
char Msg[255];
|
||||
int err, i, ret;
|
||||
u_long param=1;
|
||||
BOOL bcopt=TRUE;
|
||||
fd_set readfs;
|
||||
fd_set errorfs;
|
||||
struct timeval timeout;
|
||||
|
||||
if (PORT->remoteSock)
|
||||
{
|
||||
closesocket(PORT->remoteSock);
|
||||
}
|
||||
|
||||
PORT->remoteSock = 0;
|
||||
PORT->remoteSock = socket(AF_INET,SOCK_STREAM,0);
|
||||
|
||||
if (PORT->remoteSock == INVALID_SOCKET)
|
||||
{
|
||||
i=sprintf(Msg, "Socket Failed for HAMLIB socket - error code = %d\r\n", WSAGetLastError());
|
||||
printf(Msg);
|
||||
|
||||
PORT->CONNECTING = FALSE;
|
||||
return;
|
||||
}
|
||||
|
||||
setsockopt(PORT->remoteSock, SOL_SOCKET, SO_REUSEADDR, (const char FAR *)&bcopt, 4);
|
||||
setsockopt(PORT->remoteSock, IPPROTO_TCP, TCP_NODELAY, (const char FAR *)&bcopt, 4);
|
||||
|
||||
if (connect(PORT->remoteSock,(LPSOCKADDR) &PORT->remoteDest,sizeof(PORT->remoteDest)) == 0)
|
||||
{
|
||||
//
|
||||
// Connected successful
|
||||
//
|
||||
|
||||
ioctlsocket(PORT->remoteSock, FIONBIO, ¶m);
|
||||
printf("Connected to HAMLIB socket Addr %s\r\n", PORT->IOBASE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (PORT->Alerted == FALSE)
|
||||
{
|
||||
struct sockaddr_in * destaddr = (SOCKADDR_IN * )&PORT->remoteDest;
|
||||
|
||||
err = WSAGetLastError();
|
||||
|
||||
sprintf(Msg, "Connect Failed for HAMLIB socket - error code = %d Addr %s\r\n", err, PORT->IOBASE);
|
||||
|
||||
printf(Msg);
|
||||
PORT->Alerted = TRUE;
|
||||
}
|
||||
|
||||
closesocket(PORT->remoteSock);
|
||||
|
||||
PORT->remoteSock = 0;
|
||||
PORT->CONNECTING = FALSE;
|
||||
return;
|
||||
}
|
||||
|
||||
PORT->CONNECTED = TRUE;
|
||||
PORT->hDevice = (HANDLE)1; // simplifies check code
|
||||
|
||||
PORT->Alerted = TRUE;
|
||||
|
||||
while (PORT->CONNECTED)
|
||||
{
|
||||
FD_ZERO(&readfs);
|
||||
FD_ZERO(&errorfs);
|
||||
|
||||
FD_SET(PORT->remoteSock,&readfs);
|
||||
FD_SET(PORT->remoteSock,&errorfs);
|
||||
|
||||
timeout.tv_sec = 5;
|
||||
timeout.tv_usec = 0;
|
||||
|
||||
ret = select((int)PORT->remoteSock + 1, &readfs, NULL, &errorfs, &timeout);
|
||||
|
||||
if (ret == SOCKET_ERROR)
|
||||
{
|
||||
printf("HAMLIB Select failed %d r\n", WSAGetLastError());
|
||||
goto Lost;
|
||||
}
|
||||
|
||||
if (ret > 0)
|
||||
{
|
||||
// See what happened
|
||||
|
||||
if (FD_ISSET(PORT->remoteSock, &readfs))
|
||||
{
|
||||
HAMLIBProcessMessage(PORT);
|
||||
}
|
||||
|
||||
if (FD_ISSET(PORT->remoteSock, &errorfs))
|
||||
{
|
||||
Lost:
|
||||
sprintf(Msg, "HAMLIB Connection lost for Addr %s\r\n", PORT->IOBASE);
|
||||
printf(Msg);
|
||||
|
||||
PORT->CONNECTED = FALSE;
|
||||
PORT->Alerted = FALSE;
|
||||
PORT->hDevice = 0; // simplifies check code
|
||||
|
||||
closesocket(PORT->remoteSock);
|
||||
PORT->remoteSock = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
sprintf(Msg, "HAMLIB Thread Terminated Addr %s\r\n", PORT->IOBASE);
|
||||
printf(Msg);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="WinRPRHelper"
|
||||
ProjectGUID="{8FED3782-1A9B-435D-96AC-6A1432995818}"
|
||||
RootNamespace="WinRPRHelper"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="c:\devprogs\bpq32\"
|
||||
IntermediateDirectory="$(SolutionDir))Intermed\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="WS2_32.Lib"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="c:\devprogs\bpq32\"
|
||||
IntermediateDirectory="$(SolutionDir)Intermed\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="WS2_32.Lib"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\WinRPRHelper.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command="$(TargetPath)"
|
||||
WorkingDirectory=""
|
||||
CommandArguments="COM53 127.0.0.1:4532"
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="DESKTOP-TGEL8RC"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor="0"
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command="$(TargetPath)"
|
||||
WorkingDirectory=""
|
||||
CommandArguments="COM53 127.0.0.1:4532"
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="DESKTOP-TGEL8RC"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor="0"
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
|
@ -39,8 +39,6 @@
|
|||
|
||||
#define BPQICON 400
|
||||
|
||||
WSADATA WsaData; // receives data from WSAStartup
|
||||
|
||||
#define WSA_READ WM_USER + 1
|
||||
|
||||
HINSTANCE hInst;
|
||||
|
@ -569,6 +567,7 @@ BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
|
|||
BOOL bcopt=TRUE;
|
||||
char Msg[255];
|
||||
int ret, err;
|
||||
WSADATA WsaData; // receives data from WSAStartup
|
||||
|
||||
|
||||
hInst = hInstance; // Store instance handle in our global variable
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command="$(TargetPath)"
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="DESKTOP-TGEL8RC"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command="$(TargetPath)"
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="DESKTOP-TGEL8RC"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
Binary file not shown.
Loading…
Reference in New Issue