Man page - open_by_handle_at(2)
Packages contains this manual
- __malloc_initialize_hook(3)
- getpwuid(3)
- frexpl(3)
- fchown(2)
- setttyent(3)
- pthread_attr_setstacksize(3)
- calloc(3)
- clog(3)
- seteuid(2)
- res_nquerydomain(3)
- y0l(3)
- catanl(3)
- catanh(3)
- inet_addr(3)
- getcwd(2)
- epoll_create1(2)
- atol(3)
- pciconfig_write(2)
- htonl(3)
- timer_settime(2)
- munmap(2)
- cexpl(3)
- rt_sigsuspend(2)
- msgctl(2)
- tan(3)
- get_mempolicy(2)
- roundf(3)
- towctrans(3)
- xdr_opaque(3)
- psignal(3)
- error_at_line(3)
- xdrmem_create(3)
- select(2)
- getdate_r(3)
- getprotobyname_r(3)
- nrand48_r(3)
- inet_netof(3)
- inet_ntoa(3)
- nextafterl(3)
- innetgr(3)
- on_exit(3)
- expm1l(3)
- strfmon(3)
- strdup(3)
- getservbyport(3)
- arch_prctl(2)
- j0(3)
- wait4(2)
- personality(2)
- bpf(2)
- pvalloc(3)
- getresuid32(2)
- des_setparity(3)
- prctl(2)
- clog10(3)
- aio_init(3)
- pthread_getconcurrency(3)
- csinl(3)
- linkat(2)
- vsscanf(3)
- isascii(3)
- xdr_union(3)
- nan(3)
- utimensat(2)
- ioctl_vt(2)
- _newselect(2)
- ldexpl(3)
- fabsf(3)
- chown(2)
- mkstemps(3)
- pthread_attr_getstacksize(3)
- listxattr(2)
- getpgrp(2)
- xdr_short(3)
- tcflush(3)
- pthread_cond_wait(3)
- argz_add(3)
- wcpncpy(3)
- reallocarray(3)
- llrintf(3)
- outsl(2)
- qsort(3)
- authnone_create(3)
- tzname(3)
- setresuid32(2)
- isspace(3)
- open_by_handle_at(2)
- drem(3)
- conjf(3)
- nanosleep(2)
- pthread_kill(3)
- putc(3)
- pthread_condattr_destroy(3)
- getpwuid_r(3)
- strverscmp(3)
- res_init(3)
- cacosl(3)
- qecvt_r(3)
- iswgraph(3)
- gethostbyname(3)
- ntohl(3)
- acct(2)
- asinl(3)
- envz_merge(3)
- strdupa(3)
- idle(2)
- getopt_long_only(3)
- hstrerror(3)
- fanotify_init(2)
- fputs_unlocked(3)
- sleep(3)
- vfprintf(3)
- scalb(3)
- nanl(3)
- lchown32(2)
- getnetent_r(3)
- fcntl(2)
- inw(2)
- rintl(3)
- arc4random(3)
- getsockopt(2)
- ilogbl(3)
- clog2(3)
- encrypt(3)
- sqrtf(3)
- isspace_l(3)
- tanl(3)
- cfmakeraw(3)
- assert(3)
- strtoull(3)
- xdrstdio_create(3)
- optopt(3)
- setrlimit(2)
- lround(3)
- xdr_accepted_reply(3)
- fmin(3)
- mq_notify(3)
- svcerr_auth(3)
- sbrk(2)
- recv(2)
- mq_unlink(2)
- strxfrm(3)
- ctan(3)
- atoi(3)
- xcrypt(3)
- sgetspent(3)
- fread(3)
- isless(3)
- ceil(3)
- pthread_cond_broadcast(3)
- oldfstat(2)
- outl(2)
- times(2)
- wcslen(3)
- popen(3)
- wprintf(3)
- labs(3)
- getrpcbynumber(3)
- shmat(2)
- clock_gettime(2)
- btree(3)
- s390_sthyi(2)
- siggetmask(3)
- getgid32(2)
- puts(3)
- scalblnl(3)
- strpbrk(3)
- catanhl(3)
- vlimit(3)
- getrpcent(3)
- tgammal(3)
- strtoll(3)
- funlockfile(3)
- xdecrypt(3)
- pthread_key_delete(3)
- setgrent(3)
- wmemmove(3)
- gnu_dev_major(3)
- regexec(3)
- lrintl(3)
- __ppc_set_ppr_med(3)
- rmdir(2)
- io_getevents(2)
- request_key(2)
- ecvt(3)
- __ppc_mdoom(3)
- mktemp(3)
- key_gendes(3)
- le64toh(3)
- statvfs(3)
- rpc(3)
- getdate_err(3)
- munlockall(2)
- close(2)
- xdr_rejected_reply(3)
- dlerror(3)
- le32toh(3)
- feclearexcept(3)
- insque(3)
- clntraw_create(3)
- getutid(3)
- strtof(3)
- settimeofday(2)
- mkdir(2)
- rewind(3)
- logf(3)
- tmpnam(3)
- iswpunct(3)
- wcrtomb(3)
- epoll_pwait(2)
- getitimer(2)
- wordexp(3)
- clog2f(3)
- capset(2)
- strrchr(3)
- outsb(2)
- freeifaddrs(3)
- getwc_unlocked(3)
- ustat(2)
- bswap_16(3)
- program_invocation_short_name(3)
- ldiv(3)
- exp10f(3)
- vprintf(3)
- wcsncpy(3)
- iscntrl(3)
- readlink(2)
- semget(2)
- connect(2)
- psiginfo(3)
- epoll_ctl(2)
- removexattr(2)
- envz_strip(3)
- fgetxattr(2)
- atexit(3)
- putgrent(3)
- bswap(3)
- getegid32(2)
- qecvt(3)
- asinh(3)
- isfdtype(3)
- setenv(3)
- readdir(3)
- rtime(3)
- nearbyint(3)
- getgroups32(2)
- statx(2)
- modify_ldt(2)
- cpow(3)
- eventfd_read(3)
- sendfile64(2)
- getnetbyname(3)
- fremovexattr(2)
- uselib(2)
- inet(3)
- endutxent(3)
- clnt_spcreateerror(3)
- pututline(3)
- nexttowardl(3)
- getipnodebyaddr(3)
- fts_set(3)
- memmem(3)
- fmodl(3)
- setfsuid32(2)
- wordfree(3)
- fadvise64(2)
- getppid(2)
- qsort_r(3)
- toupper(3)
- getwc(3)
- fputws(3)
- mrand48(3)
- preadv(2)
- sincosf(3)
- fstatat64(2)
- dirfd(3)
- jnf(3)
- static_assert(3)
- wctype(3)
- vwarn(3)
- setfsent(3)
- listen(2)
- wcstok(3)
- argz_insert(3)
- select_tut(2)
- ctanl(3)
- getunwind(2)
- difftime(3)
- daylight(3)
- sigpause(3)
- wcscat(3)
- dlclose(3)
- __ppc_set_ppr_med_low(3)
- pread(2)
- fstatvfs(3)
- cbrtf(3)
- strnlen(3)
- sinhl(3)
- inl_p(2)
- setregid32(2)
- putwc(3)
- register_printf_type(3)
- nextafterf(3)
- opendir(3)
- strtod(3)
- tgamma(3)
- malloc_get_state(3)
- aio_write(3)
- timezone(3)
- xdr_pmaplist(3)
- sysfs(2)
- index(3)
- svcerr_noproc(3)
- envz(3)
- klogctl(3)
- pselect(2)
- get_current_dir_name(3)
- xdr_char(3)
- asinhf(3)
- preadv2(2)
- inotify_init1(2)
- pthread_attr_setstackaddr(3)
- getline(3)
- tanhf(3)
- rtnetlink(3)
- pkey_alloc(2)
- edata(3)
- stailq(3)
- isastream(2)
- setregid(2)
- copy_file_range(2)
- rcmd_af(3)
- futex(2)
- prof(2)
- siglongjmp(3)
- hdestroy(3)
- catan(3)
- pthread_cond_signal(3)
- mkfifoat(3)
- clntudp_create(3)
- getentropy(3)
- vsprintf(3)
- fabs(3)
- lseek64(3)
- pthread_setname_np(3)
- conjl(3)
- chroot(2)
- ccoshf(3)
- erand48_r(3)
- wcsnrtombs(3)
- rindex(3)
- fputc_unlocked(3)
- setresgid32(2)
- gettimeofday(2)
- cexp(3)
- inotify_add_watch(2)
- set_robust_list(2)
- nice(2)
- strtold(3)
- mq_getattr(3)
- xdr(3)
- getxattr(2)
- getrandom(2)
- splice(2)
- strerror(3)
- fcntl64(2)
- fnmatch(3)
- ungetwc(3)
- getspnam_r(3)
- clearenv(3)
- atan2(3)
- get_myaddress(3)
- open(2)
- pthread_setcancelstate(3)
- newlocale(3)
- open_memstream(3)
- setprotoent(3)
- logbf(3)
- ilogb(3)
- wmemcpy(3)
- tcsendbreak(3)
- be16toh(3)
- perfmonctl(2)
- strtoq(3)
- getgrgid_r(3)
- pthread_timedjoin_np(3)
- memfd_create(2)
- getttynam(3)
- mcheck_pedantic(3)
- _llseek(2)
- renameat2(2)
- ioperm(2)
- ecb_crypt(3)
- pthread_condattr_init(3)
- fminl(3)
- lio_listio(3)
- envz_add(3)
- setbuf(3)
- setkey(3)
- expm1(3)
- strtoul(3)
- getcwd(3)
- setutxent(3)
- getrpcent_r(3)
- unimplemented(2)
- fclose(3)
- epoll_create(2)
- getfsent(3)
- key_secretkey_is_set(3)
- vserver(2)
- vswprintf(3)
- sigsuspend(2)
- pututxline(3)
- clnt_freeres(3)
- cacheflush(2)
- ioprio_set(2)
- alarm(2)
- fgetc(3)
- __fpurge(3)
- getlogin_r(3)
- vfork(2)
- bstring(3)
- div(3)
- getrusage(2)
- gettid(2)
- dprintf(3)
- strtoumax(3)
- jrand48(3)
- iswcntrl(3)
- vwarnx(3)
- cacos(3)
- ccoshl(3)
- fesetexceptflag(3)
- res_nclose(3)
- shmop(2)
- mcheck_check_all(3)
- vscanf(3)
- tolower(3)
- landlock_add_rule(2)
- argz_next(3)
- lroundl(3)
- ruserok(3)
- glob(3)
- brk(2)
- rename(2)
- strcspn(3)
- sched_getscheduler(2)
- wcstoumax(3)
- dbopen(3)
- xdr_bytes(3)
- fegetenv(3)
- scalbf(3)
- pkey_free(2)
- fgetgrent(3)
- strchrnul(3)
- fork(2)
- log1pf(3)
- strtoimax(3)
- fputs(3)
- putspent(3)
- ttyname_r(3)
- iswlower(3)
- epoll_wait(2)
- minor(3)
- wcsspn(3)
- sendmmsg(2)
- pthread_attr_getsigmask_np(3)
- erand48(3)
- setpgrp(2)
- db(3)
- readv(2)
- cimagf(3)
- pthread_sigmask(3)
- getresuid(2)
- gamma(3)
- logwtmp(3)
- imaxabs(3)
- y1(3)
- swapoff(2)
- svcerr_weakauth(3)
- mbtowc(3)
- madvise(2)
- __fbufsize(3)
- swapon(2)
- towlower(3)
- asin(3)
- initgroups(3)
- svc_getreqset(3)
- pthread_attr_destroy(3)
- scalblnf(3)
- ispunct(3)
- casin(3)
- xdr_pmap(3)
- sigvec(3)
- dlmopen(3)
- localeconv(3)
- tcgetattr(3)
- mempcpy(3)
- clnt_perrno(3)
- clock_getcpuclockid(3)
- setaliasent(3)
- clock(3)
- ftok(3)
- svc_run(3)
- getsubopt(3)
- coshf(3)
- pow(3)
- getpwent(3)
- ntp_gettime(3)
- xdrrec_skiprecord(3)
- symlink(2)
- shmctl(2)
- mq_timedreceive(2)
- malloc(3)
- tgkill(2)
- l64a(3)
- unlockpt(3)
- mallopt(3)
- creal(3)
- syscalls(2)
- set_tid_address(2)
- exp2f(3)
- fstatfs(2)
- statfs(2)
- dreml(3)
- feenableexcept(3)
- ftw(3)
- fanotify_mark(2)
- clnt_sperror(3)
- realpath(3)
- sysconf(3)
- _syscall(2)
- set_mempolicy(2)
- mq_unlink(3)
- freehostent(3)
- rresvport_af(3)
- nl_langinfo_l(3)
- fmaxl(3)
- iscntrl_l(3)
- copysignf(3)
- llseek(2)
- bzero(3)
- ioctl_fsmap(2)
- remquof(3)
- malloc_trim(3)
- pthread_getattr_default_np(3)
- isalnum_l(3)
- mlock(2)
- nearbyintf(3)
- confstr(3)
- sinf(3)
- ioctl_eventpoll(2)
- sigstack(3)
- seed48_r(3)
- utmpname(3)
- malloc_stats(3)
- stpncpy(3)
- getservbyport_r(3)
- cabsl(3)
- isblank(3)
- sigprocmask(2)
- isinfl(3)
- isinff(3)
- pathconf(3)
- xdr_u_short(3)
- acos(3)
- timerfd_create(2)
- key_encryptsession(3)
- log2f(3)
- oldlstat(2)
- res_querydomain(3)
- memcmp(3)
- gethostbyaddr(3)
- sighold(3)
- gtty(2)
- xdr_void(3)
- getmsg(2)
- io_setup(2)
- ttyslot(3)
- recno(3)
- cuserid(3)
- nanf(3)
- pthread_getaffinity_np(3)
- if_indextoname(3)
- remainderf(3)
- putpwent(3)
- pow10f(3)
- pwritev(2)
- swapcontext(3)
- cfsetospeed(3)
- envz_remove(3)
- cosh(3)
- a64l(3)
- uselocale(3)
- yn(3)
- msgget(2)
- pthread_equal(3)
- prlimit(2)
- setspent(3)
- newfstatat(2)
- renameat(2)
- truncf(3)
- pthread_yield(3)
- tkill(2)
- islessequal(3)
- isnanf(3)
- sethostent(3)
- setvbuf(3)
- gnu_get_libc_release(3)
- atoll(3)
- getgrnam(3)
- get_robust_list(2)
- __ppc_yield(3)
- __memalign_hook(3)
- eventfd2(2)
- mq_setattr(3)
- tmpnam_r(3)
- pmap_getport(3)
- svcfd_create(3)
- getfsspec(3)
- setgid(2)
- getlogin(3)
- get_nprocs(3)
- canonicalize_file_name(3)
- pthread_mutexattr_getrobust(3)
- strerrorname_np(3)
- csinh(3)
- malloc_set_state(3)
- tcgetsid(3)
- ssignal(3)
- secure_getenv(3)
- significandl(3)
- wcschr(3)
- isgraph(3)
- pthread_mutexattr_gettype(3)
- creat(2)
- cabsf(3)
- __ppc_set_ppr_med_high(3)
- fchdir(2)
- backtrace_symbols(3)
- exp10l(3)
- euidaccess(3)
- sync_file_range(2)
- getutxline(3)
- isdigit(3)
- sinhf(3)
- lgetxattr(2)
- getaliasent(3)
- memrchr(3)
- io_submit(2)
- clnt_create(3)
- __setfpucw(3)
- _flushlbf(3)
- lcong48_r(3)
- clog10l(3)
- pmap_getmaps(3)
- memalign(3)
- xdr_authunix_parms(3)
- execl(3)
- getdate(3)
- cfsetispeed(3)
- tanhl(3)
- wmempcpy(3)
- outw_p(2)
- faccessat(2)
- rresvport(3)
- nextup(3)
- fgetgrent_r(3)
- getopt(3)
- xdr_vector(3)
- aio_error(3)
- frexpf(3)
- getpw(3)
- sscanf(3)
- mprotect(2)
- exp(3)
- sched_getaffinity(2)
- accept4(2)
- remainderl(3)
- pthread_key_create(3)
- endian(3)
- setmntent(3)
- get_phys_pages(3)
- argz(3)
- _exit(2)
- towupper_l(3)
- lrand48(3)
- csqrt(3)
- hdestroy_r(3)
- remquo(3)
- feof_unlocked(3)
- isprint(3)
- pivot_root(2)
- arc4random_uniform(3)
- strfroml(3)
- getdomainname(2)
- va_end(3)
- getresgid(2)
- cosf(3)
- endhostent(3)
- setgid32(2)
- ioctl_fs(2)
- getaddrinfo(3)
- fgetwc(3)
- lock(2)
- getservbyname_r(3)
- sys_nerr(3)
- insb(2)
- usleep(3)
- security(2)
- cfree(3)
- tanf(3)
- fprintf(3)
- pthread_mutexattr_setpshared(3)
- xprt_unregister(3)
- alphasort(3)
- getgrent(3)
- scandirat(3)
- iruserok(3)
- ttyname(3)
- tdestroy(3)
- strcasecmp(3)
- getpgid(2)
- drand48_r(3)
- mmap(2)
- sigtimedwait(2)
- pthread_once(3)
- mq_receive(3)
- pthread_mutexattr_setkind_np(3)
- iopl(2)
- s390_runtime_instr(2)
- lckpwdf(3)
- memmove(3)
- __fpending(3)
- mbsrtowcs(3)
- restart_syscall(2)
- memset(3)
- significandf(3)
- openat2(2)
- timeradd(3)
- conj(3)
- flockfile(3)
- madvise1(2)
- inet_aton(3)
- fstatfs64(2)
- fmax(3)
- fmemopen(3)
- fmaf(3)
- lseek(2)
- registerrpc(3)
- kexec_file_load(2)
- gammal(3)
- feof(3)
- pidfd_open(2)
- crealf(3)
- clogl(3)
- getutmp(3)
- umount(2)
- inet_pton(3)
- flistxattr(2)
- xdr_wrapstring(3)
- socketcall(2)
- setrpcent(3)
- rint(3)
- vm86(2)
- sincosl(3)
- getprotoent_r(3)
- mknod(2)
- getdents64(2)
- gai_cancel(3)
- srandom_r(3)
- getnetbyname_r(3)
- sigaddset(3)
- htole16(3)
- endnetent(3)
- nextafter(3)
- timerisset(3)
- getgrent_r(3)
- freeaddrinfo(3)
- endprotoent(3)
- mbind(2)
- sigorset(3)
- pthread_rwlockattr_setkind_np(3)
- cimag(3)
- waitid(2)
- abs(3)
- unlink(2)
- recvmsg(2)
- getaliasbyname(3)
- wctrans(3)
- kill(2)
- strtol(3)
- __ppc_set_ppr_very_low(3)
- membarrier(2)
- getnetbyaddr_r(3)
- writev(2)
- errx(3)
- tfind(3)
- clone3(2)
- __freading(3)
- outw(2)
- regfree(3)
- accept(2)
- timer_getoverrun(2)
- shmdt(2)
- svcerr_decode(3)
- getnameinfo(3)
- endusershell(3)
- execvpe(3)
- cbc_crypt(3)
- res_send(3)
- xdr_destroy(3)
- getcontext(3)
- pkey_mprotect(2)
- twalk_r(3)
- isalnum(3)
- timercmp(3)
- setxattr(2)
- pthread_cleanup_pop_restore_np(3)
- stat(2)
- isupper(3)
- vsyslog(3)
- strlen(3)
- pthread_attr_setinheritsched(3)
- xdr_inline(3)
- strtouq(3)
- raise(3)
- getpeername(2)
- capget(2)
- atanl(3)
- ferror_unlocked(3)
- isxdigit_l(3)
- modfl(3)
- pthread_mutexattr_init(3)
- pthread_mutexattr_getkind_np(3)
- phys(2)
- llabs(3)
- sched_rr_get_interval(2)
- asprintf(3)
- explicit_bzero(3)
- asctime(3)
- clone(2)
- munlock(2)
- __realloc_hook(3)
- atof(3)
- rt_tgsigqueueinfo(2)
- syslog(2)
- inet_makeaddr(3)
- epoll_pwait2(2)
- iswalpha(3)
- netlink(3)
- sched_setattr(2)
- sigdescr_np(3)
- access(2)
- getc_unlocked(3)
- dysize(3)
- inet_net_pton(3)
- sched_setparam(2)
- timerfd_settime(2)
- nexttowardf(3)
- expf(3)
- svcerr_progvers(3)
- getwchar(3)
- ftime(3)
- if_nametoindex(3)
- argz_add_sep(3)
- vasprintf(3)
- unlinkat(2)
- putenv(3)
- pthread_mutexattr_setrobust_np(3)
- error_message_count(3)
- setfsgid(2)
- cmsg(3)
- setpwent(3)
- cfgetospeed(3)
- end(3)
- pidfd_send_signal(2)
- scalbn(3)
- closelog(3)
- srandom(3)
- argz_replace(3)
- ioctl_tty(2)
- va_arg(3)
- towlower_l(3)
- isblank_l(3)
- remove(3)
- expl(3)
- fscanf(3)
- versionsort(3)
- pow10(3)
- hsearch(3)
- gethostid(3)
- fchownat(2)
- group_member(3)
- getchar_unlocked(3)
- getservbyname(3)
- pthread_mutexattr_destroy(3)
- setpgid(2)
- acosf(3)
- ctanhf(3)
- shm_open(3)
- towupper(3)
- getdents(2)
- chown32(2)
- hypotf(3)
- undocumented(3)
- drand48(3)
- csinf(3)
- ctime_r(3)
- setlinebuf(3)
- ulimit(3)
- spu_create(2)
- fcvt_r(3)
- ipc(2)
- ftruncate64(2)
- fdopen(3)
- svcerr_noprog(3)
- getrpcport(3)
- csin(3)
- sinh(3)
- nrand48(3)
- openpty(3)
- xdr_double(3)
- pthread_attr_getscope(3)
- vfscanf(3)
- catanhf(3)
- inb(2)
- wcpcpy(3)
- ldexp(3)
- getopt_long(3)
- strerrordesc_np(3)
- mbsinit(3)
- argz_stringify(3)
- setbuffer(3)
- byteorder(3)
- expm1f(3)
- pthread_attr_setscope(3)
- gnu_dev_makedev(3)
- pipe(2)
- updwtmp(3)
- fts_read(3)
- ioctl_fat(2)
- h_errno(3)
- sem_getvalue(3)
- iswupper(3)
- lrint(3)
- perror(3)
- xdr_u_int(3)
- timer_create(2)
- iswdigit(3)
- fgetspent(3)
- fwrite_unlocked(3)
- reboot(2)
- ftruncate(2)
- getutmpx(3)
- pwrite64(2)
- getauxval(3)
- xdr_pointer(3)
- getprotobynumber(3)
- svc_destroy(3)
- vmsplice(2)
- inet_network(3)
- readdir_r(3)
- setsockopt(2)
- rexec(3)
- flock(2)
- getw(3)
- mmap2(2)
- j1f(3)
- cprojf(3)
- mkstemp(3)
- symlinkat(2)
- tempnam(3)
- pthread_attr_getaffinity_np(3)
- gethostbyname_r(3)
- signalfd4(2)
- sys_siglist(3)
- erfc(3)
- truncate64(2)
- verr(3)
- pthread_kill_other_threads_np(3)
- eaccess(3)
- fsetpos(3)
- slist(3)
- pmap_unset(3)
- modf(3)
- ioctl_pipe(2)
- vfwprintf(3)
- getresgid32(2)
- statfs64(2)
- cexp2(3)
- stdio_ext(3)
- login_tty(3)
- xdr_long(3)
- dlsym(3)
- clog2l(3)
- malloc_usable_size(3)
- fegetexceptflag(3)
- basename(3)
- fwrite(3)
- vhangup(2)
- printf(3)
- setnetent(3)
- gethostbyname2(3)
- mallinfo2(3)
- signbit(3)
- clnt_broadcast(3)
- sched_yield(2)
- sem_open(3)
- sigsetjmp(3)
- cacoshl(3)
- sem_unlink(3)
- setresuid(2)
- signgam(3)
- putw(3)
- imaxdiv(3)
- regex(3)
- alloc_hugepages(2)
- modff(3)
- exp10(3)
- cprojl(3)
- utime(2)
- clogf(3)
- pthread_mutex_unlock(3)
- erff(3)
- ioctl_userfaultfd(2)
- iswprint(3)
- roundl(3)
- sqrtl(3)
- fpurge(3)
- getusershell(3)
- fcloseall(3)
- xdr_opaque_auth(3)
- gethostent_r(3)
- fgetwc_unlocked(3)
- fchmod(2)
- strptime(3)
- lutimes(3)
- htole64(3)
- putchar_unlocked(3)
- create_module(2)
- isascii_l(3)
- sigaction(2)
- stdout(3)
- geteuid32(2)
- xprt_register(3)
- freopen(3)
- ccosl(3)
- pthread_setschedprio(3)
- rt_sigaction(2)
- getmntent(3)
- putwchar_unlocked(3)
- logl(3)
- remque(3)
- unsetenv(3)
- sigwaitinfo(2)
- pthread_mutexattr_getrobust_np(3)
- initstate_r(3)
- getfsfile(3)
- exp2l(3)
- isatty(3)
- lgamma_r(3)
- lrintf(3)
- outb(2)
- __clone2(2)
- strcpy(3)
- clnt_call(3)
- hypot(3)
- fegetexcept(3)
- tcsetpgrp(3)
- gets(3)
- malloc_info(3)
- nextupf(3)
- pthread_attr_getdetachstate(3)
- getaliasent_r(3)
- fstat64(2)
- futimesat(2)
- dl_iterate_phdr(3)
- posix_madvise(3)
- endnetgrent(3)
- tolower_l(3)
- pthread_attr_setstack(3)
- pread64(2)
- sigsetops(3)
- stty(2)
- process_vm_readv(2)
- isfinite(3)
- gethostbyaddr_r(3)
- cproj(3)
- gai_strerror(3)
- key_decryptsession(3)
- inet_ntop(3)
- __ppc_mdoio(3)
- btowc(3)
- setstate_r(3)
- if_nameindex(3)
- fdetach(2)
- random_r(3)
- iruserok_af(3)
- truncl(3)
- clearerr(3)
- lgammaf(3)
- lfind(3)
- ctanf(3)
- strcat(3)
- pthread_attr_getschedpolicy(3)
- pthread_rwlockattr_getkind_np(3)
- sigrelse(3)
- daemon(3)
- pthread_setcanceltype(3)
- sigevent(7)
- iswalnum(3)
- pmap_set(3)
- stdin(3)
- ceilf(3)
- asctime_r(3)
- poll(2)
- svc_unregister(3)
- isnanl(3)
- carg(3)
- getprotobyname(3)
- arm_fadvise(2)
- optind(3)
- mount_setattr(2)
- dlvsym(3)
- ntp_adjtime(3)
- abort(3)
- pthread_getname_np(3)
- execlp(3)
- bind(2)
- bsearch(3)
- endspent(3)
- register_printf_specifier(3)
- landlock_create_ruleset(2)
- mkostemp(3)
- setgroups(2)
- toupper_l(3)
- argz_extract(3)
- sigblock(3)
- j0l(3)
- argz_delete(3)
- setusershell(3)
- getspnam(3)
- optarg(3)
- vm86old(2)
- sigandset(3)
- getdtablesize(3)
- getsockname(2)
- pthread_sigqueue(3)
- ptsname(3)
- j1(3)
- lgamma(3)
- getpagesize(2)
- pthread_mutex_lock(3)
- setsid(2)
- strncat(3)
- ioctl_kd(2)
- tsearch(3)
- mq_notify(2)
- fcvt(3)
- clntudp_bufcreate(3)
- getpwent_r(3)
- pthread_getspecific(3)
- memfrob(3)
- arc4random_buf(3)
- forkpty(3)
- powl(3)
- dlopen(3)
- stderr(3)
- set_thread_area(2)
- query_module(2)
- sem_close(3)
- strndup(3)
- __malloc_hook(3)
- setjmp(3)
- stdio(3)
- bdflush(2)
- sendto(2)
- mpx(2)
- fopen(3)
- setpriority(2)
- nextdownl(3)
- mprobe(3)
- oldstat(2)
- sem_destroy(3)
- bcopy(3)
- remap_file_pages(2)
- isgreaterequal(3)
- getpass(3)
- seekdir(3)
- break(2)
- authunix_create_default(3)
- tty_ioctl(4)
- process_madvise(2)
- endfsent(3)
- atoq(3)
- strftime(3)
- fts(3)
- getgrgid(3)
- isxdigit(3)
- ftello(3)
- regcomp(3)
- error(3)
- getenv(3)
- clnt_sperrno(3)
- readahead(2)
- y0(3)
- roundup(3)
- io_destroy(2)
- vsnprintf(3)
- lgammal(3)
- eventfd_write(3)
- pthread_mutex_trylock(3)
- lchown(2)
- dladdr(3)
- error_print_progname(3)
- pthread_mutexattr_settype(3)
- strspn(3)
- __after_morecore_hook(3)
- localtime(3)
- fsync(2)
- ether_aton(3)
- csinhl(3)
- trunc(3)
- xdr_u_char(3)
- syslog(3)
- y1f(3)
- ioctl_nsfs(2)
- wmemcmp(3)
- ffsll(3)
- ether_ntohost(3)
- bswap_32(3)
- umount2(2)
- sigfillset(3)
- landlock_restrict_self(2)
- pthread_join(3)
- sysinfo(2)
- clock_settime(2)
- llrint(3)
- s390_guarded_storage(2)
- getc(3)
- inet_lnaof(3)
- tcgetpgrp(3)
- clock_getres(2)
- etext(3)
- strfmon_l(3)
- putwc_unlocked(3)
- xdr_replymsg(3)
- scalbl(3)
- fdim(3)
- getspent(3)
- sem_timedwait(3)
- posix_fallocate(3)
- res_nmkquery(3)
- pthread_spin_unlock(3)
- mq_timedsend(2)
- opterr(3)
- getloadavg(3)
- strsignal(3)
- finite(3)
- inw_p(2)
- csinhf(3)
- execveat(2)
- seed48(3)
- sigset(3)
- setgroups32(2)
- logbl(3)
- wcsdup(3)
- clnt_geterr(3)
- sys_errlist(3)
- inotify_rm_watch(2)
- qgcvt(3)
- wcspbrk(3)
- sin(3)
- lookup_dcookie(2)
- s390_pci_mmio_read(2)
- wcscmp(3)
- getutxent(3)
- pciconfig_read(2)
- initstate(3)
- backtrace(3)
- putc_unlocked(3)
- fedisableexcept(3)
- rt_sigprocmask(2)
- clock_adjtime(2)
- fwprintf(3)
- jnl(3)
- grantpt(3)
- cimagl(3)
- getgrnam_r(3)
- remquol(3)
- swprintf(3)
- mbrtowc(3)
- fileno_unlocked(3)
- readlinkat(2)
- sigignore(3)
- strndupa(3)
- semctl(2)
- assert_perror(3)
- sendfile(2)
- shm_unlink(3)
- log(3)
- ungetc(3)
- erf(3)
- qfcvt(3)
- pthread_atfork(3)
- login(3)
- setservent(3)
- jrand48_r(3)
- wcsnlen(3)
- tcflow(3)
- pthread_cond_destroy(3)
- inl(2)
- srand48_r(3)
- erfcf(3)
- iconv(3)
- pthread_mutex_consistent_np(3)
- fabsl(3)
- pclose(3)
- nfsservctl(2)
- gai_error(3)
- wcsncmp(3)
- islower_l(3)
- iswctype(3)
- svc_register(3)
- arm_sync_file_range(2)
- strfry(3)
- strfromd(3)
- getttyent(3)
- rand(3)
- fchown32(2)
- ctime(3)
- fsetxattr(2)
- feupdateenv(3)
- random(3)
- getpwnam_r(3)
- sigwait(3)
- aio_fsync(3)
- mq_open(2)
- tanh(3)
- localtime_r(3)
- bsd_signal(3)
- strsep(3)
- mknodat(2)
- cexpf(3)
- cacosh(3)
- mbrlen(3)
- aio_cancel(3)
- mq_getsetattr(2)
- fdatasync(2)
- htons(3)
- sem_post(3)
- htobe16(3)
- vtimes(3)
- fgetpwent_r(3)
- getwchar_unlocked(3)
- mkdirat(2)
- dup(2)
- free_hugepages(2)
- feraiseexcept(3)
- lockf(3)
- userfaultfd(2)
- pthread_attr_setaffinity_np(3)
- memcpy(3)
- prlimit64(2)
- ferror(3)
- ldexpf(3)
- aio_return(3)
- adjtimex(2)
- execle(3)
- tailq(3)
- cabs(3)
- endaliasent(3)
- execvp(3)
- hasmntopt(3)
- if_freenameindex(3)
- signal(2)
- dn_comp(3)
- pthread_attr_getstack(3)
- ether_hostton(3)
- re_comp(3)
- cexp2l(3)
- getwd(3)
- llroundl(3)
- cos(3)
- pthread_mutex_consistent(3)
- isalpha_l(3)
- io_cancel(2)
- frexp(3)
- finitel(3)
- perf_event_open(2)
- pthread_exit(3)
- ioctl_console(2)
- timelocal(3)
- timersub(3)
- setresgid(2)
- semop(2)
- getgroups(2)
- envz_entry(3)
- xdr_u_long(3)
- seccomp(2)
- ftrylockfile(3)
- setuid(2)
- wcwidth(3)
- llround(3)
- cacoshf(3)
- pthread_attr_setschedpolicy(3)
- fgetpos(3)
- xdr_array(3)
- sprintf(3)
- wmemset(3)
- setcontext(3)
- copysignl(3)
- be64toh(3)
- matherr(3)
- hypotl(3)
- rawmemchr(3)
- fmodf(3)
- mount(2)
- mktime(3)
- stdarg(3)
- clnttcp_create(3)
- string(3)
- profil(3)
- clnt_perror(3)
- getpriority(2)
- regerror(3)
- clone2(2)
- getgid(2)
- pthread_spin_lock(3)
- iswblank(3)
- ftell(3)
- dup3(2)
- toascii(3)
- strncpy(3)
- mrand48_r(3)
- setstate(3)
- sigqueue(3)
- cpowf(3)
- setlogmask(3)
- sched_getcpu(3)
- htobe32(3)
- list(3)
- isdigit_l(3)
- chdir(2)
- fstat(2)
- pwritev2(2)
- get_thread_area(2)
- freelocale(3)
- acoshl(3)
- socketpair(2)
- scalbln(3)
- fpclassify(3)
- getpwnam(3)
- pthread_getcpuclockid(3)
- ioprio_get(2)
- strtok_r(3)
- exit_group(2)
- scalbnf(3)
- xdrrec_create(3)
- pthread_mutex_destroy(3)
- sqrt(3)
- dirname(3)
- exit(2)
- ulckpwdf(3)
- cargl(3)
- powerof2(3)
- simpleq(3)
- process_vm_writev(2)
- fdopendir(3)
- getpt(3)
- floorl(3)
- va_start(3)
- lcong48(3)
- strerror_l(3)
- xdrrec_eof(3)
- key_setsecret(3)
- lstat64(2)
- memfd_secret(2)
- sigreturn(2)
- casinhf(3)
- valloc(3)
- stat64(2)
- jn(3)
- sinl(3)
- pthread_testcancel(3)
- cfgetispeed(3)
- dup2(2)
- getnetent(3)
- pthread_setconcurrency(3)
- memccpy(3)
- rt_sigqueueinfo(2)
- ccosf(3)
- sincos(3)
- tcdrain(3)
- ccos(3)
- chmod(2)
- cacosf(3)
- lstat(2)
- pthread_spin_trylock(3)
- sigisemptyset(3)
- getrpcbyname(3)
- fpathconf(3)
- copysign(3)
- round(3)
- wmemchr(3)
- qfcvt_r(3)
- fattach(2)
- __fsetlocking(3)
- adjtime(3)
- makedev(3)
- des_crypt(3)
- iswspace(3)
- twalk(3)
- exec(3)
- link(2)
- fileno(3)
- endpwent(3)
- logb(3)
- wcscspn(3)
- console_ioctl(4)
- fgetpwent(3)
- setegid(2)
- clnt_destroy(3)
- getaddrinfo_a(3)
- svc_getargs(3)
- addmntent(3)
- globfree(3)
- islower(3)
- muntrace(3)
- clnt_pcreateerror(3)
- llrintl(3)
- clnt_control(3)
- fgetspent_r(3)
- strstr(3)
- putmsg(2)
- __fwritable(3)
- res_nsearch(3)
- fseeko(3)
- mq_timedreceive(3)
- log10(3)
- fexecve(3)
- gammaf(3)
- pthread_setschedparam(3)
- wcscpy(3)
- xdr_float(3)
- pthread_attr_setdetachstate(3)
- sem_wait(3)
- pow10l(3)
- re_exec(3)
- rand_r(3)
- putpmsg(2)
- getdelim(3)
- utimes(2)
- mq_close(3)
- setutent(3)
- creall(3)
- mq_send(3)
- telldir(3)
- powf(3)
- erfl(3)
- pthread_self(3)
- pselect6(2)
- unlocked_stdio(3)
- insw(2)
- cfsetspeed(3)
- argz_create(3)
- xdr_string(3)
- pthread_attr_getguardsize(3)
- finitef(3)
- setlocale(3)
- bcmp(3)
- fmtmsg(3)
- sendmsg(2)
- pthread_cleanup_push(3)
- inb_p(2)
- mmap64(3)
- getuid32(2)
- truncate(2)
- mlock2(2)
- fegetround(3)
- ugetrlimit(2)
- getprotobynumber_r(3)
- utmpxname(3)
- isinf(3)
- clearerr_unlocked(3)
- stime(2)
- nftw(3)
- duplocale(3)
- svcraw_create(3)
- svc_getcaller(3)
- ctanhl(3)
- cbrt(3)
- floorf(3)
- sethostid(3)
- sigemptyset(3)
- sigaltstack(2)
- mkfifo(3)
- lsearch(3)
- getservent_r(3)
- islessgreater(3)
- floor(3)
- argz_append(3)
- tzset(3)
- res_mkquery(3)
- fstatat(2)
- strchr(3)
- semtimedop(2)
- bindresvport(3)
- tcsetattr(3)
- warn(3)
- getservent(3)
- atanhl(3)
- tdelete(3)
- ynf(3)
- ether_ntoa_r(3)
- fesetenv(3)
- mq_timedsend(3)
- quotactl(2)
- init_module(2)
- rcmd(3)
- fenv(3)
- getutxid(3)
- pthread_mutexattr_getpshared(3)
- scalbnl(3)
- atan2l(3)
- argz_count(3)
- rpmatch(3)
- timerfd_gettime(2)
- ualarm(3)
- pthread_attr_init(3)
- vdprintf(3)
- pthread_cancel(3)
- fflush(3)
- setkey_r(3)
- mbstowcs(3)
- mremap(2)
- strcasestr(3)
- hcreate_r(3)
- siginterrupt(3)
- offsetof(3)
- atan(3)
- wctomb(3)
- getutent(3)
- significand(3)
- arm_fadvise64_64(2)
- dremf(3)
- wcswidth(3)
- syscall(2)
- rintf(3)
- bswap_64(3)
- pthread_attr_getschedparam(3)
- lroundf(3)
- timegm(3)
- posix_fadvise(2)
- getrlimit(2)
- svc_freeargs(3)
- xdr_enum(3)
- hcreate(3)
- ptrace(2)
- backtrace_symbols_fd(3)
- fetestexcept(3)
- ccosh(3)
- htole32(3)
- kexec_load(2)
- fallocate(2)
- timer_gettime(2)
- tgammaf(3)
- errno(3)
- sched_get_priority_max(2)
- xdr_getpos(3)
- vwprintf(3)
- ssetmask(2)
- ether_ntoa(3)
- waitpid(2)
- sched_getattr(2)
- inotify_init(2)
- fma(3)
- gnu_get_libc_version(3)
- svctcp_create(3)
- wcstombs(3)
- gethostname(2)
- strerror_r(3)
- sigismember(3)
- fgetws_unlocked(3)
- hash(3)
- circleq(3)
- getrpcbynumber_r(3)
- pthread_cond_timedwait(3)
- uname(2)
- fgetc_unlocked(3)
- mq_open(3)
- cosl(3)
- rewinddir(3)
- nextdown(3)
- longjmp(3)
- execv(3)
- iconv_open(3)
- xencrypt(3)
- ctermid(3)
- isgraph_l(3)
- move_pages(2)
- isunordered(3)
- msgsnd(2)
- rt_sigtimedwait(2)
- syncfs(2)
- mlockall(2)
- pthread_getschedparam(3)
- lsetxattr(2)
- getutid_r(3)
- log1pl(3)
- catanf(3)
- passwd2des(3)
- iconv_close(3)
- aligned_alloc(3)
- sched_setscheduler(2)
- gmtime(3)
- __free_hook(3)
- acoshf(3)
- mtrace(3)
- resolver(3)
- clog10f(3)
- sethostname(2)
- pthread_attr_setguardsize(3)
- tuxcall(2)
- atanh(3)
- ispunct_l(3)
- svcudp_bufcreate(3)
- ctanh(3)
- j1l(3)
- log10l(3)
- alloca(3)
- sigpending(2)
- nexttoward(3)
- isnormal(3)
- svc_getreq(3)
- putchar(3)
- getnetbyaddr(3)
- cpowl(3)
- get_kernel_syms(2)
- getutline_r(3)
- pthread_setaffinity_np(3)
- isnan(3)
- getprotoent(3)
- catclose(3)
- getsid(2)
- endrpcent(3)
- fts_close(3)
- gnu_dev_minor(3)
- ruserok_af(3)
- getutent_r(3)
- getegid(2)
- sgetmask(2)
- posix_memalign(3)
- atanf(3)
- unshare(2)
- lremovexattr(2)
- strncasecmp(3)
- endutent(3)
- updwtmpx(3)
- outsw(2)
- sched_getparam(2)
- setuid32(2)
- catgets(3)
- nextupl(3)
- openat(2)
- logout(3)
- free(3)
- setfsuid(2)
- getutline(3)
- svc_sendreply(3)
- fadvise64_64(2)
- cargf(3)
- __ppc_set_ppr_low(3)
- casinh(3)
- outb_p(2)
- fputwc(3)
- log10f(3)
- getnetgrent(3)
- fputws_unlocked(3)
- ffsl(3)
- endttyent(3)
- isgreater(3)
- sigmask(3)
- sgetspent_r(3)
- fmaxf(3)
- openlog(3)
- strncmp(3)
- closedir(3)
- rexec_af(3)
- exp2(3)
- mcheck(3)
- isalpha(3)
- pthread_mutex_init(3)
- catopen(3)
- clock_nanosleep(2)
- ioctl(2)
- remainder(3)
- olduname(2)
- getcpu(2)
- setns(2)
- asinhl(3)
- wcscasecmp(3)
- nearbyintl(3)
- atan2f(3)
- wctob(3)
- nextdownf(3)
- gmtime_r(3)
- fmal(3)
- setfsgid32(2)
- dlinfo(3)
- posix_spawnp(3)
- fgets_unlocked(3)
- major(3)
- fseek(3)
- xdr_callhdr(3)
- execve(2)
- exit(3)
- makecontext(3)
- sysctl(2)
- oldolduname(2)
- getgrouplist(3)
- pthread_getattr_np(3)
- ffs(3)
- sem_init(3)
- gcvt(3)
- fts_children(3)
- rt_sigreturn(2)
- mallinfo(3)
- insl(2)
- geteuid(2)
- signalfd(2)
- erfcl(3)
- sched_get_priority_min(2)
- sched_setaffinity(2)
- wcsrchr(3)
- xdr_reference(3)
- snprintf(3)
- delete_module(2)
- j0f(3)
- malloc_hook(3)
- casinf(3)
- y0f(3)
- endgrent(3)
- y1l(3)
- pthread_create(3)
- wcsncasecmp(3)
- pidfd_getfd(2)
- htobe64(3)
- _sysctl(2)
- lrand48_r(3)
- warnx(3)
- lgammaf_r(3)
- verrx(3)
- finit_module(2)
- gsignal(3)
- recvfrom(2)
- log2(3)
- fflush_unlocked(3)
- getaliasbyname_r(3)
- pthread_mutexattr_setrobust(3)
- getdirentries(3)
- getrpcbyname_r(3)
- ppoll(2)
- tmpfile(3)
- isupper_l(3)
- xdr_free(3)
- res_nquery(3)
- fts_open(3)
- shutdown(2)
- xdr_callmsg(3)
- coshl(3)
- ntp_gettimex(3)
- afs_syscall(2)
- be32toh(3)
- fchmodat(2)
- addseverity(3)
- pause(2)
- strcmp(3)
- mkostemps(3)
- wcsrtombs(3)
- scandir(3)
- __freadable(3)
- killpg(3)
- add_key(2)
- strcoll(3)
- migrate_pages(2)
- pthread_setattr_default_np(3)
- pthread_attr_setsigmask_np(3)
- sigabbrev_np(3)
- readdir(2)
- subpage_prot(2)
- strfromf(3)
- sysv_signal(3)
- gethostbyname2_r(3)
- outl_p(2)
- sync(2)
- pthread_attr_getinheritsched(3)
- socket(2)
- msgrcv(2)
- fgetws(3)
- pthread_cleanup_push_defer_np(3)
- getnetgrent_r(3)
- ynl(3)
- endservent(3)
- srand(3)
- endmntent(3)
- cbrtl(3)
- setitimer(2)
- pmap_rmtcall(3)
- svcerr_systemerr(3)
- fesetround(3)
- ilogbf(3)
- __fwriting(3)
- log1p(3)
- futimens(3)
- xdrrec_endofrecord(3)
- setreuid32(2)
- swab(3)
- pthread_spin_init(3)
- memchr(3)
- fminf(3)
- getipnodebyname(3)
- msgop(2)
- wait(2)
- ether_aton_r(3)
- open_wmemstream(3)
- xdr_bool(3)
- pthread_tryjoin_np(3)
- xdr_int(3)
- inet_net_ntop(3)
- fdimf(3)
- srand48(3)
- xdr_setpos(3)
- asinf(3)
- program_invocation_name(3)
- write(2)
- mkdtemp(3)
- pthread_cleanup_pop(3)
- ptsname_r(3)
- lgammal_r(3)
- pthread_attr_getstackaddr(3)
- authunix_create(3)
- getpmsg(2)
- ceill(3)
- cexp2f(3)
- kcmp(2)
- setup(2)
- err(3)
- sync_file_range2(2)
- getpid(2)
- wcsncat(3)
- envz_get(3)
- futimes(3)
- mincore(2)
- herror(3)
- ether_line(3)
- feholdexcept(3)
- fputc(3)
- keyctl(2)
- timer_delete(2)
- posix_spawn(3)
- faccessat2(2)
- setnetgrent(3)
- pwrite(2)
- aio_read(3)
- shmget(2)
- acosh(3)
- sigdelset(3)
- __ppc_get_timebase(3)
- __flbf(3)
- dladdr1(3)
- argz_create_sep(3)
- mblen(3)
- gethostent(3)
- pciconfig_iobase(2)
- recvmmsg(2)
- isprint_l(3)
- csqrtf(3)
- wcstoimax(3)
- hsearch_r(3)
- svcudp_create(3)
- setreuid(2)
- le16toh(3)
- name_to_handle_at(2)
- strftime_l(3)
- pthread_attr_setschedparam(3)
- eventfd(2)
- atanhf(3)
- pthread_setspecific(3)
- pthread_cond_init(3)
- acosl(3)
- llistxattr(2)
- fputwc_unlocked(3)
- scanf(3)
- getmntent_r(3)
- getchar(3)
- res_ninit(3)
- error_one_per_line(3)
- sigsetmask(3)
- putwchar(3)
- llroundf(3)
- rt_sigpending(2)
- send(2)
- wcsstr(3)
- log2l(3)
- fmod(3)
- va_copy(3)
- res_search(3)
- res_nsend(3)
- res_query(3)
- wait3(2)
- encrypt_r(3)
- system(3)
- close_range(2)
- ecvt_r(3)
- read(2)
- auth_destroy(3)
- realloc(3)
- pipe2(2)
- dn_expand(3)
- timerclear(3)
- get_avphys_pages(3)
- mbsnrtowcs(3)
- strtok(3)
- fwide(3)
- __ppc_get_timebase_freq(3)
- gai_suspend(3)
- stpcpy(3)
- lldiv(3)
- iswxdigit(3)
- posix_openpt(3)
- s390_pci_mmio_write(2)
- pthread_spin_destroy(3)
- callrpc(3)
- getifaddrs(3)
- aio_suspend(3)
- fread_unlocked(3)
- get_nprocs_conf(3)
- getuid(2)
- spu_run(2)
- termios(3)
- umask(2)
- csqrtl(3)
- register_printf_modifier(3)
- sem_trywait(3)
- tee(2)
- msync(2)
- mpool(3)
- setdomainname(2)
- fopencookie(3)
- nl_langinfo(3)
- sockatmark(3)
- getspent_r(3)
- casinhl(3)
- fdiml(3)
- ntohs(3)
- fgets(3)
- time(2)
- casinl(3)
- pthread_detach(3)
- seccomp_unotify(2)
apt-get install manpages-dev
Available languages:
en fr ja ruManual
OPEN_BY_HANDLE_AT
名 前書 式
説 明
name_to_handle_at()
open_by_handle_at()
返 り 値
エ ラ ー
バ ー ジ ョ ン
準 拠
注 意
永 続 的 な フ ァ イ ル シ ス テ ム ID の 取 得
例
プ ロ グ ラ ム の ソ ー ス : t_name_to_handle_at.c
プ ロ グ ラ ム の ソ ー ス : t_open_by_handle_at.c
関 連 項 目
こ の 文 書 に つ い て
名 前
name_to_handle_at, open_by_handle_at - パ ス 名 に 対 す る ハ ン ド ル の 取 得 と ハ ン ド ル に よ る フ ァ イ ル の オ ー プ ン
書 式
#define
_GNU_SOURCE
/* feature_test_macros(7) 参 照
*/
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int
name_to_handle_at(int
dirfd
, const char
*
pathname
,
struct file_handle *
handle
,
int *
mount_id
, int
flags
);
int
open_by_handle_at(int
mount_fd
, struct
file_handle *
handle
,
int
flags
);
説 明
シ ス テ ム コ ー ル name_to_handle_at () と open_by_handle_at () は openat (2) の 機 能 を 2 つ に 分 割 し た も の で あ る 。 name_to_handle_at () は 指 定 さ れ た フ ァ イ ル に 対 応 す る ハ ン ド ル を 返 す 。 open_by_handle_at () は name_to_handle_at () が 返 し た ハ ン ド ル に 対 応 す る フ ァ イ ル を オ ー プ ン し 、 オ ー プ ン さ れ た フ ァ イ ル デ ィ ス ク リ プ タ ー を 返 す 。
name_to_handle_at()
name_to_handle_at () シ ス テ ム コ ー ル は 、 引 数 dirfd と pathname で 指 定 さ れ る フ ァ イ ル に 対 応 す る フ ァ イ ル ハ ン ド ル と マ ウ ン ト ID を 返 す 。 フ ァ イ ル ハ ン ド ル は 引 数 handle で 返 さ れ る 。 handle は 以 下 の 形 式 の 構 造 体 へ の ポ イ ン タ ー で あ る 。
struct
file_handle {
unsigned int handle_bytes; /* Size of f_handle [in, out] */
int handle_type; /* Handle type [out] */
unsigned char f_handle[0]; /* File identifier (sized by
caller) [out] */
};
It is the caller’s responsibility to allocate the structure with a size large enough to hold the handle returned in f_handle . Before the call, the handle_bytes field should be initialized to contain the allocated size for f_handle . (The constant MAX_HANDLE_SZ , defined in <fcntl.h> , specifies the maximum expected size for a file handle. It is not a guaranteed upper limit as future filesystems may require more space.) Upon successful return, the handle_bytes field is updated to contain the number of bytes actually written to f_handle .
The caller can discover the required size for the file_handle structure by making a call in which handle->handle_bytes is zero; in this case, the call fails with the error EOVERFLOW and handle->handle_bytes is set to indicate the required size; the caller can then use this information to allocate a structure of the correct size (see EXAMPLES below). Some care is needed here as EOVERFLOW can also indicate that no file handle is available for this particular name in a filesystem which does normally support file-handle lookup. This case can be detected when the EOVERFLOW error is returned without handle_bytes being increased.
handle_bytes フ ィ ー ル ド を 使 用 す る 以 外 は 、 呼 び 出 し 元 は file_handle 構 造 体 の 内 容 を 意 識 せ ず に 扱 う べ き で あ る 。 フ ィ ー ル ド handle_type と f_handle は 後 で open_by_handle_at () を 呼 び 出 す 場 合 に だ け 必 要 で あ る 。
flags 引 数 は 、 下 記 の AT_EMPTY_PATH と AT_SYMLINK_FOLLOW の う ち 0 個 以 上 の 論 理 和 を 取 っ て 構 成 さ れ る ビ ッ ト マ ス ク で あ る 。
引 数 pathname と dirfd は そ の 組 み 合 わ せ で ハ ン ド ル を 取 得 す る フ ァ イ ル を 指 定 す る 。 以 下 の 4 つ の パ タ ー ン が あ る 。
|
* |
pathname が 空 で な い 文 字 列 で 絶 対 パ ス 名 を 含 む 場 合 、 こ の パ ス 名 が 参 照 す る フ ァ イ ル に 対 す る ハ ン ド ル が 返 さ れ る 。 |
||
|
* |
pathname が 相 対 パ ス が 入 っ た 空 で な い 文 字 列 で 、 dirfd が 特 別 な 値 AT_FDCWD の 場 合 、 pathname は 呼 び 出 し 元 の カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ に 対 す る 相 対 パ ス と 解 釈 さ れ 、 そ の フ ァ イ ル に 対 す る ハ ン ド ル が 返 さ れ る 。 |
||
|
* |
pathname が 相 対 パ ス が 入 っ た 空 で な い 文 字 列 で 、 dirfd が デ ィ レ ク ト リ を 参 照 す る フ ァ イ ル デ ィ ス ク リ プ タ ー の 場 合 、 pathname は dirfd が 参 照 す る デ ィ レ ク ト リ に 対 す る 相 対 パ ス と 解 釈 さ れ 、 そ の フ ァ イ ル を 参 照 す る ハ ン ド ル が 返 さ れ る 。 (な ぜ 「 デ ィ レ ク ト リ フ ァ イ ル デ ィ ス ク リ プ タ ー 」 が 役 に 立 つ の か に つ い て は openat (2) を 参 照 。 ) |
||
|
* |
pathname が 空 の 文 字 列 で flags に AT_EMPTY_PATH が 指 定 さ れ て い る 場 合 、 dirfd に は 任 意 の 種 別 の フ ァ イ ル を 参 照 す る オ ー プ ン さ れ た フ ァ イ ル デ ィ ス ク リ プ タ ー か AT_FDCWD (カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ を 意 味 す る ) を 指 定 で き 、 dirfd が 参 照 す る フ ァ イ ル に 対 す る ハ ン ド ル が 返 さ れ る 。 |
The mount_id argument returns an identifier for the filesystem mount that corresponds to pathname . This corresponds to the first field in one of the records in /proc/self/mountinfo . Opening the pathname in the fifth field of that record yields a file descriptor for the mount point; that file descriptor can be used in a subsequent call to open_by_handle_at (). mount_id is returned both for a successful call and for a call that results in the error EOVERFLOW .
デ フ ォ ル ト で は 、 name_to_handle_at () は pathname が シ ン ボ リ ッ ク リ ン ク の 場 合 に そ の 展 開 (dereference) を 行 わ ず 、 リ ン ク 自 身 に 対 す る ハ ン ド ル を 返 す 。 AT_SYMLINK_FOLLOW が flags に 指 定 さ れ る と 、 pathname が シ ン ボ リ ッ ク リ ン ク の 場 合 に リ ン ク の 展 開 が 行 わ れ る (リ ン ク が 参 照 す る フ ァ イ ル に 対 す る ハ ン ド ル が 返 さ れ る )。
name_to_handle_at () does not trigger a mount when the final component of the pathname is an automount point. When a filesystem supports both file handles and automount points, a name_to_handle_at () call on an automount point will return with error EOVERFLOW without having increased handle_bytes . This can happen since Linux 4.13 with NFS when accessing a directory which is on a separate filesystem on the server. In this case, the automount can be triggered by adding a "/" to the end of the pathname.
open_by_handle_at()
open_by_handle_at () シ ス テ ム コ ー ル は handle が 参 照 す る フ ァ イ ル を オ ー プ ン す る 。 handle は 前 に 呼 び 出 し た name_to_handle_at () が 返 し た フ ァ イ ル ハ ン ド ル で あ る 。
mount_fd 引 数 は 、 handle が そ の フ ァ イ ル シ ス テ ム に 関 連 す る と 解 釈 さ れ る マ ウ ン ト さ れ た フ ァ イ ル シ ス テ ム 内 の 任 意 の オ ブ ジ ェ ク ト (フ ァ イ ル 、 デ ィ レ ク ト リ な ど ) の フ ァ イ ル デ ィ ス ク リ プ タ ー で あ る 。 特 別 な 値 AT_FDCWD も 指 定 で き る 。 こ の 値 は 呼 び 出 し 元 の カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ を 意 味 す る 。
引 数 flags は open (2) と 同 じ で あ る 。 handle が シ ン ボ リ ッ ク リ ン ク を 参 照 し て い る 場 合 、 呼 び 出 し 元 は O_PATH フ ラ グ を 指 定 し な け れ ば な ら ず 、 そ の シ ン ボ リ ッ ク リ ン ク は 展 開 さ れ な い 。 O_NOFOLLOW が 指 定 さ れ た 場 合 は 、 O_NOFOLLOW は 無 視 さ れ る 。
open_by_handle_at () を 呼 び 出 す に は 、 呼 び 出 し 元 が CAP_DAC_READ_SEARCH ケ ー パ ビ リ テ ィ ー を 持 っ て い な け れ ば な ら な い 。
返 り 値
成 功 す る と 、 name_to_handle_at () は 0 を 返 し 、 open_by_handle_at () は フ ァ イ ル デ ィ ス ク リ プ タ ー (非 負 の 整 数 ) を 返 す 。
エ ラ ー の 場 合 、 ど ち ら の シ ス テ ム コ ー ル も -1 を 返 し 、 errno に エ ラ ー の 原 因 を 示 す 値 を 設 定 す る 。
エ ラ ー
name_to_handle_at () と open_by_handle_at () は openat (2) と 同 じ エ ラ ー で 失 敗 す る 。 ま た 、 こ れ ら の シ ス テ ム コ ー ル は 以 下 の エ ラ ー で 失 敗 す る こ と も あ る 。
name_to_handle_at () は 以 下 の エ ラ ー で 失 敗 す る こ と が あ る 。
|
EFAULT |
pathname , mount_id , handle の ど れ か が ア ク セ ス 可 能 な ア ド レ ス 空 間 の 外 を 指 し て い る 。 |
||
|
EINVAL |
flags に 無 効 な ビ ッ ト 値 が 含 ま れ て い る 。 |
||
|
EINVAL |
handle->handle_bytes が MAX_HANDLE_SZ よ り も 大 き い 。 |
||
|
ENOENT |
pathname が 空 文 字 列 だ が 、 flags に AT_EMPTY_PATH が さ れ て い な か っ た 。 |
ENOTDIR
dirfd で 指 定 さ れ た フ ァ イ ル デ ィ ス ク リ プ タ ー が デ ィ レ ク ト リ を 参 照 し て お ら ず 、 両 方 の flags に AT_EMPTY_PATH が 指 定 さ れ 、 か つ pathname が 空 文 字 列 で あ る 場 合 で も な い 。
EOPNOTSUPP
フ ァ イ ル シ ス テ ム が パ ス 名 を フ ァ イ ル ハ ン ド ル へ の 変 換 を サ ポ ー ト し て い な い 。
EOVERFLOW
呼 び 出 し に 渡 さ れ た handle->handle_bytes の 値 が 小 さ す ぎ た 。 こ の エ ラ ー が 発 生 し た 際 、 handle->handle_bytes は ハ ン ド ル に 必 要 な サ イ ズ に 更 新 さ れ る 。
open_by_handle_at () は 以 下 の エ ラ ー で 失 敗 す る こ と が あ る 。
|
EBADF |
mount_fd が オ ー プ ン さ れ た フ ァ イ ル デ ィ ス ク リ プ タ ー で な い 。 |
||
|
EFAULT |
handle が ア ク セ ス 可 能 な ア ド レ ス 空 間 の 外 を 指 し て い る 。 |
||
|
EINVAL |
handle->handle_bytes が MAX_HANDLE_SZ よ り 大 き い か 0 に 等 し い 。 |
||
|
ELOOP |
handle が シ ン ボ リ ッ ク リ ン ク を 参 照 し て い る が 、 flags に O_PATH が さ れ て い な か っ た 。 |
||
|
EPERM |
呼 び 出 し 元 が CAP_DAC_READ_SEARCH ケ ー パ ビ リ テ ィ を 持 っ て い な い 。 |
||
|
ESTALE |
指 定 さ れ た handle が 有 効 で は な い 。 こ の エ ラ ー は 、 例 え ば フ ァ イ ル が 削 除 さ れ た 場 合 な ど に 発 生 す る 。 |
バ ー ジ ョ ン
こ れ ら の シ ス テ ム コ ー ル は Linux 2.6.39 で 初 め て 登 場 し た 。 ラ イ ブ ラ リ に よ る サ ポ ー ト は バ ー ジ ョ ン 2.14 以 降 の glibc で 提 供 さ れ て い る 。
準 拠
こ れ ら の シ ス テ ム コ ー ル は 非 標 準 の Linux の 拡 張 で あ る 。
FreeBSD に は getfh () と openfh () と い う ほ と ん ど 同 じ 機 能 の シ ス テ ム コ ー ル の ペ ア が 存 在 す る 。
注 意
あ る プ ロ セ ス で name_to_handle_at () を 使 っ て フ ァ イ ル ハ ン ド ル を 生 成 し て 、 そ の ハ ン ド ル を 別 の プ ロ セ ス の open_by_handle_at () で 使 用 す る こ と が で き る 。
い く つ か の フ ァ イ ル シ ス テ ム で は 、 パ ス 名 か ら フ ァ イ ル ハ ン ド ル へ の 変 換 が サ ポ ー ト さ れ て い な い 。 例 え ば 、 /proc , /sys や 種 々 の ネ ッ ト ワ ー ク フ ァ イ ル シ ス テ ム な ど で あ る 。
フ ァ イ ル ハ ン ド ル は 、 フ ァ イ ル が 削 除 さ れ た り 、 そ の 他 の フ ァ イ ル シ ス テ ム 固 有 の 理 由 で 、 無 効 ("stale") に な る 場 合 が あ る 。 無 効 な ハ ン ド ル で あ る こ と は 、 open_by_handle_at () か ら エ ラ ー ESTALE が 返 る こ と で 通 知 さ れ る 。
こ れ ら の シ ス テ ム コ ー ル は 、 ユ ー ザ ー 空 間 の フ ァ イ ル サ ー バ ー で の 使 用 を 意 図 し て 設 計 さ れ て い る 。 例 え ば 、 ユ ー ザ ー 空 間 NFS サ ー バ ー が フ ァ イ ル ハ ン ド ル を 生 成 し て 、 そ の ハ ン ド ル を NFS ク ラ イ ア ン ト に 渡 す こ と が で き る 。 そ の 後 、 ク ラ イ ア ン ト が フ ァ イ ル を オ ー プ ン し よ う と し た 際 に 、 こ の ハ ン ド ル を サ ー バ ー に 送 り 返 す こ と が で き る 。 こ の よ う な 機 能 に よ り 、 ユ ー ザ ー 空 間 フ ァ イ ル サ ー バ ー は 、 そ の サ ー バ ー が 提 供 す る フ ァ イ ル に 関 し て ス テ ー ト レ ス で (状 態 を 保 持 せ ず に ) 動 作 す る こ と が で き る 。
pathname が シ ン ボ リ ッ ク リ ン ク を 参 照 し て い て 、 flags に AT_SYMLINK_FOLLOW が 指 定 さ れ て い な い 場 合 、 name_to_handle_at () は (シ ン ボ リ ッ ク が 参 照 す る フ ァ イ ル で は な く ) リ ン ク に 対 す る ハ ン ド ル を 返 す 。 ハ ン ド ル を 受 け 取 っ た プ ロ セ ス は 、 open_by_handle_at () の O_PATH フ ラ グ を 使 っ て ハ ン ド ル を フ ァ イ ル デ ィ ス ク リ プ タ ー に 変 換 し 、 そ の フ ァ イ ル デ ィ ス ク リ プ タ ー を readlinkat (2) や fchownat (2) な ど の シ ス テ ム コ ー ル の dirfd 引 数 と し て 渡 す こ と で 、 そ の シ ン ボ リ ッ ク リ ン ク に 対 し て 操 作 を 行 う こ と が で き る 。
永 続 的 な フ ァ イ ル シ ス テ ム ID の 取 得
/proc/self/mountinfo の マ ウ ン ト ID は 、 フ ァ イ ル シ ス テ ム の ア ン マ ウ ン ト 、 マ ウ ン ト が 行 わ れ る に 連 れ て 再 利 用 さ れ る こ と が あ る 。 し た が っ て 、 name_to_handle_at () (の *mount_id ) で 返 さ れ た マ ウ ン ト ID は 対 応 す る マ ウ ン ト さ れ た フ ァ イ ル シ ス テ ム を 表 す 永 続 的 な ID と 考 え る べ き で は な い 。 た だ し 、 ア プ リ ケ ー シ ョ ン は 、 マ ウ ン ト ID に 対 応 す る mountinfo レ コ ー ド の 情 報 を 使 う こ と で 、 永 続 的 な ID を 得 る こ と が で き る 。
例 え ば 、 mountinfo レ コ ー ド の 5 番 目 の フ ィ ー ル ド の デ バ イ ス 名 を 使 っ て 、 /dev/disks/by-uuid の シ ン ボ リ ッ ク リ ン ク 経 由 で 対 応 す る デ バ イ ス UUID を 検 索 で き る 。 (UUID を 取 得 す る も っ と 便 利 な 方 法 は libblkid (3) ラ イ ブ ラ リ を 使 用 す る こ と で あ る 。 ) そ の プ ロ セ ス は 、 逆 に 、 こ の UUID を 使 っ て デ バ イ ス 名 を 検 索 し 、 対 応 す る マ ウ ン ト ポ イ ン ト を 取 得 す る こ と で 、 open_by_handle_at () で 使 用 す る mount_fd 引 数 を 生 成 す る こ と が で き る 。
例
以 下 の 2 つ の プ ロ グ ラ ム は name_to_handle_at () と open_by_handle_at () の 使 用 例 を 示 し た も の で あ る 。 最 初 の プ ロ グ ラ ム ( t_name_to_handle_at.c ) は name_to_handle_at () を 使 用 し て 、 コ マ ン ド ラ イ ン 引 数 で 指 定 さ れ た フ ァ イ ル に 対 応 す る フ ァ イ ル ハ ン ド ル と マ ウ ン ト ID を 取 得 す る 。 ハ ン ド ル と マ ウ ン ト ID は 標 準 出 力 に 出 力 さ れ る 。
2 つ 目 の プ ロ グ ラ ム ( t_open_by_handle_at.c ) は 、 標 準 入 力 か ら マ ウ ン ト ID と フ ァ イ ル ハ ン ド ル を 読 み 込 む 。 そ れ か ら 、 open_by_handle_at () を 利 用 し て 、 そ の ハ ン ド ル を 使 っ て フ ァ イ ル を オ ー プ ン す る 。 追 加 の コ マ ン ド ラ イ ン 引 数 が 指 定 さ れ た 場 合 は 、 open_by_handle_at () の mount_fd 引 数 は 、 こ の 引 数 で 渡 さ れ た 名 前 の デ ィ レ ク ト リ を オ ー プ ン し て 取 得 す る 。 そ れ 以 外 の 場 合 、 /proc/self/mountinfo か ら ス キ ャ ン し て 標 準 入 力 か ら 読 み 込 ん だ マ ウ ン ト ID に 一 致 す る マ ウ ン ト ID を 検 索 し 、 そ の レ コ ー ド で 指 定 さ れ て い る マ ウ ン ト デ ィ レ ク ト リ を オ ー プ ン し て 、 mount_fd を 入 手 す る 。 (こ れ ら の プ ロ グ ラ ム で は マ ウ ン ト ID が 永 続 的 で は な い 点 に つ い て の 対 処 は 行 わ な い 。 )
以 下 の シ ェ ル セ ッ シ ョ ン は 、 こ れ ら 2 つ の プ ロ グ ラ ム の 使 用 例 で あ る 。
$
echo 'Can
you please think about it?' > cecilia.txt
$
./t_name_to_handle_at cecilia.txt > fh
$
./t_open_by_handle_at < fh
open_by_handle_at: Operation not permitted
$
sudo ./t_open_by_handle_at < fh
# Need
CAP_SYS_ADMIN
Read 31 bytes
$
rm cecilia.txt
こ こ で 、 フ ァ イ ル を 削 除 し (す ぐ に ) 再 作 成 す る 。 同 じ 内 容 で (運 が よ け れ ば ) 同 じ inode に な る 。 こ の 場 合 で も 、 open_by_handle_at () は こ の フ ァ イ ル ハ ン ド ル が 参 照 す る 元 の フ ァ イ ル が す で に 存 在 し な い こ と を 認 識 す る 。
$
stat
--printf="%i\n" cecilia.txt
# Display inode
number
4072121
$
rm cecilia.txt
$
echo 'Can you please think about it?' >
cecilia.txt
$
stat --printf="%i\n" cecilia.txt
# Check
inode number
4072121
$
sudo ./t_open_by_handle_at < fh
open_by_handle_at: Stale NFS file handle
プ ロ グ ラ ム の ソ ー ス : t_name_to_handle_at.c
#define
_GNU_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#define
errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
} while (0)
int
main(int argc, char *argv[])
{
struct file_handle *fhp;
int mount_id, fhsize, flags, dirfd;
char *pathname;
if (argc != 2) {
fprintf(stderr, "Usage: %s pathname\n", argv[0]);
exit(EXIT_FAILURE);
}
pathname = argv[1];
/* file_handle 構 造 体 を 確 保 す る */
fhsize =
sizeof(*fhp);
fhp = malloc(fhsize);
if (fhp == NULL)
errExit("malloc");
/*
name_to_handle_at() を 最 初 に
呼 び 出 し て
フ ァ イ ル ハ ン
ド ル に 必 要 な
サ イ ズ を 入 手
す る */
dirfd =
AT_FDCWD; /* For name_to_handle_at() calls */
flags = 0; /* For name_to_handle_at() calls */
fhp->handle_bytes = 0;
if (name_to_handle_at(dirfd, pathname, fhp,
&mount_id, flags) != -1 || errno != EOVERFLOW) {
fprintf(stderr, "Unexpected result from
name_to_handle_at()\n");
exit(EXIT_FAILURE);
}
/* file_handle 構 造 体 を 正 し い サ イ ズ に 確 保 し 直 す */
fhsize =
sizeof(*fhp) + fhp->handle_bytes;
fhp = realloc(fhp, fhsize); /* Copies fhp->handle_bytes
*/
if (fhp == NULL)
errExit("realloc");
/* コ マ ン ド ラ イ ン で 指 定 さ れ た パ ス 名 か ら フ ァ イ ル ハ ン ド ル を 取 得 */
if
(name_to_handle_at(dirfd, pathname, fhp, &mount_id,
flags) == -1)
errExit("name_to_handle_at");
/*
t_open_by_handle_at.c で 後 で 再
利 用 で き る よ
う に 、 マ ウ ン
ト ID、
フ ァ イ ル ハ ン
ド ル の サ イ ズ
、 フ ァ イ ル ハ
ン ド ル を 標 準
出 力 に 書 き 出
す */
printf("%d\n",
mount_id);
printf("%u %d ", fhp->handle_bytes,
fhp->handle_type);
for (int j = 0; j < fhp->handle_bytes; j++)
printf(" %02x", fhp->f_handle[j]);
printf("\n");
exit(EXIT_SUCCESS);
}
プ ロ グ ラ ム の ソ ー ス : t_open_by_handle_at.c
#define
_GNU_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define
errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \
} while (0)
/*
/proc/self/mountinfo を ス キ ャ
ン し て 、 マ ウ
ン ト ID が 'mount_id' に
一 致 す る 行 を
探 す 。 (も っ と
簡 単 な 方 法 は
'util-linux' プ ロ ジ ェ ク
ト
が 提 供 す る 'libmount'
ラ イ ブ ラ リ を
イ ン ス ト ー ル
し て 使 う こ と
で あ る )
対 応 す る マ ウ
ン ト パ ス を オ
ー プ ン し 、 得
ら れ た フ ァ イ
ル デ ィ ス ク リ
プ タ ー を 返 す
。 */
static int
open_mount_path_by_id(int mount_id)
{
char *linep;
size_t lsize;
char mount_path[PATH_MAX];
int mi_mount_id, found;
ssize_t nread;
FILE *fp;
fp =
fopen("/proc/self/mountinfo", "r");
if (fp == NULL)
errExit("fopen");
found = 0;
linep = NULL;
while (!found) {
nread = getline(&linep, &lsize, fp);
if (nread == -1)
break;
nread =
sscanf(linep, "%d %*d %*s %*s %s",
&mi_mount_id, mount_path);
if (nread != 2) {
fprintf(stderr, "Bad sscanf()\n");
exit(EXIT_FAILURE);
}
if (mi_mount_id
== mount_id)
found = 1;
}
free(linep);
fclose(fp);
if (!found) {
fprintf(stderr, "Could not find mount point\n");
exit(EXIT_FAILURE);
}
return
open(mount_path, O_RDONLY);
}
int
main(int argc, char *argv[])
{
struct file_handle *fhp;
int mount_id, fd, mount_fd, handle_bytes;
ssize_t nread;
char buf[1000];
#define LINE_SIZE 100
char line1[LINE_SIZE], line2[LINE_SIZE];
char *nextp;
if ((argc > 1
&& strcmp(argv[1], "--help") == 0) || argc
> 2) {
fprintf(stderr, "Usage: %s [mount-path]\n",
argv[0]);
exit(EXIT_FAILURE);
}
/* マ ウ ン ト ID と フ ァ イ ル ハ ン ド ル 情 報 が 入 っ た 標 準 入 力 :
Line 1:
<mount_id>
Line 2: <handle_bytes> <handle_type> <bytes
of handle in hex>
*/
if
((fgets(line1, sizeof(line1), stdin) == NULL) ||
(fgets(line2, sizeof(line2), stdin) == NULL)) {
fprintf(stderr, "Missing mount_id / file
handle\n");
exit(EXIT_FAILURE);
}
mount_id = atoi(line1);
handle_bytes = strtoul(line2, &nextp, 0);
/* handle_bytes
が あ れ ば 、
file_handle 構 造 体 を こ
こ で 割 り 当 て
で き る */
fhp =
malloc(sizeof(*fhp) + handle_bytes);
if (fhp == NULL)
errExit("malloc");
fhp->handle_bytes = handle_bytes;
fhp->handle_type = strtoul(nextp, &nextp, 0);
for (int j = 0;
j < fhp->handle_bytes; j++)
fhp->f_handle[j] = strtoul(nextp, &nextp, 16);
/* マ
ウ ン ト ポ イ ン
ト の フ ァ イ ル
デ ィ ス ク リ プ
タ ー を 取 得 す
る 。
取 得 は 、 コ マ
ン ド ラ イ ン で
指 定 さ れ た パ
ス 名 を オ ー プ
ン す る か 、
/proc/self/mounts を ス キ ャ
ン し て 標 準 入
力 か ら 受 け 取
っ た
'mount_id' に 一 致 す る
マ ウ ン ト を 探
す こ と で 行 う
。 */
if (argc > 1)
mount_fd = open(argv[1], O_RDONLY);
else
mount_fd = open_mount_path_by_id(mount_id);
if (mount_fd ==
-1)
errExit("opening mount fd");
/* ハ ン ド ル と マ ウ ン ト ポ イ ン ト を 使 っ て フ ァ イ ル を オ ー プ ン す る */
fd =
open_by_handle_at(mount_fd, fhp, O_RDONLY);
if (fd == -1)
errExit("open_by_handle_at");
/* そ の フ ァ イ ル か ら バ イ ト を 読 み 出 す */
nread = read(fd,
buf, sizeof(buf));
if (nread == -1)
errExit("read");
printf("Read %zd bytes\n", nread);
exit(EXIT_SUCCESS);
}
関 連 項 目
open
(2),
libblkid
(3),
blkid
(8),
findfs
(8),
mount
(8)
https://www.kernel.org/pub/linux/utils/util-linux/
で 入 手 で き る
最 新 の
util-linux
リ
リ ー ス の
libblkid
と
libmount
の ド キ ュ メ
ン ト 。
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。