Consequences of Simon's recent deglobalisation changes.
[u/mdw/putty] / 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 const *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 const *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