anchor.diff:  	((null enodes) elist)
         (push (list :dir (export-node-dir enodes)
                     :groups 
  -                  (do ((groups (export-node-groups enodes) (group-node-next groups))
  +                  (do ((groups (export-node-groups enodes) (getf groups :next))
                          (glist nil))
                         ((null groups) glist)
  -                    (push (group-node-name groups) glist)))
  -	    elist))))
  +                    (push (getf groups :name) glist)))
  +	    elist)))
  +  (:documentation "Returns a list of the exported filesystems from the NFS server."))
   
   (defhandler %handle-export (void 5)
     (declare (ignore void))
  
positive.code: (defrpc call-unmount 3 dir-path :void
    (:arg-transformer (dpath) dpath))
  
  ;; FIXME: when we support keeping a list of mounted clients we should 
  ;; remove the client from this list 
  (defhandler %handle-unmount (dpath 3)
    (let ((provider (nefarious:find-provider dpath)))
      (cond
        (provider
         ;; remove the client from the provider's client list 
         (setf (nefarious:provider-clients provider)
  	     (remove *rpc-remote-host* (nefarious:provider-clients provider) 
  		     :test #'equalp))
         ;; tell the provider about it 
         (nefarious:nfs-provider-unmount provider *rpc-remote-host*)
         nil)
        (t 
         nil))))
  
negative.code: ;; export -- return export list 
  (defxtype* groups () (:optional group-node))
  
  (defxtype* group-node () 
    (:plist :name name :next groups))
  
  (defxtype* exports () (:optional export-node))
  
  