anchor.diff:    (error "Sockopt error !"))
   
   ;;
  -;; Set Options
  +;; Set option helpers
   ;;
   
   (defun set-socket-option-bool (fd level option value)
  
positive.code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;; FreeBSD-specific options ;;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (define-socket-option reuse-port         :get-and-set et::so-reuseport    et::sol-socket :bool    :freebsd)
  (define-socket-option use-loopback       :get-and-set et::so-useloopback  et::sol-socket :bool    :freebsd)
  (define-socket-option no-sigpipe         :get-and-set et::so-nosigpipe    et::sol-socket :bool    :freebsd)
  
negative.code:     (values)))
  
  ;;
  ;; Get option helpers
  ;;
  
  (defun get-socket-option-bool (fd level option)
    (with-alien ((optval int)
                 (optlen et:socklen-t))
      (setf optlen et::size-of-int)
      (et:getsockopt fd level option (addr optval) (addr optlen))
      (values (c->lisp-bool optval))))
  
  (defun get-socket-option-int (fd level option)
    (with-alien ((optval int)
                 (optlen et:socklen-t))
      (setf optlen et::size-of-int)
      (et:getsockopt fd level option (addr optval) (addr optlen))
      (values optval)))
  
  (defun get-socket-option-linger (fd level option)
    (with-alien ((optval et:linger)
                 (optlen et:socklen-t))
      (setf optlen et::size-of-linger)
      (et:getsockopt fd level option (addr optval) (addr optlen))
      (values (c->lisp-bool (slot optval 'et:onoff))
              (slot optval 'et:linger))))
  
  (defun get-socket-option-timeval (fd level option)
    (with-alien ((optval et:timeval)
                 (optlen et:socklen-t))
      (setf optlen et::size-of-timeval)
      (et:getsockopt fd level option (addr optval) (addr optlen))
      (values (slot optval 'et:tv-sec)
              (slot optval 'et:tv-usec))))
  
  
  ;;
  ;; Option definitions
  ;;
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defun make-keyword (sym)
  