| 111 | const char *path, enum uio_seg segflag); |
| 112 | |
| 113 | static uint64_t |
| 114 | at2cnpflags(u_int at_flags, u_int mask) |
| 115 | { |
| 116 | u_int64_t res; |
| 117 | |
| 118 | MPASS((at_flags & (AT_SYMLINK_FOLLOW | AT_SYMLINK_NOFOLLOW)) != |
| 119 | (AT_SYMLINK_FOLLOW | AT_SYMLINK_NOFOLLOW)); |
| 120 | |
| 121 | res = 0; |
| 122 | at_flags &= mask; |
| 123 | if ((at_flags & AT_RESOLVE_BENEATH) != 0) |
| 124 | res |= RBENEATH; |
| 125 | if ((at_flags & AT_SYMLINK_FOLLOW) != 0) |
| 126 | res |= FOLLOW; |
| 127 | /* NOFOLLOW is pseudo flag */ |
| 128 | if ((mask & AT_SYMLINK_NOFOLLOW) != 0) { |
| 129 | res |= (at_flags & AT_SYMLINK_NOFOLLOW) != 0 ? NOFOLLOW : |
| 130 | FOLLOW; |
| 131 | } |
| 132 | return (res); |
| 133 | } |
| 134 | |
| 135 | int |
| 136 | kern_sync(struct thread *td) |
no outgoing calls
no test coverage detected