;;; -*- Mode: Scheme; scheme48-package: (config) -*- ;;;; Scheme48 Networking Interface ;;;; Interface Definitions ;;; This code is written by Taylor Campbell and placed in the Public ;;; Domain. All warranties are disclaimed. (define-interface networking-interface (export socket-connect bind-listen-accept-loop bind-prepare-listen-accept-loop )) (define-interface network-sockets-interface (export create-socket create-socket-pair close-socket port->socket socket? socket:family socket:inport socket:outport socket-address? socket-address:family unix-address->socket-address internet-address->socket-address socket-address->unix-address socket-address->internet-address socket-address->string connect-socket connect-socket-no-wait connect-socket-successful? bind-socket listen-socket accept-connection socket-local-address socket-remote-address shutdown-socket receive-message receive-message! receive-message/partial receive-message!/partial send-message send-message/partial socket-option set-socket-option )) (define-interface network-database-interface (export host-info host-info? host-info:name host-info:aliases host-info:addresses network-info network-info? network-info:name network-info:aliases network-info:net service-info service-info? service-info:name service-info:aliases service-info:port service-info:protocol protocol-info protocol-info? protocol-info:name protocol-info:aliases protocol-info:number )) (define-interface network-constants-interface (export socket-type/stream socket-type/datagram socket-type/sequenced-packet-stream socket-type/raw socket-type/rdm address-family/unspecified address-family/unix address-family/internet address-family/internet6 protocol-family/unspecified protocol-family/unix protocol-family/internet protocol-family/internet6 shutdown/sends shutdown/receives shutdown/sends+receives message/out-of-band message/peek message/dont-route message/eor message/trunc message/ctrunc message/wait-all message/dont-wait level/socket socket/accept-connect socket/broadcast socket/debug socket/dont-route socket/error socket/keep-alive socket/linger socket/oob-inline socket/receive-buffer socket/receive-low-water socket/receive-timeout socket/reuse-address socket/reuse-port socket/send-buffer socket/send-low-water socket/send-timeout socket/type socket/use-loop-back ip-level/ip ip-level/ipv6 ip-level/icmp ip-level/raw ip-level/tcp ip-level/udp ip/options ip/header-included ip/type-of-service ip/time-to-live ip/receive-options ip/response-options ip/destination-address ip/ret-options ip/multicast-if ip/multicast-ttl ip/multicast-loop ip/add-membership ip/drop-membership tcp/no-delay tcp/max-segment sockaddr-size allocate-sockaddr make-sockaddr sockaddr.family-offset sockaddr.family-size sockaddr.family set-sockaddr.family! sockaddr-un-size allocate-sockaddr-un make-sockaddr-un store-sockaddr-un! sockaddr-un.path-offset sockaddr-un.path-size sockaddr-un.path-ref sockaddr-un.path-set! sockaddr-in-size allocate-sockaddr-in make-sockaddr-in store-sockaddr-in! sockaddr-in.port-offset sockaddr-in.port-size sockaddr-in.port set-sockaddr-in.port! sockaddr-in.address-offset sockaddr-in.address-size sockaddr-in.address-ref sockaddr-in.address-set! internet-address/any internet-address/loopback internet-address/broadcast ;; Insert IPv6 crud here. )) (define-interface network-tests-interface (export ))