home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-21 | 4.2 KB | 67 lines | [TEXT/CWIE] |
- // ==============================================================================
- // CTCPNetwork.h ©1995 Hiroshi Lockheimer All rights reserved.
- // ==============================================================================
- // Version 1.0
-
- #pragma once
-
- #include <AddressXlation.h>
- #include <MacTCP.h>
-
- #define kBufferSize (4 * 1024)
- #define kCommandTimeoutValue 60
-
- class CNotifier;
- class CTCPNotifier;
-
- #pragma options align = mac68k
-
- typedef short TCPFlags; //CTCPNetwork flags
-
- enum {
- TCPNilFlag = 0, //no flags set
- TCPParseLinesFlag = 1, //parse lines at <CR>
- TCPReceiveLineBreakFlag = 2 //include <CR> in data
- };
-
- typedef short TCPEventKind; //event types for TCPEvent mechanism
-
- enum {
- TCPUndefinedEvt = 1, //not defined
- TCPClosingEvt = 2, //TCPNotifyProc eventCode = TCPClosing
- TCPTerminateEvt = 3, //TCPNotifyProc eventCode = TCPTerminate
- TCPDataArrivalEvt = 4, //TCPNotifyProc eventCode = TCPDataArrival
- TCPNameToAddressEvt = 5, //StrToAddr
- TCPAddressToNameEvt = 6, //AddrToName
- TCPOpenNameToAddressEvt = 7, //OpenConnection(char *)
- TCPOpenConnectionEvt = 8, //OpenConnection(IPAddress)
- TCPListenEvt = 9, //Listen
- TCPAbortConnectionEvt = 10, //TCPAbort
- TCPCloseConnectionEvt = 11, //TCPClose
- TCPSendDataEvt = 12, //TCPSend
- TCPReadDataEvt = 13 //TCPRcv
- };
-
- typedef struct TCPStream {
- StreamPtr stream; //MacTCP stream
- CTCPNotifier *notifier; //notifier object throught entire lifespan of stream
- char buffer[kBufferSize]; //stream's buffer
- } TCPStream;
- typedef TCPStream *TCPStreamPtr;
-
- typedef struct TCPQEl { //TCPEvent mechanism
- struct TCPQEl *qLink;
- short qType;
- TCPEventKind tcpQWhat; //event kind
- long tcpQMessage; //depends on event kind
- CNotifier *tcpQObject; //corresponding notifier object
- } TCPQEl;
- typedef TCPQEl *TCPQElPtr;
-
- typedef struct CTCPiopb { //passing CTCPNotifier into TCPIOCompletionProc
- TCPiopb pb;
- CTCPNotifier *tcpNotifier;
- } CTCPiopb;
-
- typedef unsigned long IPAddress;
- typedef unsigned