Changeset View
Changeset View
Standalone View
Standalone View
head/sys/compat/linux/linux_socket.c
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
#include <machine/../linux32/linux.h> | #include <machine/../linux32/linux.h> | ||||
#include <machine/../linux32/linux32_proto.h> | #include <machine/../linux32/linux32_proto.h> | ||||
#else | #else | ||||
#include <machine/../linux/linux.h> | #include <machine/../linux/linux.h> | ||||
#include <machine/../linux/linux_proto.h> | #include <machine/../linux/linux_proto.h> | ||||
#endif | #endif | ||||
#include <compat/linux/linux_common.h> | #include <compat/linux/linux_common.h> | ||||
#include <compat/linux/linux_file.h> | #include <compat/linux/linux_file.h> | ||||
#include <compat/linux/linux_mib.h> | |||||
#include <compat/linux/linux_socket.h> | #include <compat/linux/linux_socket.h> | ||||
#include <compat/linux/linux_timer.h> | #include <compat/linux/linux_timer.h> | ||||
#include <compat/linux/linux_util.h> | #include <compat/linux/linux_util.h> | ||||
static int linux_sendmsg_common(struct thread *, l_int, struct l_msghdr *, | static int linux_sendmsg_common(struct thread *, l_int, struct l_msghdr *, | ||||
l_uint); | l_uint); | ||||
static int linux_recvmsg_common(struct thread *, l_int, struct l_msghdr *, | static int linux_recvmsg_common(struct thread *, l_int, struct l_msghdr *, | ||||
l_uint, struct msghdr *); | l_uint, struct msghdr *); | ||||
▲ Show 20 Lines • Show All 1,336 Lines • ▼ Show 20 Lines | case SO_SNDTIMEO: | ||||
return (kern_setsockopt(td, args->s, level, | return (kern_setsockopt(td, args->s, level, | ||||
name, &tv, UIO_SYSSPACE, sizeof(tv))); | name, &tv, UIO_SYSSPACE, sizeof(tv))); | ||||
/* NOTREACHED */ | /* NOTREACHED */ | ||||
default: | default: | ||||
break; | break; | ||||
} | } | ||||
break; | break; | ||||
case IPPROTO_IP: | case IPPROTO_IP: | ||||
if (args->optname == LINUX_IP_RECVERR && | |||||
linux_ignore_ip_recverr) { | |||||
/* | |||||
* XXX: This is a hack to unbreak DNS resolution | |||||
* with glibc 2.30 and above. | |||||
*/ | |||||
return (0); | |||||
} | |||||
name = linux_to_bsd_ip_sockopt(args->optname); | name = linux_to_bsd_ip_sockopt(args->optname); | ||||
break; | break; | ||||
case IPPROTO_IPV6: | case IPPROTO_IPV6: | ||||
name = linux_to_bsd_ip6_sockopt(args->optname); | name = linux_to_bsd_ip6_sockopt(args->optname); | ||||
break; | break; | ||||
case IPPROTO_TCP: | case IPPROTO_TCP: | ||||
name = linux_to_bsd_tcp_sockopt(args->optname); | name = linux_to_bsd_tcp_sockopt(args->optname); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 227 Lines • Show Last 20 Lines |