/usr/lib/swipl/library/ext/clib/socket.pl
All Application Manual Name SummaryHelp

  • ext
    • clib
      • socket.pl -- Network socket (TCP and UDP) library
        • socket_create/2
        • tcp_socket/1
        • unix_domain_socket/1
        • tcp_close_socket/1
        • tcp_open_socket/2
        • tcp_open_socket/3
        • tcp_bind/2
        • tcp_listen/2
        • tcp_accept/3
        • tcp_connect/2
        • rewrite_host/3
        • tcp_connect/4
        • tcp_connect/3
        • tcp_select/3
        • try_proxy/4
        • proxy_for_url/3
        • udp_socket/1
        • udp_receive/4
        • udp_send/4
        • tcp_setopt/2
        • tcp_fcntl/3
        • tcp_getopt/2
        • host_address/3
        • tcp_host_to_address/2
        • gethostname/1
        • ip_name/2
        • negotiate_socks_connection/2
      • uid.pl -- User and group management on Unix systems
      • unix.pl -- Unix specific operations
      • syslog.pl
      • memfile.pl
      • time.pl -- Time and alarm library
      • uri.pl
      • filesex.pl -- Extended operations on files
      • uuid.pl
      • sha.pl -- SHA secure hashes
      • process.pl
      • hash_stream.pl -- Maintain a hash on a stream
      • md5.pl
      • rlimit.pl
      • mallocinfo.pl -- Memory allocation details
      • prolog_stream.pl -- A stream with Prolog callbacks
      • streampool.pl
      • prolog_server.pl
      • streaminfo.pl
      • udp_broadcast.pl -- A UDP broadcast proxy
      • crypt.pl
 rewrite_host(+HostIn, -HostOut, +Socket) is nondet[multifile, library(socket)]
Allow rewriting the host for tcp_connect/2 and therefore all other predicates to connect a socket.

This hook is currently defined in Windows to map localhost to ip(127,0,0,1) as resolving localhost on Windows is often very slow. Note that we do not want to do that in general as a system may prefer to map localhost to `::1`, i.e., the IPv6 loopback address.