Address Info API
This CHICKEN module exposes getaddrinfo(3) functionality to Scheme.
(require-extension address-info)
Address Info Record
(define-record-type address-info (make-address-info family type host port) address-info? [family address-info-family] [type address-info-type] [host address-info-host] [port address-info-port])
Descriptor for an internet socket address. The family is either 'ipv4 or 'ipv6. The type is either 'tcp, 'udp or 'raw. The host is a numeric address encoded as a string. The port is a either a positive integer or #f.
Address Info Lookup
(address-infos HOST [#:port PORT] [#:family FAMILY] [#:type TYPE] [#:server? BOOLEAN] [#:numeric? BOOLEAN]) => (list ADDRESS-INFO ...) | #f
Tries to lookup socket addresses for the given host and/or port. If the lookup is successful, the procedure returns a list of address information records. Otherwise it returns #f.
For a successful lookup you must at least specify a hostname or a port. If no hostname is specified, the function defaults to server mode lookup and will return wildcard addresses. This behaviour can be changed using the #:server? flag.
By default, the procedure will return address information records for all suitable supported protocol families and socket types. The #:family argument may be used to filter for 'ipv4 or 'ipv6 addresses. The #:type argument may be used to filter for 'tcp / 'stream, 'udp / 'datagram or 'raw socket types.
Unless the #:numeric? flag is set to a true value, the procedure will convert hostnames into numeric network addresses.