anchor.diff:    (error "Sockopt error !"))
   
   ;;
  -;; Set Options
  +;; Set option helpers
   ;;
   
   (defun set-socket-option-bool (fd level option value)
  
positive.code:                         (,helper-set (socket-fd socket) ,level ,optname ,@args))
                       `(error 'option-not-available option-name)))))))))
  
  (define-socket-option accept-connections :get         et::so-acceptconn   et::sol-socket :bool    :unix)
  (define-socket-option broadcast          :get-and-set et::so-broadcast    et::sol-socket :bool    :unix)
  (define-socket-option debug              :get-and-set et::so-debug        et::sol-socket :bool    :unix)
  
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)
  