Alfred Perlstein wrote:
> > write() doesn't exist in the kernel. The simple answer is "you're
> > going to have to read what the send() syscall does and emulate it".
> > First, though, you need to answer the question "why do I want to do
> > this in the kernel?"
>
> it actually exists, however the problem is that copyin and friends
> assume a seperate address space, I wonder if one could do some trick
> to alias the seperate address space on top of the kernel, that should
> allow copyin and friends to work on pointers into the kernel's address
> space.
The fix is to use uiomove directly, and pass UIO_SYSSPACE or
UIO_USERSPACE as a parameter, and break the API's for the
system calls themselves into two parts.
I've been complaining for years that people treat the system
call interface as the only possible VFS consumer.
-- Terry
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message