Lines Matching defs:args

99 linux_creat(struct thread *td, struct linux_creat_args *args)
102 return (kern_openat(td, AT_FDCWD, args->path, UIO_USERSPACE,
103 O_WRONLY | O_CREAT | O_TRUNC, args->mode));
207 linux_openat(struct thread *td, struct linux_openat_args *args)
211 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
212 return (linux_common_open(td, dfd, args->filename, args->flags,
213 args->mode, UIO_USERSPACE));
218 linux_open(struct thread *td, struct linux_open_args *args)
221 return (linux_common_open(td, AT_FDCWD, args->path, args->flags,
222 args->mode, UIO_USERSPACE));
228 struct linux_name_to_handle_at_args *args)
239 if (args->flags & ~valid_flags)
242 fd = args->dirfd;
247 if (!(args->flags & LINUX_AT_SYMLINK_FOLLOW))
249 if ((args->flags & LINUX_AT_EMPTY_PATH) != 0)
252 error = kern_getfhat(td, bsd_flags, fd, args->name,
259 error = copyout(&mount_id, args->mnt_id, sizeof(mount_id));
264 error = copyin(&args->handle->handle_bytes, &fh_bytes,
270 error = copyout(&fh_size, &args->handle->handle_bytes,
283 error = copyout(&mount_id, &args->handle->handle_type,
288 error = copyout(&fh, &args->handle->f_handle,
295 struct linux_open_by_handle_at_args *args)
300 error = copyin(&args->handle->handle_bytes, &fh_bytes,
308 bsd_flags = linux_common_openflags(args->flags);
309 return (kern_fhopen(td, (void *)&args->handle->f_handle, bsd_flags));
313 linux_lseek(struct thread *td, struct linux_lseek_args *args)
316 return (kern_lseek(td, args->fdes, args->off, args->whence));
321 linux_llseek(struct thread *td, struct linux_llseek_args *args)
326 off = (args->olow) | (((off_t) args->ohigh) << 32);
328 error = kern_lseek(td, args->fd, off, args->whence);
332 error = copyout(td->td_retval, args->res, sizeof(off_t));
401 linux_getdents(struct thread *td, struct linux_getdents_args *args)
414 buflen = min(args->count, MAXBSIZE);
417 error = kern_getdirentries(td, args->fd, buf, buflen,
420 error = linux_getdents_error(td, args->fd, error);
428 outp = (caddr_t)args->dent;
429 resid = args->count;
478 linux_getdents64(struct thread *td, struct linux_getdents64_args *args)
490 buflen = min(args->count, MAXBSIZE);
493 error = kern_getdirentries(td, args->fd, buf, buflen,
496 error = linux_getdents_error(td, args->fd, error);
505 outp = (caddr_t)args->dirent;
506 resid = args->count;
551 linux_readdir(struct thread *td, struct linux_readdir_args *args)
563 error = kern_getdirentries(td, args->fd, buf, buflen,
566 error = linux_getdents_error(td, args->fd, error);
583 error = copyout(linux_dirent, args->dent, linuxreclen);
600 linux_access(struct thread *td, struct linux_access_args *args)
604 if (args->amode & ~(F_OK | X_OK | W_OK | R_OK))
607 return (kern_accessat(td, AT_FDCWD, args->path, UIO_USERSPACE, 0,
608 args->amode));
627 linux_faccessat(struct thread *td, struct linux_faccessat_args *args)
630 return (linux_do_accessat(td, args->dfd, args->filename, args->amode,
635 linux_faccessat2(struct thread *td, struct linux_faccessat2_args *args)
639 unsupported = args->flags & ~(LINUX_AT_EACCESS | LINUX_AT_EMPTY_PATH |
646 flags = (args->flags & LINUX_AT_EACCESS) == 0 ? 0 :
648 flags |= (args->flags & LINUX_AT_EMPTY_PATH) == 0 ? 0 :
650 flags |= (args->flags & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 :
652 return (linux_do_accessat(td, args->dfd, args->filename, args->amode,
659 linux_unlink(struct thread *td, struct linux_unlink_args *args)
664 error = kern_funlinkat(td, AT_FDCWD, args->path, FD_NONE,
668 if (kern_statat(td, 0, AT_FDCWD, args->path,
681 int dfd, struct linux_unlinkat_args *args)
686 if (args->flag & LINUX_AT_REMOVEDIR)
690 if (error == EPERM && !(args->flag & LINUX_AT_REMOVEDIR)) {
700 linux_unlinkat(struct thread *td, struct linux_unlinkat_args *args)
704 if (args->flag & ~LINUX_AT_REMOVEDIR)
706 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
707 return (linux_unlinkat_impl(td, UIO_USERSPACE, args->pathname,
708 dfd, args));
712 linux_chdir(struct thread *td, struct linux_chdir_args *args)
715 return (kern_chdir(td, args->path, UIO_USERSPACE));
720 linux_chmod(struct thread *td, struct linux_chmod_args *args)
723 return (kern_fchmodat(td, AT_FDCWD, args->path, UIO_USERSPACE,
724 args->mode, 0));
729 linux_fchmodat(struct thread *td, struct linux_fchmodat_args *args)
733 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
734 return (kern_fchmodat(td, dfd, args->filename, UIO_USERSPACE,
735 args->mode, 0));
740 linux_mkdir(struct thread *td, struct linux_mkdir_args *args)
743 return (kern_mkdirat(td, AT_FDCWD, args->path, UIO_USERSPACE, args->mode));
748 linux_mkdirat(struct thread *td, struct linux_mkdirat_args *args)
752 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
753 return (kern_mkdirat(td, dfd, args->pathname, UIO_USERSPACE, args->mode));
758 linux_rmdir(struct thread *td, struct linux_rmdir_args *args)
761 return (kern_frmdirat(td, AT_FDCWD, args->path, FD_NONE,
766 linux_rename(struct thread *td, struct linux_rename_args *args)
769 return (kern_renameat(td, AT_FDCWD, args->from, AT_FDCWD,
770 args->to, UIO_USERSPACE));
775 linux_renameat(struct thread *td, struct linux_renameat_args *args)
778 .olddfd = args->olddfd,
779 .oldname = args->oldname,
780 .newdfd = args->newdfd,
781 .newname = args->newname,
789 linux_renameat2(struct thread *td, struct linux_renameat2_args *args)
793 if (args->flags != 0) {
794 if (args->flags & ~(LINUX_RENAME_EXCHANGE |
797 if (args->flags & LINUX_RENAME_EXCHANGE &&
798 args->flags & (LINUX_RENAME_NOREPLACE |
809 args->flags);
814 olddfd = (args->olddfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->olddfd;
815 newdfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd;
816 return (kern_renameat(td, olddfd, args->oldname, newdfd,
817 args->newname, UIO_USERSPACE));
822 linux_symlink(struct thread *td, struct linux_symlink_args *args)
825 return (kern_symlinkat(td, args->path, AT_FDCWD, args->to,
831 linux_symlinkat(struct thread *td, struct linux_symlinkat_args *args)
835 dfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd;
836 return (kern_symlinkat(td, args->oldname, dfd, args->newname,
842 linux_readlink(struct thread *td, struct linux_readlink_args *args)
845 if (args->count <= 0)
848 return (kern_readlinkat(td, AT_FDCWD, args->name, UIO_USERSPACE,
849 args->buf, UIO_USERSPACE, args->count));
854 linux_readlinkat(struct thread *td, struct linux_readlinkat_args *args)
858 if (args->bufsiz <= 0)
861 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
862 return (kern_readlinkat(td, dfd, args->path, UIO_USERSPACE,
863 args->buf, UIO_USERSPACE, args->bufsiz));
867 linux_truncate(struct thread *td, struct linux_truncate_args *args)
870 return (kern_truncate(td, args->path, UIO_USERSPACE, args->length));
875 linux_truncate64(struct thread *td, struct linux_truncate64_args *args)
880 length = PAIR32TO64(off_t, args->length);
882 length = args->length;
885 return (kern_truncate(td, args->path, UIO_USERSPACE, length));
890 linux_ftruncate(struct thread *td, struct linux_ftruncate_args *args)
893 return (kern_ftruncate(td, args->fd, args->length));
898 linux_ftruncate64(struct thread *td, struct linux_ftruncate64_args *args)
903 length = PAIR32TO64(off_t, args->length);
905 length = args->length;
908 return (kern_ftruncate(td, args->fd, length));
914 linux_link(struct thread *td, struct linux_link_args *args)
917 return (kern_linkat(td, AT_FDCWD, AT_FDCWD, args->path, args->to,
923 linux_linkat(struct thread *td, struct linux_linkat_args *args)
927 if (args->flag & ~(LINUX_AT_SYMLINK_FOLLOW | LINUX_AT_EMPTY_PATH))
930 flag = (args->flag & LINUX_AT_SYMLINK_FOLLOW) != 0 ? AT_SYMLINK_FOLLOW :
932 flag |= (args->flag & LINUX_AT_EMPTY_PATH) != 0 ? AT_EMPTY_PATH : 0;
934 olddfd = (args->olddfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->olddfd;
935 newdfd = (args->newdfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->newdfd;
936 return (kern_linkat(td, olddfd, newdfd, args->oldname,
937 args->newname, UIO_USERSPACE, flag));
1075 linux_mount(struct thread *td, struct linux_mount_args *args)
1085 error = copyinstr(args->filesystemtype, fstypename, MNAMELEN - 1,
1089 if (args->specialfile != NULL) {
1090 error = copyinstr(args->specialfile, mntfromname, MNAMELEN - 1, NULL);
1096 error = copyinstr(args->dir, mntonname, MNAMELEN - 1, NULL);
1113 error = copyinstr(args->data, data, MNAMELEN - 1, NULL);
1138 if (args->rwflag & LINUX_MS_RDONLY)
1140 if (args->rwflag & LINUX_MS_NOSUID)
1142 if (args->rwflag & LINUX_MS_NOEXEC)
1144 if (args->rwflag & LINUX_MS_REMOUNT)
1161 linux_oldumount(struct thread *td, struct linux_oldumount_args *args)
1164 return (kern_unmount(td, args->path, 0));
1170 linux_umount(struct thread *td, struct linux_umount_args *args)
1175 if ((args->flags & LINUX_MNT_FORCE) != 0) {
1176 args->flags &= ~LINUX_MNT_FORCE;
1179 if (args->flags != 0) {
1180 linux_msg(td, "unsupported umount2 flags %#x", args->flags);
1184 return (kern_unmount(td, args->path, flags));
1307 fcntl_common(struct thread *td, struct linux_fcntl_args *args)
1316 switch (args->cmd) {
1318 return (kern_fcntl(td, args->fd, F_DUPFD, args->arg));
1321 return (kern_fcntl(td, args->fd, F_GETFD, 0));
1324 return (kern_fcntl(td, args->fd, F_SETFD, args->arg));
1327 error = kern_fcntl(td, args->fd, F_GETFL, 0);
1356 if (args->arg & LINUX_O_NDELAY)
1358 if (args->arg & LINUX_O_APPEND)
1360 if (args->arg & LINUX_O_SYNC)
1362 if (args->arg & LINUX_O_ASYNC)
1365 if (args->arg & LINUX_O_NOFOLLOW)
1369 if (args->arg & LINUX_O_DIRECT)
1372 return (kern_fcntl(td, args->fd, F_SETFL, arg));
1375 error = copyin((void *)args->arg, &linux_flock,
1380 error = kern_fcntl(td, args->fd, F_GETLK, (intptr_t)&bsd_flock);
1384 return (copyout(&linux_flock, (void *)args->arg,
1388 error = copyin((void *)args->arg, &linux_flock,
1393 return (kern_fcntl(td, args->fd, F_SETLK,
1397 error = copyin((void *)args->arg, &linux_flock,
1402 return (kern_fcntl(td, args->fd, F_SETLKW,
1406 return (kern_fcntl(td, args->fd, F_GETOWN, 0));
1414 error = fget(td, args->fd,
1424 return (kern_fcntl(td, args->fd, F_SETOWN, args->arg));
1427 return (kern_fcntl(td, args->fd, F_DUPFD_CLOEXEC, args->arg));
1433 error = kern_fcntl(td, args->fd, F_GET_SEALS, 0);
1441 return (kern_fcntl(td, args->fd, F_ADD_SEALS,
1442 linux_to_bsd_bits(args->arg, seal_bitmap, 0)));
1445 error = fget(td, args->fd,
1459 linux_msg(td, "unsupported fcntl cmd %d", args->cmd);
1465 linux_fcntl(struct thread *td, struct linux_fcntl_args *args)
1468 return (fcntl_common(td, args));
1473 linux_fcntl64(struct thread *td, struct linux_fcntl64_args *args)
1480 switch (args->cmd) {
1482 error = copyin((void *)args->arg, &linux_flock,
1487 error = kern_fcntl(td, args->fd, F_GETLK, (intptr_t)&bsd_flock);
1491 return (copyout(&linux_flock, (void *)args->arg,
1495 error = copyin((void *)args->arg, &linux_flock,
1500 return (kern_fcntl(td, args->fd, F_SETLK,
1504 error = copyin((void *)args->arg, &linux_flock,
1509 return (kern_fcntl(td, args->fd, F_SETLKW,
1513 fcntl_args.fd = args->fd;
1514 fcntl_args.cmd = args->cmd;
1515 fcntl_args.arg = args->arg;
1522 linux_chown(struct thread *td, struct linux_chown_args *args)
1525 return (kern_fchownat(td, AT_FDCWD, args->path, UIO_USERSPACE,
1526 args->uid, args->gid, 0));
1531 linux_fchownat(struct thread *td, struct linux_fchownat_args *args)
1535 unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
1541 flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) == 0 ? 0 :
1543 flag |= (args->flag & LINUX_AT_EMPTY_PATH) == 0 ? 0 :
1546 dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd;
1547 return (kern_fchownat(td, dfd, args->filename, UIO_USERSPACE,
1548 args->uid, args->gid, flag));
1553 linux_lchown(struct thread *td, struct linux_lchown_args *args)
1556 return (kern_fchownat(td, AT_FDCWD, args->path, UIO_USERSPACE, args->uid,
1557 args->gid, AT_SYMLINK_NOFOLLOW));
1583 linux_fadvise64(struct thread *td, struct linux_fadvise64_args *args)
1589 offset = PAIR32TO64(off_t, args->offset);
1591 offset = args->offset;
1594 advice = convert_fadvice(args->advice);
1597 return (kern_posix_fadvise(td, args->fd, offset, args->len, advice));
1602 linux_fadvise64_64(struct thread *td, struct linux_fadvise64_64_args *args)
1608 len = PAIR32TO64(off_t, args->len);
1609 offset = PAIR32TO64(off_t, args->offset);
1611 len = args->len;
1612 offset = args->offset;
1615 advice = convert_fadvice(args->advice);
1618 return (kern_posix_fadvise(td, args->fd, offset, len, advice));
1624 linux_pipe(struct thread *td, struct linux_pipe_args *args)
1633 error = copyout(fildes, args->pipefds, sizeof(fildes));
1644 linux_pipe2(struct thread *td, struct linux_pipe2_args *args)
1649 if ((args->flags & ~(LINUX_O_NONBLOCK | LINUX_O_CLOEXEC)) != 0)
1653 if ((args->flags & LINUX_O_NONBLOCK) != 0)
1655 if ((args->flags & LINUX_O_CLOEXEC) != 0)
1661 error = copyout(fildes, args->pipefds, sizeof(fildes));
1671 linux_dup3(struct thread *td, struct linux_dup3_args *args)
1676 if (args->oldfd == args->newfd)
1678 if ((args->flags & ~LINUX_O_CLOEXEC) != 0)
1680 if (args->flags & LINUX_O_CLOEXEC)
1685 newfd = args->newfd;
1686 return (kern_fcntl(td, args->oldfd, cmd, newfd));
1690 linux_fallocate(struct thread *td, struct linux_fallocate_args *args)
1698 if (args->mode != 0)
1702 len = PAIR32TO64(off_t, args->len);
1703 offset = PAIR32TO64(off_t, args->offset);
1705 len = args->len;
1706 offset = args->offset;
1709 return (kern_posix_fallocate(td, args->fd, offset, len));
1714 *args)
1723 if (args->flags != 0) {
1725 args->flags);
1730 if (args->off_in != NULL) {
1731 error = copyin(args->off_in, &inoff, sizeof(l_loff_t));
1736 if (args->off_out != NULL) {
1737 error = copyin(args->off_out, &outoff, sizeof(l_loff_t));
1743 error = kern_copy_file_range(td, args->fd_in, inoffp, args->fd_out,
1744 outoffp, args->len, flags);
1745 if (error == 0 && args->off_in != NULL)
1746 error = copyout(inoffp, args->off_in, sizeof(l_loff_t));
1747 if (error == 0 && args->off_out != NULL)
1748 error = copyout(outoffp, args->off_out, sizeof(l_loff_t));
1755 linux_memfd_create(struct thread *td, struct linux_memfd_create_args *args)
1766 error = copyinstr(args->uname_ptr,
1776 flags = linux_to_bsd_bits(args->flags, mfd_bitmap, 0);
1797 linux_splice(struct thread *td, struct linux_splice_args *args)
1811 linux_close_range(struct thread *td, struct linux_close_range_args *args)
1827 if ((args->flags & ~(LINUX_CLOSE_RANGE_CLOEXEC)) != 0)
1829 if (args->first > args->last)
1831 if ((args->flags & LINUX_CLOSE_RANGE_CLOEXEC) != 0)
1833 return (kern_close_range(td, flags, args->first, args->last));
1852 linux_write(struct thread *td, struct linux_write_args *args)
1855 .fd = args->fd,
1856 .buf = args->buf,
1857 .nbyte = args->nbyte,
1860 return (linux_enobufs2eagain(td, args->fd, sys_write(td, &bargs)));
1864 linux_writev(struct thread *td, struct linux_writev_args *args)
1870 error = freebsd32_copyinuio(PTRIN(args->iovp), args->iovcnt, &auio);
1872 error = copyinuio(args->iovp, args->iovcnt, &auio);
1876 error = kern_writev(td, args->fd, auio);
1878 return (linux_enobufs2eagain(td, args->fd, error));