get-privileged-ports.lisp 626 B

1234567891011121314151617
  1. (in-package :hurd)
  2. (defcfun ("get_privileged_ports" %get-privileged-ports)
  3. err
  4. (host-priv :pointer)
  5. (device-master :pointer))
  6. (defun get-privileged-ports ()
  7. "Fetch the host privileged port and device master port from the process server."
  8. (with-foreign-pointer (host-priv-ptr (foreign-type-size 'host-priv-t))
  9. (with-foreign-pointer (device-master-ptr (foreign-type-size 'device-t))
  10. (select-error (%get-privileged-ports host-priv-ptr device-master-ptr)
  11. (values
  12. (mem-ref host-priv-ptr 'host-priv-t)
  13. (mem-ref device-master-ptr 'device-t))))))