file-getlinknode.lisp 463 B

123456789101112131415
  1. (in-package :hurd-translator)
  2. (def-fs-interface :file-getlinknode ((port port)
  3. (ret-port port-pointer)
  4. (ret-type :pointer))
  5. (with-lookup protid port
  6. (block file-getlinknode
  7. (when (eq (root *translator*) (get-node protid))
  8. (return-from file-getlinknode :resource-busy))
  9. (setf (mem-ref ret-port 'port) (get-right protid))
  10. (setf (mem-ref ret-type 'msg-type-name) :make-send)
  11. t)))