| 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 ProcPtr UDPNotifyProc; |
| 19 |
typedef void (*TCPIOCompletionProc)(struct TCPiopb *iopb); |
| 20 |
typedef void (*UDPIOCompletionProc)(struct UDPiopb *iopb); |
| 21 |
|
| 22 |
OSErr _TCPInit(void); |
| 23 |
OSErr _TCPGetOurIP(ip_addr *ip, long *netMask); |
| 24 |
OSErr _TCPCreate(TCPiopb *pb, StreamPtr *stream, Ptr rcvBufPtr, |
| 25 |
long rcvBufLen, TCPNotifyProc aNotifyProc, Ptr userDataPtr, |
| 26 |
TCPIOCompletionProc ioCompletion, Boolean async); |
| 27 |
OSErr _TCPPassiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr *remoteIP, |
| 28 |
tcp_port *remotePort, ip_addr *localIP, tcp_port *localPort, |
| 29 |
Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async); |
| 30 |
OSErr _TCPActiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr remoteIP, |
| 31 |
tcp_port remotePort, ip_addr *localIP, tcp_port *localPort, |
| 32 |
Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async); |
| 33 |
OSErr _TCPSend(TCPiopb *pb, StreamPtr stream, wdsEntry *wdsPtr, |
| 34 |
Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async); |
| 35 |
OSErr _TCPNoCopyRcv(TCPiopb *pb, StreamPtr stream, Ptr rdsPtr, |
| 36 |
unsigned short rdsLength, Ptr userData, TCPIOCompletionProc ioCompletion, |
| 37 |
Boolean async); |
| 38 |
OSErr _TCPRcv(TCPiopb *pb, StreamPtr stream, Ptr rcvBufPtr, |
| 39 |
unsigned short *rcvBufLen, Ptr userData, TCPIOCompletionProc ioCompletion, |
| 40 |
Boolean async); |
| 41 |
OSErr _TCPBfrReturn(TCPiopb *pb, StreamPtr stream, Ptr rdsPtr, Ptr userData, |
| 42 |
TCPIOCompletionProc ioCompletion, Boolean async); |
| 43 |
OSErr _TCPClose(TCPiopb *pb, StreamPtr stream, Ptr userData, |
| 44 |
TCPIOCompletionProc ioCompletion, Boolean async); |
| 45 |
OSErr _TCPAbort(TCPiopb *pb, StreamPtr stream, Ptr userData, |
| 46 |
TCPIOCompletionProc ioCompletion, Boolean async); |
| 47 |
OSErr _TCPStatus(TCPiopb *pb, StreamPtr stream, struct TCPStatusPB *status, |
| 48 |
Ptr userData, TCPIOCompletionProc ioCompletion, Boolean async); |
| 49 |
OSErr _TCPRelease(TCPiopb *pb, StreamPtr stream, Ptr userData, |
| 50 |
TCPIOCompletionProc ioCompletion, Boolean async); |
| 51 |
|
| 52 |
OSErr _UDPMaxMTUSize(UDPiopb *pb, short *mtu); |
| 53 |
OSErr _UDPCreate(UDPiopb *pb, StreamPtr *stream, Ptr rcvBufPtr, |
| 54 |
long rcvBufLen, UDPNotifyProc aNotifyProc, Ptr userDataPtr, |
| 55 |
UDPIOCompletionProc ioCompletion, Boolean async); |
| 56 |
OSErr _UDPSend(UDPiopb *pb, StreamPtr stream, wdsEntry *wdsPtr, |
| 57 |
ip_addr remoteIP, udp_port remotePort, Ptr userData, |
| 58 |
UDPIOCompletionProc ioCompletion, Boolean async); |
| 59 |
OSErr _UDPRelease(UDPiopb *pb, StreamPtr stream, Ptr userData, |
| 60 |
UDPIOCompletionProc ioCompletion, Boolean async); |
| 61 |
|
| 62 |
OSErr DNSResolveName(char **name, unsigned long *ipAddress, |
| 63 |
void (*yielder)(void)); |
| 64 |
pascal void StrToAddrMarkDone(struct hostInfo *hi, char *data); |
| 65 |
|
| 66 |
unsigned long ip2long(char *ip); |
| 67 |
void long2ip(unsigned long num, char *ip); |
| 68 |
|
| 69 |
OSErr SOCKS5TCPActiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr socks_ip, |
| 70 |
tcp_port socks_port, char *remote_host, tcp_port remote_port, |
| 71 |
ip_addr *local_ip, tcp_port *local_port, Ptr user_data, |
| 72 |
TCPIOCompletionProc io_completion, Boolean async); |
| 73 |
|
| 74 |
#endif |