]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - mac/macnet.c
Initial import of Owen's OpenTransport interface. It doesn't work yet, but
[PuTTY.git] / mac / macnet.c
1 #include "putty.h"
2 #include "network.h"
3 #include "mac.h"
4
5 /*
6  * Network functions exported to the world.  These choose whether to call
7  * MacTCP or OpenTransport and behave accordingly.
8  */
9 SockAddr sk_namelookup(char *host, char **canonicalname)
10 {
11
12     if (mac_gestalts.otptattr != 0)
13         return ot_namelookup(host, canonicalname);
14     else if (mac_gestalts.mtcpvers != 0)
15         return mactcp_namelookup(host, canonicalname);
16     else
17         return NULL;
18 }
19
20 SockAddr sk_nonamelookup(char *host)
21 {
22
23     if (mac_gestalts.otptattr != 0)
24         return ot_nonamelookup(host);
25     else if (mac_gestalts.mtcpvers != 0)
26         return mactcp_nonamelookup(host);
27     else
28         return NULL;
29 }
30
31 void sk_getaddr(SockAddr addr, char *buf, int buflen)
32 {
33
34     if (mac_gestalts.otptattr != 0)
35         ot_getaddr(addr, buf, buflen);
36     else if (mac_gestalts.mtcpvers != 0)
37         mactcp_getaddr(addr, buf, buflen);
38     else
39         *buf = '\0';
40 }
41
42 int sk_hostname_is_local(char *name)
43 {
44
45     if (mac_gestalts.otptattr != 0)
46         return ot_hostname_is_local(name);
47     else if (mac_gestalts.mtcpvers != 0)
48         return mactcp_hostname_is_local(name);
49     else
50         return 0;
51 }
52
53 int sk_address_is_local(SockAddr addr)
54 {
55
56     if (mac_gestalts.otptattr != 0)
57         return ot_address_is_local(addr);
58     else if (mac_gestalts.mtcpvers != 0)
59         return mactcp_address_is_local(addr);
60     else
61         return 0;
62 }
63
64 int sk_addrtype(SockAddr addr)
65 {
66
67     if (mac_gestalts.otptattr != 0)
68         return ot_addrtype(addr);
69     else if (mac_gestalts.mtcpvers != 0)
70         return mactcp_addrtype(addr);
71     else
72         return 0;
73 }
74
75 void sk_addrcopy(SockAddr addr, char *buf)
76 {
77
78     if (mac_gestalts.otptattr != 0)
79         ot_addrcopy(addr, buf);
80     else if (mac_gestalts.mtcpvers != 0)
81         mactcp_addrcopy(addr, buf);
82 }
83
84 void sk_addr_free(SockAddr addr)
85 {
86
87     if (mac_gestalts.otptattr != 0)
88         ot_addr_free(addr);
89     else if (mac_gestalts.mtcpvers != 0)
90         mactcp_addr_free(addr);
91 }
92
93 Socket sk_register(void *sock, Plug plug)
94 {
95
96     if (mac_gestalts.otptattr != 0)
97         return ot_register(sock, plug);
98     else if (mac_gestalts.mtcpvers != 0)
99         return mactcp_register(sock, plug);
100     else
101         return NULL;
102 }
103
104 Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
105               int nodelay, Plug plug)
106 {
107
108     if (mac_gestalts.otptattr != 0)
109         return ot_new(addr, port, privport, oobinline, nodelay, plug);
110     else if (mac_gestalts.mtcpvers != 0)
111         return mactcp_new(addr, port, privport, oobinline, nodelay, plug);
112     else
113         return NULL;
114 }
115
116 Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only)
117 {
118
119     if (mac_gestalts.otptattr != 0)
120         return ot_newlistener(srcaddr, port, plug, local_host_only);
121     else if (mac_gestalts.mtcpvers != 0)
122         return mactcp_newlistener(srcaddr, port, plug, local_host_only);
123     else
124         return NULL;
125 }
126
127 char *sk_addr_error(SockAddr addr)
128 {
129
130     if (mac_gestalts.otptattr != 0)
131         return ot_addr_error(addr);
132     else if (mac_gestalts.mtcpvers != 0)
133         return mactcp_addr_error(addr);
134     else
135         return "No TCP/IP stack installed";
136 }
137
138 void sk_cleanup(void)
139 {
140
141     if (mac_gestalts.otptattr != 0)
142         ot_cleanup();
143     else if (mac_gestalts.mtcpvers != 0)
144         mactcp_cleanup();
145 }
146
147 /*
148  * Local Variables:
149  * c-file-style: "simon"
150  * End:
151  */
152