anchor.diff:  
   #+(and sbcl win32)
   (eval-when (:compile-toplevel)
  -  (defconstant +wait-failed+ -1) ; #xffffffff
  -  (defconstant +wait-object-0+ 0)
  -  (defconstant +wait-timeout+ 258))
  +  (defconstant +wsa-wait-failed+ #xffffffff)
  +  (defconstant +wsa-wait-event-0+ 0)
  +  (defconstant +wsa-wait-timeout+ 258))
   
   #+(and sbcl win32)
   (progn
  
positive.code:       (error-code (array sb-alien:int 10)))) ; 10 = fd-max-events
  
    (sb-alien:define-alien-routine ("WSACreateEvent" wsa-event-create)
        sb-alien::hinstance) ; return type only
  
    (sb-alien:define-alien-routine ("WSACloseEvent" wsa-event-close)
        (sb-alien:boolean #.sb-vm::n-machine-word-bits)
      (event-object sb-alien::hinstance))
  
    (sb-alien:define-alien-routine ("WSAEnumNetworkEvents" wsa-enum-network-events)
        sb-alien:int
      (socket ws-socket)
      (event-object sb-alien::hinstance)
      (network-events (* (sb-alien:struct wsa-network-events))))
  
    (sb-alien:define-alien-routine ("WSAEventSelect" wsa-event-select)
        sb-alien:int
      (socket ws-socket)
      (event-object sb-alien::hinstance)
      (network-events sb-alien:long))
  
    (sb-alien:define-alien-routine ("WaitForSingleObject" wait-for-single-object)
        sb-alien:long
      (object sb-alien::hinstance)
      (timeout sb-alien:long))
  
    (sb-alien:define-alien-routine ("ioctlsocket" wsa-ioctlsocket)
        sb-alien:int
  
negative.code: #+ecl
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (require :sockets))
  
  #+sbcl
  (progn
  