r9970: fix package name
[kmrcl.git] / sockets.lisp
index 1f1f3734f4614c289dba17029fa11601e61da072..2fa854759bcfbfe1e4ec8113df8ba34e87817da8 100644 (file)
@@ -46,7 +46,10 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
   #+sbcl
   (listen-to-inet-port :port port :reuse reuse-address)
   #+clisp (ext:socket-server port)
-  #-(or allegro clisp cmu sbcl)
+  #+openmcl 
+  (ccl:make-socket :connect :passive :local-port port
+                  :reuse-address reuse-address)
+  #-(or allegro clisp cmu sbcl openmcl)
   (warn "create-inet-listener not supported on this implementation")
   )
 
@@ -69,7 +72,7 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
     (values sock sock))
   #+clisp
   (let ((sock (ext:socket-accept listener)))
-    (value sock sock))
+    (values sock sock))
   #+cmu
   (progn
     (mp:process-wait-until-fd-usable listener :input)
@@ -83,7 +86,10 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
        (sb-bsd-sockets:socket-make-stream
        sock :element-type 'base-char :input t :output t)
        sock)))
-  #-(or allegro clisp cmu sbcl)
+  #+openmcl 
+  (let ((sock (ccl:accept-connection listener :wait t)))
+    (values sock sock))
+  #-(or allegro clisp cmu sbcl openmcl)
   (warn "accept-tcp-connection not supported on this implementation")
   )
 
@@ -102,7 +108,8 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
   #+cmu (unix:unix-close socket)
   #+sbcl (sb-unix:unix-close
          (sb-bsd-sockets:socket-file-descriptor socket))
-  #-(or allegro clisp cmu sbcl)
+  #+openmcl (close socket)
+  #-(or allegro clisp cmu sbcl openmcl)
   (warn "close-passive-socket not supported on this implementation")
   )
 
@@ -172,10 +179,13 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
       sock :input t :output t :element-type 'base-char)
      sock))
   #+cmu
-  (let ((sock (ext:connect-to-inet-socket host port)))
+  (let ((sock (ext:connect-to-inet-socket server port)))
     (values
      (sys:make-fd-stream sock :input t :output t :element-type 'base-char)
      sock))
+  #+openmcl
+  (let ((sock (ccl:make-socket :remote-host server :remote-port port )))
+    (values sock sock))
   )
 
 (defun ipaddr-array-to-dotted (array)
@@ -190,5 +200,6 @@ setsockopt SO_REUSEADDR if :reuse is not nil"
   #+sbcl (ipaddr-array-to-dotted 
          (nth-value 0 (sb-bsd-sockets:socket-peername socket)))
   #+cmu (nth-value 0 (ext:get-peer-host-and-port socket))
+  #+openmcl (ccl:remote-host socket)
   )