mirror of
https://github.com/ksherlock/iigs.git
synced 2025-01-06 19:29:36 +00:00
719 lines
26 KiB
OpenEdge ABL
719 lines
26 KiB
OpenEdge ABL
unit TCPIP;
|
|
interface
|
|
|
|
{********************************************************
|
|
*
|
|
* Marinetti TCP/IP interfaces for ORCA/Pascal
|
|
*
|
|
* Other USES Files Needed: Common
|
|
*
|
|
* By Mike Westerfield, Byte Works, Inc.
|
|
* This file is released to the public domain.
|
|
*
|
|
*********************************************************
|
|
* 1998-12-01 MW Original release
|
|
* 2003-05-31 AJR Update to v2.1 of TCP/IP interfaces
|
|
* 2005-04-28 AJR Fix bugs found by Kelvin Sherlock [1179614]
|
|
* 2007-06-07 AJR Fix TCPIPGetAuthMessage consistency [1700983]
|
|
* 2007-06-09 AJR Fix definition of variablesRecord [1696861]
|
|
* 2008-01-06 AJR Fix bugs found by Ryan Suenaga [1829894]
|
|
* 2008-01-14 AJR Add TCPIP[Get/Set]DNRTimeouts [1871032]
|
|
* 2015-06-14 KWS port to MPW PascalIIgs
|
|
*********************************************************}
|
|
|
|
uses
|
|
TYPES;
|
|
|
|
const
|
|
{Various numeric equates}
|
|
{-----------------------}
|
|
conEthernet = 1; {Connect methods}
|
|
conMacIP = 2;
|
|
conPPPCustom = 3;
|
|
conSLIP = 4;
|
|
conTest = 5;
|
|
conPPP = 6;
|
|
conDirectConnect = 7;
|
|
conAppleEthernet = 8;
|
|
|
|
protocolAll = 0; {Protocols}
|
|
protocolICMP = 1;
|
|
protocolTCP = 6;
|
|
protocolUDP = 17;
|
|
|
|
terrOK = 0; {Tool Error codes}
|
|
terrBADIPID = $3601; {Bad IPID for this request}
|
|
terrNOCONNECTION = $3602; {Not connected to the network}
|
|
terrNORECONDATA = $3603; {No reconnect data}
|
|
terrLINKERROR = $3604; {Problem with the link layer}
|
|
terrSCRIPTFAILED = $3605; {The script failed / timed out}
|
|
terrCONNECTED = $3606; {Not while connected to the network}
|
|
terrSOCKETOPEN = $3607; {Socket still open}
|
|
terrINITNOTFOUND = $3608; {Init not found in memory}
|
|
terrVERSIONMISMATCH = $3609; {Different versions of tool, init, cdev}
|
|
terrBADTUNETABLELEN = $360A; {Bad tune table length}
|
|
terrIPIDTABLEFULL = $360B; {IPID table full}
|
|
terrNOICMPQUEUED = $360C; {No ICMP datagrams in the queue}
|
|
terrLOGINSPENDING = $360D; {There are still IPIDs logged in}
|
|
terrTCPIPNOTACTIVE = $360E; {Not active. Probably in P8 mode.}
|
|
terrNODNSERVERS = $360F; {No servers registered with Marinetti}
|
|
terrDNRBUSY = $3610; {DNR is current busy. Try again later}
|
|
terrNOLINKLAYER = $3611; {Unable to load link layer module}
|
|
terrBADLINKLAYER = $3612; {Not a link layer module}
|
|
terrENJOYCOKE = $3613; {But not so close to the keyboard}
|
|
terrNORECONSUPPRT = $3614; {This module doesn't support reconnect}
|
|
terrUSERABORTED = $3615; {The user aborted the connect/disconnect script}
|
|
terrBADUSERPASS = $3616; {Invalid username and/or password}
|
|
terrBADPARAMETER = $3617; {Invalid parameter for this call}
|
|
terrBADENVIRONMENT = $3618; {No desktop or tools not started}
|
|
terrNOINCOMING = $3619; {There is no pending incoming request}
|
|
terrLINKBUSY = $361A; {Modem or interface is busy}
|
|
terrNOLINKINTERFACE = $361B; {No dial tone or similar}
|
|
terrNOLINKRESPONSE = $361C; {No modem answer or similar}
|
|
terrNODNRPENDING = $361D; {No such entry in DNR list}
|
|
terrBADALIVEMINUTES = $361E; {Minutes value is invalid}
|
|
terrBUFFERTOOSMALL = $361F; {Buffer is too small}
|
|
terrNOTSERVER = $3620; {This ipid is not set up as a server}
|
|
terrBADTRIGGERNUM = $3621; {Invalid trigger number}
|
|
|
|
terrmask = $00FF;
|
|
|
|
{DNR status codes}
|
|
DNR_Pending = 0; {Request still being processed}
|
|
DNR_OK = 1; {Request completed successfully}
|
|
DNR_Failed = 2; {Network error/timeout}
|
|
DNR_NoDNSEntry = 3; {Requested domain has no DNS entry}
|
|
DNR_Cancelled = 4; {Cancelled by user}
|
|
|
|
|
|
{TCP logic errors}
|
|
tcperrOK = 0; {"tcperr" error codes from TCP RFC}
|
|
tcperrDeafDestPort = 1;
|
|
tcperrHostReset = 2;
|
|
tcperrConExists = 3; {"connection already exists"}
|
|
tcperrConIllegal = 4; {"connection illegal for this process"}
|
|
tcperrNoResources = 5; {"insuficient resources"}
|
|
tcperrNoSocket = 6; {"foreign socket unspecified"}
|
|
tcperrBadPrec = 7; {"precedence not allowed"}
|
|
tcperrBadSec = 8; {"security/compartment not allowed"}
|
|
tcperrBadConnection = 9; {"connection does not exist"}
|
|
tcperrConClosing = 10; {"connection closing"}
|
|
tcperrClosing = 11; {"closing"}
|
|
tcperrConReset = 12; {"connection reset"}
|
|
tcperrUserTimeout = 13; {"connection aborted due to user timeout"}
|
|
tcperrConRefused = 14; {"connection refused"}
|
|
|
|
TCPSCLOSED = 0; {TCP states}
|
|
TCPSLISTEN = 1;
|
|
TCPSSYNSENT = 2;
|
|
TCPSSYNRCVD = 3;
|
|
TCPSESTABLISHED = 4;
|
|
TCPSFINWAIT1 = 5;
|
|
TCPSFINWAIT2 = 6;
|
|
TCPSCLOSEWAIT = 7;
|
|
TCPSLASTACK = 8;
|
|
TCPSCLOSING = 9;
|
|
TCPSTIMEWAIT = 10;
|
|
nTCPSTATES = 11;
|
|
|
|
TCPIPSaysHello = $8101;
|
|
TCPIPSaysNetworkUp = $8102;
|
|
TCPIPSaysNetworkDown = $8103;
|
|
|
|
{-------------------------------------}
|
|
{Miscellaneous datagram header equates}
|
|
{ICMP types - TCP_TYPE - Comer/Steven, vol II, p128}
|
|
ICT_ECHORP = 0;
|
|
ICT_DESTUR = 3;
|
|
ICT_SRCQ = 4;
|
|
ICT_REDIRECT = 5;
|
|
ICT_ECHORQ = 8;
|
|
ICT_TIMEX = 11;
|
|
ICT_PARAMP = 12;
|
|
ICT_TIMERQ = 13;
|
|
ICT_TIMERP = 14;
|
|
ICT_INFORQ = 15;
|
|
ICT_INFORP = 16;
|
|
ICT_MASKRQ = 17;
|
|
ICT_MASKRP = 18;
|
|
ictmax = 19;
|
|
|
|
ICC_NETUR = 0; {p128, Internetworking with TCP/IP Vol 2.}
|
|
ICC_HOSTUR = 1; { Design Implementation, and Internals}
|
|
ICC_PROTOUR = 2; { Douglas E. Comer / David L. Stevens}
|
|
ICC_PORTUR = 3;
|
|
ICC_FNADF = 4;
|
|
ICC_SRCRT = 5;
|
|
ICC_NETRD = 0;
|
|
ICC_HOSTRD = 1;
|
|
IC_TOSNRD = 2;
|
|
IC_TOSHRD = 3;
|
|
ICC_TIMEX = 0;
|
|
ICC_FTIMEX = 1;
|
|
IC_HLEN = 8;
|
|
IC_PADLEN = 3;
|
|
IC_RDTTL = 300;
|
|
|
|
{UDP standard port numbers}
|
|
UP_ECHO = 7; {echo server}
|
|
UP_DISCARD = 9; {discard packet}
|
|
UP_USERS = 11; {users server}
|
|
UP_DAYTIME = 13; {day and time server}
|
|
UP_QOTD = 17; {quote of the day server}
|
|
UP_CHARGEN = 19; {character generator}
|
|
UP_TIME = 37; {time server}
|
|
UP_WHOIS = 43; {who is server (user information)}
|
|
UP_DNAME = 53; {domain name server}
|
|
UP_TFTP = 69; {trivial file transfer protocol server}
|
|
UP_RWHO = 513; {remote who server (ruptime)}
|
|
UP_RIP = 520; {route information exchange (RIP)}
|
|
|
|
ip_verlen = 0; {IP header}
|
|
ip_tos = 1;
|
|
ip_len = 2;
|
|
ip_id = 4;
|
|
ip_fragoff = 6;
|
|
ip_ttl = 8;
|
|
ip_proto = 9; {protocol*}
|
|
ip_cksum = 10;
|
|
ip_src = 12;
|
|
ip_dst = 16;
|
|
ip_data = 20;
|
|
|
|
{ICMP header}
|
|
ic_type = 0; {ICT_*}
|
|
ic_code = 1; {ICC_*}
|
|
ic_cksum = 2;
|
|
ic_data = 4;
|
|
ic_echo_id = 4; {Echo Offsets}
|
|
ic_echo_seq = 6;
|
|
|
|
{UDP header}
|
|
u_source = 0; {source UDP port number - UP_*}
|
|
u_dst = 2; {destination UDP port number}
|
|
u_len = 4; {length of UDP data}
|
|
u_cksum = 6; {UDP checksum (0 = none)}
|
|
u_data = 8;
|
|
|
|
{TCP header}
|
|
tcp_sport = 0; {source port - TCP_*}
|
|
tcp_dport = 2; {destination port}
|
|
tcp_seq = 4; {sequence number}
|
|
tcp_ack = 8; {acknowledgement number}
|
|
tcp_offset = 12; {longword count in header (def=6)}
|
|
tcp_code = 13; {flags}
|
|
tcp_window = 14; {window advertisement}
|
|
tcp_cksum = 16; {checksum}
|
|
tcp_urgptr = 18; {urgent pointer}
|
|
tcp_options = 20;
|
|
tcp_data = 20;
|
|
|
|
type
|
|
errTable = record
|
|
tcpDGMSTBLEN: longint; {The total length of the error table, in bytes, including tcpDGMSTBLEN}
|
|
|
|
tcpDGMSTOTAL: longint; {Total datagrams received (good and bad)}
|
|
tcpDGMSFRAGSIN: longint; {Got a fragment (datagram is queued to frag list)}
|
|
tcpDGMSFRAGSLOST: longint; {Fragment purged after timeout in queue}
|
|
tcpDGMSBUILT: longint; {Built a datagram from fragments (is then queued)}
|
|
|
|
tcpDGMSOK: longint; {Datagrams queued from link or tcpDGMSBUILT}
|
|
|
|
tcpDGMSBADCHK: longint; {Bad IP checksum (datagram is purged)}
|
|
tcpDGMSBADHEADLEN: longint; {Bad IP header lengths (datagram is purged)}
|
|
tcpDGMSBADPROTO: longint; {Unsupported protocols (added to misc queue)}
|
|
tcpDGMSBADIP: longint; {Not my or loopback IP (datagram is purged)}
|
|
|
|
tcpDGMSICMP: longint; {ICMP total datagrams in (good and bad)}
|
|
tcpDGMSICMPUSER: longint; {ICMP user datagrams}
|
|
tcpDGMSICMPKERNEL: longint; {ICMP kernel datagrams}
|
|
|
|
tcpDGMSICMPBAD: longint; {ICMP bad checksum or datagram too short}
|
|
tcpDGMSICMPBADTYPE: longint; {ICMP bad ic_type}
|
|
tcpDGMSICMPBADCODE: longint; {ICMP bad ic_code}
|
|
tcpDGMSICMPECHORQ: longint; {ICMP ECHORQs in}
|
|
tcpDGMSICMPECHORQOUT: longint; {ICMP ECHORQ replies sent out}
|
|
tcpDGMSICMPECHORP: longint; {ICMP ECHORPs in}
|
|
tcpDGMSICMPECHORPBADID: longint; {ICMP ECHORPs unclaimed}
|
|
|
|
tcpDGMSUDP: longint; {UDPs OK (added to UDP queue)}
|
|
tcpDGMSUDPBAD: longint; {Bad UDP header (datagram is purged)}
|
|
tcpDGMSUDPNOPORT: longint; {No such logged in port (datagram is purged)}
|
|
|
|
tcpDGMSTCP: longint; {TCPs OK (returned to TCP main logic)}
|
|
tcpDGMSTCPBAD: longint; {Bad TCP header or checksum (datagram is purged)}
|
|
tcpDGMSTCPNOPORT: longint; {No such logged in port (datagram is purged)}
|
|
tcpDGMSTCPQUEUED: longint; {Arrived before required (datagram is queued)}
|
|
tcpDGMSTCPOLD: longint; {Already received this segment (datagram is purged)}
|
|
|
|
tcpDGMSOFRAGMENTS: longint; {Fragments transmitted}
|
|
tcpDGMSFRAGMENTED: longint; {Datagrams fragmented for transmission}
|
|
end;
|
|
errTablePtr = ^errTable;
|
|
|
|
tuneRecord = record {tuning table}
|
|
tcpTUNECOUNT: integer; {The total length of the tuning table,
|
|
in bytes, including tcpTUNECOUNT.
|
|
Currently 10.}
|
|
tcpTUNEIPUSERPOLLCT: integer; {The number of datagrams Marinetti will
|
|
build per TCPIPPoll request. The valid
|
|
range is 1 through 10 inclusive. The
|
|
default is 2.}
|
|
tcpTUNEIPRUNQFREQ: integer; {The RunQ frequency value (60ths of a
|
|
second). The default is 30 (half a
|
|
second).}
|
|
tcpTUNEIPRUNQCT: integer; {The number of datagrams Marinetti will
|
|
build per RunQ dispatch. The valid
|
|
range is 1 through 10 inclusive. The
|
|
default is 2.}
|
|
tcpTUNETCPUSERPOLL: integer; {The TCP steps to perform per user, per
|
|
TCPIPPoll request and RunQ dispatch.
|
|
The valid range is 1 through 10
|
|
inclusive. The default is 2.}
|
|
end;
|
|
tunePtr = ^tuneRecord;
|
|
|
|
unBuff = string[50];
|
|
unBuffPtr = ^unBuff;
|
|
|
|
pwBuff = string[50];
|
|
pwBuffPtr = ^pwBuff;
|
|
|
|
hnBuff = string[30];
|
|
hnBuffPtr = ^hnBuff;
|
|
|
|
pString15 = string[15];
|
|
pString15Ptr = ^pString15;
|
|
|
|
module = record
|
|
liMethodID: integer; {The connect method. See the conXXX
|
|
equates at the end of this document}
|
|
liName: string[20]; {Pstring name of the module}
|
|
liVersion: longint; {rVersion (type $8029 resource layout)
|
|
of the module}
|
|
liFlags: integer; {Contains the following flags:
|
|
bit 15 This link layer uses the
|
|
built in Apple IIGS serial ports
|
|
bits 14-0 Reserved - set to zeros}
|
|
liFilename: string[15]; {Pstring filename of the module}
|
|
liMenuItem: array[0..13] of byte; {bytes rMenuItem template ready for use,
|
|
which defines this connect method as a
|
|
menu item}
|
|
end;
|
|
moduleList = array[0..99] of module;
|
|
moduleListPtr = ^moduleList;
|
|
|
|
linkInfoBlk = record
|
|
liMethodID: integer; {The connect method. New modules will need to apply to the author for a unique ID to use. See conXXX equates for details of already defined values}
|
|
liName: string[20]; {Pstring name of the module}
|
|
liVersion: longint; {rVersion (type $8029 resource layout) of the
|
|
module}
|
|
liFlags: integer; {Contains the following flags:
|
|
bit15 This link layer uses the built in Apple
|
|
IIGS serial ports
|
|
bits14-1 Reserved - set to zeros
|
|
bit0 Indicates whether the module contains an
|
|
rIcon resource}
|
|
end;
|
|
linkInfoBlkPtr = ^linkInfoBlk;
|
|
|
|
DNSRec = record
|
|
DNSMain: longint; {Main DNS IP address}
|
|
DNSAux: longint; {Auxilliary DNS IP address}
|
|
end;
|
|
DNSRecPtr = ^DNSRec;
|
|
|
|
dnrBuffer = record
|
|
DNRstatus: integer; {Current status of DNR for this request}
|
|
DNRIPaddress: longint; {Returned IP address}
|
|
end;
|
|
dnrBufferPtr = ^dnrBuffer;
|
|
|
|
udpVars = record
|
|
uvQueueSize: integer; {Number of entries in receive queue}
|
|
uvError: integer; {Last ICMP type 3 error code}
|
|
uvErrorTick: longint; {Tick of when error occurred}
|
|
uvCount: longint; {Total received for this ipid}
|
|
uvTotalCount: longint; {Total received for all ipids}
|
|
uvDispatchFlag: integer; {UDP dispatch flag}
|
|
end;
|
|
udpVarsPtr = ^udpVars;
|
|
|
|
rrBuff = record
|
|
rrBuffCount: longint; {Length of the returned data}
|
|
rrBuffHandle: handle; {Handle to the data}
|
|
rrMoreFlag: boolean; {Is there more data received?}
|
|
rrPushFlag: boolean; {word Was this buffer pushed?}
|
|
rrUrgentFlag: boolean; {Is this urgent data?}
|
|
end;
|
|
rrBuffPtr = ^rrBuff;
|
|
|
|
rlrBuff = record
|
|
rlrBuffCount: longint; {Length of the returned data}
|
|
rlrBuffHandle: handle; {Handle to the data}
|
|
rlrIsDataFlag: boolean; {Was a line actually read?}
|
|
rlrMoreFlag: boolean; {Is there more data received?}
|
|
rlrBuffSize: longint; {Required buffer size}
|
|
end;
|
|
rlrBuffPtr = ^rlrBuff;
|
|
|
|
srBuff = record
|
|
srState: integer; {TCP state}
|
|
srNetworkError: integer; {ICMP error code}
|
|
srSndQueued: longint; {Bytes left in send queue}
|
|
srRcvQueued: longint; {Bytes left in receive queue}
|
|
srDestIP: longint; {Destination IP address}
|
|
srDestPort: integer; {Destination port}
|
|
srConnectType: integer; {Connection type}
|
|
srAcceptCount: integer; {If in listen mode, number of pending incoming
|
|
requests}
|
|
end;
|
|
srBuffPtr = ^srBuff;
|
|
|
|
destRec = record
|
|
drUserID: integer; {UserID used by this ipid}
|
|
drDestIP: longint; {Destination IP address}
|
|
drDestPort: integer; {Destination port number}
|
|
end;
|
|
destRecPtr = ^destRec;
|
|
|
|
cvtRec = record
|
|
cvtIPAddress: longint; {Returned IP address}
|
|
cvtPort: integer; {word Port number or nil if none}
|
|
end;
|
|
cvtRecPtr = ^cvtRec;
|
|
|
|
IPCDataInRecord = record
|
|
inwLength: integer; {Length of buffer, including this, is $000E}
|
|
inwIP: longint; {Your IP address}
|
|
inwMethod: integer; {The connect method currently being used}
|
|
inwMTU: integer; {The MTU currently being used}
|
|
inwLVPtr: longint; {longword Pointer to link layer variables currently being used}
|
|
end;
|
|
IPCDataInPtr = ^IPCDataInRecord;
|
|
|
|
variablesRecord = record
|
|
lvVersion: integer;
|
|
lvConnected: integer;
|
|
lvIPaddress: longint;
|
|
lvRefCon: longint;
|
|
lvErrors: longint;
|
|
lvMTU: integer; {Maximum Transmission Unit size}
|
|
{... this is the Maximum Receive Unit (MRU) from the host.}
|
|
end;
|
|
variablesPtr = ^variablesRecord;
|
|
|
|
dnrTimeoutsRecord = record
|
|
dnrRETRIES: integer; {How many times to try the DNR servers. The default is 5}
|
|
dnrTIMER: integer; {Number of ticks before timeout. The default is 120=2 secs}
|
|
end;
|
|
dnrTimeoutsBuffPtr = ^dnrTimeoutsRecord;
|
|
|
|
displayPtr = procPtr;
|
|
|
|
conHandle = handle;
|
|
disconHandle = handle;
|
|
messagePtr = ptr;
|
|
udpPtr = ptr;
|
|
datagramPtr = ptr;
|
|
dgmHandle = handle;
|
|
dataPtr = ptr;
|
|
triggerProcPtr = ptr;
|
|
authMsgHandle = handle;
|
|
|
|
|
|
procedure TCPIPBootInit;
|
|
inline $a2, $3601, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPStartUp;
|
|
inline $a2, $3602, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPShutDown;
|
|
inline $a2, $3603, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPVersion: integer;
|
|
inline $a2, $3604, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPReset;
|
|
inline $a2, $3605, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPStatus: boolean;
|
|
inline $a2, $3606, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPLongVersion: longint;
|
|
inline $a2, $3608, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetConnectStatus: boolean;
|
|
inline $a2, $3609, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetErrorTable: errTablePtr;
|
|
inline $a2, $360A, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetReconnectStatus: boolean;
|
|
inline $a2, $360B, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPReconnect (dPtr: displayPtr);
|
|
inline $a2, $360C, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetMyIPAddress: longint;
|
|
inline $a2, $360F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetConnectMethod: integer;
|
|
inline $a2, $3610, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetConnectMethod (method: integer);
|
|
inline $a2, $3611, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPConnect (dPtr: displayPtr);
|
|
inline $a2, $3612, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPDisconnect (forceFlag: boolean; dPtr: displayPtr);
|
|
inline $a2, $3613, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetMTU: integer;
|
|
inline $a2, $3614, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetConnectData (userid: integer; method: integer): conHandle;
|
|
inline $a2, $3616, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetConnectData (method: integer; cHand: conHandle);
|
|
inline $a2, $3617, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetDisconnectData (userid: integer; method: integer): disconHandle;
|
|
inline $a2, $3618, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetDisconnectData (userid: integer; dHand: disconHandle);
|
|
inline $a2, $3619, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPLoadPreferences;
|
|
inline $a2, $361A, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSavePreferences;
|
|
inline $a2, $361B, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetTuningTable (tPtr: tunePtr);
|
|
inline $a2, $361E, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetTuningTable (tPtr: tunePtr);
|
|
inline $a2, $361F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetConnectMsgFlag: boolean;
|
|
inline $a2, $3642, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetConnectMsgFlag (flag: boolean);
|
|
inline $a2, $3643, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetUsername (uPtr: unBuffPtr);
|
|
inline $a2, $3644, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetUsername (username: Str255);
|
|
inline $a2, $3645, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetPassword (pPtr: pwBuffPtr);
|
|
inline $a2, $3646, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetPassword (password: Str255);
|
|
inline $a2, $3647, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetLinkVariables: variablesPtr;
|
|
inline $a2, $364A, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPEditLinkConfig (connectHand: handle; disconnectHand: handle);
|
|
inline $a2, $364B, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetModuleNames: moduleListPtr;
|
|
inline $a2, $364C, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetHostName (hPtr: hnBuffPtr);
|
|
inline $a2, $3651, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetHostName (hostname: Str255);
|
|
inline $a2, $3652, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetLinkLayer (libPtr: linkInfoBlkPtr);
|
|
inline $a2, $3654, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetAuthMessage (userID: integer): authMsgHandle;
|
|
inline $a2, $3657, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetAliveFlag: boolean;
|
|
inline $a2, $365A, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetAliveFlag (alive: boolean);
|
|
inline $a2, $365B, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetAliveMinutes: integer;
|
|
inline $a2, $365C, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetAliveMinutes (aliveMinutes: integer);
|
|
inline $a2, $365D, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetBootConnectFlag: boolean;
|
|
inline $a2, $365F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetBootConnectFlag (bootConnect: boolean);
|
|
inline $a2, $3660, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetDNS (DNS: DNSRecPtr);
|
|
inline $a2, $361C, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetDNS (DNS: DNSRecPtr);
|
|
inline $a2, $361D, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPCancelDNR (dnr: dnrBufferPtr);
|
|
inline $a2, $3620, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPDNRNameToIP (name: Str255; dnr: dnrBufferPtr);
|
|
inline $a2, $3621, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPPoll;
|
|
inline $a2, $3622, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSendIPDatagram (dPtr: datagramPtr);
|
|
inline $a2, $3640, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPLogin (userID: integer; destip: longint; destport: integer;
|
|
defaultTOS: integer; defaultTTL: integer): integer;
|
|
inline $a2, $3623, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPLogout (ipid: integer);
|
|
inline $a2, $3624, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSendICMP (ipid: integer; mPtr: messagePtr; messageLen: integer);
|
|
inline $a2, $3625, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSendUDP (ipid: integer; uPtr: udpPtr; udpLen: integer);
|
|
inline $a2, $3626, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetDatagramCount (ipid: integer; protocol: integer): integer;
|
|
inline $a2, $3627, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetNextDatagram (ipid, protocol, flags: integer): dgmHandle;
|
|
inline $a2, $3628, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetLoginCount: integer;
|
|
inline $a2, $3629, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSendICMPEcho (ipid, seqNum: integer);
|
|
inline $a2, $362A, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPReceiveICMPEcho (ipid: integer): integer;
|
|
inline $a2, $362B, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSTatusUDP (ipid: integer; uPtr: udpVarsPtr);
|
|
inline $a2, $3643, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetUDPDispatch (ipid: integer; dispatchFlag: boolean);
|
|
inline $a2, $3661, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPOpenTCP (ipid: integer): integer;
|
|
inline $a2, $362C, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPListenTCP (ipid: integer): integer;
|
|
inline $a2, $364E, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPWriteTCP (ipid: integer; dPtr: dataPtr; dataLength: longint;
|
|
pushFlag, urgentFlag: boolean): integer;
|
|
inline $a2, $362D, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPReadTCP (ipid, buffType: integer; data: univ longint;
|
|
buffLen: longint; bPtr: rrBuffPtr): integer;
|
|
inline $a2, $362E, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPReadLineTCP (ipid: integer; delimitStrPtr: Str255; buffType: integer;
|
|
data: univ longint; buffLen: longint; bPtr: rlrBuffPtr): integer;
|
|
inline $a2, $365E, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPCloseTCP (ipid: integer): integer;
|
|
inline $a2, $362F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPAbortTCP (ipid: integer): integer;
|
|
inline $a2, $3630, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPStatusTCP (ipid: integer; sPtr: srBuffPtr): integer;
|
|
inline $a2, $3631, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPAcceptTCP (ipid, reserved: integer): integer;
|
|
inline $a2, $364F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetSourcePort (ipid: integer): integer;
|
|
inline $a2, $3632, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetTOS (ipid: integer): integer;
|
|
inline $a2, $3633, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetTOS (ipid, TOS: integer);
|
|
inline $a2, $3634, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetTTL (ipid: integer): integer;
|
|
inline $a2, $3635, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetTTL (ipid, TTL: integer);
|
|
inline $a2, $3636, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetSourcePort (ipid, sourcePort: integer);
|
|
inline $a2, $3637, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetUserStatistic (ipid, statisticNum: integer): longint;
|
|
inline $a2, $3649, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetNewDestination (ipid: integer; destip: longint;
|
|
destPort: integer);
|
|
inline $a2, $3650, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetDestination (ipid: integer; dPtr: destRecPtr);
|
|
inline $a2, $3662, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPConvertIPToHex (cvt: cvtRecPtr; sPtr: Str255);
|
|
inline $a2, $360D, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPConvertIPCToHex (cvt: cvtRecPtr; sPtr: Str255);
|
|
inline $a2, $363F, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPConvertIPToASCII (ipaddress: longint; ddpstring: pString15Ptr;
|
|
flags: integer): integer;
|
|
inline $a2, $360E, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPConvertIPToCASCII (ipaddress: longint; ddpstring: pString15Ptr;
|
|
flags: integer): integer;
|
|
inline $a2, $3658, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPConvertIPToClass (ipaddress: longint): integer;
|
|
inline $a2, $3641, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPMangleDomainName (flags: integer; dnPstringPtr: Str255): integer;
|
|
inline $a2, $3659, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPPtrToPtr (fromPtr, toPtr: ptr; length: longint);
|
|
inline $a2, $3655, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPPtrToPtrNeg (fromEndPtr, toEndPtr: ptr; length: longint);
|
|
inline $a2, $3656, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPValidateIPString (sPtr: Str255): boolean;
|
|
inline $a2, $3648, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPValidateIPCString (sPtr: cStringPtr): boolean;
|
|
inline $a2, $3615, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetUserEventTrigger (triggerNumber, ipid: integer): triggerProcPtr;
|
|
inline $a2, $3663, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetUserEventTrigger (triggerNumber, ipid: integer; tPtr: triggerProcPtr);
|
|
inline $a2, $3664, $22, $e10000, $8f, '_toolErr';
|
|
|
|
function TCPIPGetSysEventTrigger (ipid: integer): integer;
|
|
inline $a2, $3665, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetSysEventTrigger (triggerNumber: integer; tPtr: triggerProcPtr);
|
|
inline $a2, $3666, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPGetDNRTimeouts (dtPtr: dnrTimeoutsBuffPtr);
|
|
inline $a2, $3667, $22, $e10000, $8f, '_toolErr';
|
|
|
|
procedure TCPIPSetDNRTimeouts (dtPtr: dnrTimeoutsBuffPtr);
|
|
inline $a2, $3668, $22, $e10000, $8f, '_toolErr';
|
|
|
|
implementation
|
|
end.
|