io-wrapper.lisp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. (in-package :hurd-translator)
  2. (defcenum io-routine-code
  3. :IO-WRITE
  4. :IO-READ
  5. :IO-SEEK
  6. :IO-READABLE
  7. :IO-SET-ALL-OPENMODES
  8. :IO-GET-OPENMODES
  9. :IO-SET-SOME-OPENMODES
  10. :IO-CLEAR-SOME-OPENMODES
  11. :IO-ASYNC
  12. :IO-MOD-OWNER
  13. :IO-GET-OWNER
  14. :IO-GET-ICKY-ASYNC-ID
  15. :IO-SELECT
  16. :IO-STAT
  17. :IO-REAUTHENTICATE
  18. :IO-RESTRICT-AUTH
  19. :IO-DUPLICATE
  20. :IO-SERVER-VERSION
  21. :IO-MAP
  22. :IO-MAP-CNTL
  23. :IO-GET-CONCH
  24. :IO-RELEASE-CONCH
  25. :IO-EOFNOTIFY
  26. :IO-PRENOTIFY
  27. :IO-POSTNOTIFY
  28. :IO-READNOTIFY
  29. :IO-READSLEEP
  30. :IO-SIGIO
  31. :IO-PATHCONF
  32. :IO-IDENTITY
  33. :IO-REVOKE)
  34. (defcfun ("set_io_routine" %set-io-routine) :void
  35. (what io-routine-code)
  36. (fun :pointer))
  37. ; special setf form
  38. (defun set-io-routine (what fun)
  39. "Sets the 'what' routine as the 'fun' function."
  40. (declare (type symbol what))
  41. (%set-io-routine what fun))
  42. (defsetf io-routine set-io-routine)
  43. (defcfun ("get_io_info" %get-io-info) :void)
  44. (defcfun ("lisp_io_server" %lisp-io-server) :boolean
  45. (in :pointer)
  46. (out :pointer))
  47. (defun io-server (in out)
  48. "The IO server."
  49. (%lisp-io-server in out))