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