-#+(and sbcl win32)
-(defpackage "SB-WIN32-SOCKETS-INTERNAL"
- (:nicknames "WIN32SOCKINT")
- (:shadow close listen)
- (:use "COMMON-LISP" "SB-ALIEN" "SB-EXT" "SB-C-CALL"))
-
(defpackage "SB-BSD-SOCKETS-INTERNAL"
(:nicknames "SOCKINT")
(:shadow close listen)
(:shadowing-import-from "SB-KERNEL" with-array-data)
- (:use "COMMON-LISP" "SB-ALIEN" "SB-EXT" "SB-C-CALL"))
+ (:use "COMMON-LISP" "SB-ALIEN" "SB-EXT"))
(defpackage "SB-BSD-SOCKETS"
- (:export socket local-socket inet-socket
+ (:export socket local-socket local-abstract-socket inet-socket
make-local-socket make-inet-socket
socket-bind socket-accept socket-connect
- socket-send socket-receive socket-recv
+ socket-send socket-receive
socket-name socket-peername socket-listen
socket-close socket-file-descriptor
socket-family socket-protocol socket-open-p
host-ent-addresses host-ent-address
host-ent-aliases host-ent-name
name-service-error
- getaddrinfo
;; not sure if these are really good names or not
netdb-internal-error
netdb-success-error
make-inet-address
- non-blocking-mode
- )
+ non-blocking-mode)
(:use "COMMON-LISP" "SB-BSD-SOCKETS-INTERNAL")
(:import-from "SB-INT" "UNSUPPORTED-OPERATOR" "FEATUREP")
(:documentation
- "
-
-A thinly-disguised BSD socket API for SBCL. Ideas stolen from the BSD
+ "A thinly-disguised BSD socket API for SBCL. Ideas stolen from the BSD
socket API for C and Graham Barr's IO::Socket classes for Perl.
We represent sockets as CLOS objects, and rename a lot of methods and
-arguments to fit Lisp style more closely.
-
-"
- ))
+arguments to fit Lisp style more closely."))
;;; gethostbyname/gethostbyaddr are generally not thread safe. POSIX
;;; 1003.1-2003 defines an alternative API, which is specified in the
;;; gethostbyname and gethostbyaddr.
;;;
;;; CLH: getaddrinfo seems to be broken is broken on x86-64/darwin
-#-(and x86-64 darwin)
+#-(or win32 (and x86-64 darwin))
(let ((addr (sb-alien::find-dynamic-foreign-symbol-address "getaddrinfo")))
(when addr
(pushnew :sb-bsd-sockets-addrinfo *features*)))