| 2533 | } |
| 2534 | |
| 2535 | int |
| 2536 | kern_pathconf(struct thread *td, const char *path, enum uio_seg pathseg, |
| 2537 | int name, u_long flags, long *valuep) |
| 2538 | { |
| 2539 | struct nameidata nd; |
| 2540 | int error; |
| 2541 | |
| 2542 | NDINIT(&nd, LOOKUP, LOCKSHARED | LOCKLEAF | AUDITVNODE1 | flags, |
| 2543 | pathseg, path, td); |
| 2544 | if ((error = namei(&nd)) != 0) |
| 2545 | return (error); |
| 2546 | NDFREE_NOTHING(&nd); |
| 2547 | |
| 2548 | error = VOP_PATHCONF(nd.ni_vp, name, valuep); |
| 2549 | vput(nd.ni_vp); |
| 2550 | return (error); |
| 2551 | } |
| 2552 | |
| 2553 | /* |
| 2554 | * Return target name of a symbolic link. |
no test coverage detected