Consequences of Simon's recent deglobalisation changes.
[u/mdw/putty] / mac / macnet.c
CommitLineData
deed9e25 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 */
2e96d504 9SockAddr sk_namelookup(char const *host, char **canonicalname)
deed9e25 10{
11
27a3458f 12 if (mac_gestalts.otptattr != 0)
13 return ot_namelookup(host, canonicalname);
14 else if (mac_gestalts.mtcpvers != 0)
deed9e25 15 return mactcp_namelookup(host, canonicalname);
16 else
17 return NULL;
18}
19
2e96d504 20SockAddr sk_nonamelookup(char const *host)
deed9e25 21{
22
27a3458f 23 if (mac_gestalts.otptattr != 0)
24 return ot_nonamelookup(host);
25 else if (mac_gestalts.mtcpvers != 0)
deed9e25 26 return mactcp_nonamelookup(host);
27 else
28 return NULL;
29}
30
31void sk_getaddr(SockAddr addr, char *buf, int buflen)
32{
33
27a3458f 34 if (mac_gestalts.otptattr != 0)
35 ot_getaddr(addr, buf, buflen);
36 else if (mac_gestalts.mtcpvers != 0)
deed9e25 37 mactcp_getaddr(addr, buf, buflen);
38 else
39 *buf = '\0';
40}
41
42int sk_hostname_is_local(char *name)
43{
44
27a3458f 45 if (mac_gestalts.otptattr != 0)
46 return ot_hostname_is_local(name);
47 else if (mac_gestalts.mtcpvers != 0)
deed9e25 48 return mactcp_hostname_is_local(name);
49 else
50 return 0;
51}
52
53int sk_address_is_local(SockAddr addr)
54{
55
27a3458f 56 if (mac_gestalts.otptattr != 0)
57 return ot_address_is_local(addr);
58 else if (mac_gestalts.mtcpvers != 0)
deed9e25 59 return mactcp_address_is_local(addr);
60 else
61 return 0;
62}
63
64int sk_addrtype(SockAddr addr)
65{
66
27a3458f 67 if (mac_gestalts.otptattr != 0)
68 return ot_addrtype(addr);
69 else if (mac_gestalts.mtcpvers != 0)
deed9e25 70 return mactcp_addrtype(addr);
71 else
72 return 0;
73}
74
75void sk_addrcopy(SockAddr addr, char *buf)
76{
77
27a3458f 78 if (mac_gestalts.otptattr != 0)
79 ot_addrcopy(addr, buf);
80 else if (mac_gestalts.mtcpvers != 0)
deed9e25 81 mactcp_addrcopy(addr, buf);
82}
83
84void sk_addr_free(SockAddr addr)
85{
86
27a3458f 87 if (mac_gestalts.otptattr != 0)
88 ot_addr_free(addr);
89 else if (mac_gestalts.mtcpvers != 0)
deed9e25 90 mactcp_addr_free(addr);
91}
92
93Socket sk_register(void *sock, Plug plug)
94{
95
27a3458f 96 if (mac_gestalts.otptattr != 0)
97 return ot_register(sock, plug);
98 else if (mac_gestalts.mtcpvers != 0)
deed9e25 99 return mactcp_register(sock, plug);
100 else
101 return NULL;
102}
103
104Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
105 int nodelay, Plug plug)
106{
107
27a3458f 108 if (mac_gestalts.otptattr != 0)
109 return ot_new(addr, port, privport, oobinline, nodelay, plug);
110 else if (mac_gestalts.mtcpvers != 0)
deed9e25 111 return mactcp_new(addr, port, privport, oobinline, nodelay, plug);
112 else
113 return NULL;
114}
115
116Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only)
117{
118
27a3458f 119 if (mac_gestalts.otptattr != 0)
120 return ot_newlistener(srcaddr, port, plug, local_host_only);
121 else if (mac_gestalts.mtcpvers != 0)
deed9e25 122 return mactcp_newlistener(srcaddr, port, plug, local_host_only);
123 else
124 return NULL;
125}
126
127char *sk_addr_error(SockAddr addr)
128{
129
27a3458f 130 if (mac_gestalts.otptattr != 0)
131 return ot_addr_error(addr);
132 else if (mac_gestalts.mtcpvers != 0)
deed9e25 133 return mactcp_addr_error(addr);
134 else
135 return "No TCP/IP stack installed";
136}
137
27a3458f 138void 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
deed9e25 147/*
148 * Local Variables:
149 * c-file-style: "simon"
150 * End:
151 */
152