Rationale:
The Linux device drivers work this way, and we can’t provide more than what we have to work with. This also makes the OS interface simpler, and may allow the basic operations to be faster due to this simplicity.