Lines Matching refs:newfd
571 int newfd = -1; in dfs_fdtable_dup() local
599 newfd = fdt_fd_new(fdt_dst); in dfs_fdtable_dup()
600 if (newfd >= 0) in dfs_fdtable_dup()
602 fdt_dst->fds[newfd]->mode = fdt_src->fds[fd_src]->mode; in dfs_fdtable_dup()
603 fdt_dst->fds[newfd]->flags = fdt_src->fds[fd_src]->flags; in dfs_fdtable_dup()
604 fdt_dst->fds[newfd]->fops = fdt_src->fds[fd_src]->fops; in dfs_fdtable_dup()
605 fdt_dst->fds[newfd]->dentry = dfs_dentry_ref(fdt_src->fds[fd_src]->dentry); in dfs_fdtable_dup()
606 fdt_dst->fds[newfd]->vnode = fdt_src->fds[fd_src]->vnode; in dfs_fdtable_dup()
607 fdt_dst->fds[newfd]->mmap_context = RT_NULL; in dfs_fdtable_dup()
608 fdt_dst->fds[newfd]->data = fdt_src->fds[fd_src]->data; in dfs_fdtable_dup()
613 if (!fdt_dst->fds[newfd]->dentry) in dfs_fdtable_dup()
615 rt_atomic_add(&(fdt_dst->fds[newfd]->vnode->ref_count), 1); in dfs_fdtable_dup()
622 return newfd; in dfs_fdtable_dup()
671 int newfd = -1; in dfs_dup() local
691 newfd = _fdt_slot_alloc(fdt, startfd); in dfs_dup()
692 if (newfd >= 0) in dfs_dup()
694 fdt->fds[newfd] = fdt->fds[oldfd]; in dfs_dup()
697 rt_atomic_add(&(fdt->fds[newfd]->ref_count), 1); in dfs_dup()
701 return newfd; in dfs_dup()
714 int newfd = -1; in dfs_dup_to() local
738 newfd = _fdt_slot_alloc(fdtab, DFS_STDIO_OFFSET); in dfs_dup_to()
739 if (newfd >= 0) in dfs_dup_to()
741 fdtab->fds[newfd] = fdt->fds[oldfd]; in dfs_dup_to()
744 rt_atomic_add(&(fdtab->fds[newfd]->ref_count), 1); in dfs_dup_to()
749 return newfd; in dfs_dup_to()
762 int newfd = -1; in dfs_dup_from() local
785 newfd = fd_new(); in dfs_dup_from()
786 file = fd_get(newfd); in dfs_dup_from()
787 if (newfd >= 0 && file) in dfs_dup_from()
804 return newfd; in dfs_dup_from()
822 int newfd = dfs_dup(oldfd, (dfs_fdtable_get() == &_fdtab) ? DFS_STDIO_OFFSET : 0); in sys_dup() local
823 if(newfd < 0) in sys_dup()
829 return err < 0 ? err : newfd; in sys_dup()
831 return err < 0 ? err : newfd; in sys_dup()
845 rt_err_t sys_dup2(int oldfd, int newfd) in sys_dup2() argument
866 if (newfd < 0) in sys_dup2()
870 if (newfd >= fdt->maxfd) in sys_dup2()
872 newfd = _fdt_slot_expand(fdt, newfd); in sys_dup2()
873 if (newfd < 0) in sys_dup2()
878 if (fdt->fds[newfd] == fdt->fds[oldfd]) in sys_dup2()
881 retfd = newfd; in sys_dup2()
885 if (fdt->fds[newfd]) in sys_dup2()
887 ret = dfs_file_close(fdt->fds[newfd]); in sys_dup2()
892 fd_release(newfd); in sys_dup2()
895 fdt->fds[newfd] = fdt->fds[oldfd]; in sys_dup2()
897 rt_atomic_add(&(fdt->fds[newfd]->ref_count), 1); in sys_dup2()
898 retfd = newfd; in sys_dup2()