mirror of
https://github.com/sheumann/VNCviewGS.git
synced 2024-11-24 00:30:46 +00:00
Move TCP read routines to a separate file.
Also, clean up some of the includes in various files.
This commit is contained in:
parent
ceeaeb7767
commit
aa868d6ff6
@ -24,15 +24,8 @@ segment "VNCview GS";
|
|||||||
#include "vncsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
#include "readtcp.h"
|
||||||
#include "menus.h"
|
|
||||||
#include "clipboard.h"
|
#include "clipboard.h"
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
/* Update the Scrap Manager clipboard with new data sent from server.
|
/* Update the Scrap Manager clipboard with new data sent from server.
|
||||||
*/
|
*/
|
||||||
|
@ -23,15 +23,8 @@ segment "VNCview GS";
|
|||||||
#include "vncsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
#include "readtcp.h"
|
||||||
#include "menus.h"
|
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
|
||||||
#include "copyrect.h"
|
#include "copyrect.h"
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
void DoCopyRect (void) {
|
void DoCopyRect (void) {
|
||||||
/* For use with GetContentOrigin() */
|
/* For use with GetContentOrigin() */
|
||||||
|
@ -23,15 +23,7 @@ segment "VNCview GS";
|
|||||||
#include "vncsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
|
||||||
#include "menus.h"
|
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
#include "desktopsize.h"
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
/* This prototype should be in <window.h> but is bogusly commented out there */
|
/* This prototype should be in <window.h> but is bogusly commented out there */
|
||||||
extern pascal void SetContentOrigin2(Word, Word, Word, GrafPortPtr) inline(0x570E,dispatcher);
|
extern pascal void SetContentOrigin2(Word, Word, Word, GrafPortPtr) inline(0x570E,dispatcher);
|
||||||
|
@ -24,13 +24,7 @@ segment "VNCview GS";
|
|||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
#include "menus.h"
|
#include "readtcp.h"
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
#include "hextile.h"
|
||||||
|
|
||||||
static unsigned int hexXTiles, hexYTiles; /* For in-process hextile processing */
|
static unsigned int hexXTiles, hexYTiles; /* For in-process hextile processing */
|
||||||
|
@ -23,15 +23,7 @@ segment "VNCview GS";
|
|||||||
#include "vncsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
|
||||||
#include "menus.h"
|
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
/* Send a KeyEvent message to the server
|
/* Send a KeyEvent message to the server
|
||||||
*/
|
*/
|
||||||
|
6
make
6
make
@ -5,7 +5,7 @@ set rezfork false
|
|||||||
|
|
||||||
clearmem
|
clearmem
|
||||||
|
|
||||||
for {header} in vncview vncsession vncdisplay colortables menus \
|
for {header} in vncview vncsession vncdisplay colortables readtcp menus \
|
||||||
desktopsize mouse keyboard copyrect raw hextile clipboard
|
desktopsize mouse keyboard copyrect raw hextile clipboard
|
||||||
unset exit
|
unset exit
|
||||||
newer VNCview.GS {header}.h
|
newer VNCview.GS {header}.h
|
||||||
@ -15,7 +15,7 @@ for {header} in vncview vncsession vncdisplay colortables menus \
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for file in vncview vncsession vncdisplay colortables \
|
for file in vncview vncsession vncdisplay colortables readtcp \
|
||||||
desktopsize mouse keyboard copyrect raw hextile clipboard
|
desktopsize mouse keyboard copyrect raw hextile clipboard
|
||||||
unset exit
|
unset exit
|
||||||
newer {file}.a {file}.cc
|
newer {file}.a {file}.cc
|
||||||
@ -45,7 +45,7 @@ if {status} != 0
|
|||||||
end
|
end
|
||||||
|
|
||||||
if {link} == true
|
if {link} == true
|
||||||
link vncview vncsession vncdisplay colortables tables rawdec \
|
link vncview vncsession vncdisplay colortables readtcp tables rawdec \
|
||||||
desktopsize mouse keyboard copyrect raw hextile clipboard \
|
desktopsize mouse keyboard copyrect raw hextile clipboard \
|
||||||
keep=VNCview.GS
|
keep=VNCview.GS
|
||||||
filetype VNCview.GS S16 $DB03
|
filetype VNCview.GS S16 $DB03
|
||||||
|
7
mouse.cc
7
mouse.cc
@ -23,15 +23,10 @@ segment "VNCview GS";
|
|||||||
#include "vncsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
|
#include "readtcp.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
#include "menus.h"
|
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
#include "mouse.h"
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
unsigned char * cursor = NULL; /* Cursor from server */
|
unsigned char * cursor = NULL; /* Cursor from server */
|
||||||
|
|
||||||
|
8
raw.cc
8
raw.cc
@ -24,14 +24,8 @@ segment "VNCview GS";
|
|||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
#include "menus.h"
|
#include "readtcp.h"
|
||||||
#include "clipboard.h"
|
|
||||||
#include "desktopsize.h"
|
|
||||||
#include "mouse.h"
|
|
||||||
#include "keyboard.h"
|
|
||||||
#include "copyrect.h"
|
|
||||||
#include "raw.h"
|
#include "raw.h"
|
||||||
#include "hextile.h"
|
|
||||||
|
|
||||||
/* Data on state of raw rectangle drawing routines */
|
/* Data on state of raw rectangle drawing routines */
|
||||||
static unsigned int lineBytes; /* Number of bytes in a line of GS pixels */
|
static unsigned int lineBytes; /* Number of bytes in a line of GS pixels */
|
||||||
|
132
readtcp.cc
Normal file
132
readtcp.cc
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
#if __ORCAC__
|
||||||
|
#pragma lint -1
|
||||||
|
#pragma noroot
|
||||||
|
segment "VNCview GS";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <tcpip.h>
|
||||||
|
#include <memory.h>
|
||||||
|
#include <event.h>
|
||||||
|
#include <orca.h>
|
||||||
|
|
||||||
|
#include "readtcp.h"
|
||||||
|
#include "vncsession.h"
|
||||||
|
|
||||||
|
#define buffTypePointer 0x0000 /* For TCPIPReadTCP() */
|
||||||
|
#define buffTypeHandle 0x0001
|
||||||
|
#define buffTypeNewHandle 0x0002
|
||||||
|
|
||||||
|
unsigned char *readBufferPtr; /* Ptr to data read by last DoReadTCP call. */
|
||||||
|
void ** readBufferHndl; /* User internally by TCP read routines. */
|
||||||
|
|
||||||
|
static unsigned int tcperr;
|
||||||
|
|
||||||
|
/* Read data, waiting for up to 15 seconds for the data to be ready */
|
||||||
|
BOOLEAN DoWaitingReadTCP(unsigned long dataLength) {
|
||||||
|
unsigned long stopTime;
|
||||||
|
BOOLEAN result = FALSE;
|
||||||
|
|
||||||
|
stopTime = TickCount() + 15 * 60;
|
||||||
|
do {
|
||||||
|
result = DoReadTCP(dataLength);
|
||||||
|
} while (result == FALSE && tcperr == tcperrOK && TickCount() < stopTime);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Fix things when TCPIPReadTCP returns less data than it's supposed to */
|
||||||
|
static BOOLEAN ReadFixup (unsigned long requested, unsigned long returned) {
|
||||||
|
static rrBuff theRRBuff;
|
||||||
|
|
||||||
|
SetHandleSize(requested, readBufferHndl);
|
||||||
|
if (toolerror())
|
||||||
|
return FALSE;
|
||||||
|
HLock(readBufferHndl);
|
||||||
|
|
||||||
|
do {
|
||||||
|
TCPIPPoll();
|
||||||
|
if ((tcperr = TCPIPReadTCP(hostIpid, buffTypeNewHandle, NULL,
|
||||||
|
requested-returned, &theRRBuff)) != tcperrOK)
|
||||||
|
return FALSE;
|
||||||
|
if (toolerror())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (theRRBuff.rrBuffCount == 0) /* To avoid infinite loops */
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
HandToPtr(theRRBuff.rrBuffHandle, (char *)*readBufferHndl + returned,
|
||||||
|
theRRBuff.rrBuffCount);
|
||||||
|
returned += theRRBuff.rrBuffCount;
|
||||||
|
|
||||||
|
DisposeHandle(theRRBuff.rrBuffHandle);
|
||||||
|
} while (returned < requested);
|
||||||
|
|
||||||
|
readBufferPtr = *readBufferHndl;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* DoReadTCP() - Issue TCPIPReadTCP() call w/ appropriate parameters
|
||||||
|
* Return value = did the read succeed?
|
||||||
|
**********************************************************************/
|
||||||
|
BOOLEAN DoReadTCP (unsigned long dataLength) {
|
||||||
|
static srBuff theSRBuff;
|
||||||
|
static rrBuff theRRBuff;
|
||||||
|
|
||||||
|
if (dataLength == 0)
|
||||||
|
return TRUE;
|
||||||
|
DoneWithReadBuffer();
|
||||||
|
TCPIPPoll();
|
||||||
|
|
||||||
|
if ((tcperr = TCPIPStatusTCP(hostIpid, &theSRBuff)) != tcperrOK)
|
||||||
|
return FALSE;
|
||||||
|
if (toolerror())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (theSRBuff.srRcvQueued < dataLength)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if ((tcperr = TCPIPReadTCP(hostIpid, buffTypeNewHandle, NULL,
|
||||||
|
dataLength, &theRRBuff)) != tcperrOK)
|
||||||
|
return FALSE;
|
||||||
|
if (toolerror())
|
||||||
|
return FALSE;
|
||||||
|
if (theRRBuff.rrBuffCount == 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
readBufferHndl = theRRBuff.rrBuffHandle;
|
||||||
|
|
||||||
|
if (theRRBuff.rrBuffCount != dataLength)
|
||||||
|
return ReadFixup(dataLength, theRRBuff.rrBuffCount);
|
||||||
|
|
||||||
|
HLock(readBufferHndl);
|
||||||
|
readBufferPtr = *readBufferHndl;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* DoReadMultipleTCP() - Read the largest available multiple of recLen bytes,
|
||||||
|
* up to a maximum multiple of maxN.
|
||||||
|
* Return value = the multiple n (meaning n * len bytes have been read)
|
||||||
|
**********************************************************************/
|
||||||
|
unsigned DoReadMultipleTCP(unsigned recLen, unsigned maxN) {
|
||||||
|
static srBuff theSRBuff;
|
||||||
|
unsigned long n, totalSize;
|
||||||
|
|
||||||
|
TCPIPPoll();
|
||||||
|
|
||||||
|
if ((tcperr = TCPIPStatusTCP(hostIpid, &theSRBuff)) != tcperrOK)
|
||||||
|
return 0;
|
||||||
|
if (toolerror())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
n = theSRBuff.srRcvQueued / recLen;
|
||||||
|
if (n > maxN)
|
||||||
|
n = maxN;
|
||||||
|
|
||||||
|
if (n && DoReadTCP(recLen * n))
|
||||||
|
return n;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
16
readtcp.h
Normal file
16
readtcp.h
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/* Ptr to data read by last DoReadTCP call. */
|
||||||
|
extern unsigned char *readBufferPtr;
|
||||||
|
|
||||||
|
/* Used internally by TCP read routines.
|
||||||
|
* Shouldn't be accessed directly otherwise. */
|
||||||
|
extern void ** readBufferHndl;
|
||||||
|
|
||||||
|
#define DoneWithReadBuffer() do \
|
||||||
|
if (readBufferHndl) { \
|
||||||
|
DisposeHandle(readBufferHndl); \
|
||||||
|
readBufferHndl = NULL; \
|
||||||
|
} while (0) \
|
||||||
|
|
||||||
|
extern BOOLEAN DoReadTCP (unsigned long);
|
||||||
|
extern BOOLEAN DoWaitingReadTCP(unsigned long);
|
||||||
|
extern unsigned DoReadMultipleTCP(unsigned recLen, unsigned maxN);
|
@ -25,6 +25,7 @@ segment "VNCview GS";
|
|||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
|
#include "readtcp.h"
|
||||||
#include "menus.h"
|
#include "menus.h"
|
||||||
#include "clipboard.h"
|
#include "clipboard.h"
|
||||||
#include "desktopsize.h"
|
#include "desktopsize.h"
|
||||||
|
118
vncsession.cc
118
vncsession.cc
@ -38,6 +38,7 @@ segment "VNCview GS";
|
|||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
#include "menus.h"
|
#include "menus.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
|
#include "readtcp.h"
|
||||||
|
|
||||||
#define linServer 3
|
#define linServer 3
|
||||||
#define linPassword 7
|
#define linPassword 7
|
||||||
@ -54,8 +55,6 @@ segment "VNCview GS";
|
|||||||
GrafPortPtr connectStatusWindowPtr = NULL;
|
GrafPortPtr connectStatusWindowPtr = NULL;
|
||||||
|
|
||||||
unsigned int hostIpid;
|
unsigned int hostIpid;
|
||||||
void ** readBufferHndl; /* User internally by TCP read routines. */
|
|
||||||
unsigned char *readBufferPtr; /* Ptr to data read by last DoReadTCP call. */
|
|
||||||
static BOOLEAN alerted = FALSE;
|
static BOOLEAN alerted = FALSE;
|
||||||
|
|
||||||
static void CloseConnectStatusWindow (void);
|
static void CloseConnectStatusWindow (void);
|
||||||
@ -67,10 +66,6 @@ static BOOLEAN FinishVNCHandshaking (void);
|
|||||||
static void TuneMarinetti (void);
|
static void TuneMarinetti (void);
|
||||||
static void UnTuneMarinetti (void);
|
static void UnTuneMarinetti (void);
|
||||||
|
|
||||||
#define buffTypePointer 0x0000 /* For TCPIPReadTCP() */
|
|
||||||
#define buffTypeHandle 0x0001
|
|
||||||
#define buffTypeNewHandle 0x0002
|
|
||||||
|
|
||||||
#define vncConnectionFailed SwapBytes4(0)
|
#define vncConnectionFailed SwapBytes4(0)
|
||||||
#define vncNoAuthentication SwapBytes4(1)
|
#define vncNoAuthentication SwapBytes4(1)
|
||||||
#define vncVNCAuthentication SwapBytes4(2)
|
#define vncVNCAuthentication SwapBytes4(2)
|
||||||
@ -295,117 +290,6 @@ static BOOLEAN GetIpid (void)
|
|||||||
#undef baseDisplayNum
|
#undef baseDisplayNum
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int tcperr;
|
|
||||||
|
|
||||||
/* Read data, waiting for up to 15 seconds for the data to be ready */
|
|
||||||
BOOLEAN DoWaitingReadTCP(unsigned long dataLength) {
|
|
||||||
unsigned long stopTime;
|
|
||||||
BOOLEAN result = FALSE;
|
|
||||||
|
|
||||||
stopTime = TickCount() + 15 * 60;
|
|
||||||
do {
|
|
||||||
result = DoReadTCP(dataLength);
|
|
||||||
} while (result == FALSE && tcperr == tcperrOK && TickCount() < stopTime);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Fix things when TCPIPReadTCP returns less data than it's supposed to */
|
|
||||||
static BOOLEAN ReadFixup (unsigned long requested, unsigned long returned) {
|
|
||||||
static rrBuff theRRBuff;
|
|
||||||
|
|
||||||
SetHandleSize(requested, readBufferHndl);
|
|
||||||
if (toolerror())
|
|
||||||
return FALSE;
|
|
||||||
HLock(readBufferHndl);
|
|
||||||
|
|
||||||
do {
|
|
||||||
TCPIPPoll();
|
|
||||||
if ((tcperr = TCPIPReadTCP(hostIpid, buffTypeNewHandle, NULL,
|
|
||||||
requested-returned, &theRRBuff)) != tcperrOK)
|
|
||||||
return FALSE;
|
|
||||||
if (toolerror())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (theRRBuff.rrBuffCount == 0) /* To avoid infinite loops */
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
HandToPtr(theRRBuff.rrBuffHandle, (char *)*readBufferHndl + returned,
|
|
||||||
theRRBuff.rrBuffCount);
|
|
||||||
returned += theRRBuff.rrBuffCount;
|
|
||||||
|
|
||||||
DisposeHandle(theRRBuff.rrBuffHandle);
|
|
||||||
} while (returned < requested);
|
|
||||||
|
|
||||||
readBufferPtr = *readBufferHndl;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* DoReadTCP() - Issue TCPIPReadTCP() call w/ appropriate parameters
|
|
||||||
* Return value = did the read succeed?
|
|
||||||
**********************************************************************/
|
|
||||||
BOOLEAN DoReadTCP (unsigned long dataLength) {
|
|
||||||
static srBuff theSRBuff;
|
|
||||||
static rrBuff theRRBuff;
|
|
||||||
|
|
||||||
if (dataLength == 0)
|
|
||||||
return TRUE;
|
|
||||||
DoneWithReadBuffer();
|
|
||||||
TCPIPPoll();
|
|
||||||
|
|
||||||
if ((tcperr = TCPIPStatusTCP(hostIpid, &theSRBuff)) != tcperrOK)
|
|
||||||
return FALSE;
|
|
||||||
if (toolerror())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if (theSRBuff.srRcvQueued < dataLength)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
if ((tcperr = TCPIPReadTCP(hostIpid, buffTypeNewHandle, NULL,
|
|
||||||
dataLength, &theRRBuff)) != tcperrOK)
|
|
||||||
return FALSE;
|
|
||||||
if (toolerror())
|
|
||||||
return FALSE;
|
|
||||||
if (theRRBuff.rrBuffCount == 0)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
readBufferHndl = theRRBuff.rrBuffHandle;
|
|
||||||
|
|
||||||
if (theRRBuff.rrBuffCount != dataLength)
|
|
||||||
return ReadFixup(dataLength, theRRBuff.rrBuffCount);
|
|
||||||
|
|
||||||
HLock(readBufferHndl);
|
|
||||||
readBufferPtr = *readBufferHndl;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************************
|
|
||||||
* DoReadMultipleTCP() - Read the largest available multiple of recLen bytes,
|
|
||||||
* up to a maximum multiple of maxN.
|
|
||||||
* Return value = the multiple n (meaning n * len bytes have been read)
|
|
||||||
**********************************************************************/
|
|
||||||
unsigned DoReadMultipleTCP(unsigned recLen, unsigned maxN) {
|
|
||||||
static srBuff theSRBuff;
|
|
||||||
unsigned long n, totalSize;
|
|
||||||
|
|
||||||
TCPIPPoll();
|
|
||||||
|
|
||||||
if ((tcperr = TCPIPStatusTCP(hostIpid, &theSRBuff)) != tcperrOK)
|
|
||||||
return 0;
|
|
||||||
if (toolerror())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
n = theSRBuff.srRcvQueued / recLen;
|
|
||||||
if (n > maxN)
|
|
||||||
n = maxN;
|
|
||||||
|
|
||||||
if (n && DoReadTCP(recLen * n))
|
|
||||||
return n;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* DoVNCHandshaking() - Establish connection to VNC server
|
* DoVNCHandshaking() - Establish connection to VNC server
|
||||||
|
12
vncsession.h
12
vncsession.h
@ -16,22 +16,10 @@
|
|||||||
|
|
||||||
extern GrafPortPtr connectStatusWindowPtr;
|
extern GrafPortPtr connectStatusWindowPtr;
|
||||||
|
|
||||||
extern void ** readBufferHndl; /* User internally by TCP read routines. */
|
|
||||||
extern unsigned char *readBufferPtr; /* Ptr to data read by last DoReadTCP call. */
|
|
||||||
|
|
||||||
extern unsigned int hostIpid;
|
extern unsigned int hostIpid;
|
||||||
|
|
||||||
extern void DisplayConnectStatus(char *, BOOLEAN);
|
extern void DisplayConnectStatus(char *, BOOLEAN);
|
||||||
|
|
||||||
extern void DoConnect (void);
|
extern void DoConnect (void);
|
||||||
|
|
||||||
#define DoneWithReadBuffer() do \
|
|
||||||
if (readBufferHndl) { \
|
|
||||||
DisposeHandle(readBufferHndl); \
|
|
||||||
readBufferHndl = NULL; \
|
|
||||||
} while (0) \
|
|
||||||
|
|
||||||
extern BOOLEAN DoReadTCP (unsigned long);
|
|
||||||
extern BOOLEAN DoWaitingReadTCP(unsigned long);
|
|
||||||
extern unsigned DoReadMultipleTCP(unsigned recLen, unsigned maxN);
|
|
||||||
extern void CloseTCPConnection (void);
|
extern void CloseTCPConnection (void);
|
||||||
|
@ -29,9 +29,11 @@ segment "VNCview GS";
|
|||||||
#include <LineEdit.h>
|
#include <LineEdit.h>
|
||||||
#include <TCPIP.h>
|
#include <TCPIP.h>
|
||||||
#include <Scrap.h>
|
#include <Scrap.h>
|
||||||
|
|
||||||
#include "vncview.h"
|
#include "vncview.h"
|
||||||
#include "VNCsession.h"
|
#include "vncsession.h"
|
||||||
#include "vncdisplay.h"
|
#include "vncdisplay.h"
|
||||||
|
#include "readtcp.h"
|
||||||
#include "menus.h"
|
#include "menus.h"
|
||||||
#include "colortables.h"
|
#include "colortables.h"
|
||||||
#include "mouse.h"
|
#include "mouse.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user