summaryrefslogtreecommitdiff
path: root/sys/rump/kern/lib/libsys_linux/linux_rump.c
blob: 2b31cf7f67867cf55f64acd2a39f675da65920e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*	$NetBSD: linux_rump.c,v 1.5 2019/01/27 09:19:37 rin Exp $	*/

#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: linux_rump.c,v 1.5 2019/01/27 09:19:37 rin Exp $");

#include <sys/param.h>

#include <compat/linux/common/linux_types.h>
#include <compat/linux/common/linux_signal.h>
#include <compat/linux/linux_syscallargs.h>

#include "rump_linux_syscallargs.h"

int
rump_linux_sys_mknodat(struct lwp *l,
    const struct rump_linux_sys_mknodat_args *uap, register_t *retval)
{
	/* {
		syscallarg(int) fd;
		syscallarg(const char *) path;
		syscallarg(mode_t) mode;
		syscallarg(int) PAD;
		syscallarg(dev_t) dev;
	} */
	struct linux_sys_mknodat_args ua;

	SCARG(&ua, fd) = SCARG(uap, fd);
	SCARG(&ua, path) = SCARG(uap, path);
	SCARG(&ua, mode) = SCARG(uap, mode);
	SCARG(&ua, dev) = SCARG(uap, dev);

	return linux_sys_mknodat(l, &ua, retval);
}