X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/1e00c92b81273392a7db4796dc163b0729891e44..2ff340bdd3941537211af374feaa6023a20529be:/mac/macnet.c?ds=sidebyside diff --git a/mac/macnet.c b/mac/macnet.c deleted file mode 100644 index fc022dc7..00000000 --- a/mac/macnet.c +++ /dev/null @@ -1,189 +0,0 @@ -#include "putty.h" -#include "network.h" -#include "mac.h" -#include "ssh.h" - -struct macnet_stack { - SockAddr (*namelookup)(char const *, char **); - SockAddr (*nonamelookup)(char const *); - void (*getaddr)(SockAddr, char *, int); - int (*hostname_is_local)(char *); - int (*address_is_local)(SockAddr); - int (*addrtype)(SockAddr); - void (*addrcopy)(SockAddr, char *); - void (*addr_free)(SockAddr); - Socket (*skregister)(void *, Plug); /* "register" is a reserved word */ - Socket (*new)(SockAddr, int, int, int, int, int, Plug); - Socket (*newlistener)(char *, int, Plug, int, int); - char *(*addr_error)(SockAddr); - void (*poll)(void); - void (*cleanup)(void); -}; - -static struct macnet_stack *stack; - -static struct macnet_stack ot = { - ot_namelookup, ot_nonamelookup, ot_getaddr, ot_hostname_is_local, - ot_address_is_local, ot_addrtype, ot_addrcopy, ot_addr_free, - ot_register, ot_new, ot_newlistener, ot_addr_error, ot_poll, ot_cleanup -}; - -#if !TARGET_API_MAC_CARBON -static struct macnet_stack mactcp = { - mactcp_namelookup, mactcp_nonamelookup, mactcp_getaddr, - mactcp_hostname_is_local, mactcp_address_is_local, mactcp_addrtype, - mactcp_addrcopy, mactcp_addr_free, mactcp_register, mactcp_new, - mactcp_newlistener, mactcp_addr_error, mactcp_poll, mactcp_cleanup -}; -#endif - -void sk_init(void) -{ - -#ifndef NO_OT - if (ot_init() == noErr) - stack = &ot; - else -#endif -#if !TARGET_API_MAC_CARBON - if (mactcp_init() == noErr) - stack = &mactcp; - else -#endif - stack = NULL; -} - -/* - * Network functions exported to the world. These choose whether to call - * MacTCP or OpenTransport and behave accordingly. - */ -SockAddr sk_namelookup(char const *host, char **canonicalname, int address_family) -{ - - if (stack != NULL) - return stack->namelookup(host, canonicalname); - return NULL; -} - -SockAddr sk_nonamelookup(char const *host) -{ - - if (stack != NULL) - return stack->nonamelookup(host); - return NULL; -} - -void sk_getaddr(SockAddr addr, char *buf, int buflen) -{ - - if (stack != NULL) - stack->getaddr(addr, buf, buflen); - else - *buf = '\0'; -} - -int sk_hostname_is_local(char *name) -{ - - if (stack != NULL) - return stack->hostname_is_local(name); - return 0; -} - -int sk_address_is_local(SockAddr addr) -{ - - if (stack != NULL) - return stack->address_is_local(addr); - return 0; -} - -int sk_addrtype(SockAddr addr) -{ - - if (stack != NULL) - return stack->addrtype(addr); - return 0; -} - -void sk_addrcopy(SockAddr addr, char *buf) -{ - - if (stack != NULL) - stack->addrcopy(addr, buf); -} - -void sk_addr_free(SockAddr addr) -{ - - if (stack != NULL) - stack->addr_free(addr); -} - -Socket sk_register(void *sock, Plug plug) -{ - - if (stack != NULL) - return stack->skregister(sock, plug); - return NULL; -} - -Socket sk_new(SockAddr addr, int port, int privport, int oobinline, - int nodelay, int keepalive, Plug plug) -{ - - if (stack != NULL) - return stack->new(addr, port, privport, oobinline, nodelay, keepalive, - plug); - return NULL; -} - -Socket sk_newlistener(char *srcaddr, int port, Plug plug, int local_host_only, int address_family) -{ - - if (stack != NULL) - return stack->newlistener(srcaddr, port, plug, local_host_only, address_family); - return NULL; -} - -const char *sk_addr_error(SockAddr addr) -{ - - if (stack != NULL) - return stack->addr_error(addr); - return "No TCP/IP stack installed"; -} - -void sk_poll(void) -{ - - if (stack != NULL) - stack->poll(); -} - -void sk_cleanup(void) -{ - - if (stack != NULL) - stack->cleanup(); -} - -/* We should use Internet Config here. */ -int net_service_lookup(char *service) -{ - - return 0; -} - -SockAddr platform_get_x11_unix_address(const char *display, int displaynum, - char **canonicalname) -{ - return NULL; -} - -/* - * Local Variables: - * c-file-style: "simon" - * End: - */ -