diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2007-02-01 13:36:19 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2007-02-01 13:36:19 +0000 |
| commit | d0b2365eec477912247167a671a82d2d6028cbd9 (patch) | |
| tree | 611522f00adc4f98a7c06a3d071adcf3730527b6 /sys/compat/linux | |
| parent | 75ee4e546263d0f875566296df0a1044089041ef (diff) | |
Notes
Diffstat (limited to 'sys/compat/linux')
| -rw-r--r-- | sys/compat/linux/linux_socket.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 174fba6cc47f..9a90c574de98 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -49,6 +49,7 @@ __FBSDID("$FreeBSD$"); #include <sys/syscallsubr.h> #include <sys/uio.h> #include <sys/syslog.h> +#include <sys/un.h> #include <netinet/in.h> #include <netinet/in_systm.h> @@ -292,6 +293,20 @@ linux_to_bsd_so_sockopt(int opt) return (SO_OOBINLINE); case LINUX_SO_LINGER: return (SO_LINGER); + case LINUX_SO_PEERCRED: + return (LOCAL_PEERCRED); + case LINUX_SO_RCVLOWAT: + return (SO_RCVLOWAT); + case LINUX_SO_SNDLOWAT: + return (SO_SNDLOWAT); + case LINUX_SO_RCVTIMEO: + return (SO_RCVTIMEO); + case LINUX_SO_SNDTIMEO: + return (SO_SNDTIMEO); + case LINUX_SO_TIMESTAMP: + return (SO_TIMESTAMP); + case LINUX_SO_ACCEPTCONN: + return (SO_ACCEPTCONN); } return (-1); } @@ -1048,6 +1063,9 @@ linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) if ((error = copyin(args, &linux_args, sizeof(linux_args)))) return (error); + if ((error = copyin(PTRIN(args->msg), &msg, sizeof (msg)))) + return (error); + bsd_args.s = linux_args.s; bsd_args.msg = PTRIN(linux_args.msg); bsd_args.flags = linux_to_bsd_msg_flags(linux_args.flags); |
