anchor.diff:    (:ok 0)
     (:notfound 1)
     (:error 2))
  +
  +(define-condition rpcmq-error (error)
  +  ()
  +  (:report (lambda (c stream) 
  +	     (declare (ignore c))
  +	     (format stream "RPCMQ-ERROR"))))
  +
  +(define-condition queue-not-found-error (rpcmq-error)
  +  ()
  +  (:report (lambda (c stream) 
  +	     (declare (ignore c))
  +	     (format stream "RPCMQ queue not found"))))
   
   ;; ------------------------------
   
  
positive.code:           (:ok :uint32)
            (otherwise :void))
    (:arg-transformer (handle data) (list handle data))
    (:transformer (res) (xunion-val res))
    (:program rpcmq 1)
    (:handler #'handle-post)
    (:documentation "Post a message to the remote message queue."))
  
negative.code:   (:arg-transformer (name)
                      name)
    (:transformer (res)
      (case (xunion-tag res)
        (:ok (xunion-val res))
        (:notfound (error 'queue-not-found-error))
        (t (error 'rmcpq-error))))
    (:program rpcmq 1)
    (:handler #'handle-open)
    (:documentation "Open a handle to the remote message queue. 
  