Introduce the function iovec_copyin() and it's friend iovec_free().
These remove a great deal of duplicate code in the syscall functions.
For those who like numbers, this patch uses iovec_copyin() four times
in uipc_syscalls.c, two times in linux_socket.c and two times in
43bsd_socket.c. Would somebody please comment on the inclusion of
sys/malloc.h in sys/uio.h?
Remove sockargs() which was used once in the svr4 emulation code. It
is replaced with a small piece of code that gets an mbuf and copyin()'s
to it's data region.
Remove the osendfile() syscall which was inapropriately named and placed
in the COMPAT_43 code where it doesn't belong.
Split the socket(), shutdown() and sendfile() syscalls. All of the
syscalls in kern/uipc_syscalls.c are now split.
Prevent a panic due to m_freem()'ing a dangling pointer in recvmsg(),
orecvmsg(), linux_recvmsg().
This patch completely removes COMPAT_43 from kern/uipc_syscalls.c.
16 files changed: