X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fsb-bsd-sockets%2Fdefpackage.lisp;h=5dfafa0d735d2235110c90cc3e060da0d17d5551;hb=a01e7ac2e8a9f3afae8f759381a0829fceb5bfde;hp=fbd9bd99afc042823f512a8a0ba7bef84db1381a;hpb=4898ef32c639b1c7f4ee13a5ba566ce6debd03e6;p=sbcl.git diff --git a/contrib/sb-bsd-sockets/defpackage.lisp b/contrib/sb-bsd-sockets/defpackage.lisp index fbd9bd9..5dfafa0 100644 --- a/contrib/sb-bsd-sockets/defpackage.lisp +++ b/contrib/sb-bsd-sockets/defpackage.lisp @@ -1,32 +1,14 @@ +#+(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) - #+cmu (:shadowing-import-from "CL" with-array-data) - #+sbcl (:shadowing-import-from "SB-KERNEL" with-array-data) - #+cmu (:use "COMMON-LISP" "ALIEN" "SYSTEM" "EXT" "C-CALL") - #+sbcl (:use "COMMON-LISP" "SB-ALIEN" #+nil "SB-SYSTEM" "SB-EXT" "SB-C-CALL")) - -;;; SBCL changes a lot of package prefixes. To avoid littering the -;;; code with conditionals, we use the SBCL package prefixes -;;; throughout. This means that we need to create said packages -;;; first, if we're using CMUCL - -;;; One thing that this exercise really has made clear is just how much -;;; of the alien stuff is scattered around the cmucl package space -;;; seemingly at random. Hmm. - -#+cmu -(eval-when (:compile-toplevel :load-toplevel) - (defun add-package-nickname (name nickname) - (let ((p (find-package name))) - (rename-package p (package-name p) - (cons nickname (package-nicknames name))))) - (add-package-nickname "EXT" "SB-EXT") - (add-package-nickname "ALIEN" "SB-ALIEN") - (add-package-nickname "UNIX" "SB-UNIX") - (add-package-nickname "C-CALL" "SB-C-CALL") - (add-package-nickname "KERNEL" "SB-KERNEL") - (add-package-nickname "SYSTEM" "SB-SYS")) + (:shadowing-import-from "SB-KERNEL" with-array-data) + (:use "COMMON-LISP" "SB-ALIEN" "SB-EXT" "SB-C-CALL")) (defpackage "SB-BSD-SOCKETS" (:export socket local-socket inet-socket @@ -43,6 +25,7 @@ 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 @@ -50,6 +33,8 @@ try-again-error no-recovery-error + unknown-protocol + ;; all socket options are also exported, by code in ;; sockopt.lisp @@ -76,55 +61,16 @@ arguments to fit Lisp style more closely. " )) -#|| - -
Most of the functions are modelled on the BSD socket API. BSD sockets -are widely supported, portably ("portable" by Unix standards, at least) -available on a variety of systems, and documented. There are some -differences in approach where we have taken advantage of some of the more useful features of Common Lisp - briefly - -