AmendHub

Download

jcs

/

wallops

/

tcp.h

 

(View History)

jcs   *: Large reorganization in preparation for multiple chat windows Latest amendment: 42 on 2022-12-11

1 /*
2 * Copyright (c) 1990-1992 by the University of Illinois Board of Trustees
3 */
4
5 #include "MacTCP.h"
6 #include "AddressXlation.h"
7
8 #ifndef __TCP_H__
9 #define __TCP_H__
10
11 typedef struct
12 {
13 Handle next;
14 struct hostInfo hi;
15 } HostInfoQ, *HostInfoQPtr, **HostInfoQHandle;
16
17 typedef ProcPtr TCPNotifyProc;
18 typedef void (*TCPIOCompletionProc)(struct TCPiopb *iopb);
19
20 OSErr _TCPInit(void);
21 OSErr _TCPGetOurIP(ip_addr *ip, long *netMask);
22 OSErr _TCPCreate(TCPiopb *pb, StreamPtr *stream, Ptr rcvBufPtr,
23 long rcvBufLen, TCPNotifyProc aNotifyProc, Ptr userDataPtr,
24 TCPIOCompletionProc ioCompletion, Boolean async);
25 OSErr _TCPPassiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr *remoteIP,
26 tcp_port *remotePort, ip_addr *localIP, tcp_port *localPort,
27 Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
28 OSErr _TCPActiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr remoteIP,
29 tcp_port remotePort, ip_addr *localIP, tcp_port *localPort,
30 Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
31 OSErr _TCPSend(TCPiopb *pb, StreamPtr stream, wdsEntry *wdsPtr,
32 Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
33 OSErr _TCPNoCopyRcv(TCPiopb *pb, StreamPtr stream, Ptr rdsPtr,
34 unsigned short rdsLength, Ptr userData, TCPIOCompletionProc ioCompletion,
35 Boolean async);
36 OSErr _TCPRcv(TCPiopb *pb, StreamPtr stream, Ptr rcvBufPtr,
37 unsigned short *rcvBufLen, Ptr userData, TCPIOCompletionProc ioCompletion,
38 Boolean async);
39 OSErr _TCPBfrReturn(TCPiopb *pb, StreamPtr stream, Ptr rdsPtr, Ptr userData,
40 TCPIOCompletionProc ioCompletion, Boolean async);
41 OSErr _TCPClose(TCPiopb *pb, StreamPtr stream, Ptr userData,
42 TCPIOCompletionProc ioCompletion, Boolean async);
43 OSErr _TCPAbort(TCPiopb *pb, StreamPtr stream, Ptr userData,
44 TCPIOCompletionProc ioCompletion, Boolean async);
45 OSErr _TCPStatus(TCPiopb *pb, StreamPtr stream, struct TCPStatusPB *status,
46 Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async);
47 OSErr _TCPRelease(TCPiopb *pb, StreamPtr stream, Ptr userData,
48 TCPIOCompletionProc ioCompletion, Boolean async);
49
50 OSErr _UDPMaxMTUSize(UDPiopb *pb, short *mtu);
51
52 OSErr TCPResolveName(char *name, unsigned long *ipAddress);
53
54 long ip2long(char *ip);
55 void long2ip(unsigned long num, char *ip);
56
57 OSErr SOCKS5TCPActiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr socks_ip,
58 tcp_port socks_port, char *remote_host, tcp_port remote_port,
59 ip_addr *local_ip, tcp_port *local_port, Ptr user_data,
60 TCPIOCompletionProc io_completion, Boolean async);
61
62 #endif