anchor.diff:    "Dispatch correct usocket condition."
     (etypecase condition
       (ext::socket-error
  -     (format t "erron:  ~D~%" (ext::socket-errno condition))
        (scl-map-socket-error (ext::socket-errno condition)
                  :socket socket
                  :condition condition))
  
positive.code: (defmethod get-local-name ((usocket usocket))
    (multiple-value-bind (address port)
        (with-mapped-conditions (usocket)
      (ext:get-socket-host-and-port (socket usocket)))
      (values (hbo-to-vector-quad address) port)))
  
  (defmethod get-peer-name ((usocket usocket))
    (multiple-value-bind (address port)
        (with-mapped-conditions (usocket)
      (ext:get-peer-host-and-port (socket usocket)))
      (values (hbo-to-vector-quad address) port)))
  
  (defmethod get-local-address ((usocket usocket))
  
negative.code:   (multiple-value-bind (host errno)
        (ext:lookup-host-entry (host-byte-order address))
      (cond (host
             (ext:host-entry-name host))
            (t
             (let ((condition (cdr (assoc errno +unix-ns-error-map+))))
               (cond (condition
                      (error condition :host-or-ip address))
                     (t
                      (error 'ns-unknown-error :host-or-ip address
                             :real-error errno))))))))
  
  (defun get-hosts-by-name (name)
    (multiple-value-bind (host errno)
        (ext:lookup-host-entry name)
      (cond (host
             (mapcar #'hbo-to-vector-quad
                     (ext:host-entry-addr-list host)))
            (t
             (let ((condition (cdr (assoc errno +unix-ns-error-map+))))
               (cond (condition
                      (error condition :host-or-ip name))
                     (t
                      (error 'ns-unknown-error :host-or-ip name
                             :real-error errno))))))))
  