AmendHub

Download

jcs

/

subtext

/

tcp.h

 

(View History)

jcs   tcp: Add UDP sending functionality Latest amendment: 203 on 2022-07-14

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 TCPResolveName(char **name, unsigned long *ipAddress);
63
64 unsigned long ip2long(char *ip);
65 void long2ip(unsigned long num, char *ip);
66
67 OSErr SOCKS5TCPActiveOpen(TCPiopb *pb, StreamPtr stream, ip_addr socks_ip,
68 tcp_port socks_port, char *remote_host, tcp_port remote_port,
69 ip_addr *local_ip, tcp_port *local_port, Ptr user_data,
70 TCPIOCompletionProc io_completion, Boolean async);
71
72 #endif