~ubuntu-branches/ubuntu/maverick/cl-kmrcl/maverick

« back to all changes in this revision

Viewing changes to sockets.lisp

  • Committer: Bazaar Package Importer
  • Author(s): Kevin M. Rosenberg
  • Date: 2006-09-22 11:46:17 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20060922114617-vygpfv4t2bb4ufq9
Tags: 1.90-1
New upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
;;;; Programmer:    Kevin M. Rosenberg with excerpts from portableaserve
8
8
;;;; Date Started:  Jun 2003
9
9
;;;;
10
 
;;;; $Id: sockets.lisp 10174 2004-11-28 20:15:20Z kevin $
 
10
;;;; $Id: sockets.lisp 11204 2006-09-22 17:47:39Z kevin $
11
11
;;;; *************************************************************************
12
12
 
13
13
(in-package #:kmrcl)
84
84
    (let ((sock (sb-bsd-sockets:socket-accept listener)))
85
85
      (values
86
86
       (sb-bsd-sockets:socket-make-stream
87
 
        sock :element-type 'base-char :input t :output t)
 
87
        sock :element-type :default :input t :output t)
88
88
       sock)))
89
89
  #+openmcl 
90
90
  (let ((sock (ccl:accept-connection listener :wait t)))
104
104
 
105
105
(defun close-passive-socket (socket)
106
106
  #+allegro (close socket)
107
 
  #+clisp (close socket)
 
107
  #+clisp (ext:socket-server-close socket)
108
108
  #+cmu (unix:unix-close socket)
109
109
  #+sbcl (sb-unix:unix-close
110
110
          (sb-bsd-sockets:socket-file-descriptor socket))
115
115
 
116
116
 
117
117
(defun close-active-socket (socket)
118
 
  (close socket))
 
118
  #+sbcl (sb-bsd-sockets:socket-close socket)
 
119
  #-sbcl (close socket))
119
120
 
120
121
(defun ipaddr-to-dotted (ipaddr &key values)
121
122
  "Convert from 32-bit integer to dotted string."
178
179
    (sb-bsd-sockets:socket-connect sock (lookup-hostname server) port)
179
180
    (values
180
181
     (sb-bsd-sockets:socket-make-stream
181
 
      sock :input t :output t :element-type 'base-char)
 
182
      sock :input t :output t :element-type :default)
182
183
     sock))
183
184
  #+cmu
184
185
  (let ((sock (ext:connect-to-inet-socket server port)))
185
186
    (values
186
187
     (sys:make-fd-stream sock :input t :output t :element-type 'base-char)
187
188
     sock))
 
189
  #+clisp
 
190
  (let ((sock (ext:socket-connect port server)))
 
191
    (values sock sock))
188
192
  #+openmcl
189
193
  (let ((sock (ccl:make-socket :remote-host server :remote-port port )))
190
194
    (values sock sock))
202
206
  #+sbcl (ipaddr-array-to-dotted 
203
207
          (nth-value 0 (sb-bsd-sockets:socket-peername socket)))
204
208
  #+cmu (nth-value 0 (ext:get-peer-host-and-port socket))
 
209
  #+clisp (let* ((peer (ext:socket-stream-peer socket t))
 
210
                (stop (position #\Space peer)))
 
211
           ;; 2.37-2.39 had do-not-resolve-p backwards
 
212
           (if stop (subseq peer 0 stop) peer))
205
213
  #+openmcl (ccl:remote-host socket)
206
214
  )
207
215