6.0.23.77

This commit is contained in:
g8bpq 2023-06-29 18:13:31 +01:00
parent 75b5bcc9a9
commit ed81fc5267
20 changed files with 2179 additions and 58 deletions

View File

@ -71,7 +71,6 @@ static RECT Rect;
static char status[8][8] = {"STANDBY", "PHASING", "CHGOVER", "IDLE", "TRAFFIC", "ERROR", "RQ", "XXXX"}; static char status[8][8] = {"STANDBY", "PHASING", "CHGOVER", "IDLE", "TRAFFIC", "ERROR", "RQ", "XXXX"};
struct TNCINFO * CreateTTYInfo(int port, int speed); struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int); BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn); BOOL CloseConnection(struct TNCINFO * conn);
static BOOL WriteCommBlock(struct TNCINFO * TNC); static BOOL WriteCommBlock(struct TNCINFO * TNC);

17
Bpq32.c
View File

@ -1173,6 +1173,7 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
// Detect loss of DED application (76) // Detect loss of DED application (76)
// Fix connects to Application Alias with UZ7HO Driver (76) // Fix connects to Application Alias with UZ7HO Driver (76)
// Fix Interlock of ports on same UZ7HO modem. (76) // Fix Interlock of ports on same UZ7HO modem. (76)
// Add extended Ports command
#define CKernel #define CKernel
@ -2576,6 +2577,22 @@ BOOL APIENTRY DllMain(HANDLE hInst, DWORD ul_reason_being_called, LPVOID lpReser
return 0; return 0;
} }
if (sizeof(struct KISSINFO) > PORTENTRYLEN + 200) // 200 bytes of Hardwaredata
{
// Catastrophic - Refuse to load
MessageBox(NULL,"BPQ32 Too much KISS data - Recompile","BPQ32", MB_OK);
return 0;
}
if (sizeof(struct _EXTPORTDATA) > PORTENTRYLEN + 200) // 200 bytes of Hardwaredata
{
// Catastrophic - Refuse to load
MessageBox(NULL,"BPQ32 Too much _EXTPORTDATA data - Recompile","BPQ32", MB_OK);
return 0;
}
if (sizeof(LINKTABLE) != LINK_TABLE_LEN) if (sizeof(LINKTABLE) != LINK_TABLE_LEN)
{ {
// Catastrophic - Refuse to load // Catastrophic - Refuse to load

166
Cmd.c
View File

@ -37,6 +37,7 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
#include "CHeaders.h" #include "CHeaders.h"
#include "bpqaprs.h" #include "bpqaprs.h"
#include "kiss.h"
#pragma pack() #pragma pack()
@ -1313,19 +1314,182 @@ CMDS60:
SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER)); SendCommandReply(Session, REPLYBUFFER, (int)(Bufferptr - (char *)REPLYBUFFER));
} }
extern int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific MPSK or UZ7HO host
VOID CMDP00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD) VOID CMDP00(TRANSPORTENTRY * Session, char * Bufferptr, char * CmdTail, CMDX * CMD)
{ {
// Process PORTS Message // Process PORTS Message
// If extended show state of TNC (Open, Active, etc)
struct PORTCONTROL * PORT = PORTTABLE; struct PORTCONTROL * PORT = PORTTABLE;
char Extended = CmdTail[0];
struct PORTCONTROL * SAVEPORT;
Bufferptr = Cmdprintf(Session, Bufferptr, "Ports\r"); Bufferptr = Cmdprintf(Session, Bufferptr, "Ports\r");
while (PORT) while (PORT)
{ {
if (PORT->Hide == 0) char Status[32] = "???????";
int Portno = PORT->PORTNUMBER;
if (PORT->Hide)
{
PORT = PORT->PORTPOINTER;
continue;
}
if (Extended != 'E')
{
Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %s\r", PORT->PORTNUMBER, PORT->PORTDESCRIPTION); Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %s\r", PORT->PORTNUMBER, PORT->PORTDESCRIPTION);
PORT = PORT->PORTPOINTER;
continue;
}
// Try to get port status - may not be possible with some
if (PORT->PortStopped)
{
strcpy(Status, "Stopped");
Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %-7s %s\r", PORT->PORTNUMBER, Status, PORT->PORTDESCRIPTION);
PORT = PORT->PORTPOINTER;
continue;
}
if (PORT->PORTTYPE == 0)
{
struct KISSINFO * KISS = (struct KISSINFO *)PORT;
NPASYINFO Port;
SAVEPORT = PORT;
if (KISS->FIRSTPORT && KISS->FIRSTPORT != KISS)
{
// Not first port on device
PORT = (struct PORTCONTROL *)KISS->FIRSTPORT;
Port = KISSInfo[Portno];
}
Port = KISSInfo[PORT->PORTNUMBER];
if (Port)
{
// KISS like - see if connected
if (PORT->PORTIPADDR.s_addr || PORT->KISSSLAVE)
{
// KISS over UDP or TCP
if (PORT->KISSTCP)
{
if (Port->Connected)
strcpy(Status, "Open ");
else
if (PORT->KISSSLAVE)
strcpy(Status, "Listen");
else
strcpy(Status, "Closed");
}
else
strcpy(Status, "UDP");
}
else
if (Port->idComDev) // Serial port Open
strcpy(Status, "Open ");
else
strcpy(Status, "Closed");
PORT = SAVEPORT;
}
}
else if (PORT->PORTTYPE == 14) // Loopback
strcpy(Status, "Open ");
else if (PORT->PORTTYPE == 16) // External
{
if (PORT->PROTOCOL == 10) // 'HF' Port
{
struct TNCINFO * TNC = TNCInfo[Portno];
if (TNC == NULL)
{
PORT = PORT->PORTPOINTER;
continue;
}
switch (TNC->Hardware) // Hardware Type
{
case H_SCS:
case H_KAM:
case H_AEA:
case H_HAL:
case H_TRK:
case H_SERIAL:
// Serial
if (TNC->hDevice)
strcpy(Status, "Open ");
else
strcpy(Status, "Closed");
break;
case H_UZ7HO:
if (TNCInfo[MasterPort[Portno]]->CONNECTED)
strcpy(Status, "Open ");
else
strcpy(Status, "Closed");
break;
case H_WINMOR:
case H_V4:
case H_MPSK:
case H_FLDIGI:
case H_UIARQ:
case H_ARDOP:
case H_VARA:
case H_KISSHF:
case H_WINRPR:
case H_FREEDATA:
// TCP
if (TNC->CONNECTED)
{
if (TNC->Streams[0].Attached)
strcpy(Status, "In Use");
else
strcpy(Status, "Open ");
}
else
strcpy(Status, "Closed");
break;
case H_TELNET:
strcpy(Status, "Open ");
}
}
else
{
// External but not HF - AXIP, BPQETHER VKISS, ??
struct _EXTPORTDATA * EXTPORT = (struct _EXTPORTDATA *)PORT;
strcpy(Status, "Open ");
}
}
Bufferptr = Cmdprintf(Session, Bufferptr, " %2d %-7s %s\r", PORT->PORTNUMBER, Status, PORT->PORTDESCRIPTION);
PORT = PORT->PORTPOINTER; PORT = PORT->PORTPOINTER;
} }

View File

@ -64,7 +64,6 @@ static char status[23][50] = {"IDLE", "TFC", "RQ", "ERR", "PHS", "OVER", "FSK TX
"FREE SIGNAL TX (AMTOR)", "FREE SIGNAL TX TIMED OUT (AMTOR)"}; "FREE SIGNAL TX (AMTOR)", "FREE SIGNAL TX TIMED OUT (AMTOR)"};
struct TNCINFO * CreateTTYInfo(int port, int speed); struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int); BOOL SetupConnection(int);
static BOOL WriteCommBlock(struct TNCINFO * TNC); static BOOL WriteCommBlock(struct TNCINFO * TNC);
static void CheckRX(struct TNCINFO * TNC); static void CheckRX(struct TNCINFO * TNC);

View File

@ -252,9 +252,6 @@ ConfigLine:
static int MaxStreams = 26; static int MaxStreams = 26;
struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn); BOOL CloseConnection(struct TNCINFO * conn);
static BOOL WriteCommBlock(struct TNCINFO * TNC); static BOOL WriteCommBlock(struct TNCINFO * TNC);
BOOL DestroyTTYInfo(int port); BOOL DestroyTTYInfo(int port);

View File

@ -552,7 +552,6 @@ extern int POP3Timer;
#include <stdio.h> #include <stdio.h>
#include <sys/select.h> #include <sys/select.h>
#include <termios.h> #include <termios.h>
#include <stropts.h>
int _kbhit() { int _kbhit() {
static const int STDIN = 0; static const int STDIN = 0;

1975
LinBPQ.c~ Normal file

File diff suppressed because it is too large Load Diff

View File

@ -84,7 +84,7 @@ extern UCHAR BPQDirectory[];
static int MPSKChannel[MAXBPQPORTS+1]; // BPQ Port to MPSK Port static int MPSKChannel[MAXBPQPORTS+1]; // BPQ Port to MPSK Port
static int BPQPort[MAXMPSKPORTS][MAXBPQPORTS+1]; // MPSK Port and Connection to BPQ Port static int BPQPort[MAXMPSKPORTS][MAXBPQPORTS+1]; // MPSK Port and Connection to BPQ Port
static int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific MPSK host extern int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific MPSK host
// Each port may be on a different machine. We only open one connection to each MPSK instance // Each port may be on a different machine. We only open one connection to each MPSK instance

View File

@ -70,8 +70,6 @@ VOID __cdecl Debugprintf(const char * format, ...);
struct RIGINFO * RigConfig(struct TNCINFO * TNC, char * buf, int Port); struct RIGINFO * RigConfig(struct TNCINFO * TNC, char * buf, int Port);
struct RIGPORTINFO * CreateTTYInfo(int port, int speed); struct RIGPORTINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL RigCloseConnection(struct RIGPORTINFO * PORT); BOOL RigCloseConnection(struct RIGPORTINFO * PORT);
BOOL RigWriteCommBlock(struct RIGPORTINFO * PORT); BOOL RigWriteCommBlock(struct RIGPORTINFO * PORT);
BOOL DestroyTTYInfo(int port); BOOL DestroyTTYInfo(int port);

View File

@ -355,8 +355,7 @@ ConfigLine:
} }
struct TNCINFO * CreateTTYInfo(int port, int speed); struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn); BOOL CloseConnection(struct TNCINFO * conn);
BOOL WriteCommBlock(struct TNCINFO * TNC); BOOL WriteCommBlock(struct TNCINFO * TNC);
BOOL DestroyTTYInfo(int port); BOOL DestroyTTYInfo(int port);

View File

@ -140,9 +140,7 @@ ConfigLine:
} }
struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn); BOOL CloseConnection(struct TNCINFO * conn);
static BOOL WriteCommBlock(struct TNCINFO * TNC); static BOOL WriteCommBlock(struct TNCINFO * TNC);
BOOL DestroyTTYInfo(int port); BOOL DestroyTTYInfo(int port);

View File

@ -56,9 +56,6 @@ char * strlop(char * buf, char delim);
char NodeCall[11]; // Nodecall, Null Terminated char NodeCall[11]; // Nodecall, Null Terminated
struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn); BOOL CloseConnection(struct TNCINFO * conn);
BOOL TrkWriteCommBlock(struct TNCINFO * TNC); BOOL TrkWriteCommBlock(struct TNCINFO * TNC);
BOOL DestroyTTYInfo(int port); BOOL DestroyTTYInfo(int port);

View File

@ -37,7 +37,6 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
#define IDM_DISCONNECT 2000 #define IDM_DISCONNECT 2000
#define IDM_LOGGING 2100 #define IDM_LOGGING 2100
#define MAXBLOCK 4096
#include "CHeaders.h" #include "CHeaders.h"
#include "tncinfo.h" #include "tncinfo.h"

View File

@ -96,7 +96,7 @@ static int BPQPort[MAXUZ7HOPORTS][MAXBPQPORTS+1]; // UZ7HO Port and Connection t
static void * UZ7HOtoBPQ_Q[MAXBPQPORTS+1]; // Frames for BPQ, indexed by BPQ Port static void * UZ7HOtoBPQ_Q[MAXBPQPORTS+1]; // Frames for BPQ, indexed by BPQ Port
static void * BPQtoUZ7HO_Q[MAXBPQPORTS+1]; // Frames for UZ7HO. indexed by UZ7HO port. Only used it TCP session is blocked static void * BPQtoUZ7HO_Q[MAXBPQPORTS+1]; // Frames for UZ7HO. indexed by UZ7HO port. Only used it TCP session is blocked
static int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific UZ7HO host int MasterPort[MAXBPQPORTS+1]; // Pointer to first BPQ port for a specific UZ7HO host
static struct TNCINFO * SlaveTNC[MAXBPQPORTS+1];// TNC Record Slave if present static struct TNCINFO * SlaveTNC[MAXBPQPORTS+1];// TNC Record Slave if present
// Each port may be on a different machine. We only open one connection to each UZ7HO instance // Each port may be on a different machine. We only open one connection to each UZ7HO instance

View File

@ -10,8 +10,8 @@
#endif #endif
#define KVers 6,0,23,76 #define KVers 6,0,23,77
#define KVerstring "6.0.23.76\0" #define KVerstring "6.0.23.77\0"
#ifdef CKernel #ifdef CKernel

View File

@ -67,12 +67,7 @@ char * strlop(char * buf, char delim);
char NodeCall[11]; // Nodecall, Null Terminated char NodeCall[11]; // Nodecall, Null Terminated
struct TNCINFO * CreateTTYInfo(int port, int speed);
BOOL OpenConnection(int);
BOOL SetupConnection(int);
BOOL CloseConnection(struct TNCINFO * conn);
static BOOL WriteCommBlock(struct TNCINFO * TNC); static BOOL WriteCommBlock(struct TNCINFO * TNC);
BOOL DestroyTTYInfo(int port);
static void DEDCheckRX(struct TNCINFO * TNC); static void DEDCheckRX(struct TNCINFO * TNC);
VOID DEDPoll(int Port); VOID DEDPoll(int Port);
VOID StuffAndSend(struct TNCINFO * TNC, UCHAR * Msg, int Len); VOID StuffAndSend(struct TNCINFO * TNC, UCHAR * Msg, int Len);

View File

@ -1071,10 +1071,10 @@ BOOL Start()
KISS->KISSCMD = malloc(256); KISS->KISSCMD = malloc(256);
KISS->KISSCMDLEN = KissEncode(KissString, KISS->KISSCMD, KissLen); KISS->KISSCMDLEN = KissEncode(KissString, KISS->KISSCMD, KissLen);
realloc(KISS->KISSCMD, KISS->KISSCMDLEN); KISS->KISSCMD = realloc(KISS->KISSCMD, KISS->KISSCMDLEN);
} }
if (PortRec->BBSFLAG) // Appl 1 no permitted - BBSFLAG=NOBBS if (PortRec->BBSFLAG) // Appl 1 not permitted - BBSFLAG=NOBBS
PORT->PERMITTEDAPPLS &= 0xfffffffe; // Clear bottom bit PORT->PERMITTEDAPPLS &= 0xfffffffe; // Clear bottom bit

33
kiss.c
View File

@ -34,17 +34,13 @@ along with LinBPQ/BPQ32. If not, see http://www.gnu.org/licenses
#include <time.h> #include <time.h>
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#ifndef RP2040
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <termios.h> #include <termios.h>
#include <syslog.h> #include <syslog.h>
#endif
#include <fcntl.h> #include <fcntl.h>
#include <signal.h> #include <signal.h>
#include <ctype.h> #include <ctype.h>
//#include <netax25/ttyutils.h> //#include <netax25/ttyutils.h>
//#include <netax25/daemon.h> //#include <netax25/daemon.h>
@ -131,6 +127,9 @@ int lastcount;
UCHAR ENCBUFF[600]; UCHAR ENCBUFF[600];
NPASYINFO KISSInfo[MAXBPQPORTS] = {0};
int ASYSEND(struct PORTCONTROL * PortVector, char * buffer, int count) int ASYSEND(struct PORTCONTROL * PortVector, char * buffer, int count)
{ {
NPASYINFO Port = KISSInfo[PortVector->PORTNUMBER]; NPASYINFO Port = KISSInfo[PortVector->PORTNUMBER];
@ -160,7 +159,7 @@ int ASYSEND(struct PORTCONTROL * PortVector, char * buffer, int count)
if (ret == -1) if (ret == -1)
{ {
Debugprintf ("i2c Write Error\r"); Debugprintf ("i2c Write Error\r");
Sleep(1); usleep(1000);
ret = i2c_smbus_write_byte(Port->idComDev, *(ptr)); ret = i2c_smbus_write_byte(Port->idComDev, *(ptr));
} }
ptr++; ptr++;
@ -309,15 +308,11 @@ int ASYINIT(int comport, int speed, struct PORTCONTROL * PortVector, char Channe
} }
else if (PortVector->PORTIPADDR.s_addr || PortVector->KISSSLAVE) else if (PortVector->PORTIPADDR.s_addr || PortVector->KISSSLAVE)
{ {
#ifndef RP2040
SOCKET sock; SOCKET sock;
u_long param=1; u_long param=1;
BOOL bcopt=TRUE; BOOL bcopt=TRUE;
struct sockaddr_in sinx; struct sockaddr_in sinx;
// KISS over UDP or TCP // KISS over UDP or TCP
if (PortVector->ListenPort == 0) if (PortVector->ListenPort == 0)
@ -431,7 +426,6 @@ int ASYINIT(int comport, int speed, struct PORTCONTROL * PortVector, char Channe
npKISSINFO->RXMPTR=&npKISSINFO->RXMSG[0]; npKISSINFO->RXMPTR=&npKISSINFO->RXMSG[0];
OpenConnection(PortVector); OpenConnection(PortVector);
#endif
} }
npKISSINFO->Portvector = PortVector; npKISSINFO->Portvector = PortVector;
@ -621,7 +615,7 @@ static void CheckReceivedData(struct PORTCONTROL * PORT, NPASYINFO npKISSINFO)
struct sockaddr_in rxaddr; struct sockaddr_in rxaddr;
int addrlen = sizeof(struct sockaddr_in); int addrlen = sizeof(struct sockaddr_in);
nLength = recvfrom(npKISSINFO->sock, &npKISSINFO->RXBUFFER[0], MAXBLOCK - 1, 0, (struct sockaddr *)&rxaddr, &addrlen); nLength = recvfrom(npKISSINFO->sock, &npKISSINFO->RXBUFFER[0], KISSMAXBLOCK - 1, 0, (struct sockaddr *)&rxaddr, &addrlen);
if (nLength < 0) if (nLength < 0)
{ {
@ -633,7 +627,7 @@ static void CheckReceivedData(struct PORTCONTROL * PORT, NPASYINFO npKISSINFO)
} }
} }
else else
nLength = ReadCommBlock(npKISSINFO, (char *) &npKISSINFO->RXBUFFER, MAXBLOCK - 1);; nLength = ReadCommBlock(npKISSINFO, (char *) &npKISSINFO->RXBUFFER, KISSMAXBLOCK - 1);;
npKISSINFO->RXBCOUNT = nLength; npKISSINFO->RXBCOUNT = nLength;
npKISSINFO->RXBPTR = (UCHAR *)&npKISSINFO->RXBUFFER; npKISSINFO->RXBPTR = (UCHAR *)&npKISSINFO->RXBUFFER;
@ -1359,7 +1353,7 @@ int KISSRX(struct KISSINFO * KISS)
PMESSAGE Buffer; PMESSAGE Buffer;
int len; int len;
NPASYINFO Port = KISSInfo[PORT->PORTNUMBER]; NPASYINFO Port = KISSInfo[PORT->PORTNUMBER];
struct KISSINFO * SAVEKISS = KISS; // Save so we can restore at SeeifMode struct KISSINFO * SAVEKISS = KISS; // Save so we can restore at SeeifMore
if (Port == NULL) if (Port == NULL)
return 0; return 0;
@ -1596,13 +1590,13 @@ SeeifMore:
} }
// checksum if necessary // checksum if necessary
#ifndef RP2040
if (KISS->PORT.KISSFLAGS & DRATS) if (KISS->PORT.KISSFLAGS & DRATS)
{ {
processDRATSFrame(&Port->RXMSG[1], len - 2, 0); processDRATSFrame(&Port->RXMSG[1], len - 2, 0);
return 0; return 0;
} }
#endif
if (len < 15) if (len < 15)
return 0; // too short for AX25 return 0; // too short for AX25
@ -1829,7 +1823,6 @@ int ConnecttoTCP(NPASYINFO ASY)
VOID ConnecttoTCPThread(NPASYINFO ASY) VOID ConnecttoTCPThread(NPASYINFO ASY)
{ {
#ifndef RP2040
char Msg[255]; char Msg[255];
int err,i; int err,i;
u_long param=1; u_long param=1;
@ -1926,13 +1919,10 @@ VOID ConnecttoTCPThread(NPASYINFO ASY)
} }
Sleep (57000/2); // 1/2 Mins Sleep (57000/2); // 1/2 Mins
} }
#endif
} }
int KISSGetTCPMessage(NPASYINFO ASY) int KISSGetTCPMessage(NPASYINFO ASY)
{ {
#ifndef RP2040
int index=0; int index=0;
ULONG param = 1; ULONG param = 1;
@ -1973,7 +1963,7 @@ int KISSGetTCPMessage(NPASYINFO ASY)
// May have several messages per packet, or message split over packets // May have several messages per packet, or message split over packets
InputLen = recv(ASY->sock, ASY->RXBUFFER, MAXBLOCK - 1, 0); InputLen = recv(ASY->sock, ASY->RXBUFFER, KISSMAXBLOCK - 1, 0);
if (InputLen < 0) if (InputLen < 0)
{ {
@ -2008,8 +1998,6 @@ int KISSGetTCPMessage(NPASYINFO ASY)
{ {
// Reopen Listening Socket // Reopen Listening Socket
SOCKET sock; SOCKET sock;
u_long param=1; u_long param=1;
BOOL bcopt=TRUE; BOOL bcopt=TRUE;
@ -2042,6 +2030,5 @@ int KISSGetTCPMessage(NPASYINFO ASY)
ASY->Listening = TRUE; ASY->Listening = TRUE;
} }
} }
#endif
return 0; return 0;
} }

9
kiss.h
View File

@ -1,6 +1,6 @@
#define MAXBLOCK 512 #define KISSMAXBLOCK 512
// KISS over TCP Slave now allows multiple connections // KISS over TCP Slave now allows multiple connections
// so need a struct to keep track of them // so need a struct to keep track of them
@ -9,7 +9,7 @@ typedef struct _KISSTCPSess
{ {
struct _KISSTCPSesssion * Next; struct _KISSTCPSesssion * Next;
SOCKET Socket; SOCKET Socket;
UCHAR RXBuffer[MAXBLOCK]; UCHAR RXBuffer[KISSMAXBLOCK];
int RXLen; int RXLen;
time_t Timeout; time_t Timeout;
@ -30,7 +30,7 @@ typedef struct tagASYINFO
struct sockaddr_in destaddr; struct sockaddr_in destaddr;
struct PORTCONTROL * Portvector; struct PORTCONTROL * Portvector;
UCHAR RXMSG[512]; // Msg being built UCHAR RXMSG[512]; // Msg being built
UCHAR RXBUFFER[MAXBLOCK]; // Raw chars from Comms UCHAR RXBUFFER[KISSMAXBLOCK]; // Raw chars from Comms
int RXBCOUNT; // chars in RXBUFFER int RXBCOUNT; // chars in RXBUFFER
UCHAR * RXBPTR; // get pointer for RXBUFFER (put ptr is RXBCOUNT) UCHAR * RXBPTR; // get pointer for RXBUFFER (put ptr is RXBCOUNT)
UCHAR * RXMPTR; // put pointer for RXMSG UCHAR * RXMPTR; // put pointer for RXMSG
@ -45,8 +45,7 @@ typedef struct tagASYINFO
} ASYINFO, *NPASYINFO ; } ASYINFO, *NPASYINFO ;
NPASYINFO KISSInfo[MAXBPQPORTS] = {0}; extern NPASYINFO KISSInfo[MAXBPQPORTS];
#define _fmemset memset #define _fmemset memset
#define _fmemmove memmove #define _fmemmove memmove

View File

@ -7,7 +7,6 @@
#define IDI_ICON2 2 #define IDI_ICON2 2
#define MAXBLOCK 4096
struct TimeScan struct TimeScan
{ {