Initial import of Owen's OpenTransport interface. It doesn't work yet, but
[u/mdw/putty] / mac / macnet.c
index 88a5cab..d3044dd 100644 (file)
@@ -9,7 +9,9 @@
 SockAddr sk_namelookup(char *host, char **canonicalname)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_namelookup(host, canonicalname);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_namelookup(host, canonicalname);
     else
        return NULL;
@@ -18,7 +20,9 @@ SockAddr sk_namelookup(char *host, char **canonicalname)
 SockAddr sk_nonamelookup(char *host)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_nonamelookup(host);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_nonamelookup(host);
     else
        return NULL;
@@ -27,7 +31,9 @@ SockAddr sk_nonamelookup(char *host)
 void sk_getaddr(SockAddr addr, char *buf, int buflen)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       ot_getaddr(addr, buf, buflen);
+    else if (mac_gestalts.mtcpvers != 0)
        mactcp_getaddr(addr, buf, buflen);
     else
        *buf = '\0';
@@ -36,7 +42,9 @@ void sk_getaddr(SockAddr addr, char *buf, int buflen)
 int sk_hostname_is_local(char *name)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_hostname_is_local(name);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_hostname_is_local(name);
     else
        return 0;
@@ -45,7 +53,9 @@ int sk_hostname_is_local(char *name)
 int sk_address_is_local(SockAddr addr)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_address_is_local(addr);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_address_is_local(addr);
     else
        return 0;
@@ -54,7 +64,9 @@ int sk_address_is_local(SockAddr addr)
 int sk_addrtype(SockAddr addr)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_addrtype(addr);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_addrtype(addr);
     else
        return 0;
@@ -63,21 +75,27 @@ int sk_addrtype(SockAddr addr)
 void sk_addrcopy(SockAddr addr, char *buf)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       ot_addrcopy(addr, buf);
+    else if (mac_gestalts.mtcpvers != 0)
        mactcp_addrcopy(addr, buf);
 }
 
 void sk_addr_free(SockAddr addr)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       ot_addr_free(addr);
+    else if (mac_gestalts.mtcpvers != 0)
        mactcp_addr_free(addr);
 }
 
 Socket sk_register(void *sock, Plug plug)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_register(sock, plug);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_register(sock, plug);
     else
        return NULL;
@@ -87,7 +105,9 @@ Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
              int nodelay, Plug plug)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_new(addr, port, privport, oobinline, nodelay, plug);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_new(addr, port, privport, oobinline, nodelay, plug);
     else
        return NULL;
@@ -96,7 +116,9 @@ Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
 Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_newlistener(srcaddr, port, plug, local_host_only);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_newlistener(srcaddr, port, plug, local_host_only);
     else
        return NULL;
@@ -105,12 +127,23 @@ Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only)
 char *sk_addr_error(SockAddr addr)
 {
 
-    if (mac_gestalts.mtcpvers != 0)
+    if (mac_gestalts.otptattr != 0)
+       return ot_addr_error(addr);
+    else if (mac_gestalts.mtcpvers != 0)
        return mactcp_addr_error(addr);
     else
        return "No TCP/IP stack installed";
 }
 
+void sk_cleanup(void)
+{
+
+    if (mac_gestalts.otptattr != 0)
+       ot_cleanup();
+    else if (mac_gestalts.mtcpvers != 0)
+       mactcp_cleanup();
+}
+
 /*
  * Local Variables:
  * c-file-style: "simon"