xref: /netbsd-src/sys/compat/common/uipc_syscalls_30.c (revision d91f98a8715141154279122ae81737cb65179572)
1 /*	$NetBSD: uipc_syscalls_30.c,v 1.4 2019/01/27 02:08:39 pgoyette Exp $	*/
2 
3 /* written by Pavel Cahyna, 2006. Public domain. */
4 
5 #include <sys/cdefs.h>
6 __KERNEL_RCSID(0, "$NetBSD: uipc_syscalls_30.c,v 1.4 2019/01/27 02:08:39 pgoyette Exp $");
7 
8 #if defined(_KERNEL_OPT)
9 #include "opt_compat_netbsd.h"
10 #endif
11 
12 /*
13  * System call interface to the socket abstraction.
14  */
15 
16 #include <sys/param.h>
17 #include <sys/kernel.h>
18 #include <sys/msg.h>
19 #include <sys/sysctl.h>
20 #include <sys/mount.h>
21 #include <sys/syscall.h>
22 #include <sys/syscallvar.h>
23 #include <sys/syscallargs.h>
24 #include <sys/errno.h>
25 
26 #include <compat/common/compat_mod.h>
27 
28 static const struct syscall_package uipc_syscalls_30_syscalls[] = {
29 	{ SYS_compat_30_socket, 0, (sy_call_t *)compat_30_sys_socket },
30 	{ 0, 0, NULL}
31 };
32 
33 int
compat_30_sys_socket(struct lwp * l,const struct compat_30_sys_socket_args * uap,register_t * retval)34 compat_30_sys_socket(struct lwp *l,
35     const struct compat_30_sys_socket_args *uap, register_t *retval)
36 {
37 	int	error;
38 
39 	error = sys___socket30(l, (const void *)uap, retval);
40 	if (error == EAFNOSUPPORT)
41 		error = EPROTONOSUPPORT;
42 
43 	return (error);
44 }
45 
46 int
uipc_syscalls_30_init(void)47 uipc_syscalls_30_init(void)
48 {
49 
50 	return syscall_establish(NULL, uipc_syscalls_30_syscalls);
51 }
52 
53 int
uipc_syscalls_30_fini(void)54 uipc_syscalls_30_fini(void)
55 {
56 
57 	return syscall_disestablish(NULL, uipc_syscalls_30_syscalls);
58 }
59