127 lines
4.1 KiB
Common Lisp
127 lines
4.1 KiB
Common Lisp
|
|
;;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-lisp; Package: CL-USER -*-
|
||
|
|
;;;; See the LICENSE file for licensing information.
|
||
|
|
|
||
|
|
(defpackage :usocket
|
||
|
|
(:use #-genera :common-lisp
|
||
|
|
#+genera :future-common-lisp
|
||
|
|
#+abcl :java
|
||
|
|
:split-sequence)
|
||
|
|
(:export #:*version*
|
||
|
|
#:*wildcard-host*
|
||
|
|
#:*auto-port*
|
||
|
|
|
||
|
|
#:+max-datagram-packet-size+
|
||
|
|
|
||
|
|
#:socket-connect ; socket constructors and methods
|
||
|
|
#:socket-listen
|
||
|
|
#:socket-accept
|
||
|
|
#:socket-close
|
||
|
|
#:socket-shutdown
|
||
|
|
#:get-local-address
|
||
|
|
#:get-peer-address
|
||
|
|
#:get-local-port
|
||
|
|
#:get-peer-port
|
||
|
|
#:get-local-name
|
||
|
|
#:get-peer-name
|
||
|
|
|
||
|
|
#:socket-send ; udp function (send)
|
||
|
|
#:socket-receive ; udp function (receive)
|
||
|
|
|
||
|
|
#:wait-for-input ; waiting for input-ready state (select() like)
|
||
|
|
#:make-wait-list
|
||
|
|
#:add-waiter
|
||
|
|
#:remove-waiter
|
||
|
|
#:remove-all-waiters
|
||
|
|
|
||
|
|
#:with-connected-socket ; convenience macros
|
||
|
|
#:with-server-socket
|
||
|
|
#:with-client-socket
|
||
|
|
#:with-socket-listener
|
||
|
|
|
||
|
|
#:usocket ; socket object and accessors
|
||
|
|
#:stream-usocket
|
||
|
|
#:stream-server-usocket
|
||
|
|
#:socket
|
||
|
|
#:socket-stream
|
||
|
|
#:datagram-usocket
|
||
|
|
#:socket-state ; 0.6.4
|
||
|
|
|
||
|
|
;; predicates (for version 0.6 or 1.0 ?)
|
||
|
|
#:usocket-p
|
||
|
|
#:stream-usocket-p
|
||
|
|
#:stream-server-usocket-p
|
||
|
|
#:datagram-usocket-p
|
||
|
|
|
||
|
|
#:host-byte-order ; IPv4 utility functions
|
||
|
|
#:hbo-to-dotted-quad
|
||
|
|
#:hbo-to-vector-quad
|
||
|
|
#:vector-quad-to-dotted-quad
|
||
|
|
#:dotted-quad-to-vector-quad
|
||
|
|
|
||
|
|
#:vector-to-ipv6-host ; IPv6 utility functions
|
||
|
|
#:ipv6-host-to-vector
|
||
|
|
|
||
|
|
#:ip= ; IPv4+IPv6 utility function
|
||
|
|
#:ip/=
|
||
|
|
|
||
|
|
#:integer-to-octet-buffer ; Network utility functions
|
||
|
|
#:octet-buffer-to-integer
|
||
|
|
#:port-to-octet-buffer
|
||
|
|
#:port-from-octet-buffer
|
||
|
|
#:ip-to-octet-buffer
|
||
|
|
#:ip-from-octet-buffer
|
||
|
|
|
||
|
|
#:with-mapped-conditions
|
||
|
|
|
||
|
|
#:socket-condition ; conditions
|
||
|
|
#:ns-condition
|
||
|
|
#:socket-error ; errors
|
||
|
|
#:ns-error
|
||
|
|
#:unknown-condition
|
||
|
|
#:ns-unknown-condition
|
||
|
|
#:unknown-error
|
||
|
|
#:ns-unknown-error
|
||
|
|
#:socket-warning ; warnings (udp)
|
||
|
|
|
||
|
|
#:insufficient-implementation ; conditions regarding usocket support level
|
||
|
|
#:unsupported
|
||
|
|
#:unimplemented
|
||
|
|
|
||
|
|
#:socket-server
|
||
|
|
#:*remote-host*
|
||
|
|
#:*remote-port*
|
||
|
|
|
||
|
|
;; added in 0.7.1
|
||
|
|
#:get-host-by-name
|
||
|
|
#:get-hosts-by-name
|
||
|
|
#:get-random-host-by-name
|
||
|
|
#:ns-host-not-found-error
|
||
|
|
#:ns-no-recovery-error
|
||
|
|
#:ns-try-again-condition
|
||
|
|
#:default-udp-handler
|
||
|
|
#:default-tcp-handler
|
||
|
|
#:echo-tcp-handler ;; server handlers
|
||
|
|
|
||
|
|
;; added in 0.8.0
|
||
|
|
#:*backend*
|
||
|
|
#:*default-event-base*
|
||
|
|
#:host-to-hostname
|
||
|
|
|
||
|
|
;; these're socket-related conditions from IOlib
|
||
|
|
#:ADDRESS-NOT-AVAILABLE-ERROR #:HOST-DOWN-ERROR
|
||
|
|
#:OPERATION-NOT-SUPPORTED-ERROR #:SOCKET-OPTION
|
||
|
|
#:NETWORK-DOWN-ERROR #:INVALID-SOCKET-ERROR
|
||
|
|
#:SOCKET-TYPE-NOT-SUPPORTED-ERROR #:DEADLINE-TIMEOUT-ERROR
|
||
|
|
#:SHUTDOWN-ERROR #:HOST-UNREACHABLE-ERROR
|
||
|
|
#:NETWORK-UNREACHABLE-ERROR #:CONNECTION-ABORTED-ERROR
|
||
|
|
#:BAD-FILE-DESCRIPTOR-ERROR #:PROTOCOL-NOT-SUPPORTED-ERROR
|
||
|
|
#:CONNECTION-RESET-ERROR #:TIMEOUT-ERROR
|
||
|
|
#:ADDRESS-IN-USE-ERROR #:NO-BUFFERS-ERROR
|
||
|
|
#:INVALID-SOCKET-STREAM-ERROR #:INTERRUPTED-CONDITION
|
||
|
|
#:INVALID-ARGUMENT-ERROR #:OPERATION-NOT-PERMITTED-ERROR
|
||
|
|
#:NETWORK-RESET-ERROR #:CONNECTION-REFUSED-ERROR
|
||
|
|
|
||
|
|
;; added in 0.8.2
|
||
|
|
#:host-or-ip
|
||
|
|
))
|