Example #1
0
int
sys_dup2(struct lwp *l, const struct sys_dup2_args *uap, register_t *retval)
{
	/* {
		syscallarg(int)	from;
		syscallarg(int)	to;
	} */
	return dodup(l, SCARG(uap, from), SCARG(uap, to), 0, retval);
}
Example #2
0
int
linux_sys_dup3(struct lwp *l, const struct linux_sys_dup3_args *uap,
    register_t *retval)
{
	/* {
		syscallarg(int) from;
		syscallarg(int) to;
		syscallarg(int) flags;
	} */
	int flags;

	flags = linux_to_bsd_ioflags(SCARG(uap, flags));
	if ((flags & ~O_CLOEXEC) != 0)
		return EINVAL;

	if (SCARG(uap, from) == SCARG(uap, to))
		return EINVAL;

	return dodup(l, SCARG(uap, from), SCARG(uap, to), flags, retval);
}