From f5d1a45c05af679fb80706c40816f4ec5152926e Mon Sep 17 00:00:00 2001 From: Akihiro MOTOKI Date: Mon, 25 Mar 2013 12:32:18 +0900 Subject: [PATCH] (split) LDP: Update drafts from ja.po of LDP v3.50 --- draft/man1/intro.1 | 4 +- draft/man1/ldd.1 | 62 - draft/man1/time.1 | 218 -- draft/man2/_exit.2 | 6 +- draft/man2/_syscall.2 | 12 +- draft/man2/accept.2 | 220 -- draft/man2/access.2 | 165 -- draft/man2/acct.2 | 11 +- draft/man2/adjtimex.2 | 13 +- draft/man2/alarm.2 | 6 +- draft/man2/alloc_hugepages.2 | 6 +- draft/man2/arch_prctl.2 | 9 +- draft/man2/bdflush.2 | 13 +- draft/man2/bind.2 | 8 +- draft/man2/brk.2 | 11 +- draft/man2/cacheflush.2 | 9 +- draft/man2/capget.2 | 137 -- draft/man2/chdir.2 | 6 +- draft/man2/chmod.2 | 6 +- draft/man2/chown.2 | 236 -- draft/man2/chroot.2 | 6 +- draft/man2/clock_getres.2 | 168 -- draft/man2/clock_nanosleep.2 | 152 -- draft/man2/clone.2 | 491 ----- draft/man2/close.2 | 6 +- draft/man2/connect.2 | 8 +- draft/man2/create_module.2 | 56 - draft/man2/delete_module.2 | 51 - draft/man2/dup.2 | 6 +- draft/man2/epoll_create.2 | 16 +- draft/man2/epoll_ctl.2 | 15 +- draft/man2/epoll_wait.2 | 138 -- draft/man2/eventfd.2 | 278 --- draft/man2/execve.2 | 432 ---- draft/man2/exit_group.2 | 4 +- draft/man2/faccessat.2 | 7 +- draft/man2/fchmodat.2 | 7 +- draft/man2/fchownat.2 | 7 +- draft/man2/fcntl.2 | 662 ------ draft/man2/flock.2 | 136 -- draft/man2/fork.2 | 153 -- draft/man2/fstatat.2 | 6 +- draft/man2/fsync.2 | 7 +- draft/man2/futex.2 | 165 -- draft/man2/futimesat.2 | 7 +- draft/man2/get_kernel_syms.2 | 66 - draft/man2/get_mempolicy.2 | 114 - draft/man2/get_thread_area.2 | 46 - draft/man2/getcpu.2 | 111 - draft/man2/getdents.2 | 234 -- draft/man2/getdomainname.2 | 97 - draft/man2/getgid.2 | 6 +- draft/man2/getgroups.2 | 6 +- draft/man2/gethostname.2 | 6 +- draft/man2/getitimer.2 | 124 -- draft/man2/getpagesize.2 | 4 +- draft/man2/getpeername.2 | 94 - draft/man2/getpid.2 | 8 +- draft/man2/getpriority.2 | 134 -- draft/man2/getresuid.2 | 7 +- draft/man2/getsid.2 | 9 +- draft/man2/getsockname.2 | 4 +- draft/man2/getsockopt.2 | 4 +- draft/man2/gettid.2 | 64 - draft/man2/gettimeofday.2 | 182 -- draft/man2/getuid.2 | 8 +- draft/man2/getxattr.2 | 100 - draft/man2/idle.2 | 64 - draft/man2/init_module.2 | 84 - draft/man2/inotify_add_watch.2 | 11 +- draft/man2/inotify_init.2 | 86 - draft/man2/inotify_rm_watch.2 | 11 +- draft/man2/intro.2 | 4 +- draft/man2/io_cancel.2 | 10 +- draft/man2/io_destroy.2 | 11 +- draft/man2/io_getevents.2 | 14 +- draft/man2/io_setup.2 | 10 +- draft/man2/io_submit.2 | 10 +- draft/man2/ioctl.2 | 4 +- draft/man2/ioctl_list.2 | 15 +- draft/man2/ioperm.2 | 93 - draft/man2/iopl.2 | 83 - draft/man2/ioprio_set.2 | 184 -- draft/man2/ipc.2 | 57 - draft/man2/kexec_load.2 | 123 -- draft/man2/kill.2 | 132 -- draft/man2/killpg.2 | 5 +- draft/man2/link.2 | 130 -- draft/man2/linkat.2 | 6 +- draft/man2/listen.2 | 4 +- draft/man2/listxattr.2 | 113 - draft/man2/llseek.2 | 69 - draft/man2/lookup_dcookie.2 | 6 +- draft/man2/mbind.2 | 196 -- draft/man2/migrate_pages.2 | 101 - draft/man2/mincore.2 | 6 +- draft/man2/mkdir.2 | 100 - draft/man2/mkdirat.2 | 7 +- draft/man2/mknod.2 | 134 -- draft/man2/mknodat.2 | 7 +- draft/man2/mlock.2 | 196 -- draft/man2/mmap.2 | 397 ---- draft/man2/mmap2.2 | 83 - draft/man2/modify_ldt.2 | 103 - draft/man2/mount.2 | 45 +- draft/man2/move_pages.2 | 6 +- draft/man2/mprotect.2 | 184 -- draft/man2/mq_getsetattr.2 | 57 - draft/man2/mremap.2 | 125 -- draft/man2/msgctl.2 | 200 -- draft/man2/msgget.2 | 123 -- draft/man2/msgop.2 | 229 -- draft/man2/msync.2 | 8 +- draft/man2/nanosleep.2 | 11 +- draft/man2/nfsservctl.2 | 6 +- draft/man2/nice.2 | 6 +- draft/man2/open.2 | 494 ----- draft/man2/openat.2 | 7 +- draft/man2/outb.2 | 59 - draft/man2/pause.2 | 6 +- draft/man2/pciconfig_read.2 | 77 - draft/man2/personality.2 | 4 +- draft/man2/pipe.2 | 6 +- draft/man2/pivot_root.2 | 97 - draft/man2/poll.2 | 228 -- draft/man2/posix_fadvise.2 | 7 +- draft/man2/pread.2 | 4 +- draft/man2/query_module.2 | 115 - draft/man2/read.2 | 118 - draft/man2/readahead.2 | 6 +- draft/man2/readdir.2 | 95 - draft/man2/readlink.2 | 4 +- draft/man2/readlinkat.2 | 7 +- draft/man2/readv.2 | 172 -- draft/man2/reboot.2 | 5 +- draft/man2/recv.2 | 308 --- draft/man2/remap_file_pages.2 | 4 +- draft/man2/removexattr.2 | 85 - draft/man2/rename.2 | 147 -- draft/man2/renameat.2 | 7 +- draft/man2/rmdir.2 | 6 +- draft/man2/sched_get_priority_max.2 | 15 +- draft/man2/sched_rr_get_interval.2 | 13 +- draft/man2/sched_setaffinity.2 | 135 -- draft/man2/sched_setparam.2 | 96 - draft/man2/sched_setscheduler.2 | 338 --- draft/man2/sched_yield.2 | 15 +- draft/man2/select.2 | 346 --- draft/man2/select_tut.2 | 605 ----- draft/man2/semctl.2 | 275 --- draft/man2/semget.2 | 158 -- draft/man2/semop.2 | 258 --- draft/man2/send.2 | 254 --- draft/man2/sendfile.2 | 6 +- draft/man2/set_mempolicy.2 | 4 +- draft/man2/set_thread_area.2 | 53 - draft/man2/set_tid_address.2 | 70 - draft/man2/seteuid.2 | 95 - draft/man2/setfsgid.2 | 4 +- draft/man2/setfsuid.2 | 4 +- draft/man2/setgid.2 | 8 +- draft/man2/setns.2 | 88 - draft/man2/setpgid.2 | 4 +- draft/man2/setresuid.2 | 6 +- draft/man2/setreuid.2 | 4 +- draft/man2/setsid.2 | 71 - draft/man2/setuid.2 | 4 +- draft/man2/setup.2 | 6 +- draft/man2/setxattr.2 | 99 - draft/man2/sgetmask.2 | 62 - draft/man2/shmctl.2 | 254 --- draft/man2/shmget.2 | 176 -- draft/man2/shmop.2 | 160 -- draft/man2/shutdown.2 | 76 - draft/man2/sigaltstack.2 | 4 +- draft/man2/signal.2 | 151 -- draft/man2/signalfd.2 | 13 +- draft/man2/sigpending.2 | 4 +- draft/man2/sigprocmask.2 | 4 +- draft/man2/sigreturn.2 | 4 +- draft/man2/sigsuspend.2 | 4 +- draft/man2/sigwaitinfo.2 | 117 - draft/man2/socket.2 | 261 --- draft/man2/socketcall.2 | 55 - draft/man2/socketpair.2 | 4 +- draft/man2/splice.2 | 148 -- draft/man2/spu_run.2 | 191 -- draft/man2/stat.2 | 463 ---- draft/man2/statfs.2 | 4 +- draft/man2/stime.2 | 6 +- draft/man2/swapon.2 | 6 +- draft/man2/symlink.2 | 130 -- draft/man2/symlinkat.2 | 7 +- draft/man2/sync.2 | 6 +- draft/man2/sync_file_range.2 | 8 +- draft/man2/syscall.2 | 82 - draft/man2/syscalls.2 | 654 ------ draft/man2/sysctl.2 | 140 -- draft/man2/sysfs.2 | 4 +- draft/man2/sysinfo.2 | 6 +- draft/man2/syslog.2 | 174 -- draft/man2/tee.2 | 6 +- draft/man2/time.2 | 6 +- draft/man2/timerfd_create.2 | 19 +- draft/man2/times.2 | 135 -- draft/man2/tkill.2 | 81 - draft/man2/truncate.2 | 4 +- draft/man2/umask.2 | 6 +- draft/man2/umount.2 | 8 +- draft/man2/uname.2 | 105 - draft/man2/unimplemented.2 | 21 +- draft/man2/unlink.2 | 6 +- draft/man2/unlinkat.2 | 7 +- draft/man2/unshare.2 | 162 -- draft/man2/uselib.2 | 6 +- draft/man2/ustat.2 | 4 +- draft/man2/utime.2 | 6 +- draft/man2/vfork.2 | 167 -- draft/man2/vm86.2 | 67 - draft/man2/vmsplice.2 | 6 +- draft/man2/wait.2 | 375 ---- draft/man2/wait4.2 | 122 -- draft/man2/write.2 | 137 -- draft/man3/CPU_SET.3 | 4 +- draft/man3/INFINITY.3 | 4 +- draft/man3/MB_CUR_MAX.3 | 4 +- draft/man3/MB_LEN_MAX.3 | 4 +- draft/man3/__setfpucw.3 | 48 - draft/man3/a64l.3 | 5 +- draft/man3/abort.3 | 4 +- draft/man3/abs.3 | 4 +- draft/man3/acos.3 | 4 +- draft/man3/acosh.3 | 4 +- draft/man3/addseverity.3 | 5 +- draft/man3/adjtime.3 | 4 +- draft/man3/aio_cancel.3 | 9 +- draft/man3/aio_error.3 | 9 +- draft/man3/aio_fsync.3 | 9 +- draft/man3/aio_init.3 | 4 +- draft/man3/aio_read.3 | 9 +- draft/man3/aio_return.3 | 9 +- draft/man3/aio_suspend.3 | 9 +- draft/man3/aio_write.3 | 13 +- draft/man3/alloca.3 | 102 - draft/man3/argz_add.3 | 6 +- draft/man3/asin.3 | 4 +- draft/man3/asinh.3 | 4 +- draft/man3/asprintf.3 | 4 +- draft/man3/assert.3 | 6 +- draft/man3/assert_perror.3 | 4 +- draft/man3/atan.3 | 4 +- draft/man3/atan2.3 | 4 +- draft/man3/atanh.3 | 4 +- draft/man3/atexit.3 | 120 - draft/man3/atof.3 | 61 - draft/man3/atoi.3 | 91 - draft/man3/backtrace.3 | 4 +- draft/man3/basename.3 | 6 +- draft/man3/bcmp.3 | 4 +- draft/man3/bcopy.3 | 4 +- draft/man3/bindresvport.3 | 5 +- draft/man3/bsd_signal.3 | 4 +- draft/man3/bsearch.3 | 4 +- draft/man3/bstring.3 | 4 +- draft/man3/btowc.3 | 4 +- draft/man3/btree.3 | 10 +- draft/man3/byteorder.3 | 4 +- draft/man3/bzero.3 | 4 +- draft/man3/cabs.3 | 5 +- draft/man3/cacos.3 | 5 +- draft/man3/cacosh.3 | 5 +- draft/man3/canonicalize_file_name.3 | 28 - draft/man3/carg.3 | 5 +- draft/man3/casin.3 | 5 +- draft/man3/casinh.3 | 5 +- draft/man3/catan.3 | 5 +- draft/man3/catanh.3 | 5 +- draft/man3/catgets.3 | 61 - draft/man3/catopen.3 | 95 - draft/man3/cbrt.3 | 4 +- draft/man3/ccos.3 | 5 +- draft/man3/ccosh.3 | 5 +- draft/man3/ceil.3 | 4 +- draft/man3/cerf.3 | 5 +- draft/man3/cexp.3 | 5 +- draft/man3/cexp2.3 | 9 +- draft/man3/cfree.3 | 9 +- draft/man3/cimag.3 | 5 +- draft/man3/clearenv.3 | 4 +- draft/man3/clock.3 | 6 +- draft/man3/clog.3 | 5 +- draft/man3/clog10.3 | 5 +- draft/man3/clog2.3 | 5 +- draft/man3/closedir.3 | 4 +- draft/man3/cmsg.3 | 6 +- draft/man3/confstr.3 | 8 +- draft/man3/conj.3 | 5 +- draft/man3/copysign.3 | 4 +- draft/man3/cos.3 | 4 +- draft/man3/cosh.3 | 4 +- draft/man3/cpow.3 | 5 +- draft/man3/cproj.3 | 5 +- draft/man3/creal.3 | 5 +- draft/man3/crypt.3 | 9 +- draft/man3/csin.3 | 5 +- draft/man3/csinh.3 | 5 +- draft/man3/csqrt.3 | 5 +- draft/man3/ctan.3 | 5 +- draft/man3/ctanh.3 | 5 +- draft/man3/ctermid.3 | 6 +- draft/man3/ctime.3 | 4 +- draft/man3/daemon.3 | 4 +- draft/man3/dbopen.3 | 6 +- draft/man3/des_crypt.3 | 6 +- draft/man3/difftime.3 | 65 - draft/man3/dirfd.3 | 4 +- draft/man3/div.3 | 4 +- draft/man3/dl_iterate_phdr.3 | 149 -- draft/man3/dlopen.3 | 307 --- draft/man3/dprintf.3 | 7 +- draft/man3/drand48.3 | 4 +- draft/man3/drand48_r.3 | 4 +- draft/man3/dysize.3 | 4 +- draft/man3/ecvt.3 | 4 +- draft/man3/ecvt_r.3 | 4 +- draft/man3/encrypt.3 | 8 +- draft/man3/end.3 | 5 +- draft/man3/endian.3 | 4 +- draft/man3/envz_add.3 | 6 +- draft/man3/erf.3 | 4 +- draft/man3/erfc.3 | 4 +- draft/man3/err.3 | 4 +- draft/man3/errno.3 | 9 +- draft/man3/error.3 | 4 +- draft/man3/ether_aton.3 | 6 +- draft/man3/euidaccess.3 | 80 - draft/man3/exec.3 | 140 -- draft/man3/exit.3 | 90 - draft/man3/exp.3 | 4 +- draft/man3/exp10.3 | 4 +- draft/man3/exp2.3 | 4 +- draft/man3/expm1.3 | 4 +- draft/man3/fabs.3 | 4 +- draft/man3/fclose.3 | 83 - draft/man3/fcloseall.3 | 5 +- draft/man3/fdim.3 | 5 +- draft/man3/fenv.3 | 197 -- draft/man3/ferror.3 | 4 +- draft/man3/fexecve.3 | 6 +- draft/man3/fflush.3 | 88 - draft/man3/ffs.3 | 4 +- draft/man3/fgetgrent.3 | 4 +- draft/man3/fgetpwent.3 | 4 +- draft/man3/fgetwc.3 | 4 +- draft/man3/fgetws.3 | 4 +- draft/man3/finite.3 | 4 +- draft/man3/flockfile.3 | 4 +- draft/man3/floor.3 | 4 +- draft/man3/fma.3 | 8 +- draft/man3/fmax.3 | 5 +- draft/man3/fmemopen.3 | 6 +- draft/man3/fmin.3 | 5 +- draft/man3/fmod.3 | 4 +- draft/man3/fmtmsg.3 | 6 +- draft/man3/fnmatch.3 | 6 +- draft/man3/fopen.3 | 205 -- draft/man3/fpathconf.3 | 21 +- draft/man3/fpclassify.3 | 8 +- draft/man3/fpurge.3 | 4 +- draft/man3/fputwc.3 | 4 +- draft/man3/fputws.3 | 4 +- draft/man3/fread.3 | 4 +- draft/man3/frexp.3 | 4 +- draft/man3/fseek.3 | 107 - draft/man3/fseeko.3 | 4 +- draft/man3/ftime.3 | 11 +- draft/man3/ftok.3 | 4 +- draft/man3/fts.3 | 10 +- draft/man3/ftw.3 | 9 +- draft/man3/futimes.3 | 74 - draft/man3/fwide.3 | 4 +- draft/man3/gamma.3 | 5 +- draft/man3/gcvt.3 | 4 +- draft/man3/get_nprocs_conf.3 | 6 +- draft/man3/getaddrinfo.3 | 14 +- draft/man3/getcontext.3 | 107 + draft/man3/getcwd.3 | 151 -- draft/man3/getdate.3 | 4 +- draft/man3/getdirentries.3 | 6 +- draft/{man2/vhangup.2 => man3/getdtablesize.3} | 51 +- draft/man3/getenv.3 | 66 - draft/man3/getfsent.3 | 4 +- draft/man3/getgrent.3 | 4 +- draft/man3/getgrent_r.3 | 9 +- draft/man3/getgrnam.3 | 4 +- draft/man3/getgrouplist.3 | 10 +- draft/man3/gethostbyname.3 | 4 +- draft/man3/gethostid.3 | 12 +- draft/man3/getipnodebyname.3 | 4 +- draft/man3/getline.3 | 6 +- draft/man3/getloadavg.3 | 4 +- draft/man3/getlogin.3 | 136 -- draft/man3/getmntent.3 | 4 +- draft/man3/getnameinfo.3 | 25 +- draft/man3/getnetent.3 | 4 +- draft/man3/getnetent_r.3 | 4 +- draft/man3/getopt.3 | 6 +- draft/man3/getpass.3 | 104 - draft/man3/getprotoent.3 | 4 +- draft/man3/getprotoent_r.3 | 4 +- draft/man3/getpt.3 | 6 +- draft/man3/getpw.3 | 4 +- draft/man3/getpwent.3 | 4 +- draft/man3/getpwent_r.3 | 9 +- draft/man3/getpwnam.3 | 4 +- draft/man3/getrpcent.3 | 14 +- draft/man3/getrpcent_r.3 | 4 +- draft/man3/getrpcport.3 | 6 +- draft/man3/gets.3 | 6 +- draft/man3/getservent.3 | 4 +- draft/man3/getservent_r.3 | 4 +- draft/man3/getspnam.3 | 15 +- draft/man3/getsubopt.3 | 4 +- draft/man3/getttyent.3 | 64 - draft/man3/getumask.3 | 4 +- draft/man3/getusershell.3 | 4 +- draft/man3/getutent.3 | 215 -- draft/man3/getutmp.3 | 4 +- draft/man3/getw.3 | 6 +- draft/man3/getwchar.3 | 4 +- draft/man3/glob.3 | 6 +- draft/man3/gnu_get_libc_version.3 | 79 - draft/man3/grantpt.3 | 5 +- draft/man3/gsignal.3 | 4 +- draft/man3/hash.3 | 8 +- draft/man3/hsearch.3 | 10 +- draft/man3/hypot.3 | 4 +- draft/man3/iconv.3 | 4 +- draft/man3/iconv_close.3 | 4 +- draft/man3/iconv_open.3 | 4 +- draft/man3/ilogb.3 | 4 +- draft/man3/index.3 | 4 +- draft/man3/inet.3 | 10 +- draft/man3/inet_ntop.3 | 4 +- draft/man3/inet_pton.3 | 4 +- draft/man3/infnan.3 | 4 +- draft/man3/initgroups.3 | 4 +- draft/man3/insque.3 | 4 +- draft/man3/intro.3 | 4 +- draft/man3/isalpha.3 | 5 +- draft/man3/isatty.3 | 4 +- draft/man3/isgreater.3 | 6 +- draft/man3/iswalnum.3 | 4 +- draft/man3/iswalpha.3 | 4 +- draft/man3/iswblank.3 | 4 +- draft/man3/iswcntrl.3 | 4 +- draft/man3/iswctype.3 | 4 +- draft/man3/iswdigit.3 | 4 +- draft/man3/iswgraph.3 | 4 +- draft/man3/iswlower.3 | 4 +- draft/man3/iswprint.3 | 4 +- draft/man3/iswpunct.3 | 4 +- draft/man3/iswspace.3 | 4 +- draft/man3/iswupper.3 | 4 +- draft/man3/iswxdigit.3 | 4 +- draft/man3/j0.3 | 4 +- draft/man3/key_setsecret.3 | 6 +- draft/man3/ldexp.3 | 4 +- draft/man3/lgamma.3 | 10 +- draft/man3/lio_listio.3 | 9 +- draft/man3/localeconv.3 | 6 +- draft/man3/lockf.3 | 107 - draft/man3/log.3 | 4 +- draft/man3/log10.3 | 4 +- draft/man3/log1p.3 | 4 +- draft/man3/log2.3 | 4 +- draft/man3/logb.3 | 4 +- draft/man3/login.3 | 77 - draft/man3/longjmp.3 | 9 +- draft/man3/lrint.3 | 4 +- draft/man3/lround.3 | 4 +- draft/man3/lsearch.3 | 5 +- draft/man3/lseek64.3 | 4 +- draft/man3/makecontext.3 | 19 +- draft/man3/makedev.3 | 5 +- draft/man3/malloc.3 | 144 -- draft/man3/matherr.3 | 4 +- draft/man3/mblen.3 | 4 +- draft/man3/mbrlen.3 | 4 +- draft/man3/mbrtowc.3 | 4 +- draft/man3/mbsinit.3 | 4 +- draft/man3/mbsnrtowcs.3 | 4 +- draft/man3/mbsrtowcs.3 | 4 +- draft/man3/mbstowcs.3 | 61 - draft/man3/mbtowc.3 | 4 +- draft/man3/memccpy.3 | 4 +- draft/man3/memchr.3 | 4 +- draft/man3/memcmp.3 | 56 - draft/man3/memcpy.3 | 4 +- draft/man3/memfrob.3 | 4 +- draft/man3/memmem.3 | 4 +- draft/man3/memmove.3 | 4 +- draft/man3/mempcpy.3 | 6 +- draft/man3/memset.3 | 4 +- draft/man3/mkdtemp.3 | 4 +- draft/man3/mkfifo.3 | 89 - draft/man3/mkfifoat.3 | 6 +- draft/man3/mkstemp.3 | 141 -- draft/man3/mktemp.3 | 4 +- draft/man3/modf.3 | 4 +- draft/man3/mpool.3 | 4 +- draft/man3/mq_close.3 | 6 +- draft/man3/mq_getattr.3 | 6 +- draft/man3/mq_notify.3 | 6 +- draft/man3/mq_open.3 | 6 +- draft/man3/mq_receive.3 | 120 - draft/man3/mq_send.3 | 6 +- draft/man3/mq_unlink.3 | 6 +- draft/man3/nan.3 | 7 +- draft/man3/netlink.3 | 75 - draft/man3/nextafter.3 | 7 +- draft/man3/nl_langinfo.3 | 4 +- draft/man3/offsetof.3 | 4 +- draft/man3/on_exit.3 | 4 +- draft/man3/opendir.3 | 4 +- draft/man3/openpty.3 | 102 - draft/man3/perror.3 | 10 +- draft/man3/popen.3 | 4 +- draft/man3/posix_fallocate.3 | 90 - draft/man3/posix_memalign.3 | 182 -- draft/man3/posix_openpt.3 | 6 +- draft/man3/pow.3 | 4 +- draft/man3/pow10.3 | 4 +- draft/man3/printf.3 | 519 ----- draft/man3/profil.3 | 6 +- draft/man3/program_invocation_name.3 | 5 +- draft/man3/pthread_attr_init.3 | 6 +- draft/man3/pthread_attr_setaffinity_np.3 | 4 +- draft/man3/pthread_attr_setdetachstate.3 | 4 +- draft/man3/pthread_attr_setguardsize.3 | 4 +- draft/man3/pthread_attr_setinheritsched.3 | 6 +- draft/man3/pthread_attr_setschedparam.3 | 6 +- draft/man3/pthread_attr_setschedpolicy.3 | 6 +- draft/man3/pthread_attr_setscope.3 | 6 +- draft/man3/pthread_attr_setstack.3 | 6 +- draft/man3/pthread_attr_setstackaddr.3 | 4 +- draft/man3/pthread_attr_setstacksize.3 | 4 +- draft/man3/pthread_cancel.3 | 6 +- draft/man3/pthread_cleanup_push.3 | 4 +- draft/man3/pthread_cleanup_push_defer_np.3 | 4 +- draft/man3/pthread_create.3 | 10 +- draft/man3/pthread_detach.3 | 4 +- draft/man3/pthread_equal.3 | 4 +- draft/man3/pthread_exit.3 | 4 +- draft/man3/pthread_getattr_np.3 | 6 +- draft/man3/pthread_getcpuclockid.3 | 4 +- draft/man3/pthread_join.3 | 4 +- draft/man3/pthread_kill.3 | 10 +- draft/man3/pthread_kill_other_threads_np.3 | 4 +- draft/man3/pthread_self.3 | 4 +- draft/man3/pthread_setaffinity_np.3 | 4 +- draft/man3/pthread_setcancelstate.3 | 4 +- draft/man3/pthread_setconcurrency.3 | 4 +- draft/man3/pthread_setschedparam.3 | 6 +- draft/man3/pthread_setschedprio.3 | 6 +- draft/man3/pthread_sigmask.3 | 10 +- draft/man3/pthread_sigqueue.3 | 12 +- draft/man3/pthread_testcancel.3 | 6 +- draft/man3/pthread_tryjoin_np.3 | 4 +- draft/man3/pthread_yield.3 | 9 +- draft/man3/ptsname.3 | 5 +- draft/man3/putenv.3 | 4 +- draft/man3/putgrent.3 | 5 +- draft/man3/putpwent.3 | 4 +- draft/man3/puts.3 | 6 +- draft/man3/putwchar.3 | 4 +- draft/man3/qecvt.3 | 4 +- draft/man3/qsort.3 | 4 +- draft/man3/queue.3 | 349 --- draft/man3/raise.3 | 6 +- draft/man3/rand.3 | 4 +- draft/man3/random.3 | 4 +- draft/man3/random_r.3 | 4 +- draft/man3/rcmd.3 | 4 +- draft/man3/re_comp.3 | 4 +- draft/man3/readdir.3 | 171 -- draft/man3/realpath.3 | 154 -- draft/man3/recno.3 | 6 +- draft/man3/regex.3 | 185 -- draft/man3/remainder.3 | 4 +- draft/man3/remove.3 | 12 +- draft/man3/remquo.3 | 7 +- draft/man3/resolver.3 | 184 -- draft/man3/rewinddir.3 | 4 +- draft/man3/rexec.3 | 4 +- draft/man3/rint.3 | 4 +- draft/man3/round.3 | 4 +- draft/man3/rpc.3 | 11 +- draft/man3/rpmatch.3 | 4 +- draft/man3/rtime.3 | 18 +- draft/man3/rtnetlink.3 | 7 +- draft/man3/scalb.3 | 4 +- draft/man3/scalbln.3 | 4 +- draft/man3/scandir.3 | 4 +- draft/man3/scandirat.3 | 11 +- draft/man3/scanf.3 | 367 ---- draft/man3/sched_getcpu.3 | 4 +- draft/man3/seekdir.3 | 4 +- draft/man3/sem_close.3 | 61 - draft/man3/sem_destroy.3 | 67 - draft/man3/sem_getvalue.3 | 63 - draft/man3/sem_init.3 | 77 - draft/man3/sem_open.3 | 105 - draft/man3/sem_post.3 | 67 - draft/man3/sem_unlink.3 | 65 - draft/man3/sem_wait.3 | 212 -- draft/man3/setaliasent.3 | 5 +- draft/man3/setbuf.3 | 146 -- draft/man3/setenv.3 | 4 +- draft/man3/setjmp.3 | 9 +- draft/man3/setlocale.3 | 6 +- draft/man3/setlogmask.3 | 4 +- draft/man3/setnetgrent.3 | 7 +- draft/man3/shm_open.3 | 162 -- draft/man3/siginterrupt.3 | 4 +- draft/man3/signbit.3 | 7 +- draft/man3/significand.3 | 7 +- draft/man3/sigpause.3 | 74 - draft/man3/sigqueue.3 | 4 +- draft/man3/sigset.3 | 4 +- draft/man3/sigsetops.3 | 112 - draft/man3/sigvec.3 | 139 -- draft/man3/sigwait.3 | 74 - draft/man3/sin.3 | 4 +- draft/man3/sincos.3 | 7 +- draft/man3/sinh.3 | 4 +- draft/man3/sleep.3 | 55 - draft/man3/sockatmark.3 | 4 +- draft/man3/sqrt.3 | 4 +- draft/man3/statvfs.3 | 4 +- draft/man3/stdarg.3 | 202 -- draft/man3/stdin.3 | 10 +- draft/man3/stdio.3 | 170 -- draft/man3/stdio_ext.3 | 4 +- draft/man3/stpcpy.3 | 6 +- draft/man3/stpncpy.3 | 4 +- draft/man3/strcasecmp.3 | 4 +- draft/man3/strcat.3 | 93 - draft/man3/strchr.3 | 4 +- draft/man3/strcmp.3 | 6 +- draft/man3/strcoll.3 | 4 +- draft/man3/strcpy.3 | 107 - draft/man3/strdup.3 | 4 +- draft/man3/strerror.3 | 6 +- draft/man3/strfmon.3 | 9 +- draft/man3/strfry.3 | 4 +- draft/man3/strftime.3 | 349 --- draft/man3/string.3 | 4 +- draft/man3/strlen.3 | 4 +- draft/man3/strnlen.3 | 4 +- draft/man3/strpbrk.3 | 4 +- draft/man3/strptime.3 | 299 --- draft/man3/strsep.3 | 4 +- draft/man3/strsignal.3 | 4 +- draft/man3/strspn.3 | 4 +- draft/man3/strstr.3 | 4 +- draft/man3/strtod.3 | 4 +- draft/man3/strtoimax.3 | 9 +- draft/man3/strtok.3 | 4 +- draft/man3/strtol.3 | 190 -- draft/man3/strtoul.3 | 4 +- draft/man3/strverscmp.3 | 4 +- draft/man3/strxfrm.3 | 4 +- draft/man3/swab.3 | 4 +- draft/man3/sysconf.3 | 211 -- draft/man3/syslog.3 | 226 -- draft/man3/system.3 | 6 +- draft/man3/sysv_signal.3 | 4 +- draft/man3/tan.3 | 4 +- draft/man3/tanh.3 | 4 +- draft/man3/tcgetpgrp.3 | 4 +- draft/man3/tcgetsid.3 | 4 +- draft/man3/telldir.3 | 4 +- draft/man3/tempnam.3 | 4 +- draft/man3/termios.3 | 620 ------ draft/man3/tgamma.3 | 7 +- draft/man3/timegm.3 | 4 +- draft/man3/timeradd.3 | 4 +- draft/man3/tmpfile.3 | 4 +- draft/man3/tmpnam.3 | 4 +- draft/man3/toascii.3 | 6 +- draft/man3/toupper.3 | 6 +- draft/man3/towctrans.3 | 4 +- draft/man3/towlower.3 | 4 +- draft/man3/towupper.3 | 4 +- draft/man3/trunc.3 | 4 +- draft/man3/tsearch.3 | 186 -- draft/man3/ttyname.3 | 68 - draft/man3/ttyslot.3 | 103 - draft/man3/tzset.3 | 4 +- draft/man3/ualarm.3 | 9 +- draft/man3/ulimit.3 | 6 +- draft/man3/undocumented.3 | 29 +- draft/man3/ungetwc.3 | 4 +- draft/man3/unlocked_stdio.3 | 4 +- draft/man3/unlockpt.3 | 5 +- draft/man3/updwtmp.3 | 8 +- draft/man3/usleep.3 | 4 +- draft/man3/wcpcpy.3 | 4 +- draft/man3/wcpncpy.3 | 4 +- draft/man3/wcrtomb.3 | 4 +- draft/man3/wcscasecmp.3 | 4 +- draft/man3/wcscat.3 | 4 +- draft/man3/wcschr.3 | 4 +- draft/man3/wcscmp.3 | 4 +- draft/man3/wcscpy.3 | 4 +- draft/man3/wcscspn.3 | 4 +- draft/man3/wcsdup.3 | 4 +- draft/man3/wcslen.3 | 4 +- draft/man3/wcsncasecmp.3 | 4 +- draft/man3/wcsncat.3 | 4 +- draft/man3/wcsncmp.3 | 4 +- draft/man3/wcsncpy.3 | 4 +- draft/man3/wcsnlen.3 | 4 +- draft/man3/wcsnrtombs.3 | 4 +- draft/man3/wcspbrk.3 | 4 +- draft/man3/wcsrchr.3 | 4 +- draft/man3/wcsrtombs.3 | 4 +- draft/man3/wcsspn.3 | 4 +- draft/man3/wcsstr.3 | 4 +- draft/man3/wcstoimax.3 | 9 +- draft/man3/wcstok.3 | 4 +- draft/man3/wcstombs.3 | 4 +- draft/man3/wcswidth.3 | 4 +- draft/man3/wctob.3 | 4 +- draft/man3/wctomb.3 | 4 +- draft/man3/wctrans.3 | 4 +- draft/man3/wctype.3 | 4 +- draft/man3/wcwidth.3 | 4 +- draft/man3/wmemchr.3 | 4 +- draft/man3/wmemcmp.3 | 4 +- draft/man3/wmemcpy.3 | 4 +- draft/man3/wmemmove.3 | 4 +- draft/man3/wmemset.3 | 4 +- draft/man3/wordexp.3 | 9 +- draft/man3/wprintf.3 | 4 +- draft/man3/xcrypt.3 | 6 +- draft/man3/xdr.3 | 6 +- draft/man3/y0.3 | 4 +- draft/man4/console.4 | 4 +- draft/man4/console_codes.4 | 513 ----- draft/man4/console_ioctl.4 | 472 ---- draft/man4/dsp56k.4 | 94 - draft/man4/fd.4 | 10 +- draft/man4/full.4 | 6 +- draft/man4/hd.4 | 9 +- draft/man4/initrd.4 | 260 --- draft/man4/intro.4 | 9 +- draft/man4/lp.4 | 9 +- draft/man4/mem.4 | 9 +- draft/man4/mouse.4 | 5 +- draft/man4/null.4 | 9 +- draft/man4/pts.4 | 52 - draft/man4/ram.4 | 9 +- draft/man4/random.4 | 151 -- draft/man4/rtc.4 | 197 -- draft/man4/sd.4 | 101 - draft/man4/sk98lin.4 | 311 --- draft/man4/st.4 | 563 ----- draft/man4/tty.4 | 9 +- draft/man4/ttyS.4 | 9 +- draft/man4/tty_ioctl.4 | 328 --- draft/man4/vcs.4 | 9 +- draft/man4/wavelan.4 | 88 - draft/man5/acct.5 | 145 -- draft/man5/charmap.5 | 98 - draft/man5/core.5 | 290 --- draft/man5/dir_colors.5 | 236 -- draft/man5/elf.5 | 1361 ------------ draft/man5/filesystems.5 | 20 +- draft/man5/ftpusers.5 | 10 +- draft/man5/group.5 | 9 +- draft/man5/host.conf.5 | 12 +- draft/man5/hosts.5 | 13 +- draft/man5/hosts.equiv.5 | 5 +- draft/man5/intro.5 | 9 +- draft/man5/issue.5 | 9 +- draft/man5/locale.5 | 332 --- draft/man5/motd.5 | 9 +- draft/man5/networks.5 | 11 +- draft/man5/nologin.5 | 9 +- draft/man5/nscd.conf.5 | 130 -- draft/man5/nsswitch.conf.5 | 276 --- draft/man5/passwd.5 | 9 +- draft/man5/proc.5 | 1870 ---------------- draft/man5/protocols.5 | 14 +- draft/man5/resolv.conf.5 | 182 -- draft/man5/rpc.5 | 6 +- draft/man5/securetty.5 | 44 - draft/man5/services.5 | 160 -- draft/man5/shells.5 | 56 - draft/man5/slabinfo.5 | 100 - draft/man5/termcap.5 | 446 ---- draft/man5/ttytype.5 | 62 - draft/man5/tzfile.5 | 110 - draft/man5/utmp.5 | 232 -- draft/man6/intro.6 | 9 +- draft/man7/aio.7 | 31 +- draft/man7/armscii-8.7 | 9 +- draft/man7/ascii.7 | 9 +- draft/man7/boot.7 | 10 +- draft/man7/bootparam.7 | 880 -------- draft/man7/charsets.7 | 11 +- draft/man7/complex.7 | 5 +- draft/man7/cp1251.7 | 10 +- draft/man7/epoll.7 | 313 --- draft/man7/feature_test_macros.7 | 22 +- draft/man7/futex.7 | 86 - draft/man7/hier.7 | 385 ---- draft/man7/inotify.7 | 288 --- draft/man7/intro.7 | 9 +- draft/man7/iso_8859-1.7 | 178 -- draft/man7/iso_8859-10.7 | 10 +- draft/man7/iso_8859-11.7 | 9 +- draft/man7/iso_8859-13.7 | 10 +- draft/man7/iso_8859-14.7 | 10 +- draft/man7/iso_8859-15.7 | 10 +- draft/man7/iso_8859-16.7 | 18 +- draft/man7/iso_8859-2.7 | 18 +- draft/man7/iso_8859-3.7 | 10 +- draft/man7/iso_8859-4.7 | 10 +- draft/man7/iso_8859-5.7 | 10 +- draft/man7/iso_8859-6.7 | 10 +- draft/man7/iso_8859-7.7 | 10 +- draft/man7/iso_8859-8.7 | 9 +- draft/man7/iso_8859-9.7 | 10 +- draft/man7/koi8-r.7 | 19 +- draft/man7/koi8-u.7 | 9 +- draft/man7/libc.7 | 13 +- draft/man7/locale.7 | 157 -- draft/man7/mailaddr.7 | 23 +- draft/man7/man-pages.7 | 382 ---- draft/man7/man.7 | 13 +- draft/man7/mdoc.7 | 6 +- draft/man7/mdoc.samples.7 | 2790 ------------------------ draft/man7/operator.7 | 4 +- draft/man7/path_resolution.7 | 4 +- draft/man7/posixoptions.7 | 9 +- draft/man7/standards.7 | 37 +- draft/man7/suffixes.7 | 12 +- draft/man7/unicode.7 | 29 +- draft/man7/units.7 | 16 +- draft/man7/utf-8.7 | 11 +- draft/man8/intro.8 | 9 +- draft/man8/ld.so.8 | 272 --- draft/man8/ldconfig.8 | 10 +- draft/man8/nscd.8 | 10 +- draft/man8/sync.8 | 6 +- draft/man8/tzselect.8 | 4 +- draft/man8/zdump.8 | 32 - draft/man8/zic.8 | 4 +- 861 files changed, 2759 insertions(+), 45227 deletions(-) delete mode 100644 draft/man1/ldd.1 delete mode 100644 draft/man1/time.1 delete mode 100644 draft/man2/accept.2 delete mode 100644 draft/man2/access.2 delete mode 100644 draft/man2/capget.2 delete mode 100644 draft/man2/chown.2 delete mode 100644 draft/man2/clock_getres.2 delete mode 100644 draft/man2/clock_nanosleep.2 delete mode 100644 draft/man2/clone.2 delete mode 100644 draft/man2/create_module.2 delete mode 100644 draft/man2/delete_module.2 delete mode 100644 draft/man2/epoll_wait.2 delete mode 100644 draft/man2/eventfd.2 delete mode 100644 draft/man2/execve.2 delete mode 100644 draft/man2/fcntl.2 delete mode 100644 draft/man2/flock.2 delete mode 100644 draft/man2/fork.2 delete mode 100644 draft/man2/futex.2 delete mode 100644 draft/man2/get_kernel_syms.2 delete mode 100644 draft/man2/get_mempolicy.2 delete mode 100644 draft/man2/get_thread_area.2 delete mode 100644 draft/man2/getcpu.2 delete mode 100644 draft/man2/getdents.2 delete mode 100644 draft/man2/getdomainname.2 delete mode 100644 draft/man2/getitimer.2 delete mode 100644 draft/man2/getpeername.2 delete mode 100644 draft/man2/getpriority.2 delete mode 100644 draft/man2/gettid.2 delete mode 100644 draft/man2/gettimeofday.2 delete mode 100644 draft/man2/getxattr.2 delete mode 100644 draft/man2/idle.2 delete mode 100644 draft/man2/init_module.2 delete mode 100644 draft/man2/inotify_init.2 delete mode 100644 draft/man2/ioperm.2 delete mode 100644 draft/man2/iopl.2 delete mode 100644 draft/man2/ioprio_set.2 delete mode 100644 draft/man2/ipc.2 delete mode 100644 draft/man2/kexec_load.2 delete mode 100644 draft/man2/kill.2 delete mode 100644 draft/man2/link.2 delete mode 100644 draft/man2/listxattr.2 delete mode 100644 draft/man2/llseek.2 delete mode 100644 draft/man2/mbind.2 delete mode 100644 draft/man2/migrate_pages.2 delete mode 100644 draft/man2/mkdir.2 delete mode 100644 draft/man2/mknod.2 delete mode 100644 draft/man2/mlock.2 delete mode 100644 draft/man2/mmap.2 delete mode 100644 draft/man2/mmap2.2 delete mode 100644 draft/man2/modify_ldt.2 delete mode 100644 draft/man2/mprotect.2 delete mode 100644 draft/man2/mq_getsetattr.2 delete mode 100644 draft/man2/mremap.2 delete mode 100644 draft/man2/msgctl.2 delete mode 100644 draft/man2/msgget.2 delete mode 100644 draft/man2/msgop.2 delete mode 100644 draft/man2/open.2 delete mode 100644 draft/man2/outb.2 delete mode 100644 draft/man2/pciconfig_read.2 delete mode 100644 draft/man2/pivot_root.2 delete mode 100644 draft/man2/poll.2 delete mode 100644 draft/man2/query_module.2 delete mode 100644 draft/man2/read.2 delete mode 100644 draft/man2/readdir.2 delete mode 100644 draft/man2/readv.2 delete mode 100644 draft/man2/recv.2 delete mode 100644 draft/man2/removexattr.2 delete mode 100644 draft/man2/rename.2 delete mode 100644 draft/man2/sched_setaffinity.2 delete mode 100644 draft/man2/sched_setparam.2 delete mode 100644 draft/man2/sched_setscheduler.2 delete mode 100644 draft/man2/select.2 delete mode 100644 draft/man2/select_tut.2 delete mode 100644 draft/man2/semctl.2 delete mode 100644 draft/man2/semget.2 delete mode 100644 draft/man2/semop.2 delete mode 100644 draft/man2/send.2 delete mode 100644 draft/man2/set_thread_area.2 delete mode 100644 draft/man2/set_tid_address.2 delete mode 100644 draft/man2/seteuid.2 delete mode 100644 draft/man2/setns.2 delete mode 100644 draft/man2/setsid.2 delete mode 100644 draft/man2/setxattr.2 delete mode 100644 draft/man2/sgetmask.2 delete mode 100644 draft/man2/shmctl.2 delete mode 100644 draft/man2/shmget.2 delete mode 100644 draft/man2/shmop.2 delete mode 100644 draft/man2/shutdown.2 delete mode 100644 draft/man2/signal.2 delete mode 100644 draft/man2/sigwaitinfo.2 delete mode 100644 draft/man2/socket.2 delete mode 100644 draft/man2/socketcall.2 delete mode 100644 draft/man2/splice.2 delete mode 100644 draft/man2/spu_run.2 delete mode 100644 draft/man2/stat.2 delete mode 100644 draft/man2/symlink.2 delete mode 100644 draft/man2/syscall.2 delete mode 100644 draft/man2/syscalls.2 delete mode 100644 draft/man2/sysctl.2 delete mode 100644 draft/man2/syslog.2 delete mode 100644 draft/man2/times.2 delete mode 100644 draft/man2/tkill.2 delete mode 100644 draft/man2/uname.2 delete mode 100644 draft/man2/unshare.2 delete mode 100644 draft/man2/vfork.2 delete mode 100644 draft/man2/vm86.2 delete mode 100644 draft/man2/wait.2 delete mode 100644 draft/man2/wait4.2 delete mode 100644 draft/man2/write.2 delete mode 100644 draft/man3/__setfpucw.3 delete mode 100644 draft/man3/alloca.3 delete mode 100644 draft/man3/atexit.3 delete mode 100644 draft/man3/atof.3 delete mode 100644 draft/man3/atoi.3 delete mode 100644 draft/man3/canonicalize_file_name.3 delete mode 100644 draft/man3/catgets.3 delete mode 100644 draft/man3/catopen.3 delete mode 100644 draft/man3/difftime.3 delete mode 100644 draft/man3/dl_iterate_phdr.3 delete mode 100644 draft/man3/dlopen.3 delete mode 100644 draft/man3/euidaccess.3 delete mode 100644 draft/man3/exec.3 delete mode 100644 draft/man3/exit.3 delete mode 100644 draft/man3/fclose.3 delete mode 100644 draft/man3/fenv.3 delete mode 100644 draft/man3/fflush.3 delete mode 100644 draft/man3/fopen.3 delete mode 100644 draft/man3/fseek.3 delete mode 100644 draft/man3/futimes.3 create mode 100644 draft/man3/getcontext.3 delete mode 100644 draft/man3/getcwd.3 rename draft/{man2/vhangup.2 => man3/getdtablesize.3} (50%) delete mode 100644 draft/man3/getenv.3 delete mode 100644 draft/man3/getlogin.3 delete mode 100644 draft/man3/getpass.3 delete mode 100644 draft/man3/getttyent.3 delete mode 100644 draft/man3/getutent.3 delete mode 100644 draft/man3/gnu_get_libc_version.3 delete mode 100644 draft/man3/lockf.3 delete mode 100644 draft/man3/login.3 delete mode 100644 draft/man3/malloc.3 delete mode 100644 draft/man3/mbstowcs.3 delete mode 100644 draft/man3/memcmp.3 delete mode 100644 draft/man3/mkfifo.3 delete mode 100644 draft/man3/mkstemp.3 delete mode 100644 draft/man3/mq_receive.3 delete mode 100644 draft/man3/netlink.3 delete mode 100644 draft/man3/openpty.3 delete mode 100644 draft/man3/posix_fallocate.3 delete mode 100644 draft/man3/posix_memalign.3 delete mode 100644 draft/man3/printf.3 delete mode 100644 draft/man3/queue.3 delete mode 100644 draft/man3/readdir.3 delete mode 100644 draft/man3/realpath.3 delete mode 100644 draft/man3/regex.3 delete mode 100644 draft/man3/resolver.3 delete mode 100644 draft/man3/scanf.3 delete mode 100644 draft/man3/sem_close.3 delete mode 100644 draft/man3/sem_destroy.3 delete mode 100644 draft/man3/sem_getvalue.3 delete mode 100644 draft/man3/sem_init.3 delete mode 100644 draft/man3/sem_open.3 delete mode 100644 draft/man3/sem_post.3 delete mode 100644 draft/man3/sem_unlink.3 delete mode 100644 draft/man3/sem_wait.3 delete mode 100644 draft/man3/setbuf.3 delete mode 100644 draft/man3/shm_open.3 delete mode 100644 draft/man3/sigpause.3 delete mode 100644 draft/man3/sigsetops.3 delete mode 100644 draft/man3/sigvec.3 delete mode 100644 draft/man3/sigwait.3 delete mode 100644 draft/man3/sleep.3 delete mode 100644 draft/man3/stdarg.3 delete mode 100644 draft/man3/stdio.3 delete mode 100644 draft/man3/strcat.3 delete mode 100644 draft/man3/strcpy.3 delete mode 100644 draft/man3/strftime.3 delete mode 100644 draft/man3/strptime.3 delete mode 100644 draft/man3/strtol.3 delete mode 100644 draft/man3/sysconf.3 delete mode 100644 draft/man3/syslog.3 delete mode 100644 draft/man3/termios.3 delete mode 100644 draft/man3/tsearch.3 delete mode 100644 draft/man3/ttyname.3 delete mode 100644 draft/man3/ttyslot.3 delete mode 100644 draft/man4/console_codes.4 delete mode 100644 draft/man4/console_ioctl.4 delete mode 100644 draft/man4/dsp56k.4 delete mode 100644 draft/man4/initrd.4 delete mode 100644 draft/man4/pts.4 delete mode 100644 draft/man4/random.4 delete mode 100644 draft/man4/rtc.4 delete mode 100644 draft/man4/sd.4 delete mode 100644 draft/man4/sk98lin.4 delete mode 100644 draft/man4/st.4 delete mode 100644 draft/man4/tty_ioctl.4 delete mode 100644 draft/man4/wavelan.4 delete mode 100644 draft/man5/acct.5 delete mode 100644 draft/man5/charmap.5 delete mode 100644 draft/man5/core.5 delete mode 100644 draft/man5/dir_colors.5 delete mode 100644 draft/man5/elf.5 delete mode 100644 draft/man5/locale.5 delete mode 100644 draft/man5/nscd.conf.5 delete mode 100644 draft/man5/nsswitch.conf.5 delete mode 100644 draft/man5/proc.5 delete mode 100644 draft/man5/resolv.conf.5 delete mode 100644 draft/man5/securetty.5 delete mode 100644 draft/man5/services.5 delete mode 100644 draft/man5/shells.5 delete mode 100644 draft/man5/slabinfo.5 delete mode 100644 draft/man5/termcap.5 delete mode 100644 draft/man5/ttytype.5 delete mode 100644 draft/man5/tzfile.5 delete mode 100644 draft/man5/utmp.5 delete mode 100644 draft/man7/bootparam.7 delete mode 100644 draft/man7/epoll.7 delete mode 100644 draft/man7/futex.7 delete mode 100644 draft/man7/hier.7 delete mode 100644 draft/man7/inotify.7 delete mode 100644 draft/man7/iso_8859-1.7 delete mode 100644 draft/man7/locale.7 delete mode 100644 draft/man7/man-pages.7 delete mode 100644 draft/man7/mdoc.samples.7 delete mode 100644 draft/man8/ld.so.8 delete mode 100644 draft/man8/zdump.8 diff --git a/draft/man1/intro.1 b/draft/man1/intro.1 index 4988db76..e5c3df61 100644 --- a/draft/man1/intro.1 +++ b/draft/man1/intro.1 @@ -1,5 +1,6 @@ .\" Copyright (c) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2007-10-23 mtk Added intro paragraph about section, plus a paragraph .\" about exit status values. @@ -178,6 +180,6 @@ UNIX システムでは、多くのユーザプロセスとシステムプロセ .SH 関連項目 \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man1/ldd.1 b/draft/man1/ldd.1 deleted file mode 100644 index d60b41d5..00000000 --- a/draft/man1/ldd.1 +++ /dev/null @@ -1,62 +0,0 @@ -.\" Copyright 1995-2000 David Engel (david@ods.com) -.\" Copyright 1995 Rickard E. Faith (faith@cs.unc.edu) -.\" Copyright 2000 Ben Collins (bcollins@debian.org) -.\" Redone for GLibc 2.2 -.\" Copyright 2000 Jakub Jelinek (jakub@redhat.com) -.\" Corrected. -.\" Most of this was copied from the README file. -.\" Do not restrict distribution. -.\" May be distributed under the GNU General Public License -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LDD 1 2000\-10\-30 "" "Linux Programmer's Manual" -.SH 名前 -ldd \- 共有ライブラリへの依存関係を表示する -.SH 書式 -\fBldd\fP [OPTION]... FILE... -.SH 説明 -\fBldd\fP はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞれで必要とされる共有ライブラリを表示する。 -.SH オプション -.TP -\fB\-\-version\fP -\fBldd\fP のバージョン番号を表示する。 -.TP -\fB\-v\ \-\-verbose\fP -シンボルのバージョン情報などを含めた全ての情報を表示する。 -.TP -\fB\-u\ \-\-unused\fP -使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。 -.TP -\fB\-d\ \-\-data\-relocs\fP -リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。 -.TP -\fB\-r\ \-\-function\-relocs\fP -足りないオブジェクトや関数についてレポートする (ELF のみ)。 -.TP -\fB\-\-help\fP -使用法を表示する。 -.SH 注意 -標準的なバージョンの \fBldd\fP は glibc2 に付属している。 libc5 には古いバージョンのものが付属しており、 -これが入っているシステムもまだ存在する。 libc5 バージョンではロングオプションがサポートされていない。 一方、glibc2 バージョンでは -\fB\-V\fP をサポートしておらず、これと同じ意味の \fB\-\-version\fP しかサポートしていない。 -.LP -libc5 バージョンのプログラムでは、 コマンドラインで与えられたライブラリ名に \(aq/\(aq -が含まれている場合は、ライブラリ名をそのまま用いる。 \(aq/\(aq が含まれていない場合は、標準的なパスからライブラリを検索する。 -カレントディレクトリにある共有ライブラリに対して実行するには、 名前にプレフィックス "./" を付けること。 -.SH バグ -\fBldd\fP は a.out 共有ライブラリでは動作しない。 -.PP -.\" .SH AUTHOR -.\" David Engel. -.\" Roland McGrath and Ulrich Drepper. -\fBldd\fP は非常に古い a.out プログラム (\fBldd\fP のサポートがコンパイラに追加される以前にビルドされたようなプログラム) -では動作しない。 このようなプログラムに対して \fBldd\fP を用いると、プログラムは \fIargc\fP = 0 で実行される。結果は予想不可能である。 -.SH 関連項目 -\fBld.so\fP(8), \fBldconfig\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man1/time.1 b/draft/man1/time.1 deleted file mode 100644 index 4ca74791..00000000 --- a/draft/man1/time.1 +++ /dev/null @@ -1,218 +0,0 @@ -.\" Copyright Andries Brouwer, 2000 -.\" -.\" This page is distributed under GPL. -.\" Some fragments of text came from the time-1.7 info file. -.\" Inspired by kromJx@crosswinds.net. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TIME 1 2008\-11\-14 "" "Linux User's Manual" -.SH 名前 -time \- コマンドの時間計測やリソース使用量を表示する -.SH 書式 -\fBtime [\fP\fIoptions\fP\fB] \fP\fIcommand\fP\fB [\fP\fIarguments...\fP\fB] \fP -.SH 説明 -\fBtime\fP コマンドは、指定されたプログラム \fIcommand\fP を渡された引き数で実行する。 \fIcommand\fP が終了すると、 -\fBtime\fP はこのプログラムの実行時間の統計情報についてのメッセージを 標準エラー出力に出力する。 表示される統計情報は以下の三つから構成される: -(i) 起動から終了までに経過した実時間 (real time)、 (ii) ユーザ CPU 時間 (\fBtimes\fP(2) が返す \fIstruct -tms\fP の \fItms_utime\fP と \fItms_cutime\fP の値の合計)、 (iii) システム CPU 時間 (\fBtimes\fP(2) -が返す \fIstruct tms\fP の \fItms_stime\fP と \fItms_cstime\fP の値の合計)。 - -(\fBbash\fP(1) などの) いくつかのシェルには、ここで説明するコマンドよりも 機能が少ない、組み込みの \fBtime\fP コマンドが存在する。 -組み込みではない実際のコマンドを使用するためには、 (\fI/usr/bin/time\fP のような) コマンドのパス名を指定する必要があるかもしれない。 -.SH オプション -.TP -\fB\-p\fP -POSIX ロケールの場合、伝統的なフォーマットである -.IP -.in +4n -"real %f\enuser %f\ensys %f\en" -.in -.IP -が使用される (各数字は秒単位)。 %f の出力での小数点以下の桁数は規定されていないが、 クロック・ティック (clock tick) -の精度を表すのに十分な桁数となり、 少なくとも一桁は存在する。 -.SH 終了ステータス -\fIcommand\fP が起動された場合は、 \fIcommand\fP の終了ステータスが終了ステータスとなる。 \fIcommand\fP -が見つからなかった場合は終了ステータスは 127 で、 \fIcommand\fP が見つかったが起動できなかった場合は 126 となる。 -これ以外で何かエラーがあった場合は、終了ステータスは 0 以外の前記以外の値 (1\-125) の何かになる。 -.SH 環境変数 -環境変数 \fBLANG\fP, \fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLC_MESSAGES\fP, \fBLC_NUMERIC\fP, -\fBNLSPATH\fP, \fBPATH\fP が使用される。 \fBPATH\fP は \fIcommand\fP -を探すのに使われる。それ以外は出力文字や書式に使用される。 -.SH "GNU バージョン" -以下は GNU 1.7 バージョンの \fBtime\fP の説明である。コマンド名とは裏腹に、GNU バージョンでは -有益な情報がたくさん出力される。使用時間だけでなく、 (取得できる場合には) メモリや I/O、IPC 呼び出しなどの他のリソース -に関する情報も出力される。 出力はフォーマット文字列を使って整形され、 フォーマット文字列は \-f オプションか環境変数 \fBTIME\fP で指定できる。 -.LP -デフォルトのフォーマット文字列は以下の通り。 -.PP -.in +4n -%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k -.br -%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps -.br -.in -.LP -\-p オプションが指定された場合には、 -.PP -.in +4n -real %e -.br -user %U -.br -sys %S -.br -.in -.PP -という (他と互換性のある) 出力フォーマットが使用される。 -.SS フォーマット文字列 -フォーマットはよくある printf 形式で解釈される。 通常の文字はそのままコピーされ、 タブ、改行 (newline)、バックスラッシュはそれぞれ -\et, \en, \e\e で エスケープされる。 パーセント記号は %% で表現され、それ以外の % は変換を示す。 末尾には必ず改行文字 -(newline) が追加される。 変換は以下の通りである。 \fBtcsh\fP(1) で使用される変換は全てサポートされている。 -.LP -\fBTime\fP -.TP -\fB%E\fP -経過した実時間 ([hours:]minutes:seconds の形式)。 -.TP -\fB%e\fP -(tcsh にはない) 経過した実時間 (秒単位)。 -.TP -\fB%S\fP -そのプロセスがカーネルモードで消費した CPU 時間の合計 (秒単位)。 -.TP -\fB%U\fP -そのプロセスがユーザモードで消費した CPU 時間の合計 (秒単位)。 -.TP -\fB%P\fP -このジョブが獲得した CPU の割り合い (パーセンテージ)。 (%U + %S) / %E で計算される。 -.LP -\fBMemory\fP -.TP -\fB%M\fP -プロセス生存中のそのプロセスの resident set size の最大値。 キロバイト単位。 -.TP -\fB%t\fP -(tcsh にはない) そのプロセスの resident set size の平均値。 キロバイト単位。 -.TP -\fB%K\fP -そのプロセスのメモリ使用量の合計 (データ+スタック+テキスト) の平均値。 キロバイト単位。 -.TP -\fB%D\fP -そのプロセスの非共有データ領域の平均サイズ。 キロバイト単位。 -.TP -\fB%p\fP -(tcsh にはない) そのプロセスの非共有スタック空間の平均サイズ。 キロバイト単位。 -.TP -\fB%X\fP -そのプロセスの共有テキスト空間の平均サイズ。 キロバイト単位。 -.TP -\fB%Z\fP -(tcsh にはない) システムのページサイズ (バイト単位)。 この値はシステム毎に決まる定数だが、システムにより異なる。 -.TP -\fB%F\fP -プロセスの動作中に発生したメジャーページフォルトの回数。 これは、ディスクからページを読み込む必要があったページフォルトに 関するものである。 -.TP -\fB%R\fP -マイナーページフォールト、つまり回復可能なページフォルトの回数。 これは、そのページは有効でないが、まだ他の仮想ページに奪われて -いなかったページに対するページフォルトに関するものである。 -.TP -\fB%W\fP -そのプロセスが主記憶からスワップアウトされた回数。 -.TP -\fB%c\fP -そのプロセスが (タイムスライスの経過により) 強制的にコンテキストスイッチ された回数。 -.TP -\fB%w\fP -wait の回数、つまりそのプログラムが自発的にコンテキストスイッチされた回数。 例えば、I/O 操作の完了を待っている間などが該当する。 -.LP -\fBI/O\fP -.TP -\fB%I\fP -そのプロセスによるファイルシステムからの入力の回数。 -.TP -\fB%O\fP -そのプロセスによるファイルシステムへの出力の回数。 -.TP -\fB%r\fP -そのプロセスが受信したソケットメッセージ数。 -.TP -\fB%s\fP -そのプロセスが送信したソケットメッセージ数。 -.TP -\fB%k\fP -そのプロセスに配送されたシグナル数。 -.TP -\fB%C\fP -(tcsh にはない) time の対象となったコマンド名とコマンドライン引き数。 -.TP -\fB%x\fP -(tcsh にはない) コマンドの終了ステータス。 -.SS "GNU オプション" -.TP -\fB\-f \fP\fIFORMAT\fP\fB, \-\-format=\fP\fIFORMAT\fP -出力フォーマットを指定する。 環境変数 \fBTIME\fP で指定されたフォーマットよりも優先される。 -.TP -\fB\-p, \-\-portability\fP -他の time と互換性のある出力フォーマットを使用する。 -.TP -\fB\-o \fP\fIFILE\fP\fB, \-\-output=\fP\fIFILE\fP -結果を \fIstderr\fP に送らず、指定されたファイルに書き込む。 ファイルは上書きされる。 -.TP -\fB\-a, \-\-append\fP -(\-o と一緒に使用する。) ファイルを上書きせずに、結果をファイル末尾に追加する。 -.TP -\fB\-v, \-\-verbose\fP -非常に詳しい出力で、入手できる全ての情報を出力する。 -.SS "GNU 標準オプション" -.TP -\fB\-\-help\fP -使用方法に関するメッセージを標準出力に表示し、正常終了する。 -.TP -\fB\-V, \-\-version\fP -バージョン情報を標準出力に表示し、正常終了する。 -.TP -\fB\-\-\fP -オプションリストの末尾を示す。 -.SH バグ -全てのリソースが UNIX の全てのバージョンで計測されているわけではないので、 いくつかの値が 0 と報告される可能性がある。 -現在の出力項目のほとんどは 4.2BSD や 4.3BSD で取得可能なデータに 基づいて選択されている。 -.LP -GNU time バージョン 1.7 はまだローカライズされていない。 そのため、POSIX の要件を実装していないことになる。 -.LP -\fBTIME\fP という環境変数は名前の選択がまずい。 \fBautoconf\fP(1) や \fBmake\fP(1) -のようなシステムでは、使用するコマンドを上書きするのにそのコマンドの 名前の環境変数を使うのが珍しくない。 MORE や TIME のような名前を -(プログラムのパス名の指定ではなく) プログラムへのオプションを指定するのに使うと、 面倒なことを引き起こす可能性が高い。 -.LP -\-o が追記ではなく上書きになっているのは残念なことだ (つまり \-a オプションがデフォルトになっているべきだろうということだ)。 -.LP -GNU \fBtime\fP に対する提案やバグレポートは -.br -\fIbug\-utils@prep.ai.mit.edu\fP -.br -までメールを送ってほしい。 その場合には \fBtime\fP や OS、使用している C コンパイラの バージョンを記載してほしい。 \fBtime\fP -のバージョンは -.br -\fItime \-\-version\fP -.br -.\" .SH AUTHORS -.\" .TP -.\" .IP "David Keppel" -.\" Original version -.\" .IP "David MacKenzie" -.\" POSIXization, autoconfiscation, GNU getoptization, -.\" documentation, other bug fixes and improvements. -.\" .IP "Arne Henrik Juul" -.\" Helped with portability -.\" .IP "Francois Pinard" -.\" Helped with portability -で取得できる。 -.SH 関連項目 -\fBtcsh\fP(1), \fBtimes\fP(2), \fBwait3\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/_exit.2 b/draft/man2/_exit.2 index 5f46ad38..33356aa3 100644 --- a/draft/man2/_exit.2 +++ b/draft/man2/_exit.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt, Ian Jackson. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Wed Jul 21 23:02:38 1993 by Rik Faith .\" Modified 2001-11-17, aeb @@ -86,6 +86,6 @@ exit の効果、終了状態の受渡し、ゾンビプロセス、シグナル \fBwait4\fP(2), \fBwaitpid\fP(2), \fBatexit\fP(3), \fBexit\fP(3), \fBon_exit\fP(3), \fBtermios\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/_syscall.2 b/draft/man2/_syscall.2 index 54323238..ad9ad143 100644 --- a/draft/man2/_syscall.2 +++ b/draft/man2/_syscall.2 @@ -1,7 +1,7 @@ -.\" .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Tue Jul 6 12:42:46 MDT 1993 .\" Added "Calling Directly" and supporting paragraphs @@ -136,7 +136,7 @@ main(void) exit(EXIT_SUCCESS); } .fi -.SS "Sample Output" +.SS 出力例 .nf code error = 0 uptime = 502034s @@ -149,6 +149,6 @@ Number of processes = 40 .SH 関連項目 \fBintro\fP(2), \fBsyscall\fP(2), \fBerrno\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/accept.2 b/draft/man2/accept.2 deleted file mode 100644 index 223246da..00000000 --- a/draft/man2/accept.2 +++ /dev/null @@ -1,220 +0,0 @@ -.\" Copyright (c) 1983, 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1996-10-21 by Eric S. Raymond -.\" Modified 1998-2000 by Andi Kleen to match Linux 2.2 reality -.\" Modified 2002-04-23 by Roger Luethi -.\" Modified 2004-06-17 by Michael Kerrisk -.\" 2008-12-04, mtk, Add documentation of accept4() -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ACCEPT 2 2010\-09\-10 Linux "Linux Programmer's Manual" -.SH 名前 -accept \- ソケットへの接続を受ける -.SH 書式 -.nf -\fB#include \fP /* 「注意」参照 */ -\fB#include \fP - -\fBint accept(int \fP\fIsockfd\fP\fB, struct sockaddr *\fP\fIaddr\fP\fB, socklen_t *\fP\fIaddrlen\fP\fB);\fP - -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP - -\fBint accept4(int \fP\fIsockfd\fP\fB, struct sockaddr *\fP\fIaddr\fP\fB,\fP -\fB socklen_t *\fP\fIaddrlen\fP\fB, int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -\fBaccept\fP() システムコールは、接続指向のソケット型 (\fBSOCK_STREAM\fP, \fBSOCK_SEQPACKET\fP) -で用いられる。 この関数は、接続待ちソケット \fIsocket\fP 宛ての保留状態の接続要求が入っているキューから -先頭の接続要求を取り出し、接続済みソケットを新規に生成し、 そのソケットを参照する新しいファイル・ディスクリプタを返す。 -新規に生成されたソケットは、接続待ち (listen) 状態ではない。 もともとのソケット \fIsockfd\fP はこの呼び出しによって影響を受けない。 -.PP -引き数 \fIsockfd\fP は、 \fBsocket\fP(2) によって生成され、 \fBbind\fP(2) によってローカルアドレスにバインドされ、 -\fBlisten\fP(2) を経て接続を待っているソケットである。 - -\fIaddr\fP 引き数は \fIsockaddr\fP 構造体へのポインタである。 この構造体には接続相手のソケットのアドレスが入っている。 \fIaddr\fP -引き数で返されるアドレスの正確なフォーマットは、 ソケットのアドレス種別によって変わる (\fBsocket\fP(2) およびそれぞれのプロトコルの -man ページを参照)。 \fIaddr\fP が NULL の場合、 \fIaddr\fP には何も入らない。この場合、 \fIaddrlen\fP -は使用されず、この引き数は NULL にしておくべきである。 - -\fIaddrlen\fP 引き数は入出力両用の引き数である。呼び出し時には、呼び出し元が \fIaddr\fP が指す構造体のサイズ (バイト単位) -で初期化しておかなければならない。 返ってくる時には、接続相手のアドレスの実際の大きさが格納される。 - -渡されたバッファが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 -この場合には、 \fIaddrlen\fP には、呼び出し時に指定された値よりも大きな値が格納される。 -.PP -キューに保留となっている接続要求がなく、 かつソケットが非停止になっていないときは、 \fBaccept\fP() は接続が発生するまで呼び出し元を停止 -(block) する。 ソケットが非停止になっていて、 待ち状態の接続要求がキューに無いときは、 \fBaccept\fP() はエラー \fBEAGAIN\fP -か \fBEWOULDBLOCK\fP で失敗する。 -.PP -ソケットへの接続到着を知るには、 \fBselect\fP(2) または \fBpoll\fP(2) を用いればよい。 -新しい接続要求が来るとソケットは読み込み可能になるので、 そうしたら \fBaccept\fP() を呼んでその接続に対するソケットを取得すればよい。 -あるいはソケットに設定を行い、何らかのアクションがあったときに \fBSIGIO\fP を配送 (deliver) させるようにすることもできる。詳細は -\fBsocket\fP(7) を参照のこと。 -.PP -明示的な接続確認 (confirmation) を必要とするようなプロトコル (DECNet など) では、 \fBaccept\fP() -は単に次の接続要求をキューから取り出すだけであり、 接続確認は行わないことに注意せよ。接続確認は、 新しいファイル・ディスクリプタに対する -通常の読み取り/書き込みによってなされ、接続拒否 (rejection) は新しいソケットをクローズすることによってなされる。 現在のところ、 -Linux 上でこれらのセマンティクスを持つのは DECNet だけである。 - -\fIflags\fP が 0 の場合、 \fBaccept4\fP() は \fBaccept\fP() と同じである。 \fIflags\fP -に以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることができる。 -.TP 16 -\fBSOCK_NONBLOCK\fP -新しく生成されるオープンファイル記述 (open file description) の \fBO_NONBLOCK\fP -ファイルステータスフラグをセットする。 このフラグを使うことで、 \fBO_NONBLOCK\fP をセットするために \fBfcntl\fP(2) -を追加で呼び出す必要がなくなる。 -.TP -\fBSOCK_CLOEXEC\fP -新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP) フラグをセットする。 -このフラグが役に立つ理由については、 \fBopen\fP(2) の \fBO_CLOEXEC\fP フラグの説明を参照のこと。 -.SH 返り値 -成功した場合、これらのシステムコールは 受け付けたソケットのディスクリプタである非負の整数値を返す。 エラーが発生した場合は \-1 を返し、 -\fIerrno\fP を適切に設定する。 -.SS エラー処理 -Linux の \fBaccept\fP() (と \fBaccept4\fP()) は、新しいソケットにおける、発生済みのネットワークエラーを -\fBaccept\fP() からのエラーコードとして渡す。 この振舞いは BSD ソケットの実装とは異なる。 信頼性の高い動作を行うためには、 -アプリケーションはプロトコルで定義されているネットワークエラーの検知を \fBaccept\fP() のあとに行い、それらのエラーを \fBEAGAIN\fP -と同じように扱い、再試行 (retry) を行うべきである。 TCP/IP では、以下のエラーが該当する: \fBENETDOWN\fP, -\fBEPROTO\fP, \fBENOPROTOOPT\fP, \fBEHOSTDOWN\fP, \fBENONET\fP, \fBEHOSTUNREACH\fP, -\fBEOPNOTSUPP\fP, \fBENETUNREACH\fP -.SH エラー -.TP -\fBEAGAIN\fP または \fBEWOULDBLOCK\fP -.\" Actually EAGAIN on Linux -ソケットが非停止になっていて、 かつ受付け対象の接続が存在しない。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 -これら 2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 -.TP -\fBEBADF\fP -ディスクリプタが不正。 -.TP -\fBECONNABORTED\fP -接続が中止された。 -.TP -\fBEFAULT\fP -\fIaddr\fP 引き数がユーザアドレス空間の書き込み可能領域にない。 -.TP -\fBEINTR\fP -有効な接続が到着する前に捕捉されたシグナルによって システムコールが中断された。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -ソケットが接続待ち状態ではない。もしくは、 \fIaddrlen\fP が不正である (例えば、負の場合など)。 -.TP -\fBEINVAL\fP -(\fBaccept4\fP()) \fIflags\fP に不正な値が指定されている。 -.TP -\fBEMFILE\fP -1プロセスがオープンできるファイル・ディスクリプタ数の上限に達した。 -.TP -\fBENFILE\fP -オープンされたファイルの総数がシステム全体の上限に達していた。 -.TP -\fBENOBUFS\fP, \fBENOMEM\fP -メモリが足りない。 多くの場合は、システムメモリが足りないわけではなく、 ソケットバッファの大きさによるメモリ割り当ての制限である。 -.TP -\fBENOTSOCK\fP -ディスクリプタはソケットではなくファイルを参照している。 -.TP -\fBEOPNOTSUPP\fP -参照しているソケットの型が \fBSOCK_STREAM\fP でない。 -.TP -\fBEPROTO\fP -プロトコル・エラー。 -.PP -上記に加えて、Linux の \fBaccept\fP() は以下のエラーで失敗する: -.TP -\fBEPERM\fP -ファイアウォールのルールにより接続が禁止された。 -.PP -この他に、新しいソケットに対するネットワークエラーが返されることもある。 これらはそれぞれのプロトコルで定義されている。 いろいろな Linux -カーネルでは、 以下に示すようなエラーを返すこともある。 \fBENOSR\fP, \fBESOCKTNOSUPPORT\fP, -\fBEPROTONOSUPPORT\fP, \fBETIMEDOUT\fP. \fBERESTARTSYS\fP がトレースの最中に現れることもある。 -.SH バージョン -\fBaccept4\fP() システムコールは Linux 2.6.28 以降で利用可能である。 glibc でのサポートはバージョン 2.10 -以降で利用可能である。 -.SH 準拠 -.\" The BSD man page documents five possible error returns -.\" (EBADF, ENOTSOCK, EOPNOTSUPP, EWOULDBLOCK, EFAULT). -.\" POSIX.1-2001 documents errors -.\" EAGAIN, EBADF, ECONNABORTED, EINTR, EINVAL, EMFILE, -.\" ENFILE, ENOBUFS, ENOMEM, ENOTSOCK, EOPNOTSUPP, EPROTO, EWOULDBLOCK. -.\" In addition, SUSv2 documents EFAULT and ENOSR. -\fBaccept\fP(): POSIX.1\-2001, SVr4, 4.4BSD, (\fBaccept\fP() は 4.2BSD で初めて実装された). - -\fBaccept4\fP() は非標準の Linux による拡張である。 -.LP -.\" Some testing seems to show that Tru64 5.1 and HP-UX 11 also -.\" do not inherit file status flags -- MTK Jun 05 -Linux では、 \fBaccept\fP() が返す新しいソケットは listen を行っているソケットの ファイル状態フラグ -(\fBO_NONBLOCK\fP や \fBO_ASYNC\fP など) を継承「しない」。 この動作は標準的な BSD ソケットの実装とは異なっている。 -移植性を考慮したプログラムではファイル状態フラグが継承されるかどうかは 前提にせず、常に \fBaccept\fP() -が返したソケットに対して全ての必要なフラグを明示的に設定するように すべきである。 -.SH 注意 -POSIX.1\-2001 では \fI\fP のインクルードは必須とされておらず、 Linux -ではこのヘッダファイルは必要ではない。 しかし、歴史的には、いくつかの実装 (BSD ç³») でこのヘッダファイルが -必要であり、移植性が必要なアプリケーションではこのファイルを インクルードするのが賢明であろう。 - -\fBSIGIO\fP が届けられた後や、 \fBselect\fP(2) または \fBpoll\fP(2) が読み込み可能イベントを返した後に、 -必ずしも待機中の接続があるとは限らない。 なぜならその接続は、 \fBaccept\fP() が呼ばれる前に、非同期的なネットワークエラーや -他のスレッドから呼ばれた (別の) accept によって 削除されているかもしれないからである。 この場合、その \fBaccept\fP() -呼び出しは停止 (block) し、次の接続の到着を待ちつづける。 \fBaccept\fP() に停止を行わせないようにするには、引き数に渡すソケット -\fIsockfd\fP に \fBO_NONBLOCK\fP フラグをセットしておく必要がある (\fBsocket\fP(7) を見よ)。 -.SS "socklen_t 型" -\fBaccept\fP() の第 3 引き数は、もともと \fIint *\fP と宣言されていた (libc4 や libc5, 4.x BSD, SunOS -4, SGI など多くのシステムではそうなっている)。 POSIX.1g draft 標準は、 これを \fIsize_t *\fP -に変更しようとし、SunOS 5 ではそう宣言されている。 後に POSIX drafts には \fIsocklen_t *\fP が含まれるようになり、 -Single UNIX Specification や glibc2 ではこのように宣言されるようになった。 Linus Torvald -の発言を引用する: - -.\" .I fails: only italicizes a single line -「まともなライブラリを作りたければ、 "socklen_t" のサイズは int と同じにしなきゃならない。 さもないと BSD -ソケット層を破壊することになっちゃう。 POSIX は最初こいつを size_t にしたんで、 ぼくは彼らに文句をがなりたてた -(多分そういう人は他にもいたと思う。多くはなかったようだけど)。 こいつを size_t にするのは完全にいかれてる。 例えば 64 -ビットアーキテクチャでは、 size_t が "int" と同じサイズだなんてことはほとんどないからね。 このサイズは "int" と -同じでなきゃ『ダメ』なんだ。 BSD ソケットインターフェースっていうのはそういうものなんだから。 まあともかく POSIX の人たちも、 -"socklen_t" を作るという解決策をなんとかひねり出した。 そもそも最初から放っておけば良かったんだが、 いじっちゃった以上、 -名前付きの型を持たせなきゃならない、と思ったみたいだね。 なんでかはわかんないけど (きっと最初にやっちまった馬鹿な間違いで顔をつぶしたくなかったから、 -こっそり名前を付け替えて自分たちの大失敗をごまかそうとしたんだろう)。」 -.SH 例 -\fBbind\fP(2) 参照。 -.SH 関連項目 -\fBbind\fP(2), \fBconnect\fP(2), \fBlisten\fP(2), \fBselect\fP(2), \fBsocket\fP(2), -\fBsocket\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/access.2 b/draft/man2/access.2 deleted file mode 100644 index c83b7464..00000000 --- a/draft/man2/access.2 +++ /dev/null @@ -1,165 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" and Copyright (C) 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-21 Rik Faith (faith@cs.unc.edu) -.\" Modified 1994-08-21 by Michael Chastain (mec@shell.portal.com): -.\" Removed note about old kernel (pre-1.1.44) using wrong id on path. -.\" Modified 1996-03-18 by Martin Schulze (joey@infodrom.north.de): -.\" Stated more clearly how it behaves with symbolic links. -.\" Added correction due to Nick Duffek (nsd@bbc.com), aeb, 960426 -.\" Modified 1996-09-07 by Michael Haardt: -.\" Restrictions for NFS -.\" Modified 1997-09-09 by Joseph S. Myers -.\" Modified 1998-01-13 by Michael Haardt: -.\" Using access is often insecure -.\" Modified 2001-10-16 by aeb -.\" Modified 2002-04-23 by Roger Luethi -.\" Modified 2004-06-23 by Michael Kerrisk -.\" 2007-06-10, mtk, various parts rewritten, and added BUGS section. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ACCESS 2 2010\-10\-24 Linux "Linux Programmer's Manual" -.SH 名前 -access \- ファイルに対する実ユーザーでのアクセス権をチェックする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint access(const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB);\fP -.fi -.SH 説明 -\fBaccess\fP() は、呼び出し元プロセスがファイル \fIpathname\fP にアクセスできるかどうかをチェックする。 \fIpathname\fP -がシンボリック・リンクの場合、シンボリック・リンクは展開される。 - -.\" F_OK is defined as 0 on every system that I know of. -\fImode\fP はチェックを行うアクセス権を指定するもので、その値は \fBF_OK\fP、 もしくは \fBR_OK\fP, \fBW_OK\fP, \fBX_OK\fP の -1個以上のビット単位の論理和から構成されるマスクである。 \fBF_OK\fP はファイルが存在するかどうかのみを検査する。 \fBR_OK\fP, -\fBW_OK\fP, \fBX_OK\fP は、ファイルが存在して、それぞれ読み込み、書き込み、実行の許可があるか を検査する。 - -チェックは、実際に操作が行われる際に使用される実効 (effective) ID でなく、 呼び出し元プロセスの \fI実 (real)\fP UID と -\fI実 (real)\fP GID を使って行われる。 これにより、set\-user\-ID プログラムで、プログラムを起動するユーザの権限を -簡単に決定することができる。 - -呼び出し元プロセスが特権プロセス (つまり、プロセスの実 UID が 0) の場合、 通常のファイルに対する \fBX_OK\fP -のチェックは、そのファイルの所有者、グループ、他人のいずれかの 実行許可が有効になっていれば成功する。 -.SH 返り値 -成功した場合 (要求した全てについて許可が得られたら)、ゼロが返される。 エラーの場合 (\fImode\fP -の少なくとも一つのビットで要求した許可がなかった場合や、 他のエラーが起こった場合)、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -\fBaccess\fP() は以下の場合に失敗する。 -.TP -\fBEACCES\fP -要求されたアクセスは そのファイル自身に拒否されたか \fIpathname\fP へ至るまでディレクトリのいずれかに対する検索許可 (search -permission) が得られなかった。 (\fBpath_resolution\fP(7) も参照のこと) -.TP -\fBELOOP\fP -\fIpathname\fP を解決するときに、解決すべきシンボリックリンクが多すぎた。 -.TP -\fBENAMETOOLONG\fP -\fIpathname\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fIpathname\fP を構成するパスのいずれかが、存在しないか、 参照先のない (dangling) シンボリックリンクになっている。 -.TP -\fBENOTDIR\fP -\fIpathname\fP のディレクトリ部分が実際にはディレクトリでない。 -.TP -\fBEROFS\fP -読み込み専用 (read\-only) のファイル・システムに対して書き込み許可を 要求した。 -.PP -\fBaccess\fP() は以下の理由により失敗することがある。 -.TP -\fBEFAULT\fP -\fIpathname\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEINVAL\fP -\fImode\fP に不正な値が指定された。 -.TP -\fBEIO\fP -I/O エラーが発生した。 -.TP -\fBENOMEM\fP -カーネルに十分なメモリがない。 -.TP -\fBETXTBSY\fP -実行中のファイルに対して書き込みを要求した。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -.PP -\fB警告\fP: あるユーザが、例えば \fBopen\fP(2) によるアクセスが可能かどうかを、 -(実際に行う前に) \fBaccess\fP() を使ってチェックするのは、セキュリティホール -の原因になる。なぜならチェックをしてから 実際にファイルのオープン操作を -する間の短い間隔を悪用できるからである。 \fBこの理由があるので、この -システムコールを使うのは避けるべきである。\fP -(ここで説明した例の場合には、より安全な方法としては、 -そのプロセスの実効ユーザ ID を実ユーザ ID に一時的に切り替えてから -\fBopen\fP(2) を呼び出す方法がある。) -.PP -\fBaccess\fP() は常にシンボリックリンクの展開を行う。 -シンボリックリンクのアクセス許可を確認する必要がある場合は、 -\fBAT_SYMLINK_NOFOLLOW\fP フラグ付きで \fBfaccessat(2)\fP を使うこと。 -.PP -\fImode\fP で指定されたアクセス種別のいずれか一つでも拒否されると、 たとえ \fImode\fP で指定された他のアクセス種別が許可されたとしても、 -\fBaccess\fP() はエラーを返す。 -.PP -.\" HPU-UX 11 and Tru64 5.1 do this. -POSIX.1\-2001 では、 呼び出し元プロセスが適切な特権を持っている場合 (つまり、スーパーユーザの場合)、 -たとえファイルの実行許可ビットが全くセットされていなくても \fBX_OK\fP のチェックとして成功を返す実装が認められている。 Linux -はこのようにはなっていない。 -.PP -\fIpathname\fP のプレフィックスを構成するディレクトリの全てに対して 検索アクセス (すなわち、実行アクセス) が許可された場合にのみ、 -ファイルはアクセス可能となる。 いずれかのディレクトリがアクセス不可の場合、 ファイル自身のアクセス許可に関わらず、 \fBaccess\fP() -は失敗する。 -.PP -アクセス・ビットのみがチェックされ、ファイルの種類や内容はチェックされない。 従って、ディレクトリが書き込み可能となった場合は、ディレクトリに -ファイルを作成することが可能なことを意味するのであり、ディレクトリに ファイルとして書き込むことができるわけではない。 同様に DOS -のファイルは「実行可能」と判断されるが、 \fBexecve\fP(2) コールは失敗するだろう。 -.PP -\fBaccess\fP() は、 UID マッピングを使用した NFS ファイル・システムでは正常に 機能しないかもしれない。なぜならば UID -のマッピングはサーバーで 行なわれ、権利のチェックをするクライアントには見えないからである。 -.SH バグ -.\" This behavior appears to have been an implementation accident. -バージョン 2.4 (とそれ以前) のカーネルには、スーパーユーザでの \fBX_OK\fP のチェックの扱いに奇妙な点がある。 ディレクトリ以外のファイルで -(ユーザ、グループ、他人の) 全てのカテゴリについて 実行許可がない場合、 \fBaccess\fP() のチェックで \-1 が返るのは \fImode\fP に -\fBX_OK\fP だけが指定されたときだけであり \fImode\fP に \fBR_OK\fP や \fBW_OK\fP が一緒に指定された場合には -\fBaccess\fP() は 0 を返す。 (バージョン 2.6.3 以前の) 初期の 2.6 系のカーネルも 2.4 系のカーネルと同様の動作をする。 - -2.6.20 より前のカーネルでは、 ファイルが存在するファイルシステムを \fBmount\fP(2) する際に指定された \fBMS_NOEXEC\fP -フラグの効果を、 \fBaccess\fP() は無視していた。 カーネル 2.6.20 以降では、 \fBaccess\fP() -はこのフラグを考慮するようになっている。 -.SH 関連項目 -\fBchmod\fP(2), \fBchown\fP(2), \fBfaccessat\fP(2), \fBopen\fP(2), \fBsetgid\fP(2), -\fBsetuid\fP(2), \fBstat\fP(2), \fBeauidaccess\fP(3), \fBcredentials\fP(7), -\fBpath_resolution\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/acct.2 b/draft/man2/acct.2 index 7f75aa6a..8687d9f6 100644 --- a/draft/man2/acct.2 +++ b/draft/man2/acct.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1993 Michael Haardt .\" (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -20,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 1993-07-22 by Rik Faith .\" Modified 1993-08-10 by Alan Cox @@ -118,6 +117,6 @@ SVr4, 4.3BSD (POSIX ではない)。 .SH 関連項目 \fBacct\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/adjtimex.2 b/draft/man2/adjtimex.2 index 550f5bb9..d406b5f5 100644 --- a/draft/man2/adjtimex.2 +++ b/draft/man2/adjtimex.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,14 +17,16 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 1997-07-30 by Paul Slootman .\" Modified 2004-05-27 by Michael Kerrisk .\" +.\" FIXME 2.6.29 added ADJ_SETOFFSET +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -115,6 +116,6 @@ struct timex { .SH 関連項目 \fBsettimeofday\fP(2), \fBadjtime\fP(3), \fBcapabilities\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/alarm.2 b/draft/man2/alarm.2 index ee36773c..d44ec43b 100644 --- a/draft/man2/alarm.2 +++ b/draft/man2/alarm.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt, Ian Jackson. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Wed Jul 21 19:42:57 1993 by Rik Faith .\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer @@ -62,6 +62,6 @@ SVr4, POSIX.1\-2001, 4.3BSD. \fBgettimeofday\fP(2), \fBpause\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsleep\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/alloc_hugepages.2 b/draft/man2/alloc_hugepages.2 index a584591d..6edca79b 100644 --- a/draft/man2/alloc_hugepages.2 +++ b/draft/man2/alloc_hugepages.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 2003 Andries E. Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +93,6 @@ HugePages_Free, Hugepagesize の サイズについての情報を提供する .\" mount -t hugetlbfs hugetlbfs /huge .\" SHM_HUGETLB .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/arch_prctl.2 b/draft/man2/arch_prctl.2 index eed9f558..afef075d 100644 --- a/draft/man2/arch_prctl.2 +++ b/draft/man2/arch_prctl.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2003 Andi Kleen .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -90,9 +91,9 @@ x86\-64 の副機能は以下の通り: \fIFS\fP はスレッドライブラリで既に使われているかもしれない。 .SH 関連項目 \fBmmap\fP(2), \fBmodify_ldt\fP(2), \fBprctl\fP(2), \fBset_thread_area\fP(2) -.sp + AMD X86\-64 Programmer's manual .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/bdflush.2 b/draft/man2/bdflush.2 index 81f7d2fe..ecb364ce 100644 --- a/draft/man2/bdflush.2 +++ b/draft/man2/bdflush.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 2004-06-17 by Michael Kerrisk @@ -60,7 +59,7 @@ bdflush \- バッファー・ダーティー・フラッシュ・デーモンを \fIfunc\fP が 3 以上で奇数 (最小ビットが 1) ならば、 \fIdata\fP をロング・ワードで指定し、その値を (\fIfunc\fP\-3)/2 で指定された調節パラメーターに設定する。 .PP -パラメーターの集合やその値、有効な範囲はカーネルのソース・ファイルの \fIfs/buffer.c\fP に定義されている。 +パラメーターの集合やその値、有効な範囲は Linux カーネルソースの \fIfs/buffer.c\fP に定義されている。 .SH 返り値 \fIfunc\fP が負か 0 で、デモーンの起動に成功した場合は \fBbdflush\fP() は返ってこない。 そうでなければ成功した場合には 0 が返される。失敗した場合には \-1 が返され、 \fIerrno\fP にそのエラーが指示される。 @@ -82,6 +81,6 @@ bdflush \- バッファー・ダーティー・フラッシュ・デーモンを .SH 関連項目 \fBfsync\fP(2), \fBsync\fP(2), \fBsync\fP(8), \fBupdate\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/bind.2 b/draft/man2/bind.2 index 5ac8223d..5581ee26 100644 --- a/draft/man2/bind.2 +++ b/draft/man2/bind.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" Portions extracted from /usr/include/sys/socket.h, which does not have .\" any authorship information in it. It is probably available under the GPL. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" .\" Other portions are from the 6.9 (Berkeley) 3/10/91 man page: @@ -30,6 +30,7 @@ .\" Copyright (c) 1983 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -57,6 +58,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" Modified Mon Oct 21 23:05:29 EDT 1996 by Eric S. Raymond .\" Modified 1998 by Andi Kleen @@ -244,6 +246,6 @@ main(int argc, char *argv[]) \fBgetaddrinfo\fP(3), \fBgetifaddrs\fP(3), \fBip\fP(7), \fBipv6\fP(7), \fBpath_resolution\fP(7), \fBsocket\fP(7), \fBunix\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/brk.2 b/draft/man2/brk.2 index 2eb78bd4..ca4ce8ff 100644 --- a/draft/man2/brk.2 +++ b/draft/man2/brk.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1993 Michael Haardt .\" (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -20,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Wed Jul 21 19:52:58 1993 by Rik Faith .\" Modified Sun Aug 21 17:40:38 1994 by Rik Faith @@ -114,6 +113,6 @@ Linux では \fBsbrk\fP() は \fBbrk\fP() システムコールを使うライ .SH 関連項目 \fBexecve\fP(2), \fBgetrlimit\fP(2), \fBend\fP(3), \fBmalloc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/cacheflush.2 b/draft/man2/cacheflush.2 index 0f75437d..8074f643 100644 --- a/draft/man2/cacheflush.2 +++ b/draft/man2/cacheflush.2 @@ -1,6 +1,7 @@ .\" Written by Ralf Baechle (ralf@waldorf-gmbh.de), .\" Copyright (c) 1994, 1995 Waldorf GMBH .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -66,6 +67,6 @@ cacheflush \- 命令キャッシュやデータキャッシュの内容をフラ .SH バグ 現在の実装では、引き数 \fIaddr\fP と \fInbytes\fP は無視される。そのため、 常に全てのキャッシュがフラッシュされる。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/capget.2 b/draft/man2/capget.2 deleted file mode 100644 index 3ca798ff..00000000 --- a/draft/man2/capget.2 +++ /dev/null @@ -1,137 +0,0 @@ -.\" written by Andrew Morgan -.\" may be distributed as per GPL -.\" Modified by David A. Wheeler -.\" Modified 2004-05-27, mtk -.\" Modified 2004-06-21, aeb -.\" Modified 2008-04-28, morgan of kernel.org -.\" Update in line with addition of file capabilities and -.\" 64-bit capability sets in kernel 2.6.2[45]. -.\" Modified 2009-01-26, andi kleen -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CAPGET 2 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -capget, capset \- スレッドのケーパビリティを設定/取得する -.SH 書式 -\fB#include \fP -.sp -\fBint capget(cap_user_header_t \fP\fIhdrp\fP\fB, cap_user_data_t \fP\fIdatap\fP\fB);\fP -.sp -\fBint capset(cap_user_header_t \fP\fIhdrp\fP\fB, const cap_user_data_t -\fP\fIdatap\fP\fB);\fP -.SH 説明 -Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ (capabilities) -へと分割され、その集合として表現されるようになった。 各スレッドは「実効ケーパビリティ (effective capability) の集合」を持ち、 -それによって現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパビリティ (inheritable capability) -の集合」と 「許可ケーパビリティ (permitted capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は -\fBexecve\fP(2) を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリティ (permitted capability) -の集合」は 実効ケーパビリティや継承可能ケーパビリティとして有効にできる ケーパビリティを規定するものである。 -.PP -この二つの関数はスレッドのケーパビリティを取得したり設定したりするための 生のカーネルインターフェースである。 これらのシステムコールは Linux -特有であるというだけでなく、 カーネル API は変更されるかもしれず、これらの 関数の使用法 (特に \fIcap_user_*_t\fP 型という書式) -はカーネルのリビジョン毎に拡張されるかもしれないが、 以前のプログラムはそのまま動作する。 -.sp -移植性のあるインターフェースは \fBcap_set_proc\fP(3) と \fBcap_get_proc\fP(3) である。 -可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリケーションに Linux 拡張を使用したい場合には、より簡単に -使えるインターフェースである \fBcapsetp\fP(3) と \fBcapgetp\fP(3) を使用すべきである。 -.SS 現在の詳細 -現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義される。 -.sp -.nf -.in +4n -#define _LINUX_CAPABILITY_VERSION_1 0x19980330 -#define _LINUX_CAPABILITY_U32S_1 1 - -#define _LINUX_CAPABILITY_VERSION_2 0x20071026 -#define _LINUX_CAPABILITY_U32S_2 2 - -typedef struct __user_cap_header_struct { - __u32 version; - int pid; -} *cap_user_header_t; - -typedef struct __user_cap_data_struct { - __u32 effective; - __u32 permitted; - __u32 inheritable; -} *cap_user_data_t; -.fi -.in -4n -.sp -\fIeffective, permitted, inheritable\fP は、 \fBcapability\fP(7) -で定義されるケーパビリティのビットマスクである。 \fICAP_*\fP はビット番号を表すインデックス値であり、 ビットフィールドに OR を行う前に -\fICAP_*\fP の値の分だけビットシフトを行う必要がある。 typedef の方はポインタなので、 このシステムコールに渡す構造体を定義するには、 -\fIstruct __user_cap_header_struct\fP と \fIstruct __user_cap_data_struct\fP -という名前を使用しなければならない。 - -カーネル 2.6.25 より前では、バージョン \fB_LINUX_CAPABILITY_VERSION_1\fP の 32 -ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン \fB_LINUX_CAPABILITY_VERSION_2\fP の 64 -ビットケーパビリティが推奨である。 64 ビットケーパビリティでは \fIdatap\fP[0] と \fIdatap\fP[1] が使用されるのに対し、 32 -ビットケーパビリティでは \fIdatap\fP[0] だけが使用される。 -.sp -これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビリティ (file capabilities) のカーネルによるサポート -(VFS ケーパビリティのサポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプションである (カーネル 2.6.24 -で追加された)。 -.sp -\fBcapget\fP() では、 \fIhdrp\->pid\fP のフィールド値にケーパビリティを知りたいプロセスのプロセス ID を -指定することで、任意のプロセスのケーパビリティを調べることができる。 -.SS "VFS ケーパビリティがサポートされている場合" -VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加するためのファイル属性メソッドが作成された。 -この特権モデルの導入により、あるプロセスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによるサポートは廃止される。 つまり、VFS -サポートでは、 \fBcapset\fP() を呼び出す際に \fIhdrp\->pid\fP の値として許されるのは 0 と \fBgetpid\fP(2) -が返す値だけとなる (どちらの値でも等価である)。 -.SS "VFS ケーパビリティがサポートされていない場合" -カーネルが VFS ケーパビリティをサポートしていない場合、 \fIhdrp\fP の \fIpid\fP フィールドが 0 以外であれば、 \fBcapset\fP() -の操作対象は \fIpid\fP で指定されたスレッドのケーパビリティになる。 \fIpid\fP が 0 -の場合は呼び出し元のスレッドのケーパビリティが操作対象となる。 \fIpid\fP がシングルスレッド・プロセスを参照している場合、 \fIpid\fP -は以前から使われているプロセスID を使って指定できる。 マルチスレッド・プロセス内のあるスレッドを対象にする場合は、 \fBgettid\fP(2) -が返すスレッドID を用いて指定する必要がある。 また、 \fBcapset\fP() では \-1 や \-1 より小さな値を指定することもできる。 \-1 -は呼び出し元と \fBinit\fP(8) を除く全てのスレッドを対象として変更を行うことを、 \-1 より小さな値は ID が \-\fIpid\fP -のプロセスグループの全メンバ を対象として変更を行うことを意味する。 - -このデータの詳細は \fBcapabilities\fP(7) を参照すること。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 - -\fIhdrp\fP のフィールド \fIversion\fP にサポートされていない値が指定された場合、 呼び出しはエラー \fBEINVAL\fP で失敗し、 -\fIversion\fP にカーネル推奨の \fB_LINUX_CAPABILITY_VERSION_?\fP を設定する。 -このようにして、現在の推奨ケーパビリティ・リビジョンが何かを 調べることができる。 -.SH エラー -.TP -\fBEFAULT\fP -不正なメモリアドレス。 \fIhdrp\fP は NULL であってはならない。 \fIdatap\fP に NULL -を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・バージョンを判定しようとしているときだけである。 -.TP -\fBEINVAL\fP -引き数のどれかが無効である。 -.TP -\fBEPERM\fP -「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしくは「許可ケーパビリティセット」に含まれないケーパビリティを -「実効ケーパビリティセット」や「継承可能ケーパビリティセット」に セットしようとしている。 -.TP -\fBEPERM\fP -呼び出し元が自分以外のスレッドのケーパビリティを \fBcapset\fP() を使って修正しようとしたが、十分な特権がなかった。 VFS -ケーパビリティをサポートしているカーネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポートしていないカーネルでは、 -\fBCAP_SETPCAP\fP ケーパビリティが必要である。 (バージョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが -\fIpid\fP フィールドに 0 でない値 (つまり、0 の代わりに \fBgetpid\fP(2) が返す値) -を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発生するというバグがあった。) -.TP -\fBESRCH\fP -そのようなスレッドが存在しない。 -.SH 準拠 -これらのシステムコールは Linux 独自である。 -.SH 注意 -ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェースは \fIlibcap\fP ライブラリによって提供される。 -このライブラリは以下から入手できる: -.br -http://www.kernel.org/pub/linux/libs/security/linux\-privs -.SH 関連項目 -\fBclone\fP(2), \fBgettid\fP(2), \fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/chdir.2 b/draft/man2/chdir.2 index 8d6992a2..9b320611 100644 --- a/draft/man2/chdir.2 +++ b/draft/man2/chdir.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-21 by Rik Faith @@ -111,6 +111,6 @@ SVr4, 4.4BSD, POSIX.1\-2001. .SH 関連項目 \fBchroot\fP(2), \fBgetcwd\fP(3), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/chmod.2 b/draft/man2/chmod.2 index 41b78107..9c5a2947 100644 --- a/draft/man2/chmod.2 +++ b/draft/man2/chmod.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-21 by Rik Faith @@ -178,6 +178,6 @@ I/O エラーが発生した。 \fBchown\fP(2), \fBexecve\fP(2), \fBfchmodat\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/chown.2 b/draft/man2/chown.2 deleted file mode 100644 index df22fac7..00000000 --- a/draft/man2/chown.2 +++ /dev/null @@ -1,236 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" and Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl) -.\" and Copyright (c) 2007, 2008 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt -.\" Modified 1993-07-21 by Rik Faith -.\" Modified 1996-07-09 by Andries Brouwer -.\" Modified 1996-11-06 by Eric S. Raymond -.\" Modified 1997-05-18 by Michael Haardt -.\" Modified 2004-06-23 by Michael Kerrisk -.\" 2007-07-08, mtk, added an example program; updated SYNOPSIS -.\" 2008-05-08, mtk, Describe rules governing ownership of new files -.\" (bsdgroups versus sysvgroups, and the effect of the parent -.\" directory's set-group-ID permission bit). -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CHOWN 2 2010\-11\-22 Linux "Linux Programmer's Manual" -.SH 名前 -chown, fchown, lchown \- ファイルの所有者を変更する -.SH 書式 -\fB#include \fP -.sp -\fBint chown(const char *\fP\fIpath\fP\fB, uid_t \fP\fIowner\fP\fB, gid_t \fP\fIgroup\fP\fB);\fP -.br -\fBint fchown(int \fP\fIfd\fP\fB, uid_t \fP\fIowner\fP\fB, gid_t \fP\fIgroup\fP\fB);\fP -.br -\fBint lchown(const char *\fP\fIpath\fP\fB, uid_t \fP\fIowner\fP\fB, gid_t \fP\fIgroup\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBfchown\fP(), \fBlchown\fP(): -.PD 0 -.ad l -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.br -|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L -.RE -.ad -.PD -.SH 説明 -これらのシステムコールは、ファイルの所有者 (owner) とグループを変更する。 システムコール間の違いは、ファイルの指定の仕方だけである。 -.IP * 2 -\fBchown\fP() は \fIpath\fP で指定されたファイルの所有権を変更する。 \fIpath\fP -がシンボリック・リンクの場合は、リンクの展開が行われる。 -.IP * -\fBfchown\fP() はオープンされたファイルディスクリプタ \fIfd\fP により参照されるファイルの所有権を変更する。 -.IP * -\fBlchown\fP() は \fBchown\fP() と同じだが、シンボリック・リンクを展開しない点が異なる。 -.PP -特権を持つプロセス (Linux では \fBCAP_CHOWN\fP ケーパビリティ (capability) を持つプロセス) だけが -ファイルの所有者を変更できる。 ファイルの所有者は、その所有者が属しているグループのいずれかに ファイルのグループを変更することができる。 特権 -(Linux では \fBCAP_CHOWN\fP) を持つプロセスは、任意のグループに変更できる。 - -\fIowner\fP または \fIgroup\fP に \-1 が指定された場合、それらの ID は変更されない。 - -.\" In Linux 2.0 kernels, superuser was like everyone else -.\" In 2.2, up to 2.2.12, these bits were not cleared for superuser. -.\" Since 2.2.13, superuser is once more like everyone else. -非特権ユーザーにより実行ファイルの所有者またはグループが 変更された場合は \fBS_ISUID\fP と \fBISGID\fP モードビットはクリアされる。 -POSIX はこの動作やルートが \fBchown\fP() を行なった場合については特に指定されていない。 Linux -における動作はカーネルのバージョンに依存する。 非グループ実行ファイル (\fBS_IXGRP\fP ビットが設定されていないファイル) の場合には -\fBS_ISGID\fP ビットは強制ロック (mandatory locking) を意味している。 そしてそれは \fBchown\fP() -ではクリアできない。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -ファイルシステムによっては他のエラーが返される事がある。 \fBchmod\fP で一般的なエラーを以下に挙げる。 -.TP -\fBEACCES\fP -パス名の構成要素に検索許可がない (\fBpath_resolution\fP(7) も見よ)。 -.TP -\fBEFAULT\fP -\fIpath\fP がアクセスできるアドレス空間外を指している。 -.TP -\fBELOOP\fP -\fIpath\fP を解決する際に遭遇したシンボリック・リンクが多過ぎる。 -.TP -\fBENAMETOOLONG\fP -\fIpath\fP が長過ぎる。 -.TP -\fBENOENT\fP -ファイルが存在しない。 -.TP -\fBENOMEM\fP -カーネルに十分なメモリがない。 -.TP -\fBENOTDIR\fP -パス名の構成要素がディレクトリではない。 -.TP -\fBEPERM\fP -呼び出したプロセスに所有者またはグループ (もしくはその両方) を変更するために 要求される許可 (上記を参照) がない。 -.TP -\fBEROFS\fP -ファイルが読み込み専用 (read only) のファイル・システム上にある。 -.PP -\fBfchown\fP() で一般的なエラーを以下に挙げる: -.TP -\fBEBADF\fP -ディスクリプターが有効でない。 -.TP -\fBEIO\fP -i ノード (inode) を変更する際に低レベル I/O エラーが発生した。 -.TP -\fBENOENT\fP -上記を参照。 -.TP -\fBEPERM\fP -上記を参照。 -.TP -\fBEROFS\fP -上記を参照。 -.SH 準拠 -4.4BSD, SVr4, POSIX.1\-2001. - -.\" chown(): -.\" SVr4 documents EINVAL, EINTR, ENOLINK and EMULTIHOP returns, but no -.\" ENOMEM. POSIX.1 does not document ENOMEM or ELOOP error conditions. -.\" fchown(): -.\" SVr4 documents additional EINVAL, EIO, EINTR, and ENOLINK -.\" error conditions. -4.4BSD 版ではスーパー・ユーザーのみが使用できる (つまり、普通のユーザーはファイルを手放すことはできない)。 -.SH 注意 -元々の Linux の \fBchown\fP(), \fBfchown\fP(), \fBlchown\fP() システムコールは、 -16 ビットのユーザ ID とグループ ID だけに対応していた。 -その後、 32 ビットの ID に対応した \fBchown32\fP(), \fBfchown32\fP(), \fBlchown32\fP() -が Linux 2.4 で追加された。 -\fBchown\fP(), \fBfchown\fP(), and \fBlchown\fP() の glibc のラッパー関数は、 -カーネルのバージョンによる違いを吸収している。 - -(\fBopen\fP(2) や \fBmkdir\fP(2) などにより) 新しいファイルが作成されるとき、 -その所有者は呼び出したプロセスのファイルシステム・ユーザ ID と 同じに設定される。 そのファイルのグループはいくつかの要因により決定される。 -その要因としては、 ファイルシステムの種類、そのファイルシステムのマウント時に 使用されたオプション、親ディレクトリで set\-group\-ID -許可ビットが 有効になっているどうか、がある。 ファイルシステムが \fBmount\fP(8) オプションの \fI\-o\ grpid\fP (\fI\-o\ bsdgroups\fP も同義語) と \fI\-o\ nogrpid\fP (\fI\-o sysvgroups\fP も同義語) -に対応している場合、ルールは以下の通りとなる。 -.IP * 2 -ファイルシステムが \fI\-o\ grpid\fP 付きでマウントされている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。 -.IP * -ファイルシステムが \fI\-o\ nogrpid\fP 付きでマウントされており、親ディレクトリでは set\-group\-ID ビットが -無効になっている場合、新しいファイルのグループは プロセスのファイルシステム GID と同じになる。 -.IP * -ファイルシステムが \fI\-o\ nogrpid\fP 付きでマウントされており、親ディレクトリでは set\-group\-ID ビットが -有効になっている場合、新しいファイルのグループは 親ディレクトリのグループと同じになる。 -.PP -Linux 2.6.25 では、マウントオプション \fI\-o\ grpid\fP と \fI\-o\ nogrpid\fP に対応しているファイルシステムは -ext2, ext3, ext4, XFS である。 これらのマウントオプションに対応していないファイルシステムでは、 \fI\-o\ nogrpid\fP -に関するルールが適用される。 -.PP -\fBchown\fP() 方式は UID マッピングを使用した NFS ファイル・システムを侵害する。 -さらにファイルの内容にアクセスする全てのシステム・コールを侵害する。 これは \fBchown\fP() が既にオープンされたファイルに対する -アクセスをただちに取り消すことによる。 クライアント側のキャッシュにより所有権が変更されて -ユーザーのアクセスが許した時点と、実際に他のクライアントでユーザーによって ファイルにアクセスできる時点との間に時間差があるかもしれない。 - -Linux の 2.1.81 より前のバージョン (特に 2.1.46 以前) では、 \fBchown\fP() はシンボリック・リンクを追跡しない。 -Linux 2.1.81 以降では \fBchown\fP() はシンボリック・リンクを追跡し、新たなシステム・コール \fBlchown\fP() -はシンボリック・リンクを追跡しない。 Linux 2.1.86 以降ではこの新しいコール (古い \fBchown\fP() と全く同じ動作を行なう) -は同じシステムコール番号を持ち \fBchown\fP() は新しく導入された番号を持つ。 -.SH 例 -.PP -以下のプログラムは、 二つ目のコマンドライン引き数で指定された名前のファイルの所有者を、 一つ目のコマンドライン引き数で指定された値に変更する。 -新しい所有者は、数字のユーザ ID かユーザ名のいずれかで指定できる (ユーザ名で指定した場合には、 \fBgetpwnam\fP(3) -を使ってシステムのパスワードファイルの検索が行われ、 ユーザ ID への変換が行われる)。 -.nf - -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - uid_t uid; - struct passwd *pwd; - char *endptr; - - if (argc != 3 || argv[1][0] == \(aq\e0\(aq) { - fprintf(stderr, "%s \en", argv[0]); - exit(EXIT_FAILURE); - } - - uid = strtol(argv[1], &endptr, 10); /* Allow a numeric string */ - - if (*endptr != \(aq\e0\(aq) { /* Was not pure numeric string */ - pwd = getpwnam(argv[1]); /* Try getting UID for username */ - if (pwd == NULL) { - perror("getpwnam"); - exit(EXIT_FAILURE); - } - - uid = pwd\->pw_uid; - } - - if (chown(argv[2], uid, \-1) == \-1) { - perror("chown"); - exit(EXIT_FAILURE); - } - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBchmod\fP(2), \fBfchownat\fP(2), \fBflock\fP(2), \fBpath_resolution\fP(7), -\fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/chroot.2 b/draft/man2/chroot.2 index 2e399351..fd2bf772 100644 --- a/draft/man2/chroot.2 +++ b/draft/man2/chroot.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-21 by Rik Faith @@ -130,6 +130,6 @@ FreeBSD にはより強力な \fBjail\fP() システムコールがある。 .SH 関連項目 \fBchdir\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/clock_getres.2 b/draft/man2/clock_getres.2 deleted file mode 100644 index f55209f4..00000000 --- a/draft/man2/clock_getres.2 +++ /dev/null @@ -1,168 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 2003 Nick Clifford (zaf@nrc.co.nz), Jan 25, 2003 -.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl), Aug 24, 2003 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2003-08-23 Martin Schulze improvements -.\" 2003-08-24 aeb, large parts rewritten -.\" 2004-08-06 Christoph Lameter , SMP note -.\" -.\" FIXME: Linux 2.6.39 adds CLOCK_BOOTTIME -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CLOCK_GETRES 2 2012\-04\-30 "" "Linux Programmer's Manual" -.SH 名前 -clock_getres, clock_gettime, clock_settime \- クロックと時間の関数 -.SH 書式 -\fB#include \fP -.sp -\fBint clock_getres(clockid_t \fP\fIclk_id\fP\fB, struct timespec *\fP\fIres\fP\fB);\fP - -\fBint clock_gettime(clockid_t \fP\fIclk_id\fP\fB, struct timespec *\fP\fItp\fP\fB);\fP - -\fBint clock_settime(clockid_t \fP\fIclk_id\fP\fB, const struct timespec -*\fP\fItp\fP\fB);\fP -.sp -\fI\-lrt\fP でリンクする。 -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBclock_getres\fP(), \fBclock_gettime\fP(), \fBclock_settime\fP(): -.RS -_POSIX_C_SOURCE\ >=\ 199309L -.RE -.ad b -.SH 説明 -関数 \fBclock_getres\fP() は 指定されたクロック \fIclk_id\fP の分解能 (精度) を探し出す。 \fIres\fP が NULL -でない場合、その分解能を \fIres\fP で指される \fIstruct timespec\fP に格納する。 クロックの分解能は実装に依存し、 -特定のプロセスによって設定することはできない。 \fBclock_settime\fP() の引き数 \fItp\fP で指される時間の値が \fIres\fP -の倍数でない場合、 \fIres\fP の倍数に切り詰められる。 -.PP -関数 \fBclock_gettime\fP() と \fBclock_settime\fP() は、指定されたクロック \fIclk_id\fP -の時間を取得または設定する。 -.PP -\fIres\fP と \fItp\fP 引き数は \fItimespec\fP 構造体であり、 \fI\fP で以下のように規定されている: -.sp -.in +4n -.nf -struct timespec { - time_t tv_sec; /* seconds */ - long tv_nsec; /* nanoseconds */ -}; -.fi -.in -.PP -\fIclk_id\fP 引き数は特定のクロックの識別子であり、そのクロックで動作する。 クロックはシステム全体に適用することもでき、 -その場合は全てのプロセスから見ることができる。 また 1 つのプロセス内でのみ時間を計測する場合は、 プロセス毎に適用することもできる。 -.LP -全ての実装においてシステム全体のリアルタイムクロックがサポートされ、 \fBCLOCK_REALTIME\fP で識別される。 時間は紀元 (the -Epoch) からの秒とナノ秒で表される。 時間が変更された場合、相対的な時間間隔のタイマは影響を受けないが、 絶対的な時点のタイマは影響を受ける。 -.LP -さらにいくつかのクロックが実装されているかもしれない。 対応する時間の値を解釈する方法とタイマへの影響は、定められていない。 -.LP -glibc と Linux カーネルの最新のバージョンでは、 -以下のクロックがサポートされている。 -.TP -\fBCLOCK_REALTIME\fP -実時間を計測するシステム全体で一意な時間。 -このクロックを設定するには適切な特権が必要である。 -このクロックは、システム時間の不連続な変化 (例えば、システム管理者が -システム時間を手動で変更した場合など) や \fBadjtime\fP や NTP が行う -段階的な調整の影響を受ける。 -.TP -\fBCLOCK_MONOTONIC\fP -設定することができないクロックで、ある開始時点からの単調増加の時間で -表現されるクロック (開始時点がどの時点となるかは規定されていない)。 -この時計は、システム時間の不連続な変化 (例えば、システム管理者がシステ -ム時間を手動で変更した場合など) の影響を受けないが、 -\fBadjtime\fP(3) や NTP が行う段階的な調整の影響を受ける。 -.TP -\fBCLOCK_MONOTONIC_RAW\fP (Linux 2.6.28 以降; Linux 特有) -.\" Added in commit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68, John Stultz -\fBCLOCK_MONOTONIC\fP と同様だが、NTP による調整や \fBadjtime\fP(3) が行う -段階的な調整の影響を受けない、ハードウェアによる生の時刻へのアクセス -ができる。 -.TP -\fBCLOCK_PROCESS_CPUTIME_ID\fP -CPU による高分解能のプロセス毎のタイマ。 -.TP -\fBCLOCK_THREAD_CPUTIME_ID\fP -スレッド固有の CPU タイムクロック。 -.SH 返り値 -\fBclock_gettime\fP(), \fBclock_settime\fP(), \fBclock_getres\fP() は成功した場合に 0 -を返し、失敗した場合に \-1 を返す (失敗した場合、 \fIerrno\fP が適切に設定される)。 -.SH エラー -.TP -\fBEFAULT\fP -\fItp\fP がアクセス可能なアドレス空間の外を指した。 -.TP -\fBEINVAL\fP -.\" Linux also gives this error on attempts to set CLOCK_PROCESS_CPUTIME_ID -.\" and CLOCK_THREAD_CPUTIME_ID, when probably the proper error should be -.\" EPERM. -指定された \fIclk_id\fP がこのシステムでサポートされていない。 -.TP -\fBEPERM\fP -指示されたクロックを設定する権限が \fBclock_settime\fP() にない。 -.SH 準拠 -SUSv2, POSIX.1\-2001. -.SH 可用性 -これらの関数が利用可能な POSIX システムでは、\fI\fP においてシンボル \fB_POSIX_TIMERS\fP が -0 より大きい値に定義されている。 シンボル \fB_POSIX_MONOTONIC_CLOCK\fP, \fB_POSIX_CPUTIME\fP, -\fB_POSIX_THREAD_CPUTIME\fP は \fBCLOCK_MONOTONIC\fP, \fBCLOCK_PROCESS_CPUTIME_ID\fP, -\fBCLOCK_THREAD_CPUTIME_ID\fP が利用可能なことを示す。 (\fBsysconf\fP(3) も参照すること。) -.SH 注意 -.SS "SMP システムについての注意" -\fBCLOCK_PROCESS_CPUTIME_ID\fP と \fBCLOCK_THREAD_CPUTIME_ID\fP クロックは、CPU からのタイマ -(i386 上の TSC、Itanium 上の AR.ITC) を用いて実現されている。 これらのレジスタは CPU 間で異なる可能性があり、 -プロセスが他の CPU に移動させられた場合、 結果としてこれらのクロックが\fB偽の結果\fP (bogus results) を返すかもしれない。 -.PP -SMP システムの各 CPU が別々のクロック源を持つ場合、 タイマレジスタ間の相互関係を管理する方法はない。 これは各 CPU -が微妙に異なる周波数で動作するためである。 これが真実の場合 (訳註: 各 CPU が別々のクロック源を持つ場合)、 -\fIclock_getcpuclockid(0)\fP は \fBENOENT\fP を返して、その状況を表す。 2 つのクロックは、プロセスが特定の CPU -上に留まっていることが 保証できる場合にのみ有効である。 -.PP -SMP システムの各プロセッサは全く同じ時刻に起動する訳ではないので、 各タイマレジスタは通常はあるオフセットで動作している。 -オフセットをブート時に制限するコードが含まれるアーキテクチャもある。 しかし、このコードがオフセットを正確に調整することは保証できない。 glibc は -(Linux カーネルとは異なり) オフセットを扱うためのコードを提供しない。 通常はこれらのオフセットが小さいので、多くの場合でその影響は無視できる。 -.SH バグ -.\" See http://bugzilla.kernel.org/show_bug.cgi?id=11972 -POSIX.1\-2001 では、 「適切な特権 (appropriate privileges)」を持ったプロセスは、 -\fBclock_settime\fP() を使って、クロック \fBCLOCK_PROCESS_CPUTIME_ID\fP と -\fBCLOCK_THREAD_CPUTIME_ID\fP を設定することができるとされている。 Linux では、これらのクロックは設定可能ではない -(すなわち、どのプロセスも「適切な特権」を持たない)。 -.SH 関連項目 -\fBdate\fP(1), \fBgettimeofday\fP(2), \fBsettimeofday\fP(2), \fBtime\fP(2), -\fBadjtime\fP(3), \fBclock_getcpuclockid\fP(3), \fBctime\fP(3), \fBftime\fP(3), -\fBpthread_getcpuclockid\fP(3), \fBsysconf\fP(3), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/clock_nanosleep.2 b/draft/man2/clock_nanosleep.2 deleted file mode 100644 index d3a44e67..00000000 --- a/draft/man2/clock_nanosleep.2 +++ /dev/null @@ -1,152 +0,0 @@ -.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk -.\" -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CLOCK_NANOSLEEP 2 2010\-12\-03 Linux "Linux Programmer's Manual" -.SH 名前 -clock_nanosleep \- 指定したクロックでの高精度な実行停止 (sleep) -.SH 書式 -\fB#include \fP -.nf -.sp -\fBint clock_nanosleep(clockid_t \fP\fIclock_id\fP\fB, int \fP\fIflags\fP\fB,\fP -\fB const struct timespec *\fP\fIrequest\fP\fB,\fP -\fB struct timespec *\fP\fIremain\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP でリンクする。 -.sp -.ad l -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBclock_nanosleep\fP(): -.RS 4 -_XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L -.RE -.ad -.SH 説明 -\fBclock_nanosleep\fP() を使うと、 \fBnanosleep\fP(2) -同様、ナノ秒の精度で指定された期間だけ呼び出したスレッドの実行を 停止することができる。 \fBnanosleep\fP(2) -と違うのは、呼び出し側が停止期間をどのクロックに対して計測するのかを選択 できる点と、停止期間を絶対値でも相対値でも指定できる点である。 - -このシステムコールに渡したり、このシステムコールが返したりする時間の値は \fItimespec\fP -構造体を使って指定される。この構造体の定義は以下の通りである。 -.sp -.in +4n -.nf -struct timespec { - time_t tv_sec; /* seconds */ - long tv_nsec; /* nanoseconds [0 .. 999999999] */ -}; -.fi -.in - -\fIclock_id\fP 引き数で、停止期間をどのクロックに対して計測するかを指定する。 この引き数には以下の値のいずれか一つを指定できる。 -.TP 17 -\fBCLOCK_REALTIME\fP -システム全体で使われる実時間クロック。 このクロックは変更可能である。 -.TP -\fBCLOCK_MONOTONIC\fP -.\" On Linux this clock measures time since boot. -過去のある時点からの時間を計測する、単調増加のクロック。 起点となる時点はシステム起動後には変更されない。 このクロックは変更することができない。 -.TP -\fBCLOCK_PROCESS_CPUTIME_ID\fP -.\" There is some trickery between glibc and the kernel -.\" to deal with the CLOCK_PROCESS_CPUTIME_ID case. -そのプロセスの全スレッドで消費される CPU 時間を計測するプロセス単位の クロック。このクロックは設定可能である。 -.PP -これらのクロックの詳細については \fBclock_getres\fP(2) を参照。 - -\fIflags\fP が 0 の場合、 \fIrequest\fP に指定された値は \fIclock_id\fP -で指定されたクロックの現在の値からの相対的な期間と解釈される。 - -\fIflags\fP が \fBTIMER_ABSTIME\fP の場合、 \fIrequest\fP は指定されたクロックで計測される絶対時刻と解釈される。 -\fIrequest\fP が指定されたクロックの現在の値以下の場合、 \fBclock_nanosleep\fP() -は、呼び出したスレッドの停止を行わず、すぐに返る。 - -\fBclock_nanosleep\fP() は、少なくとも \fIrequest\fP で指定された時間が経過するまで、呼び出したスレッドの実行を停止する。 -シグナルハンドラが呼び出されたり、そのプロセスを終了させるような シグナルが配送されたりした場合にも、スレッドの実行停止は終了する。 - -呼び出しがシグナルハンドラによって割り込まれた場合、 \fBclock_nanosleep\fP() はエラー \fBEINTR\fP で失敗する。さらに、 -\fIremain\fP が NULL でなく、かつ \fIflags\fP が \fBTIMER_ABSTIME\fP でない場合には、 \fIremain\fP -に残りの停止時間が返される。 この値を使って \fBclock_nanosleep\fP() を再度呼び出すことで、(相対的な期間の) -停止を完了することができる。 -.SH 返り値 -要求された期間の停止に成功すると、 \fBclock_nanosleep\fP() は 0 を返す。 -シグナルハンドラで割り込まれたり、エラーが発生したりした場合、 「エラー」の節のリストにある正のエラー番号のいずれか一つを返す。 -.SH エラー -.TP -\fBEFAULT\fP -\fIrequest\fP や \fIremain\fP に無効なアドレスが指定された。 -.TP -\fBEINTR\fP -停止がシグナルハンドラにより割り込まれた。 -.TP -\fBEINVAL\fP -\fItv_nsec\fP フィールドの値が 0 から 999999999 の範囲でないか、 \fItv_sec\fP の値が負であった。 -.TP -\fBEINVAL\fP -\fIclock_id\fP が無効であった (\fBCLOCK_THREAD_CPUTIME_ID\fP が \fIclock_id\fP として有効な値ではない)。 -.SH バージョン -\fBclock_nanosleep\fP() システムコールは Linux 2.6 で初めて登場した。 glibc ではバージョン 2.1 -以降でサポートされている。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -\fIrequest\fP で指定された停止期間が、時間の計測に使用されるクロック (\fBtime\fP(7) 参照) -の精度の倍数ちょうどでない場合、停止期間は一番近い次の倍数に 切り上げられる。さらに、停止が完了した後に、CPU が呼び出したスレッドを -もう一度実行できるようになるまでには、遅延が入る可能性がある。 - -絶対値指定のタイマを使うのは、 \fBnanosleep\fP(2) に書かれている類のタイマのずれの問題を防止するのに役立つ -(この種の問題は、シグナルに割り込まれた際に相対指定の停止を 繰り返し再開しようとするプログラムでは、かえって悪化する)。 -これらの問題を回避して相対指定の停止を実行するには、 希望するクロックで \fBclock_gettime\fP(2) -を呼び出し、その返り値の時刻値に希望する期間を加算してから、 \fBTIMER_ABSTIME\fP フラグを指定して -\fBclock_nanosleep\fP() を呼び出す。 - -\fBsigaction\fP(2) で \fBSA_RESTART\fP フラグが指定されているかに関わらず、 シグナルハンドラにより割り込まれた後に -\fBclock_nanosleep\fP() が再開されることは決してない。 - -\fIflags\fP が \fBTIMER_ABSTIME\fP の場合、 \fIremain\fP 引き数は使用されず、不要である (絶対値での停止では、同じ -\fIrequest\fP 引き数を使って再度呼び出すことができる)。 - -POSIX.1 の規定では、 \fBclock_nanosleep\fP() はシグナルの処理方法やシグナルマスクに影響を与えない、とされている。 - -POSIX.1 の規定では、 \fBclock_settime\fP(2) で \fBCLOCK_REALTIME\fP クロックの値を変更した後は、絶対値指定の -\fBclock_nanosleep\fP() で停止しているスレッドを起動させる時刻の判定は、 新しいクロック値を使って行われる、とされている。 -新しいクロック値において停止期間の終了時刻が過去になってしまった場合には、 \fBclock_nanosleep\fP() はすぐに返ることになる。 - -POSIX.1 の規定では、 \fBclock_settime\fP(2) で \fBCLOCK_REALTIME\fP クロックの値を変更しても、相対値指定の -\fBclock_nanosleep\fP() で停止しているスレッドには影響を与えない、とされている。 -.SH 関連項目 -\fBclock_getres\fP(2), \fBnanosleep\fP(2), \fBtimer_create\fP(2), \fBsleep\fP(3), -\fBusleep\fP(3), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/clone.2 b/draft/man2/clone.2 deleted file mode 100644 index 056d5c1b..00000000 --- a/draft/man2/clone.2 +++ /dev/null @@ -1,491 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt , March 28, 1992 -.\" and Copyright (c) Michael Kerrisk, 2001, 2002, 2005 -.\" May be distributed under the GNU General Public License. -.\" Modified by Michael Haardt -.\" Modified 24 Jul 1993 by Rik Faith -.\" Modified 21 Aug 1994 by Michael Chastain : -.\" New man page (copied from 'fork.2'). -.\" Modified 10 June 1995 by Andries Brouwer -.\" Modified 25 April 1998 by Xavier Leroy -.\" Modified 26 Jun 2001 by Michael Kerrisk -.\" Mostly upgraded to 2.4.x -.\" Added prototype for sys_clone() plus description -.\" Added CLONE_THREAD with a brief description of thread groups -.\" Added CLONE_PARENT and revised entire page remove ambiguity -.\" between "calling process" and "parent process" -.\" Added CLONE_PTRACE and CLONE_VFORK -.\" Added EPERM and EINVAL error codes -.\" Renamed "__clone" to "clone" (which is the prototype in ) -.\" various other minor tidy ups and clarifications. -.\" Modified 26 Jun 2001 by Michael Kerrisk -.\" Updated notes for 2.4.7+ behavior of CLONE_THREAD -.\" Modified 15 Oct 2002 by Michael Kerrisk -.\" Added description for CLONE_NEWNS, which was added in 2.4.19 -.\" Slightly rephrased, aeb. -.\" Modified 1 Feb 2003 - added CLONE_SIGHAND restriction, aeb. -.\" Modified 1 Jan 2004 - various updates, aeb -.\" Modified 2004-09-10 - added CLONE_PARENT_SETTID etc. - aeb. -.\" 2005-04-12, mtk, noted the PID caching behavior of NPTL's getpid() -.\" wrapper under BUGS. -.\" 2005-05-10, mtk, added CLONE_SYSVSEM, CLONE_UNTRACED, CLONE_STOPPED. -.\" 2005-05-17, mtk, Substantially enhanced discussion of CLONE_THREAD. -.\" 2008-11-18, mtk, order CLONE_* flags alphabetically -.\" 2008-11-18, mtk, document CLONE_NEWPID -.\" 2008-11-19, mtk, document CLONE_NEWUTS -.\" 2008-11-19, mtk, document CLONE_NEWIPC -.\" 2008-11-19, Jens Axboe, mtk, document CLONE_IO -.\" -.\" FIXME Document CLONE_NEWUSER, which is new in 2.6.23 -.\" (also supported for unshare()?) -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CLONE 2 2011\-09\-08 Linux "Linux Programmer's Manual" -.SH 名前 -clone, __clone2 \- 子プロセスを作成する -.SH 書式 -.nf -.\" Actually _BSD_SOURCE || _SVID_SOURCE -.\" FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749 -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP - -\fBint clone(int (*\fP\fIfn\fP\fB)(void *), void *\fP\fIchild_stack\fP\fB,\fP -\fB int \fP\fIflags\fP\fB, void *\fP\fIarg\fP\fB, ... \fP -\fB /* pid_t *\fP\fIptid\fP\fB, struct user_desc *\fP\fItls\fP\fB, pid_t *\fP\fIctid\fP\fB */ );\fP -.fi -.SH 説明 -\fBclone\fP() は \fBfork\fP(2) と同じような方法で新しいプロセスを作成する。 \fBclone\fP() -には、ライブラリ関数とその下層にあたる \fBclone\fP() システムコールが存在する。以下の説明では、システムコールの方を \fBsys_clone\fP -と表すこととする。 \fBsys_clone\fP に関する説明はこのマニュアルの最後の方にある。 - -\fBfork\fP(2) とは異なり、これらのコールでは、子プロセス (child process) と呼び出し元のプロセスとが、メモリ空間、 -ファイルディスクリプタのテーブル、シグナル・ハンドラのテーブルなどの 実行コンテキストの一部を共有できる。 -(このマニュアルにおける「呼び出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後述の \fBCLONE_PARENT\fP の項も参照のこと) - -\fBclone\fP() の主要な使用法はスレッド (threads) を実装することである: -一つのプログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。 - -\fBclone\fP() で子プロセスが作成された時に、作成された子プロセスは関数 \fIfn\fP(\fIarg\fP) を実行する。 (この点が -\fBfork\fP(2) とは異なる。 \fBfork\fP(2) の場合、子プロセスは \fBfork\fP(2) が呼び出された場所から実行を続ける。) -\fIfn\fP 引き数は、子プロセスが実行を始める時に子プロセスが呼び出す 関数へのポインタである。 \fIarg\fP 引き数はそのまま \fIfn\fP -関数へと渡される。 - -\fIfn\fP(\fIarg\fP) 関数が終了すると、子プロセスは終了する。 \fIfn\fP によって返された整数が子プロセスの終了コードとなる。 子プロセスは、 -\fBexit\fP(2) を呼んで明示的に終了することもあるし、致命的なシグナルを受信した 場合に終了することもある。 - -\fIchild_stack\fP 引き数は、子プロセスによって使用されるスタックの位置を指定する。 -子プロセスと呼び出し元のプロセスはメモリを共有することがあるため、 子プロセスは呼び出し元のプロセスと同じスタックで実行することができない。 -このため、呼び出し元のプロセスは子プロセスのスタックのためのメモリ空間を 用意して、この空間へのポインタを \fBclone\fP() -へ渡さなければならない。 (HP PA プロセッサ以外の) Linux が動作する全てのプロセッサでは、 スタックは下方 (アドレスが小さい方向) -へと伸びる。このため、普通は \fIchild_stack\fP は子プロセスのスタックのために用意したメモリ空間の一番大きい アドレスを指すようにする。 - -\fIflags\fP の下位 1 バイトは子プロセスが死んだ場合に親プロセスへと送られる \fI終了シグナル (termination signal)\fP -の番号を指定する。このシグナルとして \fBSIGCHLD\fP 以外が指定された場合、親プロセスは、 \fBwait\fP(2) -で子プロセスを待つ際に、オプションとして \fB__WALL\fP または \fB__WCLONE\fP を指定しなければならない。 -どのシグナルも指定されなかった場合、子プロセスが終了した時に親プロセス にシグナルは送られない。 - -\fIflags\fP には、以下の定数のうち 0個以上をビット毎の論理和 (bitwise\-or) -をとったものを指定できる。これらの定数は呼び出し元のプロセスと 子プロセスの間で何を共有するかを指定する: -.TP -\fBCLONE_CHILD_CLEARTID\fP (Linux 2.5.49 以降) -子プロセスが終了したときに子プロセスのメモリ内の \fIctid\fP が指す場所にある子プロセスのスレッド ID を消去し、 そのアドレスで futex を -wake (起床) させる。 このアドレスは \fBset_tid_address\fP(2) システムコールで変更することができる。 -この機能はスレッドライブラリで使用される。 -.TP -\fBCLONE_CHILD_SETTID\fP (Linux 2.5.49 以降) -子プロセスのメモリ内の \fIctid\fP が指す場所に子プロセスのスレッド ID を格納する。 -.TP -\fBCLONE_FILES\fP -\fBCLONE_FILES\fP が設定された場合、呼び出し元のプロセスと子プロセスはファイルディスクリプタの テーブルを共有する。 -呼び出し元プロセスとその子プロセスの一方が作成した ファイルディスクリプタは、もう一方においても有効である。 -同じように、一方のプロセスがファイルディスクリプタを閉じたり、 (\fBfcntl\fP(2) \fBF_SETFD\fP 操作を使って) -ディスクリプタに関連するフラグを変更したりすると、 もう一方のプロセスにも影響する。 - -\fBCLONE_FILES\fP が設定されていない場合、子プロセスは、 \fBclone\fP() -が実行された時点で、呼び出し元のプロセスがオープンしている全ての ファイルディスクリプタのコピーを継承する -(子プロセスの複製されたファイルディスクリプタは、 対応する呼び出し元のプロセスのファイルディスクリプタと 同じファイル記述 (\fBopen\fP(2) -参照) を参照する)。 これ以降に、呼び出し元のプロセスと子プロセスの一方が ファイルディスクリプタの操作 (ファイルディスクリプタの -オープン・クローズや、ファイルディスクリプタ・フラグの変更) を行っても、もう一方のプロセスには影響を与えない。 -.TP -\fBCLONE_FS\fP -\fBCLONE_FS\fP が設定された場合、呼び出し元のプロセスと子プロセスが同じファイル・システム -情報を共有する。ファイル・システム情報は、ファイル・システムのルート (root)、 カレント・ワーキング・ディレクトリ (current -working directory) や umask などである。 呼び出し元のプロセスや子プロセスのどちらか一方によって \fBchroot\fP(2), -\fBchdir\fP(2), \fBumask\fP(2) が呼び出されると、もう一方のプロセスにも影響が及ぶ。 - -\fBCLONE_FS\fP が設定されていない場合、子プロセスは、 \fBclone\fP() -が実行された時点での、呼び出し元のプロセスのファイル・システム情報のコピーを 使用する。 これ以降は、呼び出し元のプロセスと子プロセスの一方が -\fBchroot\fP(2), \fBchdir\fP(2), \fBumask\fP(2) を呼び出しても、もう一方のプロセスには影響を与えない。 -.TP -\fBCLONE_IO\fP (Linux 2.6.25 以降) -\fBCLONE_IO\fP が設定された場合、新しいプロセスは呼び出し元のプロセスと I/O コンテキストを共有する。 -このフラグが設定されていない場合には、 (\fBfork\fP(2) の場合と同様) 新しいプロセスは自分専用の I/O コンテキストを持つ。 - -.\" The following based on text from Jens Axboe -.\" the anticipatory and CFQ scheduler -.\" with CFQ and AS. -I/O コンテキストは、ディスクスケジュールの I/O スコープである (言い換えると、I/O コンテキストは I/O スケジューラがプロセス I/O -の スケジューリングをモデル化するのに使用される)。 複数のプロセスが同じ I/O コンテキストを共有する場合、 これらのプロセスは I/O -スケジューラからは一つとして扱われる。 結果として、これらのプロセスはディスクアクセスの時間を共有するようになる。 いくつかの I/O -スケジューラでは、 二つのプロセスが I/O コンテキストを共有している場合、 これらのプロセスはディスクアクセスを交互に行うことができる。 -同じプロセスの複数のスレッドが I/O を実行している場合 (例えば \fBaio_read\fP(3))、 \fBCLONE_IO\fP を利用することで I/O -性能を良くすることができる。 - -カーネルの設定が \fBCONFIG_BLOCK\fP オプション付きでない場合、 このフラグは何の意味も持たない。 -.TP -\fBCLONE_NEWIPC\fP (Linux 2.6.19 以降) -\fBCLONE_NEWIPC\fP が設定された場合、新しい IPC 名前空間 (namespace) でプロセスを作成する。 -このフラグが設定されていない場合、 (\fBfork\fP(2) の場合と同様) 呼び出し元のプロセスと同じ IPC 名前空間でプロセスが 作成される。 -このフラグは、コンテナの実装での使用を意図して用意されたものである。 - -IPC 名前空間は、System V IPC オブジェクト用の識別子 (identifiers) の 集合で構成される (System V IPC -オブジェクトは \fBmsgctl\fP(2), \fBsemctl\fP(2), \fBshmctl\fP(2) を使って作成される)。 ある IPC -名前空間に作成されたオブジェクトは、 その名前空間のメンバーである他のすべてのプロセスからも見えるが、 違う IPC 名前空間のプロセスからは見えない。 - -IPC 名前空間が破棄される時 (すなわち、その名前空間のメンバーの最後のプロセスが終了する時)、 その名前空間の全ての IPC -オブジェクトは自動的に破棄される。 - -このフラグを使用するためには、 カーネルでオプション \fBCONFIG_SYSVIPC\fP と \fBCONFIG_IPC_NS\fP を有効になっていること、 -プロセスが特権 (\fBCAP_SYS_ADMIN\fP) を持っていることが必要である。 このフラグは \fBCLONE_SYSVSEM\fP -と組み合わせて使うことはできない。 -.TP -\fBCLONE_NEWNET\fP (Linux 2.6.24 以降) -.\" FIXME Check when the implementation was completed -(このフラグの実装は、Linux 2.6.29 あたりまでに完成した。) - -\fBCLONE_NEWNET\fP が設定された場合、新しいネットワーク名前空間 (network namaspace) でプロセスを作成する。 -このフラグが設定されていない場合、 (\fBfork\fP(2) の場合と同様) 呼び出し元のプロセスと同じネットワーク名前空間でプロセスが 作成される。 -このフラグは、コンテナの実装での使用を意図して用意されたものである。 - -ネットワーク名前空間は、分離されたネットワークスタックを提供するものである (ネットワークスタックとは、 ネットワークデバイスインタフェース、IPv4 -や IPv6 プロトコルスタック、 \fI/proc/net\fP、 \fI/sys/class/net\fP ディレクトリツリー、ソケットなどである)。 -物理ネットワークデバイスが所属できるネットワーク名前空間は一つだけである。 仮想ネットワークデバイス ("veth") のペアにより パイプ風の抽象化 -(abstraction) が実現されており、 これを使うことで、ネットワーク名前空間間のトンネルを作成したり、 -別の名前空間の物理ネットワークデバイスへのブリッジを作成したり することができる。 - -ネットワーク名前空間が解放される時 (すなわち、その名前空間の最後のプロセスが終了する時)、 物理ネットワークデバイスは初期ネットワーク名前空間 -(initial network namespace) に戻される (親プロセスのネットワーク名前空間に戻される訳ではない)。 - -このフラグを使用するためには、 カーネルでオプション \fBCONFIG_NET_NS\fP を有効になっていること、 プロセスが特権 -(\fBCAP_SYS_ADMIN\fP) を持っていることが必要である。 -.TP -\fBCLONE_NEWNS\fP (Linux 2.4.19 以降) -子プロセスを新しいマウント名前空間 (mount namespace) で開始する。 - -各プロセスはある一つのマウント名前空間中に存在する。プロセスの \fI名前空間 (namespace)\fP -は、そのプロセスから見えるファイル階層を表すデータ (mount の集合) である。 \fBCLONE_NEWNS\fP フラグがセットされずに -\fBfork\fP(2) か \fBclone\fP() が呼ばれると、子プロセスは親プロセスと同じマウント名前空間に作成される。 システムコール -\fBmount\fP(2)、 \fBumount\fP(2) が呼ばれると呼び出し元のプロセスのマウント名前空間が変更され、この結果 -呼び出し元のプロセスと同じ名前空間にいるプロセスはすべて影響を受けるが、 異なるマウント名前空間にいるプロセスは影響を受けない。 - -\fBCLONE_NEWNS\fP フラグがセットされて \fBclone\fP() が呼ばれると、clone で作成された子プロセスは新しいマウント名前空間で -開始される。新しい名前空間は親プロセスの名前空間のコピーで初期化される。 - -特権プロセス (\fBCAP_SYS_ADMIN\fP ケーパビリティを持つプロセス) のみが \fBCLONE_NEWNS\fP フラグを指定することができる。 -一つの \fBclone\fP() 呼び出しで、 \fBCLONE_NEWNS\fP と \fBCLONE_FS\fP の両方を指定することはできない。 -.TP -\fBCLONE_NEWPID\fP (Linux 2.6.24 以降) -.\" This explanation draws a lot of details from -.\" http://lwn.net/Articles/259217/ -.\" Authors: Pavel Emelyanov -.\" and Kir Kolyshkin -.\" -.\" The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264 -.\" Author: Pavel Emelyanov -\fBCLONE_NEWPID\fP が設定された場合、新しい PID 名前空間でプロセスを作成する。 このフラグが設定されていない場合、 -(\fBfork\fP(2) の場合と同様) 呼び出し元のプロセスと同じ PID 名前空間で プロセスが作成される。 -このフラグは、コンテナの実装での使用を意図して用意されたものである。 - -PID 名前空間は、PID に関して分離された環境を提供するものである。 新しい名前空間における PID は 1 から始まり -(これはスタンドアロンのシステムと似たような感じ)、 \fBfork\fP(2), \fBvfork\fP(2), \fBclone\fP() -を呼び出すと、その名前空間で一意な PID を持ったプロセスが作成される。 - -新しい名前空間で作成される最初のプロセス (つまり、 \fBCLONE_NEWPID\fP フラグを使って作成されたプロセス) の PID は 1 であり、 -このプロセスはその名前空間における "init" プロセスとなる。 この名前空間において孤児 (orphaned) となった子プロセスについては、 -\fBinit\fP(8) ではなくこのプロセスが親プロセスとなる。 昔ながらの \fBinit\fP プロセスとは違い、PID 名前空間の "init" -プロセスは終了 (terminated) する ことができ、その場合には、この名前空間の全てのプロセスが終了される。 - -PID 名前空間間には階層構造が形成される。 新しい PID 名前空間が作成されると、その名前空間のプロセスは、 新しい名前空間を作成したプロセスの -PID 名前空間で見える。 同様に、親の PID 名前空間自体が別の PID 名前空間の子供の場合には、 子供の PID 名前空間と親の PID -名前空間のプロセスはどれも 親の親の PID 名前空間でも見えることになる。 反対に、「子供」の PID 名前空間のプロセスには、 -親の名前空間のプロセスは見えない。 名前空間に階層構造が存在するということは、個々のプロセスは 複数の PID を持つということを意味している。 -そのプロセスが見える名前空間一つにつき PID が一つあり、 それぞれの PID は対応する名前空間において一意である。 (\fBgetpid\fP(2) -を呼び出すと、常にそのプロセスが存在している名前空間における PID が返される。) - -.\" mount -t proc proc /proc -新しい名前空間の作成後には、 子プロセスにおいて、 \fBps\fP(1) といったツールが正しく動作するように、 自身の root ディレクトリを変更し、 -\fI/proc\fP に新しい procfs インスタンスをマウントするのがよいだろう。 (\fBflags\fP に \fBCLONE_NEWNS\fP -も指定されていた場合には、root ディレクトリを変更する必要はなく、 いきなり新しい procfs インスタンスを \fI/proc\fP -にマウントすることができる。) - -このフラグを使用するためには、 カーネルでオプション \fBCONFIG_PID_NS\fP を有効になっていること、 プロセスが特権 -(\fBCAP_SYS_ADMIN\fP) を持っていることが必要である。 このフラグは \fBCLONE_THREAD\fP と組み合わせて使うことはできない。 -.TP -\fBCLONE_NEWUTS\fP (Linux 2.6.19 以降) -\fBCLONE_NEWUTS\fP が設定された場合、新しい UTS 名前空間でプロセスを作成する。 新しい UTS -名前空間の識別子の初期値は、呼び出し元のプロセスの UTS 名前空間の識別子を複製したものとなる。 このフラグが設定されていない場合、 -(\fBfork\fP(2) の場合と同様) 呼び出し元のプロセスと同じ UTS 名前空間で プロセスが作成される。 -このフラグは、コンテナの実装での使用を意図して用意されたものである。 - -UTS 名前空間は、 \fBuname\fP(2) が返す識別子の集合である。 識別子としてはドメイン名とホスト名があり、 それぞれ -\fBsetdomainname\fP(2), \fBsethostname\fP(2) で修正することができる。 ある UTS -名前空間における識別子の変更は同じ名前空間の他のすべての プロセスに見えるが、別の UTS 名前空間のプロセスには見えない。 - -このフラグを使用するためには、 カーネルでオプション \fBCONFIG_UTS_NS\fP を有効になっていること、 プロセスが特権 -(\fBCAP_SYS_ADMIN\fP) を持っていることが必要である。 -.TP -\fBCLONE_PARENT\fP (Linux 2.3.12 以降) -\fBCLONE_PARENT\fP が設定された場合、新しい子供の (\fBgetppid\fP(2) で返される) -親プロセスは呼び出し元のプロセスの親プロセスと同じになる。 - -\fBCLONE_PARENT\fP が設定されていない場合、 (\fBfork\fP(2) と同様に) 呼び出し元のプロセスがその子供の親になる。 - -子供が終了した時にシグナルが送られるのは \fBgetppid\fP(2) が返す親プロセスである点に注意すること。このため \fBCLONE_PARENT\fP -が設定された場合、呼び出し元のプロセスではなく呼び出し元のプロセスの 親プロセスにシグナルが送られる。 -.TP -\fBCLONE_PARENT_SETTID\fP (Linux 2.5.49 以降) -親プロセスと子プロセスのメモリ内の \fIptid\fP が指す領域に子プロセスのスレッド ID を格納する。 (Linux 2.5.32\-2.5.48 -では、 同じことをする \fBCLONE_SETTID\fP というフラグが存在した。) -.TP -\fBCLONE_PID\fP (廃止予定) -\fBCLONE_PID\fP が設定された場合、子プロセスは呼び出し元のプロセスと同じプロセス ID -で作成される。これはシステムをハッキングするのには便利だが、 それ以外にはあまり使われない。 Linux 2.3.21 以降では、 -システムのブートプロセス (PID 0) だけがこのフラグを指定できる。 Linux 2.5.16 で削除された。 -.TP -\fBCLONE_PTRACE\fP -\fBCLONE_PTRACE\fP が指定され、かつ呼び出し元のプロセスが追跡 (trace) されていた場合、子プロセスも 同様に追跡される。 -(\fBptrace\fP(2) を参照のこと) -.TP -\fBCLONE_SETTLS\fP (Linux 2.5.32 以降) -\fInewtls\fP 引き数は、新しい TLS (Thread Local Storage) ディスクリプタである。 -(\fBset_thread_area\fP(2) を参照のこと) -.TP -\fBCLONE_SIGHAND\fP -\fBCLONE_SIGHAND\fP が設定された場合、呼び出し元のプロセスと子プロセスは同じシグナル・ハン -ドラのテーブルを共有する。呼び出し元のプロセスまたは子プロセスのどちらかが \fBsigaction\fP(2) -を呼び出してシグナルに対応する動作を変更した場合、 もう一方のプロセスのシグナル動作も変更される。 但し、呼び出し元のプロセスと子プロセスは、 -プロセス毎に、シグナル・マスク (signal mask) と処理待ちシグナルの集合 を持っている。このため、あるプロセスは、 -\fBsigprocmask\fP(2) を使用して、もう一方のプロセスに影響を与えずに シグナルを禁止 (block) したり許可 (unblock) -したりできる。 - -\fBCLONE_SIGHAND\fP が設定されていない場合、子プロセスは \fBclone\fP() -が実行された時点での、呼び出し元のプロセスのシグナル・ハンドラの コピーを継承する。これ以降は、一方のプロセスが \fBsigaction\fP(2) -を呼び出しても、もう一方のプロセスには影響を与えない。 - -Linux 2.6.0\-test6 以降では、 \fBCLONE_SIGHAND\fP を指定する場合、 \fBCLONE_VM\fP も \fIflags\fP -に含めなければならない。 -.TP -\fBCLONE_STOPPED\fP (Linux 2.6.0\-test2 以降) -\fBCLONE_STOPPED\fP が設定されると、子プロセスは最初 (\fBSIGSTOP\fP シグナルを送られたかのように) 停止した状態となる。 -子プロセスを再開させるには \fBSIGCONT\fP シグナルを送信しなければならない。 - -.\" glibc 2.8 removed this defn from bits/sched.h -このフラグは Linux 2.6.25 以降では\fI非推奨\fPであり、 -Linux 2.6.38 で完全に\fI削除\fPされた。 -.TP -\fBCLONE_SYSVSEM\fP (Linux 2.5.10 以降) -\fBCLONE_SYSVSEM\fP がセットされると、子プロセスと呼び出し元プロセスは一つの System V セマフォのアンドゥ値リスト -(\fBsemop\fP(2) 参照) を共有する。このフラグがセットされていなければ、 子プロセスは独自のアンドゥリストを持つ -(リストの初期値は空である)。 -.TP -\fBCLONE_THREAD\fP (Linux 2.4.0\-test8以降) -\fBCLONE_THREAD\fP が設定された場合、子プロセスは呼び出し元のプロセスと同じスレッド・グループに 置かれる。 \fBCLONE_THREAD\fP -についての以降の議論を読みやすくするため、 「スレッド」という用語はスレッド・グループの中のプロセスを 参照するのに使うこととする。 - -スレッド・グループは、 スレッド集合で一つの PID を共有するという POSIX スレッドの概念をサポートするために Linux 2.4 -に加えられた機能であった。 内部的には、この共有 PID はいわゆるそのスレッドグループの スレッド・グループ識別子 (TGID) である。 Linux -2.4 以降では、 \fBgetpid\fP(2) の呼び出しではそのプロセスのスレッド・グループ ID を返す。 - -あるグループに属するスレッドは (システム全体で) 一意なスレッド ID (TID) で区別できる。新しいスレッドの TID は \fBclone\fP() -の呼び出し元へ関数の結果として返され、 スレッドは自分自身の TID を \fBgettid\fP(2) で取得できる。 - -\fBCLONE_THREAD\fP を指定せずに \fBclone\fP() の呼び出しが行われると、 生成されたスレッドはそのスレッドの TID と同じ値の -TGID を持つ 新しいスレッド・グループに置かれる。このスレッドは 新しいスレッド・グループの「リーダー」である。 - -\fBCLONE_THREAD\fP を指定して作成された新しいスレッドは、 (\fBCLONE_PARENT\fP の場合と同様に) \fBclone\fP() -を呼び出し元と同じ親プロセスを持つ。 そのため、 \fBgetppid\fP(2) を呼ぶと、一つのスレッド・グループに属すスレッドは全て同じ値を返す。 -\fBCLONE_THREAD\fP で作られたスレッドが終了した際に、 そのスレッドを \fBclone\fP() を使って生成したスレッドには -\fBSIGCHLD\fP (もしくは他の終了シグナル) は送信されない。 また、 \fBwait\fP(2) -を使って終了したスレッドの状態を取得することもできない (そのようなスレッドは \fIdetached\fP (分離された) といわれる)。 - -スレッド・グループに属す全てのスレッドが終了した後、 そのスレッド・グループの親プロセスに \fBSIGCHLD\fP (もしくは他の終了シグナル) -が送られる。 - -スレッド・グループに属すいずれかのスレッドが \fBexecve\fP(2) を実行すると、スレッド・グループ・リーダー以外の全てのスレッドは -終了され、新しいプロセスがそのスレッド・グループ・リーダーの下で 実行される。 - -スレッド・グループに属すスレッドの一つが \fBfork\fP(2) を使って子プロセスを作成した場合、 スレッド・グループのどのスレッドであっても -その子供を \fBwait\fP(2) できる。 - -Linux 2.5.35 以降では、 \fBCLONE_THREAD\fP を指定する場合、 \fIflags\fP に \fBCLONE_SIGHAND\fP -も含まれていなければならない。 - -\fBkill\fP(2) を使ってスレッド・グループ全体 (つまり TGID) にシグナルを送ることもできれば、 \fBtgkill\fP(2) -を使って特定のスレッド (つまり TID) にシグナルを送ることもできる。 - -シグナルの配送と処理はプロセス全体に影響する: ハンドラを設定していないシグナルがあるスレッドに配送されると、 -そのシグナルはスレッド・グループの全メンバーに影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。 - -各々のスレッドは独自のシグナルマスクを持っており、 \fBsigprocmask\fP(2) で設定できる。 だが、処理待ちのシグナルには、 -\fBkill\fP(2) で送信されるプロセス全体に対するもの (つまり、スレッド・グループの どのメンバーにも配送できるもの) と、 -\fBtgkill\fP(2) で送信される個々のスレッドに対するものがありえる。 \fBsigpending\fP(2) -を呼び出すと、プロセス全体に対する処理待ちシグナルと呼び出し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。 - -\fBkill\fP(2) を使ってスレッド・グループにシグナルが送られた場合で、 そのスレッド・グループがそのシグナルに対するシグナル・ハンドラが -登録されていたときには、シグナル・ハンドラはスレッド・グループの メンバーのうち、ただ一つのスレッドでだけ起動される。ハンドラが -起動されるスレッドは、そのシグナルを禁止 (block) していない メンバーの中から一つだけが勝手に (arbitrarily) 選ばれる。 -スレッド・グループに属す複数のスレッドが \fBsigwaitinfo\fP(2) を使って同じシグナルを待っている場合、 -これらのスレッドの中から一つをカーネルが勝手に選択し、 そのスレッドが \fBkill (2)\fP を使って送信されたシグナルを受信する。 -.TP -\fBCLONE_UNTRACED\fP (Linux 2.5.46 以降) -\fBCLONE_UNTRACED\fP が指定されると、 trace を行っているプロセスは この子プロセスに \fBCLONE_PTRACE\fP -を適用することができない。 -.TP -\fBCLONE_VFORK\fP -\fBCLONE_VFORK\fP が設定された場合、 (\fBvfork\fP(2) と同様に) 子プロセスが \fBexecve\fP(2) または -\fB_exit\fP(2) によって仮想メモリを解放するまで、呼び出し元のプロセスの実行は停止される。 - -\fBCLONE_VFORK\fP が設定されていない場合、 \fBclone\fP() 呼び出し後は、呼び出し元のプロセスと子プロセスの -両方がスケジュール対象となり、アプリケーションはこれらのプロセスの 実行順序に依存しないようにすべきである。 -.TP -\fBCLONE_VM\fP -\fBCLONE_VM\fP が設定された場合、呼び出し元のプロセスと子プロセスは同じメモリ空間で -実行される。特に、呼び出し元のプロセスや子プロセスの一方がメモリに 書き込んだ内容はもう一方のプロセスからも見ることができる。さらに、 -子プロセスや呼び出し元のプロセスの一方が \fBmmap\fP(2) や \fBmunmap\fP(2) を使ってメモリをマップしたりアンマップした場合、 -もう一方のプロセスにも影響が及ぶ。 - -\fBCLONE_VM\fP が設定されていない場合、子プロセスは \fBclone\fP() が実行された時点での、親プロセスのメモリ空間をコピーした -別のメモリ空間で実行される。 一方のプロセスが行ったメモリへの書き込みや ファイルのマップ/アンマップは、 \fBfork\fP(2) -の場合と同様、もう一方のプロセスには影響しない。 -.SS sys_clone -\fBsys_clone\fP システムコールは、より \fBfork\fP(2) に近いかたちになっており、子プロセスの実行が呼び出しが行われた場所から -続けられる。 そのため、 \fBsys_clone\fP が必要とする引き数は \fIflags\fP と \fIchild_stack\fP だけであり、それらは -\fBclone\fP() と同じ意味を持つ (これらの引き数の順番は \fBclone\fP() とは異なることに注意せよ)。 - -\fBsys_clone\fP のもう一つの違いは、 \fIchild_stack\fP 引き数がゼロでも良いことである。この場合には、どちらかのプロセスが -スタックを変更した時に、書き込み時コピー (copy\-on\-write) 方式により -子プロセスがスタック・ページの独立したコピーを得られることが保証される。 この場合、正常に動作させるためには、 \fBCLONE_VM\fP -オプションを指定してはならない。 - -Linux 2.4 以前では、 \fBclone\fP() は引き数 \fIptid\fP, \fItls\fP, \fIctid\fP を取らない。 -.SH 返り値 -.\" gettid(2) returns current->pid; -.\" getpid(2) returns current->tgid; -成功した場合、呼び出し元の実行スレッドには子プロセスのスレッドID が返される。 失敗した場合、 呼び出し元のコンテキストには \-1 -が返され、子プロセスは 作成されず、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEAGAIN\fP -すでに実行中のプロセスが多すぎる。 -.TP -\fBEINVAL\fP -\fBCLONE_SIGHAND\fP が指定されていたが、 \fBCLONE_VM\fP が指定されていなかった。 (Linux 2.6.0\-test6 以降) -.TP -\fBEINVAL\fP -.\" .TP -.\" .B EINVAL -.\" Precisely one of -.\" .B CLONE_DETACHED -.\" and -.\" .B CLONE_THREAD -.\" was specified. -.\" (Since Linux 2.6.0-test6.) -\fBCLONE_THREAD\fP が指定されていたが、 \fBCLONE_SIGHAND\fP が指定されていなかった。 (Linux 2.5.35 以降) -.TP -\fBEINVAL\fP -\fBCLONE_FS\fP と \fBCLONE_NEWNS\fP の両方が \fIflags\fP に指定された。 -.TP -\fBEINVAL\fP -\fBCLONE_NEWIPC\fP と \fBCLONE_SYSVSEM\fP の両方が \fIflags\fP に指定された。 -.TP -\fBEINVAL\fP -\fBCLONE_NEWPID\fP と \fBCLONE_THREAD\fP の両方が \fIflags\fP に指定された。 -.TP -\fBEINVAL\fP -\fIchild_stack\fP にゼロを指定した場合に \fBclone\fP() が返す。 -.TP -\fBEINVAL\fP -\fIflags\fP に \fBCLONE_NEWIPC\fP が指定されたが、カーネルでオプション \fBCONFIG_SYSVIPC\fP と -\fBCONFIG_IPC_NS\fP が有効になっていなかった。 -.TP -\fBEINVAL\fP -\fIflags\fP に \fBCLONE_NEWNET\fP が指定されたが、カーネルでオプション \fBCONFIG_NET_NS\fP が有効になっていなかった。 -.TP -\fBEINVAL\fP -\fIflags\fP に \fBCLONE_NEWPID\fP が指定されたが、カーネルでオプション \fBCONFIG_PID_NS\fP が有効になっていなかった。 -.TP -\fBEINVAL\fP -\fIflags\fP に \fBCLONE_NEWUTS\fP が指定されたが、カーネルでオプション \fBCONFIG_UTS\fP が有効になっていなかった。 -.TP -\fBENOMEM\fP -子プロセスのために確保すべきタスク構造体や、呼び出し元のコンテキストの 一部をコピーするのに必要なメモリを十分に割り当てることができない。 -.TP -\fBEPERM\fP -非特権プロセス (\fBCAP_SYS_ADMIN\fP を持たないプロセス) が \fBCLONE_NEWIPC\fP, \fBCLONE_NEWNET\fP, -\fBCLONE_NEWNS\fP, \fBCLONE_NEWPID\fP, \fBCLONE_NEWUTS\fP を指定した。 -.TP -\fBEPERM\fP -PID が 0 以外のプロセスによって \fBCLONE_PID\fP が指定された。 -.SH バージョン -libc5 には \fBclone\fP() はない。glibc2 では \fBclone\fP() が提供されており、このマニュアルページに記載の通りである。 -.SH 準拠 -\fBclone\fP() と \fBsys_clone\fP コールは Linux 特有であり、移植を考慮したプログラムでは使用すべき ではない。 -.SH 注意 -カーネル 2.4.x 系列では、一般的には \fBCLONE_THREAD\fP フラグを指定しても新しいスレッドの親を -呼び出し元プロセスの親と同じにはしない。 しかし、バージョン 2.4.7〜2.4.18 のカーネルでは、 (カーネル 2.6 と同じように) -CLONE_THREAD フラグを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。 - -\fBCLONE_DETACHED\fP というフラグが、2.5.32 で導入されて以来しばらくの間存在した。 -このフラグは親プロセスが子プロセス終了のシグナルを必要としないことを 表すものである。 2.6.2 で、 CLONE_DETATCHED を -CLONE_THREAD と一緒に指定する必要はなくなった。 このフラグはまだ定義されているが、何の効果もない。 - -i386 上では、 \fBclone\fP() は vsyscall 経由ではなく、直接 \fIint $0x80\fP 経由で呼び出すべきである。 - -ia64 では、別のシステムコールが使用される: -.nf - -\fBint __clone2(int (*\fP\fIfn\fP\fB)(void *), \fP -\fB void *\fP\fIchild_stack_base\fP\fB, size_t \fP\fIstack_size\fP\fB,\fP -\fB int \fP\fIflags\fP\fB, void *\fP\fIarg\fP\fB, ... \fP -\fB /* pid_t *\fP\fIptid\fP\fB, struct user_desc *\fP\fItls\fP\fB, pid_t *\fP\fIctid\fP\fB */ );\fP -.fi -.PP -\fB__clone2\fP() システムコールは \fBclone\fP() と同じように動作するが、以下の点が異なる: -\fIchild_stack_base\fP は子プロセスのスタックエリアの最小のアドレスを指し、 \fIstack_size\fP は -\fIchild_stack_base\fP が指し示すスタックエリアの大きさを示す。 -.SH バグ -NPTL スレッド・ライブラリを含んでいる GNU C ライブラリのいくつかのバージョン には、 \fBgetpid\fP(2) -のラッパー関数が含まれており、このラッパー関数は PID をキャッシュする。 このキャッシュ処理が正しく動作するためには glibc の -\fBclone\fP() のラッパー関数での助けが必要だが、現状の実装では、 ある状況下においてキャッシュが最新とならない可能性がある。 特に、 -\fBclone\fP() の呼び出し直後にシグナルが子プロセスに配送された場合に、 そのシグナルに対するハンドラ内で \fBgetpid\fP(2) -を呼び出すと、それまでに clone のラッパー関数が子プロセスの PID キャッシュを 更新する機会が得られていなければ、呼び出し元プロセス -("親プロセス") の PID が 返される可能性がある。 (この議論では、子プロセスが \fBCLONE_THREAD\fP -を使って作成された場合のことは無視している。 子プロセスが \fBCLONE_THREAD\fP を作って作成された場合には、 -呼び出し元と子プロセスは同じスレッド・グループに属すので、 \fBgetpid\fP(2) は子プロセスと \fBclone\fP() -を呼び出したプロセスで同じ値を返すのが「正しい」。 キャッシュが最新とならない問題 (stale\-cache problem) は、 \fIflags\fP -に \fBCLONE_VM\fP が含まれている場合にも発生しない。) 本当の値を得るためには、次のようなコードを使う必要があるかもしれない。 -.nf - - #include - - pid_t mypid; - - mypid = syscall(SYS_getpid); -.fi -.\" See also the following bug reports -.\" https://bugzilla.redhat.com/show_bug.cgi?id=417521 -.\" http://sourceware.org/bugzilla/show_bug.cgi?id=6910 -.SH 関連項目 -\fBfork\fP(2), \fBfutex\fP(2), \fBgetpid\fP(2), \fBgettid\fP(2), \fBset_thread_area\fP(2), -\fBset_tid_address\fP(2), \fBtkill\fP(2), \fBunshare\fP(2), \fBwait\fP(2), -\fBcapabilities\fP(7), \fBpthreads\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/close.2 b/draft/man2/close.2 index aa23b269..04e5cfc6 100644 --- a/draft/man2/close.2 +++ b/draft/man2/close.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt, Ian Jackson. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Wed Jul 21 22:40:25 1993 by Rik Faith .\" Modified Sat Feb 18 15:27:48 1995 by Michael Haardt @@ -93,6 +93,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. \fBfcntl\fP(2), \fBfsync\fP(2), \fBopen\fP(2), \fBshutdown\fP(2), \fBunlink\fP(2), \fBfclose\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/connect.2 b/draft/man2/connect.2 index 37267c90..fba48c63 100644 --- a/draft/man2/connect.2 +++ b/draft/man2/connect.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" Portions extracted from /usr/include/sys/socket.h, which does not have .\" any authorship information in it. It is probably available under the GPL. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" .\" Other portions are from the 6.9 (Berkeley) 3/10/91 man page: @@ -30,6 +30,7 @@ .\" Copyright (c) 1983 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -57,6 +58,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" Modified 1997-01-31 by Eric S. Raymond .\" Modified 1998, 1999 by Andi Kleen @@ -180,6 +182,6 @@ POSIX.1\-2001 では \fI\fP のインクルードは必須とされ \fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBlisten\fP(2), \fBsocket\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/create_module.2 b/draft/man2/create_module.2 deleted file mode 100644 index 92ca6946..00000000 --- a/draft/man2/create_module.2 +++ /dev/null @@ -1,56 +0,0 @@ -.\" Copyright (C) 1996 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some -.\" reformatting and rewordings by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CREATE_MODULE 2 2007\-06\-03 Linux "Linux Programmer's Manual" -.SH 名前 -create_module \- ローダブルモジュールのエントリを作成する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBcaddr_t create_module(const char *\fP\fIname\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.fi -.SH 説明 -\fBcreate_module\fP() は、ローダブルモジュールのエントリを作成し、そのモジュールの保持に必要な カーネルメモリを予約しようとする。 -このシステムコールを使うには特権が必要である。 -.SH 返り値 -成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場合 \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEEXIST\fP -その名前のモジュールがすでに存在する。 -.TP -\fBEFAULT\fP -\fIname\fP がプログラムがアクセスできるアドレス空間の外部にある。 -.TP -\fBEINVAL\fP -要求したサイズが小さすぎて、モジュールのヘッダ情報すら格納できない。 -.TP -\fBENOMEM\fP -モジュールを格納するのに必要な大きさの連続したメモリブロックを カーネルが確保できなかった。 -.TP -\fBENOSYS\fP -\fBcreate_module\fP() がこのバージョンのカーネルではサポートされていない。 -.TP -\fBEPERM\fP -呼び出し元が特権 (\fBCAP_SYS_MODULE\fP ケーパビリティ) を持っていなかった。 -.SH バージョン -.\" Removed in Linux 2.5.48 -このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。 -.SH 準拠 -\fBcreate_module\fP() は Linux 固有である。 -.SH 関連項目 -\fBdelete_module\fP(2), \fBinit_module\fP(2), \fBquery_module\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/delete_module.2 b/draft/man2/delete_module.2 deleted file mode 100644 index d077b75e..00000000 --- a/draft/man2/delete_module.2 +++ /dev/null @@ -1,51 +0,0 @@ -.\" Copyright (C) 1996 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some -.\" reformatting and rewordings by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DELETE_MODULE 2 2006\-02\-09 Linux "Linux Programmer's Manual" -.SH 名前 -delete_module \- ローダブルモジュールのエントリを削除する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint delete_module(const char *\fP\fIname\fP\fB);\fP -.fi -.SH 説明 -\fBdelete_module\fP() は、未使用のローダブルモジュールのエントリを削除しようとする。 \fIname\fP が NULL -の場合、未使用のモジュールのうち「自動削除 (auto\-clean)」 マークがついたものを全て削除する。 -このシステムコールを使うには特権が必要である。 -.SH 返り値 -成功の場合 0 が返される。エラーの場合 \-1 が返され、 \fIerrno\fP に適切な値が設定される。 -.SH エラー -.TP -\fBEBUSY\fP -そのモジュールは使用中である。 -.TP -\fBEFAULT\fP -\fIname\fP がプログラムがアクセスできるアドレス空間の外部にある。 -.TP -\fBEINVAL\fP -\fIname\fP が空文字列である。 -.TP -\fBENOENT\fP -その名前のモジュールが存在しない。 -.TP -\fBEPERM\fP -呼び出し元が特権 (\fBCAP_SYS_MODULE\fP ケーパビリティ) を持っていなかった。 -.SH 準拠 -\fBdelete_module\fP() は Linux 固有である。 -.SH 関連項目 -\fBcreate_module\fP(2), \fBinit_module\fP(2), \fBquery_module\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/dup.2 b/draft/man2/dup.2 index f51c2329..63dfbaf0 100644 --- a/draft/man2/dup.2 +++ b/draft/man2/dup.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. .\" and Copyright (C) 2005, 2008 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 1993-07-21, Rik Faith .\" Modified 1994-08-21, Michael Chastain : @@ -121,6 +121,6 @@ close\-on\-exec flag (\fBfcntl\fP(2) 参照) は off となる。 .SH 関連項目 \fBclose\fP(2), \fBfcntl\fP(2), \fBopen\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/epoll_create.2 b/draft/man2/epoll_create.2 index bdd77cf6..e888848e 100644 --- a/draft/man2/epoll_create.2 +++ b/draft/man2/epoll_create.2 @@ -1,7 +1,7 @@ -.\" -.\" epoll by Davide Libenzi ( efficient event notification retrieval ) .\" Copyright (C) 2003 Davide Libenzi +.\" Davide Libenzi .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or @@ -12,11 +12,10 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -.\" -.\" Davide Libenzi +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 2004-06-17 by Michael Kerrisk .\" Modified 2005-04-04 by Marko Kohtala @@ -47,7 +46,6 @@ Linux 2.6.8 以降では、\fIsize\fP 引き数は無視されるが、 0 より \fBepoll_create\fP() で返されたファイルディスクリプタは \fBclose\fP(2) を使ってクローズされるべきである。 ある epoll インスタンスを参照する全てのファイルディスクリプタがクローズされると、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、 再使用できるようにする。 - .SS epoll_create1() \fBepoll_create1\fP() は、 \fIflags\fP が 0 の場合、現在では使われていない \fIsize\fP 引き数がなくなっている点を除けば \fBepoll_create\fP() と同じである。 \fIflags\fP に以下の値をビット毎の論理和 (OR) で指定することで、 @@ -100,6 +98,6 @@ Linux 2.6.8 以降では、\fIsize\fP 引き数は無視されるが、 0 より .SH 関連項目 \fBclose\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2), \fBepoll\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/epoll_ctl.2 b/draft/man2/epoll_ctl.2 index 74d5b0ca..3a31a0f5 100644 --- a/draft/man2/epoll_ctl.2 +++ b/draft/man2/epoll_ctl.2 @@ -1,7 +1,7 @@ -.\" -.\" epoll by Davide Libenzi ( efficient event notification retrieval ) .\" Copyright (C) 2003 Davide Libenzi +.\" Davide Libenzi .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or @@ -12,11 +12,10 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -.\" -.\" Davide Libenzi +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -148,6 +147,6 @@ NULL を指定できるようになっている。 2.6.9 より前のカーネ .SH 関連項目 \fBepoll_create\fP(2), \fBepoll_wait\fP(2), \fBpoll\fP(2), \fBepoll\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/epoll_wait.2 b/draft/man2/epoll_wait.2 deleted file mode 100644 index 4daba83c..00000000 --- a/draft/man2/epoll_wait.2 +++ /dev/null @@ -1,138 +0,0 @@ -.\" -.\" epoll by Davide Libenzi ( efficient event notification retrieval ) -.\" Copyright (C) 2003 Davide Libenzi -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -.\" -.\" Davide Libenzi -.\" -.\" 2007-04-30: mtk, Added description of epoll_pwait() -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EPOLL_WAIT 2 2012\-05\-02 Linux "Linux Programmer's Manual" -.SH 名前 -epoll_wait, epoll_pwait \- epoll ファイルディスクリプタの I/O イベントを待つ -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint epoll_wait(int \fP\fIepfd\fP\fB, struct epoll_event *\fP\fIevents\fP\fB,\fP -\fB int \fP\fImaxevents\fP\fB, int \fP\fItimeout\fP\fB);\fP -\fBint epoll_pwait(int \fP\fIepfd\fP\fB, struct epoll_event *\fP\fIevents\fP\fB,\fP -\fB int \fP\fImaxevents\fP\fB, int \fP\fItimeout\fP\fB,\fP -\fB const sigset_t *\fP\fIsigmask\fP\fB);\fP -.fi -.SH 説明 -\fBepoll_wait\fP() システムコールは、ファイルディスクリプタ \fIepfd\fP で参照される -\fBepoll\fP(7) インスタンスに対するイベントを待つ。 \fIevents\fP が指すメモリ領域には、 -呼び出し側が利用可能なイベントが格納される。最大 \fImaxevents\fP 個のイベントが -\fBepoll_wait\fP() によって返される。 -\fImaxevents\fP 引き数は 0 より大きくなければならない。 - -\fItimeout\fP 引き数は、 \fBepoll_wait\fP() が停止する最小時間をミリ秒で指定 -する (この停止時間はシステムクロックの粒度に切り上げられ、カーネルの -スケジューリング遅延により少しだけ長くなる可能性がある)。 -\fItimeout\fP を \-1 に指定すると、 \fBepoll_wait\fP() は無限に停止する。 -\fItimeout\fP を 0 に指定すると、 \fBepoll_wait\fP() は利用可能なイベントが -なくても、すぐに返る。 - -\fIstruct epoll_event\fP は以下のように定義される: -.sp -.in +4n -.nf -typedef union epoll_data { - void *ptr; - int fd; - uint32_t u32; - uint64_t u64; -} epoll_data_t; - -struct epoll_event { - uint32_t events; /* epoll イベント */ - epoll_data_t data; /* ユーザデータ変数 */ -}; -.fi -.in - -返される構造体の \fIdata\fP メンバには、ユーザが \fBepoll_ctl\fP(2) (\fBEPOLL_CTL_ADD\fP, -\fBEPOLL_CTL_MOD\fP) で指定したデータが格納される。 一方、 \fIevents\fP -メンバには返された利用可能なイベントのビットフィールドが格納される。 -.SS epoll_pwait() -\fBepoll_wait\fP() と \fBepoll_pwait\fP() の関係は、 \fBselect\fP(2) と \fBpselect\fP(2) -の関係と同様である。 \fBpselect\fP(2) 同様、 \fBepoll_pwait\fP() -を使うと、アプリケーションは、ファイルディスクリプタが準備できた状態になるか、 シグナルが捕捉されるまで、安全に待つことができる。 - -以下の \fBepoll_pwait\fP() の呼び出しは、 -.nf - - ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask); - -.fi -次の呼び出しを \fIatomic\fP に実行するのと等価である。 -.nf - - sigset_t origmask; - - sigprocmask(SIG_SETMASK, &sigmask, &origmask); - ready = epoll_wait(epfd, &events, maxevents, timeout); - sigprocmask(SIG_SETMASK, &origmask, NULL); -.fi -.PP -\fIsigmask\fP 引き数には NULL を指定してもよい。 その場合には、 \fBepoll_pwait\fP() は \fBepoll_wait\fP() -と等価となる。 -.SH 返り値 -成功した場合、 \fBepoll_wait\fP() は要求された I/O に対して準備ができているファイルディスクリプタの数を返す。 また要求された -\fItimeout\fP ミリ秒の間にファイルディスクリプタが準備できない場合は、0 を返す。 エラーが起こった場合、 \fBepoll_wait\fP() は -\-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEBADF\fP -\fIepfd\fP が有効なファイルディスクリプタでない。 -.TP -\fBEFAULT\fP -\fIevents\fP で指されるメモリ領域に書き込み権限でアクセスできない。 -.TP -\fBEINTR\fP -要求されたどのイベントも発生せず、かつ \fItimeout\fP の期限が切れる前に、 -システムコールがシグナルハンドラによって割り込まれた。 -\fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fIepfd\fP が \fBepoll\fP ファイルディスクリプタでない。 または \fImaxevents\fP が 0 以下である。 -.SH バージョン -.\" To be precise: kernel 2.5.44. -.\" The interface should be finalized by Linux kernel 2.5.66. -\fBepoll_wait\fP() はカーネル 2.6 で追加された。 -ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。 - -\fBepoll_pwait\fP() はカーネル 2.6.19 で Linux に追加された。 -ライブラリによるサポートは glibc バージョン 2.6 以降で提供されている。 -.SH 準拠 -\fBepoll_wait\fP() は Linux 独自である。 -.SH 注意 -あるスレッドが \fBepoll_pwait\fP() を呼び出して停止されている間に、 -別のスレッドが wait 中の \fBepoll\fP インストールにファイルディスクリプタを -追加することがある。新しいファイルディスクリプタでイベントが発生すると、 -\fBepoll_wait\fP() の呼び出しによる停止が解除されることになる。 -.SH 関連項目 -\fBepoll_create\fP(2), \fBepoll_ctl\fP(2), \fBepoll\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/eventfd.2 b/draft/man2/eventfd.2 deleted file mode 100644 index 779044c8..00000000 --- a/draft/man2/eventfd.2 +++ /dev/null @@ -1,278 +0,0 @@ -.\" Copyright (C) 2008 Michael Kerrisk -.\" starting from a version by Davide Libenzi -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111-1307 USA -.\" -.\" 2008-10-10, mtk: describe eventfd2(), and EFD_NONBLOCK and EFD_CLOEXEC -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EVENTFD 2 2010\-08\-30 Linux "Linux Programmer's Manual" -.SH 名前 -eventfd \- イベント通知用のファイルディスクリプタを生成する -.SH 書式 -\fB#include \fP -.sp -\fBint eventfd(unsigned int \fP\fIinitval\fP\fB, int \fP\fIflags\fP\fB);\fP -.SH 説明 -\fBeventfd\fP() は "eventfd オブジェクト" を生成する。 eventfd -オブジェクトはユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことができる。また、カーネルがユーザ空間アプリケーションに -イベントを通知するためにも使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 (\fIuint64_t\fP) -型のカウンタが含まれており、このカウンタはカーネルにより管理される。 このカウンタは \fIinitval\fP 引き数で指定された値で初期化される。 - -以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 -\fBeventfd\fP() の振舞いを変更することができる。 -.TP -\fBEFD_CLOEXEC\fP (Linux 2.6.27 以降) -新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP) フラグをセットする。 -このフラグが役に立つ理由については、 \fBopen\fP(2) の \fBO_CLOEXEC\fP フラグの説明を参照のこと。 -.TP -\fBEFD_NONBLOCK\fP (Linux 2.6.27 以降) -新しく生成されるオープンファイル記述 (open file description) の \fBO_NONBLOCK\fP -ファイルステータスフラグをセットする。 このフラグを使うことで、 \fBO_NONBLOCK\fP をセットするために \fBfcntl\fP(2) -を追加で呼び出す必要がなくなる。 -.TP -\fBEFD_SEMAPHORE\fP (Linux 2.6.30 以降) -新しいファイルディスクリプタからの読み出しにおいて、セマフォ風の動作を行う。 -下記参照。 -.PP -バージョン 2.6.26 以前の Linux では、 \fIflags\fP 引き数は未使用であり、0 を指定しなければならない。 - -\fBeventfd\fP() は eventfd オブジェクトを参照するのに使用できる新しいファイルディスクリプタ -を返す。返されたファイルディスクリプタに対しては以下の操作を実行できる。 -.TP -\fBread\fP(2) -\fBread\fP(2) は成功すると、8 バイトの整数を返す。 -渡されたバッファの大きさが 8 バイト未満の場合、 -\fBread\fP(2) はエラー \fBEINVAL\fP で失敗する。 -.IP -\fBread\fP(2) が返す値は、ホストバイトオーダ、つまり -そのホストマシンにおける整数の通常のバイトオーダである。 -.IP -\fBread\fP(2) の動作は、 eventfd カウンタの現在の値が 0 以外であるかと、 -eventfd ファイルディスクリプタを作成する際に \fBEFD_SEMAPHORE\fP フラグが -指定されたか、により変化する。 -.RS -.IP * 3 -\fBEFD_SEMAPHORE\fP が指定されておらず、eventfd カウンタが 0 以外の値 -の場合、 \fBread\fP(2) はカウンタ値を格納した 8 バイトの値を返し、 -カウンタ値は 0 にリセットされる。 -.IP * -\fBEFD_SEMAPHORE\fP が指定されていて eventfd カウンタが 0 以外の値の場合、 -\fBread\fP(2) は値 1 の 8 バイト値を返し、カウンタ値は 1 減算される。 -.IP * -\fBread\fP(2) を呼び出した時点で eventfd カウンタが 0 の場合、 \fBread\fP(2) -はカウンタが 0 以外になるまで停止 (block) する (0 以外になった時点で -\fBread\fP(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスク -リプタが非停止 (nonblocking) に設定されている場合はエラー \fBEAGAIN\fPで -失敗する。 -.RE -.TP -\fBwrite\fP(2) -\fBwrite\fP(2) は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算する。 カウンタに格納可能な最大値は unsigned の -64 ビット整数の最大値から 1 を引いた値 (すなわち 0xfffffffffffffffe) である。 -加算を行うとカウンタ値が最大値を超過する場合には、 そのファイルディスクリプタに対して \fBread\fP(2) が実行されるまで、 -\fBwrite\fP(2) は停止 (block) する、 もしくはファイルディスクリプタが非停止 (nonblocking) -に設定されている場合はエラー \fBEAGAIN\fP で失敗する。 -.IP -渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 0xffffffffffffffff を書き込もうとした場合、 \fBwrite\fP(2) -はエラー \fBEINVAL\fP で失敗する。 -.TP -\fBpoll\fP(2), \fBselect\fP(2) (と同様の操作) -返されたファイルディスクリプタは、 \fBpoll\fP(2) (\fBepoll\fP(7) も同じ) や \fBselect\fP(2) -をサポートしており、以下のような動作をする。 -.RS -.IP * 3 -カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる (\fBselect\fP(2) の \fIreadfds\fP 引き数や -\fBpoll\fP(2) の \fBPOLLIN\fP フラグ)。 -.IP * -少なくとも値 "1" を、停止 (block) を伴わずに書き込める場合、 ファイルディスクリプタは書き込み可能となる (\fBselect\fP(2) の -\fIwritefds\fP 引き数や \fBpoll\fP(2) の \fBPOLLOUT\fP フラグ)。 -.IP * -カウンタ値のオーバーフローが検出された場合、 \fBselect\fP(2) はファイルディスクリプタは読み出し可能と書き込み可能の両方を通知し、 -\fBpoll\fP(2) は \fBPOLLERR\fP イベントを返す。 上述の通り、 \fBwrite\fP(2) -でカウンタがオーバーフローすることは決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "signal -posts" が 実行された場合にはオーバーフローが起こり得る (理論的にはあり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 -\fBread\fP(2) は \fIuint64_t\fP の最大値 (すなわち 0xffffffffffffffff) を返す。 -.RE -.IP -eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API である \fBpselect\fP(2), \fBppoll\fP(2), -\fBepoll\fP(7) もサポートしている。 -.TP -\fBclose\fP(2) -ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきである。 同じ eventfd -オブジェクトに関連付けられたファイルディスクリプタが全て クローズされると、そのオブジェクト用の資源がカーネルにより解放される。 -.PP -\fBfork\fP(2) で生成された子プロセスは、 \fBeventfd\fP() で生成されたファイル -ディスクリプタのコピーを継承する。 複製されたファイルディスクリプタは同 -じ eventfd オブジェクトに関連付けられる。 -close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) の前後で -\fBeventfd\fP() で生成されたファイルディスクリプタは保持される。 -.SH 返り値 -成功すると、 \fBeventfd\fP() は新規の eventfd ファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP -にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEINVAL\fP -\fIflags\fP にサポートされていない値が指定された。 -.TP -\fBEMFILE\fP -オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。 -.TP -\fBENFILE\fP -オープン済みのファイル総数がシステム全体の上限に達していた。 -.TP -\fBENODEV\fP -.\" Note from Davide: -.\" The ENODEV error is basically never going to happen if -.\" the kernel boots correctly. That error happen only if during -.\" the kernel initialization, some error occur in the anonymous -.\" inode source initialization. -(カーネル内の) 無名 inode デバイスをマウントできなかった。 -.TP -\fBENOMEM\fP -新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。 -.SH バージョン -.\" eventfd() is in glibc 2.7, but reportedly does not build -\fBeventfd\fP() はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作する glibc 側のサポートはバージョン -2.8 以降で提供されている。 \fBeventfd2\fP() システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux -で利用可能である。 バージョン 2.9 以降では、glibc の \fBeventfd\fP() のラッパー関数は、カーネルが対応していれば -\fBeventfd2\fP() システムコールを利用する。 -.SH 準拠 -\fBeventfd\fP() と \fBeventfd2\fP() は Linux 固有である。 -.SH 注意 -アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場面において、パイプの代わりに eventfd ファイルディスクリプタを -使用することができる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて -カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つしか必要としない (パイプの場合は二つ必要である)。 - -.\" or eventually syslets/threadlets -カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ空間のブリッジ機能を提供することができ、 例えば KAIO -(kernel AIO) のような機能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することができる。 - -eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタが \fBselect\fP(2), \fBpoll\fP(2), -\fBepoll\fP(7) を使って他のファイルディスクリプタと全く同様に監視できる点である。 このことは、アプリケーションは「従来の -(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他のカーネル機構の状態変化を同時に監視 -できることを意味する (\fBeventfd\fP() インタフェースがない時には、これらのカーネル機構は \fBselect\fP(2), -\fBpoll\fP(2), \fBepoll\fP(7) 経由で多重することはできなかった)。 -.SS "下層にある Linux のシステムコール" -下層にある Linux システムコールは二種類あり、 \fBeventfd\fP() と、もっと新しい \fBeventfd2\fP() である。 -\fBeventfd\fP() は \fIflags\fP 引き数を実装していない。 \fBeventfd2\fP() では上記の値の \fIflags\fP -が実装されている。 glibc のラッパー関数は、 \fBeventfd2\fP() が利用可能であれば、これを使用する。 -.SS "glibc の追加機能" -GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに -を関する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義している。 -.in +4n -.nf - -typedef uint64_t eventfd_t; - -int eventfd_read(int fd, eventfd_t *value); -int eventfd_write(int fd, eventfd_t value); -.fi -.in - -これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操作を実行し、正しいバイト数が転送された場合には 0 -を返し、そうでない場合は \-1 を返す。 -.SH 例 -.PP -以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実行して子プロセスを生成する。 親プロセスが少しの間 -sleep する間に、子プロセスは プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd ファイルディスクリプタに書き込む。 -親プロセスは sleep を完了すると eventfd ファイルディスクリプタから 読み出しを行う。 - -以下に示すシェルセッションにこのプログラムの使い方を示す。 -.in +4n -.nf - -$\fB ./a.out 1 2 4 7 14\fP -Child writing 1 to efd -Child writing 2 to efd -Child writing 4 to efd -Child writing 7 to efd -Child writing 14 to efd -Child completed write loop -Parent about to read -Parent read 28 (0x1c) from efd -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include -#include -#include /* Definition of uint64_t */ - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -int -main(int argc, char *argv[]) -{ - int efd, j; - uint64_t u; - ssize_t s; - - if (argc < 2) { - fprintf(stderr, "Usage: %s ...\en", argv[0]); - exit(EXIT_FAILURE); - } - - efd = eventfd(0, 0); - if (efd == \-1) - handle_error("eventfd"); - - switch (fork()) { - case 0: - for (j = 1; j < argc; j++) { - printf("Child writing %s to efd\en", argv[j]); - u = strtoull(argv[j], NULL, 0); - /* strtoull() allows various bases */ - s = write(efd, &u, sizeof(uint64_t)); - if (s != sizeof(uint64_t)) - handle_error("write"); - } - printf("Child completed write loop\en"); - - exit(EXIT_SUCCESS); - - default: - sleep(2); - - printf("Parent about to read\en"); - s = read(efd, &u, sizeof(uint64_t)); - if (s != sizeof(uint64_t)) - handle_error("read"); - printf("Parent read %llu (0x%llx) from efd\en", - (unsigned long long) u, (unsigned long long) u); - exit(EXIT_SUCCESS); - - case \-1: - handle_error("fork"); - } -} -.fi -.SH 関連項目 -\fBfutex\fP(2), \fBpipe\fP(2), \fBpoll\fP(2), \fBread\fP(2), \fBselect\fP(2), -\fBsignalfd\fP(2), \fBtimerfd_create\fP(2), \fBwrite\fP(2), \fBepoll\fP(7), -\fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/execve.2 b/draft/man2/execve.2 deleted file mode 100644 index 2b9e1b65..00000000 --- a/draft/man2/execve.2 +++ /dev/null @@ -1,432 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" and Copyright (c) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt -.\" Modified 1993-07-21 by Rik Faith -.\" Modified 1994-08-21 by Michael Chastain : -.\" Modified 1997-01-31 by Eric S. Raymond -.\" Modified 1999-11-12 by Urs Thuermann -.\" Modified 2004-06-23 by Michael Kerrisk -.\" 2006-09-04 Michael Kerrisk -.\" Added list of process attributes that are not preserved on exec(). -.\" 2007-09-14 Ollie Wild , mtk -.\" Add text describing limits on command-line arguments + environment -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EXECVE 2 2012\-05\-04 Linux "Linux Programmer's Manual" -.SH 名前 -execve \- プログラムを実行する -.SH 書式 -\fB#include \fP -.sp -\fBint execve(const char *\fP\fIfilename\fP\fB, char *const \fP\fIargv\fP\fB[], \fP -.br -\fB char *const \fP\fIenvp\fP\fB[]);\fP -.SH 説明 -\fBexecve\fP() は、\fIfilename\fP によって指定されたプログラムを実行する。 \fIfilename\fP は、バイナリ実行形式か、 -以下の形式の行で始まるスクリプトでなければならない。 - -.in +4n -.nf -\fB#!\fP \fIinterpreter \fP[optional\-arg] -.fi -.in - -後者の詳細は、後ろの「インタプリタ・スクリプト」の節を参照のこと。 - -\fIargv\fP は新しいプログラムに渡される引き数文字列の配列である。 -慣例では、引き数文字列の最初の要素には実行されたファイルに関連付けられた -ファイル名を含めることになっている。 -\fIenvp\fP は文字列の配列であり、伝統的に \fBkey=value\fP の形式をしており、 -新しいプログラムの環境変数として渡される。 -\fIargv\fP と \fIenvp\fP はいずれもの NULL ポインタで終わっている必要がある。 -引き数配列と環境変数は、呼び出されたプログラムの main 関数を -以下のように定義することによってアクセス可能になる。 - -.in +4n -.nf -int main(int argc, char *argv[], char *envp[]) -.fi -.in - -成功した場合、 \fBexecve\fP() は返らない。 そして、呼び出し元のプロセスの text, data, bss, スタックは、 -読み込まれたプログラムによって上書きされる。 - -元のプログラムが ptrace されている場合、 \fBexecve\fP() が成功した後に そのプログラムに \fBSIGTRAP\fP が送られる。 - -\fIfilename\fP で指定されたプログラムファイルに set\-user\-ID ビットが設定されており、 ファイルが存在するファイルシステムが -\fInosuid\fP (\fBmount\fP(2) の \fBMS_NOSUID\fP フラグ) でマウントされておらず、 呼び出したプロセスが ptrace -されていない場合、 呼び出したプロセスの実効 (effective) ユーザ ID は プログラムファイルの所有者 (owner) に変更される。 -同様に、プログラムファイルに set\-group\-ID ビットが設定されていた場合、 呼び出したプロセスの有効グループ ID は -プログラムファイルのグループに変更される。 - -プロセスの実効ユーザ ID は保存 (saved) set\-user\-ID にコピーされる。 同様に、実効グループ ID は保存 -set\-group\-ID にコピーされる。 このコピーは、set\-user\-ID / set\-group\-ID 許可ビットにより発生する 実効 ID -の変更後に行われる。 - -実行ファイルが動的リンクされた a.out 実行形式で、共有ライブラリの スタブを含むものだった場合、実行の開始時に Linux の -ダイナミック・リンカ \fBld.so\fP(8) が呼び出され、必要な共有ライブラリをメモリに読み込んでリンクを行う。 - -実行ファイルがダイナミック・リンクされた ELF 実行形式だった場合、 -PT_INTERP セグメントに指定されたインタプリタが必要な 共有ライブラリ -(shared library) を読み込むのに使用される。 -通常、インタプリタは glibc 2 をリンクしたバイナリでは -\fI/lib/ld\-linux.so.2\fP である (古い Linux libc5 をリンクした -バイナリでは、通常のインタプリタは \fI/lib/ld\-linux.so.1\fP であった)。 - -以下に示す以外のすべてのプロセス属性は \fBexecve\fP() の前後で保持される。 -.IP * 3 -捕捉されたシグナルの処理方法 (disposition) は デフォルト動作にリセットされる (\fBsignal\fP(7))。 -.IP * -代替シグナルスタックはどれも保持されない (\fBsigaltstack\fP(2))。 -.IP * -メモリマッピングは保持されない (\fBmmap\fP(2))。 -.IP * -付加された (attached) System V 共有メモリセグメントは分離される (\fBshmat\fP(2))。 -.IP * -POSIX 共有メモリ領域はマッピングを解除される (\fBshm_open\fP(3))。 -.IP * -オープンされた POSIX メッセージキューディスクリプタはクローズされる (\fBmq_overview\fP(7))。 -.IP * -オープンされた POSIX 名前付きセマフォはいずれもクローズされる (\fBsem_overview\fP(7))。 -.IP * -POSIX タイマは保持されない (\fBtimer_create\fP(2))。 -.IP * -オープンされたディレクトリストリームはいずれもクローズされる (\fBopendir\fP(3))。 -.IP * -メモリロックは保持されない (\fBmlock\fP(2), \fBmlockall\fP(2))。 -.IP * -終了 (exit) ハンドラは保持されない (\fBatexit\fP(3), \fBon_exit\fP(3))。 -.IP * -浮動小数点関連の環境はデフォルトにリセットされる (\fBfenv\fP(3) 参照)。 -.PP -上記のリストのプロセス属性はいずれも POSIX.1\-2001 で規定されている。 以下に示す Linux 固有のプロセス属性も \fBexecve\fP() -の前後で保持されない。 -.IP * 3 -set\-user\-ID か set\-group\-ID されたプログラムが実行されている場合、 \fBprctl\fP(2) の -\fBPR_SET_DUMPABLE\fP フラグはクリアされる。それ以外の場合、このフラグはセットされる。 -.IP * -\fBprctl\fP(2) の \fBPR_SET_KEEPCAPS\fP フラグはクリアされる。 -.IP * -プロセス名は新しい実行ファイルの名前にリセットされる。 プロセス名は \fBprctl\fP(2) の \fBPR_SET_NAME\fP で設定でき、 -\fIps\ \-o comm\fP で表示できる。 -.IP * -終了シグナル (termination signal) は \fBSIGCHLD\fP にリセットされる (\fBclone\fP(2) 参照)。 -.PP -以下の点についても注意すること: -.IP * 3 -呼び出し元スレッド以外の全てのスレッドは \fBexecve\fP() 中に破棄される。 mutex、条件変数、その他の pthread -オブジェクトは保持されない。 -.IP * -\fIsetlocale(LC_ALL, "C")\fP 相当の処理がプログラム開始時に実行される。 -.IP * -POSIX.1\-2001 は、動作が無視かデフォルトに設定されている全てのシグナル の処理方法は変更せずそのままにする、と規定している。 -但し、POSIX.1\-2001 には一つ例外があり、 \fBSIGCHLD\fP が無視になっている場合、 -その処理方法を変更せずにそのままにするか、デフォルト動作にリセットするかは 実装依存となっている。 Linux では前者 (変更しない) となっている。 -.IP * -完了していない非同期 I/O 操作はキャンセルされる (\fBaio_read\fP(3), \fBaio_write\fP(3))。 -.IP * -\fBexecve\fP(2) 時のケーパビリティの扱いについては、 \fBcapabilities\fP(7) を参照。 -.IP * -.\" On Linux it appears that these file descriptors are -.\" always open after an execve(), and it looks like -.\" Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007 -デフォルトでは、ファイルディスクリプタは \fBexecve\fP() を行った後でもオープンされたままである。 close\-on\-exec -の印が付いているファイルディスクリプタはクローズされる。 \fBfcntl\fP(2) の \fBFD_CLOEXEC\fP の説明を参照。 -(ファイルディスクリプタがクローズされると、このプロセスが ファイルディスクリプタに対応するファイルに対して獲得していた -レコードのロックが全て解放されることになる。) POSIX.1\-2001 では、 ファイルディスクリプタ 0, 1, 2 が \fBexecve\fP() -成功後にどこかでクローズされ、かつ 実行されるファイルに set\-user_ID か set\-group_ID の許可ビットが -セットされていてプロセスが特権を獲得した場合、 システムは何らかのファイルをオープンする際に これらの番号のディスクリプタのどれかを使うことがある、 -とされている。 原則として、移植性が必要なプログラムでは、 特権の有無に関わらず、 \fBexecve\fP() の前後でこれら -3つのファイルディスクリプタがクローズされたままで あることを前提にすることはできない。 -.SS インタプリタ・スクリプト -インタプリタ・スクリプトとは、実行許可が有効になっていて、 最初の行が以下の形になっているテキストファイルのことである。 - -.in +4n -.nf -\fB#!\fP \fIinterpreter \fP[optional\-arg] -.fi -.in - -\fIinterpreter\fP は有効な実行ファイルのパス名でなければならず、 それ自身がスクリプトであってはならない。 \fBexecve\fP() の -\fIfilename\fP 引き数がインタプリタスクリプトを指定している場合、 \fIinterpreter\fP は以下の引き数で起動される。 - -.in +4n -.nf -\fIinterpreter\fP [optional\-arg] \fIfilename\fP arg... -.fi -.in - -\fIarg...\fP は \fBexecve\fP() の \fIargv\fP 引き数が指すワード列である。 - -移植性を持たすには、 \fIoptional\-arg\fP は空か 1ワードだけにすべきである (つまり、ホワイト・スペースを含めるべきではない)。 -下記の「注意」の節を参照。 -.SS 引き数と環境変数の合計サイズの上限 -ほとんどの UNIX の実装は、新しいプログラムに渡すことができる コマンドライン引き数 (\fIargv\fP) と環境変数 (\fIenvp\fP) -の文字列群の合計サイズに何らかの上限を設けている。 POSIX.1 は、 \fBARG_MAX\fP 定数を使ってこの上限を決める実装を認めている -(\fBARG_MAX\fP は \fI\fP で定義されるか、実行時に \fIsysconf(_SC_ARG_MAX)\fP -の呼び出しで入手できるかのいずれかである)。 - -カーネル 2.6.23 より前の Linux では、環境変数と引き数の文字列群を 格納するのに使用されるメモリは 32 ページに制限されていた (32 -ページというのはカーネル定数 \fBMAX_ARG_PAGES\fP で定義される)。したがって、 ページサイズが 4 kB のアーキテクチャでは、 -最大サイズは 128 kB ということになる。 - -.\" For some background on the changes to ARG_MAX in kernels 2.6.23 and -.\" 2.6.25, see: -.\" http://sourceware.org/bugzilla/show_bug.cgi?id=5786 -.\" http://bugzilla.kernel.org/show_bug.cgi?id=10095 -.\" http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101, -.\" checked into 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2. -.\" Ollie: That doesn't include the lists of pointers, though, -.\" so the actual usage is a bit higher (1 pointer per argument). -カーネル 2.6.23 以降では、ほとんどのアーキテクチャにおいて、 \fBexecve\fP() が呼び出された時点で適用されているリソースのソフト上限 -\fBRLIMIT_STACK\fP に基づいたサイズ上限が使われる (メモリ管理ユニット (MMU) を持たないアーキテクチャは上記の変更の -例外であり、これらのアーキテクチャではカーネル 2.6.23 より前と 同じ上限がそのまま使用される)。 -これらのアーキテクチャでは、合計サイズは許可されたスタックサイズの 1/4 に制限されている (1/4 -の上限を設けているのは、新しいプログラムが必ずある程度の スタック空間を持てることを保証するためである)。 Linux 2.6.25 -以降では、カーネルはこのサイズ上限に 32 ページの下限を 設けている。これにより、 \fBRLIMIT_STACK\fP -が非常に小さく設定された場合でも、アプリケーションが少なくとも Linux 2.6.23 以前で提供されていたのと同じ大きさの引き数と環境変数の空間 -と同じだけは確保できることが保証されている (この最低限の保証は Linux 2.6.23 と 2.6.24 では提供されていない)。 -また、各文字列の上限は 32 ページ (カーネル定数 \fBMAX_ARG_STRLEN\fP) で、文字列数の最大値は 0x7FFFFFFF である。 -.SH 返り値 -成功すると \fBexecve\fP() は返らない。エラーの場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBE2BIG\fP -環境変数 (\fIenvp\fP) と引き数リスト (\fIargv\fP) の合計バイト数が大き過ぎる。 -.TP -\fBEACCES\fP -\fIfilename\fP やスクリプトインタプリタ名の構成要素に検索許可 (search permission) が与えられていない -(\fBpath_resolution\fP(7) も参照すること)。 -.TP -\fBEACCES\fP -ファイルもしくはスクリプトのインタプリタが通常ファイル (regular file) でない。 -.TP -\fBEACCES\fP -ファイルやスクリプトや ELF インタプリタに 実行許可 (execute permission) が与えられていない。 -.TP -\fBEACCES\fP -ファイル・システムが \fInoexec\fP でマウントされている。 -.TP -\fBEFAULT\fP -\fIfilename\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEINVAL\fP -ELF 実行形式で複数の PT_INTERP セグメントが存在する。 (すなわち複数のインタプリタを指定した。) -.TP -\fBEIO\fP -I/O エラーが発生した。 -.TP -\fBEISDIR\fP -ELF インタプリタがディレクトリだった。 -.TP -\fBELIBBAD\fP -ELF インタプリタが理解できるフォーマットでなかった。 -.TP -\fBELOOP\fP -\fIfilename\fP やスクリプトや ELF のインタプリタを解決する際に遭遇した シンボリック・リンクが多過ぎる。 -.TP -\fBEMFILE\fP -そのプロセスがオープンできるファイル数の上限まで既にオープンしている。 -.TP -\fBENAMETOOLONG\fP -\fIfilename\fP が長過ぎる。 -.TP -\fBENFILE\fP -オープンされたファイルの総数がシステム全体の上限に達していた。 -.TP -\fBENOENT\fP -ファイル \fIfilename\fP かスクリプトや ELF のインタプリタが存在しない。 -.TP -\fBENOEXEC\fP -実行ファイルが理解できない形式であるか、違うアーキテクチャのものか、 その他のフォーマット・エラーにより実行ができなかった。 -.TP -\fBENOMEM\fP -カーネルに十分なメモリがない。 -.TP -\fBENOTDIR\fP -\fIfilename\fP やスクリプトや ELF のインタプリタの構成要素がディレクトリでない。 -.TP -\fBEPERM\fP -ファイル・システムが \fInosuid\fP でマウントされ、ユーザがスーパーユーザでなく、 ファイルに set\-user\-ID あるいは -set\-group\-ID ビットが設定されている。 -.TP -\fBEPERM\fP -プロセスがトレースされ、ユーザがスーパーユーザでなく、 ファイルに set\-user\-ID あるいは set\-group\-ID ビットが設定されている。 -.TP -\fBETXTBSY\fP -実行ファイルを書き込み用にオープンしているプロセスがある。 -.SH 準拠 -.\" SVr4 documents additional error -.\" conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not -.\" document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, -.\" EISDIR or ELIBBAD error conditions. -SVr4, 4.3BSD, POSIX.1\-2001. POSIX.1\-2001 には #! 動作についての記述はないが、 他は互換性がある。 -.SH 注意 -set\-user\-id プロセスと set\-group\-ID プロセスは \fBptrace\fP(2) できない。 - -Linux はスクリプトの set\-user\-ID と set\-group\-ID ビットを無視する。 - -ファイルシステムを \fInosuid\fP でマウントした場合に set\-user\-ID/set\-group\-ID の実行ファイルを -どの様に扱うかは、Linux カーネルのバージョンによって異なる: あるバージョンでは、すでに必要な権限を持っている場合を除いて、 その実行を拒否する -(そして \fBEPERM\fP を返す)。別のあるバージョンでは set\-user\-ID/set\-group\-ID ビットのみを無視し \fBexec\fP() -は成功する。 - -#! 実行形式のシェル・スクリプトの 1行目に許されている文字数は、 最大 127 文字である。 - -.\" e.g., Solaris 8 -.\" e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward -インタプリタ・スクリプトの \fIoptional\-arg\fP 引き数の解釈方法は実装により異なる。 Linux では、インタプリタ名 -\fIinterpreter\fP に続く文字列全体がインタプリタに 1個の引き数として渡される。 しかし、動作が異なるシステムもある。 あるシステムでは、 -\fIoptional\-arg\fP のうち最初のホワイト・スペースまでが 引き数として渡される。 また、別のシステムでは -インタプリタ・スクリプトは複数の引き数を持つことができ、 \fIoptional\-arg\fP 内のホワイト・スペースが引き数の区切りとなる。 - -.\" e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but -.\" HP-UX 11 is like Linux -- mtk, Apr 2007 -.\" Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408 -.\" Bug rejected (because fix would constitute an ABI change). -.\" -Linux では、 \fIargv\fP に NULL を指定することができる。これは、この引き数に NULL ポインタ -1個だけを含むリストへのポインタを指定したのと同じ効果を持つ。 \fB「この間違った機能を利用しないこと」\fP。 これは非標準で、移植性もない。 -他のほとんどの UNIX システムでは、これを行うとエラー (\fBEFAULT\fP) になる。 - -.\" -.\" .SH BUGS -.\" Some Linux versions have failed to check permissions on ELF -.\" interpreters. This is a security hole, because it allows users to -.\" open any file, such as a rewinding tape device, for reading. Some -.\" Linux versions have also had other security holes in -.\" .BR execve () -.\" that could be exploited for denial of service by a suitably crafted -.\" ELF binary. There are no known problems with 2.0.34 or 2.2.15. -POSIX.1\-2001 は、 \fBsysconf\fP(3) が返す値はプロセスの生存中は変化しないべきだとしている。 しかしながら、Linux -2.6.23 以降では、リソース上限 \fBRLIMIT_STACK\fP が変化した場合、 コマンドライン引き数と環境変数を保持するための空間に対する上限が -変化したことを反映して、 \fB_SC_ARG_MAX\fP が返す値も変化する。 -.SS 歴史 -UNIX V6 では \fBexec\fP() コールの引き数リストは 0 で終端され、 \fImain\fP の引き数リストは \-1 で終端されていた。 -そのため、 \fImain\fP の引き数リストは、その後の \fBexec\fP() コールには直接使用できなかった。 UNIX V7 以降では、ともに -NULL で終端される。 -.SH 例 -このプログラムは、以下の二つ目のプログラムから実行するためのものである。 コマンドラインを 1行に 1個ずつ表示するだけのプログラムである。 - -.in +4n -.nf -/* myecho.c */ - -#include -#include - -int -main(int argc, char *argv[]) -{ - int j; - - for (j = 0; j < argc; j++) - printf("argv[%d]: %s\en", j, argv[j]); - - exit(EXIT_SUCCESS); -} -.fi -.in - -以下のプログラムは、コマンドライン引き数で指定した名前のプログラムを 実行するのに使う。 -.in +4n -.nf - -/* execve.c */ - -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - char *newargv[] = { NULL, "hello", "world", NULL }; - char *newenviron[] = { NULL }; - - if (argc != 2) { - fprintf(stderr, "Usage: %s \en", argv[0]); - exit(EXIT_FAILURE); - } - - newargv[0] = argv[1]; - - execve(argv[1], newargv, newenviron); - perror("execve"); /* execve() only returns on error */ - exit(EXIT_FAILURE); -} -.fi -.in - -二つ目のプログラムを使って一つ目のプログラムを実行するには 以下のようにする。 - -.in +4n -.nf -$\fB cc myecho.c \-o myecho\fP -$\fB cc execve.c \-o execve\fP -$\fB ./execve ./myecho\fP -argv[0]: ./myecho -argv[1]: hello -argv[2]: world -.fi -.in - -さらに、これらのプログラムを使って、スクリプト・インタプリタの例を示す。 このために、「インタプリタ」として先ほど作成したプログラム \fImyecho\fP -を使うスクリプトを作成する。 - -.in +4n -.nf -$\fB cat > script.sh\fP -\fB#! ./myecho script\-arg\fP -\fB^D\fP -$\fB chmod +x script.sh\fP -.fi -.in - -作成しておいたプログラムを使ってスクリプトを実行する。 - -.in +4n -.nf -$\fB ./execve ./script.sh\fP -argv[0]: ./myecho -argv[1]: script\-arg -argv[2]: ./script.sh -argv[3]: hello -argv[4]: world -.fi -.in -.SH 関連項目 -\fBchmod\fP(2), \fBfork\fP(2), \fBptrace\fP(2), \fBexecl\fP(3), \fBfexecve\fP(3), -\fBgetopt\fP(3), \fBcredentials\fP(7), \fBenviron\fP(7), \fBpath_resolution\fP(7), -\fBld.so\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/exit_group.2 b/draft/man2/exit_group.2 index 247dc3f1..2e7bf281 100644 --- a/draft/man2/exit_group.2 +++ b/draft/man2/exit_group.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2004 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -48,6 +50,6 @@ glibc 2.3 以降では、 \fBexit\fP(2) のラッパー関数が呼び出され .SH 関連項目 \fBexit\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/faccessat.2 b/draft/man2/faccessat.2 index 462d1588..d4b86164 100644 --- a/draft/man2/faccessat.2 +++ b/draft/man2/faccessat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -110,6 +109,6 @@ POSIX.1\-2008. \fBaccess\fP(2), \fBopenat\fP(2), \fBeauidaccess\fP(3), \fBcredentials\fP(7), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fchmodat.2 b/draft/man2/fchmodat.2 index 903f4042..2b9bb158 100644 --- a/draft/man2/fchmodat.2 +++ b/draft/man2/fchmodat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -105,6 +104,6 @@ POSIX で規定されたインターフェースを実装している。 .SH 関連項目 \fBchmod\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fchownat.2 b/draft/man2/fchownat.2 index d31e10b3..a3cbcefa 100644 --- a/draft/man2/fchownat.2 +++ b/draft/man2/fchownat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -98,6 +97,6 @@ POSIX.1\-2008. Solaris には、これと同じようなシステムコール .SH 関連項目 \fBchown\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fcntl.2 b/draft/man2/fcntl.2 deleted file mode 100644 index 1b2bf762..00000000 --- a/draft/man2/fcntl.2 +++ /dev/null @@ -1,662 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" and Copyright (C) 1993 Michael Haardt, Ian Jackson; -.\" and Copyright (C) 1998 Jamie Lokier; -.\" and Copyright (C) 2002-2010 Michael Kerrisk. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1995-09-26 by Andries Brouwer -.\" and again on 960413 and 980804 and 981223. -.\" Modified 1998-12-11 by Jamie Lokier -.\" Applied correction by Christian Ehrhardt - aeb, 990712 -.\" Modified 2002-04-23 by Michael Kerrisk -.\" Added note on F_SETFL and O_DIRECT -.\" Complete rewrite + expansion of material on file locking -.\" Incorporated description of F_NOTIFY, drawing on -.\" Stephen Rothwell's notes in Documentation/dnotify.txt. -.\" Added description of F_SETLEASE and F_GETLEASE -.\" Corrected and polished, aeb, 020527. -.\" Modified 2004-03-03 by Michael Kerrisk -.\" Modified description of file leases: fixed some errors of detail -.\" Replaced the term "lease contestant" by "lease breaker" -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified 2004-12-08, added O_NOATIME after note from Martin Pool -.\" 2004-12-10, mtk, noted F_GETOWN bug after suggestion from aeb. -.\" 2005-04-08 Jamie Lokier , mtk -.\" Described behavior of F_SETOWN/F_SETSIG in -.\" multithreaded processes, and generally cleaned -.\" up the discussion of F_SETOWN. -.\" 2005-05-20, Johannes Nicolai , -.\" mtk: Noted F_SETOWN bug for socket file descriptor in Linux 2.4 -.\" and earlier. Added text on permissions required to send signal. -.\" 2009-09-30, Michael Kerrisk -.\" Note obsolete F_SETOWN behavior with threads. -.\" Document F_SETOWN_EX and F_GETOWN_EX -.\" 2010-06-17, Michael Kerrisk -.\" Document F_SETPIPE_SZ and F_GETPIPE_SZ. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FCNTL 2 2012\-04\-15 Linux "Linux Programmer's Manual" -.SH 名前 -fcntl \- ファイルディスクリプタの操作を行う -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint fcntl(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, ... /* \fP\fIarg\fP\fB */ );\fP -.fi -.SH 説明 -\fBfcntl\fP() は、オープンされたファイルディスクリプタ \fIfd\fP に関して下記の操作を行う。操作は \fIcmd\fP によって決まる: - -\fBfcntl\fP() はオプションとして第三引き数をとることができる。 第三引き数が必要 -かどうかは \fIcmd\fP により決まる。必要な引き数の型は \fIcmd\fP 名の後ろの括弧内で -指定されている (ほとんどの場合、必要な型は \fIint\fP であり、この引き数を表すの -に \fIarg\fP という名前を使っている)。引き数が必要ない場合には \fIvoid\fP が指定さ -れている。 -.SS ファイルディスクリプタの複製 -.TP -\fBF_DUPFD\fP (\fIint\fP) -利用可能なファイルディスクリプタのうち、 \fIarg\fP 以上で最小のものを探し、 \fIfd\fP のコピーとする。これは別の形の \fBdup2\fP(2) -である。 \fBdup2\fP(2) では指定されたディスクリプタが使われる点が違う。 -.IP -成功すると、新しいディスクリプタが返される。 -.IP -詳細は \fBdup\fP(2) を参照のこと。 -.TP -\fBF_DUPFD_CLOEXEC\fP (\fIint\fP; Linux 2.6.24 以降) -\fBF_DUPFD\fP と同様だが、それに加えて複製されたディスクリプタに対して close\-on\-exec フラグをセットする。 -このフラグを指定することで、プログラムは \fBFD_CLOEXEC\fP フラグをセットするために \fBfcntl\fP() の \fBF_SETFD\fP -操作を追加で行う必要がなくなる。 このフラグがなぜ有用かについては、 \fBopen\fP(2) の \fBO_CLOEXEC\fP の説明を参照のこと。 -.SS ファイルディスクリプタ・フラグ -以下のコマンドを使って、ファイルディスクリプタに関連するフラグ を操作することができる。 現在のところ、定義されているフラグは一つだけである: -\fBFD_CLOEXEC\fP (close\-on\-exec フラグ)。 \fBFD_CLOEXEC\fP ビットが 0 なら、ファイルディスクリプタは -\fBexecve\fP(2) を行ってもオープンされたままだが、そうでない場合はクローズされる。 -.TP -\fBF_GETFD\fP (\fIvoid\fP) -ファイルディスクリプタ・フラグを読み出す。 \fIarg\fP は無視される。 -.TP -\fBF_SETFD\fP (\fIint\fP) -ファイルディスクリプタ・フラグに \fIarg\fP で指定した値を設定する。 -.SS ファイル状態フラグ -.\" or -.\" .BR creat (2), -オープンファイル記述 (open file description) には、 ファイル記述毎に設定される状態フラグがいくつかある。これらのフラグは -\fBopen\fP(2) によって初期化され、 \fBfcntl\fP(2) により変更することもできる。これらは、 (\fBdup\fP(2), -\fBfcntl\fP(F_DUPFD), \fBfork\fP(2) などで) 複製されたファイルディスクリプタ同士は 同じオープンファイル記述を参照する。 -そのため、 同じファイル状態フラグが共有される。 - -ファイル状態フラグとその意味は \fBopen\fP(2) で説明されている。 -.TP -\fBF_GETFL\fP (\fIvoid\fP) -ファイルのアクセスモードとファイル状態フラグを取得する。 -\fIarg\fP は無視される。 -.TP -\fBF_SETFL\fP (\fIint\fP) -.\" FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable -.\" via fcntl(2), but currently Linux does not permit this -.\" See http://bugzilla.kernel.org/show_bug.cgi?id=5994 -ファイル状態フラグに \fIarg\fP で指定された値を設定する。 \fIarg\fP のうち、ファイルのアクセスモード (\fBO_RDONLY\fP, -\fBO_WRONLY\fP, \fBO_RDWR\fP) とファイル作成フラグ (すなわち \fBO_CREAT\fP, \fBO_EXCL\fP, -\fBO_NOCTTY\fP, \fBO_TRUNC\fP) に関するビットは無視される。 Linux では、このコマンドで変更できるのは -\fBO_APPEND\fP, \fBO_ASYNC\fP, \fBO_DIRECT\fP, \fBO_NOATIME\fP, \fBO_NONBLOCK\fP フラグだけである。 -.SS アドバイザリ・ロック -\fBF_GETLK\fP, \fBF_SETLK\fP, \fBF_SETLKW\fP は、レコード・ロックの獲得/解放/テストのために使用する -(レコード・ロックはファイルセグメント・ロックや ファイル領域ロックとも呼ばれる)。 三番目の引き数 \fIlock\fP -は、以下に示すフィールドを含む構造体へのポインタである (フィールドの順序は関係なく、構造体に他のフィールドがあってもよい)。 -.in +4n -.nf -.sp -struct flock { - ... - short l_type; /* Type of lock: F_RDLCK, - F_WRLCK, F_UNLCK */ - short l_whence; /* How to interpret l_start: - SEEK_SET, SEEK_CUR, SEEK_END */ - off_t l_start; /* Starting offset for lock */ - off_t l_len; /* Number of bytes to lock */ - pid_t l_pid; /* PID of process blocking our lock - (F_GETLK only) */ - ... -}; -.fi -.in -.P -この構造体の \fIl_whence\fP, \fIl_start\fP, \fIl_len\fP フィールドで、ロックを行いたいバイト範囲を指定する。 -ファイルの末尾より後ろのバイトをロックすることはできるが、 ファイルの先頭より前のバイトをロックすることはできない。 - -\fIl_start\fP はロックを行う領域の開始オフセットである。 その意味は \fIl_whence\fP により異なる: \fIl_whence\fP が -\fBSEEK_SET\fP の場合はファイルの先頭からのオフセット、 \fIl_whence\fP が \fBSEEK_CUR\fP -の場合は現在のファイルオフセットからのオフセット、 \fIl_whence\fP が \fBSEEK_END\fP -の場合はファイルの末尾からのオフセットと解釈される。 後ろの2つの場合には、 ファイルの先頭より前にならない範囲で、 \fIl_start\fP -に負の値を指定することができる。 - -\fIl_len\fP はロックしたいバイト数を示す。 \fIl_len\fP が正の場合、ロックされるバイト範囲は \fIl_start\fP 以上 -\fIl_start\fP+\fIl_len\fP\-\fI1\fP 以下となる。 \fIl_len\fP に 0 を指定した場合は特別な意味を持つ: \fIl_whence\fP -and \fIl_start\fP で指定される位置からファイルの末尾までの全てのバイトをロックする -(ファイルがどんなに大きくなったとしてもファイルの末尾までロックする)。 - -POSIX.1\-2001 では、負の値の \fIl_len\fP をサポートする実装を認めている (必須ではない)。 \fIl_len\fP -が負の場合、ロックされるバイト範囲は \fIl_start\fP+\fIl_len\fP 以上 \fIl_start\fP\-1 以下となる。 この動作はカーネル -2.4.21 以降および 2.5.49 以降の Linux で サポートされている。 - -\fIl_type\fP フィールドは、ファイルに対して読み出しロック (\fBF_RDLCK\fP) と書き込みロック (\fBF_WRLCK\fP) のどちらを -設定するかを指定する。 ファイルのある領域に対して、読み出しロック (共有ロック) を保持できる プロセス数に制限はないが、書き込みロック -(排他ロック) を保持できる のは一つのプロセスだけである。排他ロックを設定すると、(共有ロックか 排他ロックにかかわらず) -他のロックは何も設定できない。 一つのプロセスは、ファイルのある領域に対して一種類のロックしか保持できない。 -新規のロックがロックが設定されている領域に対して適用されると、既存のロック は新規のロックの種別に変換される -(新規のロックで指定されたバイト範囲が既存ロックの範囲と一致する場合以外では、 変換の過程で既存のロックの分割、縮小、結合が行われることがある)。 -.TP -\fBF_SETLK\fP (\fIstruct flock *\fP) -(\fIl_type\fP が \fBF_RDLCK\fP か \fBF_WRLCK\fP の場合は) ロックの獲得を、 (\fBF_UNLCK\fP の場合は) -ロックの解放を、 \fIflock\fP 構造体のフィールド \fIl_whence\fP, \fIl_start\fP, \fIl_len\fP -で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 \-1 を返し、 \fIerrno\fP に -\fBEACCES\fP か \fBEAGAIN\fP を設定する。 -.TP -\fBF_SETLKW\fP (\fIstruct flock *\fP) -\fBF_SETLK\fP と同様だが、こちらではそのファイルに対して衝突するロックが 適用されていた場合に、そのロックが解放されるのを待つ点が異なる。 -待っている間にシグナルを受けた場合は、システムコールは中断され、 (シグナルハンドラが戻った直後に) 返り値 \-1 を返す (また \fIerrno\fP に -\fBEINTR\fP が設定される; \fBsignal\fP(7) 参照)。 -.TP -\fBF_GETLK\fP (\fIstruct flock *\fP) -このコールの呼び出し時には、 \fIlock\fP にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、 -\fBfcntl\fP() は実際にはロックを行わず、構造体 \fIlock\fP の \fIl_type\fP フィールドに \fBF_UNLCK\fP -を設定し、他のフィールドは変更せずに、復帰する。 違う種別のロックが (一つもしくは複数) 適用されていて ロックを適用できないような場合には、 -\fBfcntl\fP() は、原因となったロックの一つについての詳細情報を構造体 \fIlock\fP のフィールド \fIl_type\fP, -\fIl_whence\fP, \fIl_start\fP, \fIl_len\fP に格納し、また \fIl_pid\fP にロックを保持しているプロセスの PID -を設定して、復帰する。 -.P -読み出しロックを適用するには、 \fIfd\fP は読み出し用にオープンされていなければならない。 書き込みロックを適用するには、 \fIfd\fP -は書き込み用にオープンされていなければならない。 読み書き両方のロックを適用するには、読み書き両用で ファイルをオープンしなければならない。 -.P -.\" (Additional file descriptors referring to the same file -.\" may have been obtained by calls to -.\" .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().) -レコードのロックは、 \fBF_UNLCK\fP により明示的に削除されるだけでなく、 プロセスが終了したときや、ロックが適用されているファイルを参照している -ファイルディスクリプタのいずれかがクローズされた場合にも解放される。 このロックの解放は自動的に行われる。 この動作はまずい: あるプロセスが -\fI/etc/passwd\fP や \fI/etc/mtab\fP といったファイルにロックを適用しているときに、 -あるライブラリ関数が何かの理由で同じファイルを open, read, close すると、そのファイルへのロックが失われることになる。 -.P -レコードのロックは \fBfork\fP(2) で作成された子プロセスには継承されないが、 \fBexecve\fP(2) の前後では保存される。 -.P -\fBstdio\fP(3) ではバッファリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに -\fBread\fP(2) や \fBwrite\fP(2) を使用すること。 -.SS "強制ロック (mandatory locking)" -上述のロックにはアドバイザリ・ロック (advisory lock) と強制ロック (mandatory lock) -の二種類があるが、デフォルトではアドバイザリ・ロックとなる。 - -アドバイザリ・ロックに強制力はなく、協調して動作するプロセス間でのみ 有効である。 - -強制ロックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して (\fBread\fP(2) や -\fBwrite\fP(2) により) 互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で -\fBO_NONBLOCK\fP フラグが有効になっているかにより決まる。 \fBO_NONBLOCK\fP -フラグが有効になっていないときは、ロックが削除されるか、 ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 (block) -される。 \fBO_NONBLOCK\fP フラグが有効になっているときは、システムコールはエラー \fBEAGAIN\fP で失敗する。 - -強制ロックを使用するためには、ロック対象のファイルが含まれるファイルシステム -と、ロック対象のファイル自身の両方について、強制ロックが有効になっていなけれ ばならない。ファイルシステムについて強制ロックを有効にするには、 -\fBmount\fP(8) に "\-o mand" オプションを渡すか、 \fBmount\fP(2) に \fBMS_MANDLOCK\fP -フラグを指定する。ファイルについて強制ロックを有効にするには、 そのファイルのグループ実行許可 (group execute permission) -を無効とし、 かつ set\-group\-ID 許可ビットを有効にする (\fBchmod\fP(1) と \fBchmod\fP(2) を参照)。 - -Linux の強制ロックの実装は信頼性に欠けるものである。 下記の「バグ」の節を参照のこと。 -.SS シグナルの管理 -\fBF_GETOWN\fP, \fBF_SETOWN\fP, \fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_GETSIG\fP, -\fBF_SETSIG\fP は、I/O が利用可能になったことを示すシグナルを管理するために使用される。 -.TP -\fBF_GETOWN\fP (\fIvoid\fP) -ファイルディスクリプタ \fIfd\fP のイベントに対するシグナル \fBSIGIO\fP および \fBSIGURG\fP を受けているプロセスのプロセスID -かプロセスグループを (関数の結果として) 返す。 プロセスID は正の値として返される。 プロセスグループID は負の値として返される -(下記のバグの章を参照)。 \fIarg\fP は無視される。 -.TP -\fBF_SETOWN\fP (\fIint\fP) -ファイルディスクリプタ \fIfd\fP のイベント発生を知らせるシグナル \fBSIGIO\fP や \fBSIGURG\fP を受けるプロセスの プロセス ID -またはプロセスグループID を \fIarg\fP で指定された ID に設定する。 プロセスID は正の値として指定し、 プロセスグループID -は負の値として指定する。 ほとんどの場合、呼び出し元プロセスは所有者として自分自身を指定する (つまり \fIarg\fP に \fBgetpid\fP(2) -を指定する)。 - -.\" From glibc.info: -\fBfcntl\fP() の \fBF_SETFL\fP コマンドを使用してファイルディスクリプタに \fBO_ASYNC\fP -状態フラグを設定した場合には、そのファイルディスクリプタへの 入出力が可能になる度に \fBSIGIO\fP シグナルが送られる。 \fBF_SETSIG\fP は -\fBSIGIO\fP 以外の別のシグナルの配送を受けられるように するのにも使うことができる。 許可 (permission) -のチェックで失敗した場合には、 シグナルは黙って捨てられる。 - -\fBF_SETOWN\fP により指定された所有者のプロセス (またはプロセスグループ) に シグナルを送る際には、 \fBkill\fP(2) -に書かれているのと同じ許可のチェックが行われる。 このとき、シグナルを送信するプロセスは \fBF_SETOWN\fP を使ったプロセスである -(但し、下記の「バグ」の章を参照のこと)。 - -.\" The following appears to be rubbish. It doesn't seem to -.\" be true according to the kernel source, and I can write -.\" a program that gets a terminal-generated SIGIO even though -.\" it is not the foreground process group of the terminal. -.\" -- MTK, 8 Apr 05 -.\" -.\" If the file descriptor -.\" .I fd -.\" refers to a terminal device, then SIGIO -.\" signals are sent to the foreground process group of the terminal. -ファイルディスクリプタがソケットを参照している場合は、 \fBF_SETOWN\fP を使用して、ソケットに帯域外 (out\-of\-band) -データが届いた時に \fBSIGURG\fP シグナルを配送する相手を選択することもできる (\fBSIGURG\fP が送られた場合には \fBselect\fP(2) -がソケットが「特別な状態」にあると報告することだろう)。 - -バージョン 2.6.11 以前の 2.6.x カーネルでは、以下に示す動作であった。 -.RS -.IP -.\" The relevant place in the (2.6) kernel source is the -.\" 'switch' in fs/fcntl.c::send_sigio_to_task() -- MTK, Apr 2005 -.\" send_sigurg()/send_sigurg_to_task() bypasses -.\" kill_fasync()/send_sigio()/send_sigio_to_task() -.\" to directly call send_group_sig_info() -.\" -- MTK, Apr 2005 (kernel 2.6.11) -スレッドグループをサポートしているスレッドライブラリ (例えば NPTL) を 使って動作しているマルチスレッド・プロセスで \fBF_SETSIG\fP に -0 以外の値を指定した場合、 \fBF_SETOWN\fP に正の値を渡すと、その意味が違ってくる: プロセス全体を示すプロセスID -ではなく、プロセス内の特定の スレッドを示すスレッドID と解釈される。 したがって、 \fBF_SETSIG\fP -を使う場合には、きちんと結果を受け取るには、 \fBF_SETOWN\fP に渡す値を \fBgetpid\fP(2) ではなく \fBgettid\fP(2) -の返り値にする必要があるだろう。 (現状の Linux スレッド実装では、メイン・スレッドのスレッドID は そのスレッドのプロセスID -と同じである。つまり、 シグナル・スレッドのプログラムではこの場合 \fBgettid\fP(2) と \fBgetpid\fP(2) -は全く同じように使うことができる。) ただし、注意すべき点として、この段落で述べたことは、 ソケットの帯域外データが届いたときに生成される -\fBSIGURG\fP シグナルにはあてはまらない。 このシグナルは常にプロセスかプロセスグループに送られ、 送信先は \fBF_SETOWN\fP -に渡された値にしたがって決められる。 -.RE -.IP -上記の動作は、Linux 2.6.12 で図らずも削除され、 元に戻されない予定である。 Linux 2.6.32 以降で、特定のスレッド宛にシグナル -\fBSIGIO\fP と \fBSIGURG\fP を送るには \fBF_SETOWN_EX\fP を使うこと。 -.TP -\fBF_GETOWN_EX\fP (struct f_owner_ex *) (Linux 2.6.32 以降) -直前の \fBF_SETOWN_EX\fP 操作で定義された現在のファイルディスクリプタの所有者設定 を返す。情報は \fIarg\fP -が指す構造体に格納されて返される。構造体は以下の通りである。 -.nf -.in +4n - -struct f_owner_ex { - int type; - pid_t pid; -}; - -.in -.fi -\fItype\fP フィールドは、 \fBF_OWNER_TID ,\fP \fBF_OWNER_PID ,\fP \fBF_OWNER_PGRP\fP -のいずれか一つの値となる。 \fIpid\fP フィールドは、スレッド ID、プロセス ID、プロセスグループ ID を 表す正の整数である。詳細は -\fBF_SETOWN_EX\fP を参照。 -.TP -\fBF_SETOWN_EX\fP (struct f_owner_ex *) (Linux 2.6.32 以降) -この操作は \fBF_SETOWN\fP と同様の処理を行う。 この操作を使うと、I/O が利用可能になったことを示すシグナルを、 -特定のスレッド、プロセス、プロセスグループに送ることができる ようになる。 呼び出し元は、 \fIarg\fP 経由でシグナルの配送先を指定する。 -\fIarg\fP は \fIf_owner_ex\fP 構造体へのポインタである。 \fItype\fP フィールドは以下のいずれかの値を取り、 この値により -\fIpid\fP がどのように解釈されるかが規定される。 -.RS -.TP -\fBF_OWNER_TID\fP -スレッド ID が \fIpid\fP で指定された値のスレッドにそのシグナルを送る (スレッド ID は \fBclone\fP(2) や -\fBgettid\fP(2) の呼び出しで返される値である)。 -.TP -\fBF_OWNER_PID\fP -ID が \fIpid\fP で指定された値のプロセスにそのシグナルを送る。 -.TP -\fBF_OWNER_PGRP\fP -ID が \fIpid\fP で指定された値のプロセスグループにそのシグナルを送る。 (\fBF_SETOWN\fP と異なり、プロセスグループ ID -には正の値を指定する点に注意すること。) -.RE -.TP -\fBF_GETSIG\fP (\fIvoid\fP) -入力や出力が可能になった場合に送るシグナルを (関数の結果として) 返す。 値ゼロは \fBSIGIO\fP を送ることを意味する。 (\fBSIGIO\fP -を含む) 他の値はいずれも、 \fBSIGIO\fP の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラを \fBSA_SIGINFO\fP -フラグ付きで設定すれば、ハンドラで追加の情報を得ることができる。 \fIarg\fP は無視される。 -.TP -\fBF_SETSIG\fP (\fIint\fP) -.\" -.\" The following was true only up until 2.6.11: -.\" -.\" Additionally, passing a nonzero value to -.\" .B F_SETSIG -.\" changes the signal recipient from a whole process to a specific thread -.\" within a process. -.\" See the description of -.\" .B F_SETOWN -.\" for more details. -入力や出力が可能になった場合に送るシグナルを \fIarg\fP に指定された値に設定する。 値ゼロは \fBSIGIO\fP を送ることを意味する。 -(\fBSIGIO\fP を含む) 他の値はいずれも、 \fBSIGIO\fP の代わりに送るシグナル番号を表す。 後者の場合、シグナルハンドラを -\fBSA_SIGINFO\fP フラグ付きで設定すれば、 ハンドラで追加の情報を得ることができる。 - -\fBF_SETSIG\fP にゼロ以外の値を設定し、シグナルハンドラに \fBSA_SIGINFO\fP フラグを設定すると、 (\fBsigaction\fP(2) -を参照) I/O イベントに関する追加の情報が \fIsiginfo_t\fP 構造体でシグナルハンドラへ渡される。 \fIsi_code\fP -フィールドが示すシグナルの原因が \fBSI_SIGIO\fP である場合、 \fIsi_fd\fP -フィールドにはイベントに対応するファイルディスクリプタが入っている。 それ以外の場合は、どのファイルディスクリプタが利用可能かを示す情報は -ないので、どのファイルディスクリプタで I/O が可能かを判断するためには 通常の機構 (\fBselect\fP(2), \fBpoll\fP(2), -\fBO_NONBLOCK\fP を設定した \fBread\fP(2) など) を使用しなければならない。 - -リアルタイムシグナル (値が \fBSIGRTMIN\fP 以上) を選択している場合は、 同じシグナル番号を持つ複数の I/O -イベントがキューに入ることがある (キューに入れるかどうかは利用可能なメモリに依存している)。 上記と同様、 \fBSA_SIGINFO\fP -が設定されている場合、シグナルハンドラのための追加の情報が得られる。 - -.\" See fs/fcntl.c::send_sigio_to_task() (2.4/2.6) sources -- MTK, Apr 05 -以下の点に注意すること。 Linux では一つのプロセスに対してキューに入れられるリアルタイム シグナルの数に上限が設けられており -(\fBgetrlimit\fP(2) と \fBsignal\fP(7) を参照)、この上限に達するとカーネルは \fBSIGIO\fP シグナルを配送する。この -\fBSIGIO\fP シグナルは、指定されたスレッドではなくプロセス全体に送られる。 -.PP -これらの機構を使用することで、ほとんどの場合で \fBselect\fP(2) や \fBpoll\fP(2) を使用せずに完全な非同期 I/O -を実装することができる。 -.PP -\fBO_ASYNC\fP, \fBF_GETOWN\fP, \fBF_SETOWN\fP の使用は BSD と Linux に特有である。 -\fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_GETSIG\fP, \fBF_SETSIG\fP は Linux 固有である。POSIX -には、同様のことを行うために、非同期 I/O と \fIaio_sigevent\fP 構造体がある。Linux では、GNU C ライブラリ (Glibc) -の一部として これらも利用可能である。 -.SS "リース (leases)" -(Linix 2.4 以降で利用可能) \fBF_SETLEASE\fP は、 \fIfd\fP -が参照するオープンファイル記述に対して新しいリースを設定するのに使用される。 \fBF_GETLEASE\fP は、 \fIfd\fP -が参照するオープンファイル記述に対して設定されている 現在のリースを取得するのに使用される。 ファイルのリースにより、 あるプロセス ("lease -breaker") がそのファイルディスクリプタが参照 しているファイルに対して \fBopen\fP(2) や \fBtruncate\fP(2) -を行おうとした際に、リースを保持しているプロセス ("lease holder") へ (シグナルの配送による) 通知が行われるという機構が提供される。 -.TP -\fBF_SETLEASE\fP (\fIint\fP) -\fIarg\fP の内容に基いてファイルのリースの設定、削除を行う。整数 \fIarg\fP には以下の値が指定できる: -.RS -.TP -\fBF_RDLCK\fP -.\" The following became true in kernel 2.6.10: -.\" See the man-pages-2.09 Changelog for further info. -読み出しリースを取得する。これにより、 そのファイルが書き込み用にオープンされたり、ファイルが切り詰められた場合に、 -呼び出し元のプロセスに通知が行われるようになる。 読み出しリースを設定できるのは、読み出し専用でオープンされている -ファイルディスクリプタに対してのみである。 -.TP -\fBF_WRLCK\fP -書き込みリースを取得する。これにより、 (読み出し用か書き込み用にかかわらず) そのファイルがオープンされたり、 -ファイルが切り詰められた場合に、呼び出し元のプロセスに通知が行われるようになる。 -書き込みリースは、そのファイルに対するオープンされたファイルディスクリプタが 他にない場合にのみ設定できる。 -.TP -\fBF_UNLCK\fP -そのファイルからリースを削除する。 -.RE -.P -リースはオープンファイル記述に対して関連付けられる (\fBopen\fP(2) 参照)。 つまり、 (\fBfork\fP(2) や \fBdup\fP(2) -などにより作成された) ファイルディスクリプタの複製は同じリースを参照し、 複製も含めたどのファイルディスクリプタを使ってもこのリースを変更したり -解放したりできる。 また、これらのファイルディスクリプタのいずれかに対して \fBF_UNLCK\fP -操作が明示的に実行された場合や、すべてのファイルディスクリプタが 閉じられた場合にも、リースは解放される。 -.P -リースの取得は通常のファイル (regular file) に対してのみ可能である。 非特権プロセスがリースを取得できるのは、UID (所有者) -がプロセスの ファイルシステム UID と一致するファイルに対してだけである。 \fBCAP_LEASE\fP -ケーパビリティを持つプロセスは任意のファイルに対してリースを取得できる。 -.TP -\fBF_GETLEASE\fP (\fIvoid\fP) -ファイルディスクリプタ \fIfd\fP に対して設定されているリースの種別を取得する。 \fBF_RDLCK\fP, \fBF_WRLCK\fP, \fBF_UNLCK\fP -のいずれかが返される。 \fBF_RDLCK\fP, \fBF_WRLCK\fP はそれぞれ、読み出しリース、書き込みリースが設定されていることを示し、 -\fBF_UNLCK\fP はリースが何も設定されていないことを示す。 \fIarg\fP は無視される。 -.PP -あるプロセス ("lease breaker") が \fBF_SETLEASE\fP で設定されたリースと矛 -盾するような \fBopen\fP(2) や \fBtruncate\fP(2) を実行した場合、 そのシステム -コールはカーネルによって停止され、 カーネルは lease holder にシグナル -(デフォルトでは \fBSIGIO\fP) を送って通知を行う。 lease holder はこのシグ -ナルを受信したときにはきちんと対応すべきである。 具体的には、別のプロセ -スがそのファイルにアクセスするための準備として 必要な後片付け (例えば、 -キャッシュされたバッファのフラッシュ) を すべて行ってから、そのファイル -のリースの削除または格下げを行う。リースを削除をするには、 \fIarg\fP に -\fBF_UNLCK\fP を指定して \fBF_SETLEASE\fP を実行する。lease holder がファイル -に書き込みリースを保持していて、 lease breaker が読み出し用にそのファイ -ルをオープンしている場合、 lease holder が保持しているリースを読み出し -リースに格下げすれば 十分である。これをするには、 \fIarg\fP に \fBF_RDLCK\fP -を指定して \fBF_SETLEASE\fP を実行する。 - -lease holder が \fI/proc/sys/fs/lease\-break\-time\fP -で指定された秒数以内にリースの格下げか削除を行えなかった場合、 カーネルは強制的にその lease holder のリースを削除もしくは格下げを行う。 - -いったん lease break が開始されると、 lease holder が自発的にそのリース -の格下げか削除を行うか、lease break timer の満了後にカーネルが強制的に -リースの格下げか削除を行うまで、 \fBF_GETLEASE\fP は対象となるリースの型を -返す (リースの型は \fBF_RDLCK\fP か \fBF_UNLCK\fP のどちらであり、lease -breaker と互換性のある型となる)。 - -一度リースの削除か格下げが自発的もしくは強制的に行われると、 lease breaker がまだシステムコールを再開していない場合には、 カーネルが -lease breaker のシステムコールの続行を許可する。 - -lease breaker が実行した \fBopen\fP(2) や \fBtruncate\fP(2) が停止中にシグナルハンドラにより中断された場合、 -そのシステムコールは \fBEINTR\fP エラーで失敗するが、上で述べた他の処理は そのまま行われる。 \fBopen\fP(2) や -\fBtruncate\fP(2) が停止中に lease breaker がシグナルにより kill された場合、 上で述べた他の処理はそのまま行われる。 -lease breaker が \fBopen\fP(2) を呼ぶ際に \fBO_NONBLOCK\fP フラグを指定した場合、そのシステムコールは -\fBEWOULDBLOCK\fP エラーで直ちに失敗するが、上で述べた他の処理はそのまま行われる。 - -lease holder への通知に使われるデフォルトのシグナルは \fBSIGIO\fP だが、 \fBfcntl\fP() の \fBF_SETSIG\fP -コマンドで変更することができる。 \fBF_SETSIG\fP コマンドが実行され (\fBSIGIO\fP を指定された場合も含む)、 \fBSA_SIGINFO\fP -フラグ付きでシグナルハンドラが設定されている場合には、 ハンドラの第二引き数として \fIsiginfo_t\fP 構造体が渡され、この引き数の -\fIsi_fd\fP フィールドには別のプロセスがアクセスしたリース設定済みファイルの ディスクリプタが入っている -(この機能は複数のファイルに対してリースを設定する場合に有用である)。 -.SS "ファイルやディレクトリの変更の通知 (dnotify)" -.TP -\fBF_NOTIFY\fP (\fIint\fP) -(Linux 2.4 以降) \fIfd\fP で参照されるディレクトリか、その中にあるファイルに変更があった場合に 通知を行う。どのイベントを通知するかは -\fIarg\fP で指定する。 \fIarg\fP はビットマスクで、以下のビットの 0個以上の論理和をとったものを指定する。 -.RS -.sp -.PD 0 -.TP 12 -\fBDN_ACCESS\fP -ファイルへのアクセスがあった (read, pread, readv) -.TP -\fBDN_MODIFY\fP -ファイルの内容が変更された (write, pwrite, writev, truncate, ftruncate). -.TP -\fBDN_CREATE\fP -ファイルが作成された (open, creat, mknod, mkdir, link, symlink, rename). -.TP -\fBDN_DELETE\fP -ファイルが削除 (unlink) された (unlink, 別のディレクトリへの rename, rmdir) -.TP -\fBDN_RENAME\fP -ディレクトリ内でのファイル名の変更があった (rename) -.TP -\fBDN_ATTRIB\fP -ファイル属性が変更された (chown, chmod, utime[s]) -.PD -.RE -.IP -(上記の定義を利用するには、\fIどの\fP ヘッダファイルをインクルードするより前に、 -\fB_GNU_SOURCE\fP 機能検査マクロを定義しなければならない。) - -ディレクトリの変更通知は通常「一回限り (one\-shot)」であり、 アプリケーション側でその後さらに通知を受信したい場合は -再登録しなければならない。 \fIarg\fP に \fBDN_MULTISHOT\fP が含まれていた場合には、 -変更通知は明示的に解除されるまで有効状態が継続する。 - -.\" The following does seem a poor API-design choice... -\fBF_NOTIFY\fP 要求は積算されていく。つまり、 \fIarg\fP で指定されたイベントがすでにモニタされている イベント集合に加算される形になる。 -すべてのイベントの通知を無効にするには、 \fIarg\fP に 0 を指定して \fBF_NOTIFY\fP を呼び出す必要がある。 - -通知はシグナルの配送で行われる。 デフォルトのシグナルは \fBSIGIO\fP だが、 \fBfcntl\fP() の \fBF_SETSIG\fP -コマンドで変更することができる。 後者の場合には、 (\fBSA_SIGINFO\fP フラグ付きでシグナルハンドラが設定されている場合には) -ハンドラの第二引き数として \fIsiginfo_t\fP 構造体が渡され、この構造体の \fIsi_fd\fP -フィールドには通知の行われたファイルディスクリプタが入っている (この機能は複数のディレクトリに対して通知を設定する場合に有用である)。 - -特に \fBDN_MULTISHOT\fP を使う場合は、通知にはリアルタイムシグナルを使うべきである。 -それは、リアルタイムシグナルを使うことで、複数の通知をキューに入れる ことができるからである。 - -\fB注意:\fP 新しくアプリケーションを書く際には、(カーネル 2.6.13 以降で利用可能となった) \fIinotify\fP -インタフェースを使用すべきである。 \fIinotify\fP はファイルシステムイベントの通知を取得するための ずっと優れたインタフェースである。 -\fBinotify\fP(7) を参照。 -.SS パイプの容量の変更 -.TP -\fBF_SETPIPE_SZ\fP (\fIint\fP; Linux 2.6.35 以降) -\fIfd\fP が参照するパイプの容量を少なくとも \fIarg\fP バイトに変更する。 -非特権プロセスは、パイプの容量として、 -システムのページサイズと \fI/proc/sys/fs/pipe\-max\-size\fP で定義される -上限値 (\fBproc\fP(5) 参照) の間の任意の値を設定できる。 -パイプの容量をページサイズよりも小さな値に設定しようとした場合は、 -暗黙のうちにページサイズに切り上げられる。 -非特権プロセスがパイプの容量を \fI/proc/sys/fs/pipe\-max\-size\fP で定義 -された上限より大きな値に設定しようとした場合は、エラー \fBEPERM\fP が -発生する。特権プロセス (\fBCAP_SYS_RESOURCE\fP ケーパビリティを持つ -プロセス) はこの上限を上書きできる。 -パイプにバッファを割り当てる場合、実装側の都合に応じて、 -カーネルは \fIarg\fP よりも大きな容量を割り当ててもよい。 -\fBF_GETPIPE_SZ\fP 操作では実際に使用されている大きさが返される。 -パイプの容量を現在データを格納するのに使用されているバッファの -サイズよりも小さくしようとした場合は、エラー \fBEBUSY\fP が発生する。 -.TP -\fBF_GETPIPE_SZ\fP (\fIvoid\fP; Linux 2.6.35 以降) -\fIfd\fP が参照するパイプの容量を (関数の結果として) 返す。 -.SH 返り値 -成功した場合の返り値は操作の種類により違う: -.TP 0.9i -\fBF_DUPFD\fP -新しいディスクリプタを返す。 -.TP -\fBF_GETFD\fP -ファイルディスクリプタ・フラグの値 -.TP -\fBF_GETFL\fP -ファイル状態フラグの値 -.TP -\fBF_GETLEASE\fP -ファイルディスクリプタに対して保持されているリースの種別を返す。 -.TP -\fBF_GETOWN\fP -ディスクリプタの所有者を返す。 -.TP -\fBF_GETSIG\fP -読み込みや書き出しが可能になった時に送られるシグナルの値、もしくは 伝統的な \fBSIGIO\fP 動作の場合にはゼロを返す。 -.TP -\fBF_GETPIPE_SZ\fP -パイプの容量。 -.TP -他の全てのコマンド -0 を返す。 -.PP -エラーの時は \-1 が返され、 \fIerrno\fP に適切な値が設定される。 -.SH エラー -.TP -\fBEACCES\fP か \fBEAGAIN\fP -他のプロセスが保持しているロックによって操作が禁止されている。 -.TP -\fBEAGAIN\fP -そのファイルは他のプロセスによってメモリ・マップされているため、 操作が禁止されている。 -.TP -\fBEBADF\fP -\fIfd\fP がオープンされたファイルディスクリプタでない。 あるいはコマンドが \fBF_SETLK\fP または \fBF_SETLKW\fP -だったが、対象のファイルディスクリプタのオープンモードが 必要となるロックの型にマッチしていない。 -.TP -\fBEDEADLK\fP -指定された \fBF_SETLKW\fP コマンドを実行した場合にはデッドロックになることが検出された。 -.TP -\fBEFAULT\fP -\fIlock\fP が利用可能なアドレス空間の外部にある。 -.TP -\fBEINTR\fP -\fBF_SETLKW\fP コマンドがシグナルにより割り込まれた (\fBsignal\fP(7) 参照)。 \fBF_GETLK\fP と \fBF_SETLK\fP -の場合、ロックを確認したり取得したりする前にシグナルによって割り込まれた。 これはたいていリモートのファイルをロックする場合 (例えば NFS -上でロックする場合) に起こる。 しかしローカルでも起こる場合がある。 -.TP -\fBEINVAL\fP -\fBF_DUPFD\fPで、 \fIarg\fP が負か、もしくは許される最大値よりも大きい。 \fBF_SETSIG\fP の場合、 \fIarg\fP -が利用可能なシグナル番号ではない。 -.TP -\fBEMFILE\fP -\fBF_DUPFD\fPで、 プロセスがすでに最大数までファイルディスクリプタをオープンしている。 -.TP -\fBENOLCK\fP -オープンされているロックの数が多過ぎて、ロック・テーブルがいっぱいである。 または remote locking protocol (例えば NFS -上のロック) が失敗した。 -.TP -\fBEPERM\fP -追加専用属性が設定されたファイルの \fBO_APPEND\fP フラグをクリアしようと試みた。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. POSIX.1\-2001 で規定されている操作は、 -\fBF_DUPFD\fP, \fBF_GETFD\fP, \fBF_SETFD\fP, \fBF_GETFL\fP, \fBF_SETFL\fP, -\fBF_GETLK\fP, \fBF_SETLK\fP, \fBF_SETLKW\fP だけである。 - -\fBF_GETOWN\fP と \fBF_SETOWN\fP は POSIX.1\-2001 で規定されている。 -(これら定義するには、 \fBBSD_SOURCE\fP を定義するか、 -\fB_XOPEN_SOURCE\fP を 500 以上の値で定義するか、 -\fB_POSIX_C_SOURCE\fP を 200809L 以上の値で定義すること。) - -\fBF_DUPFD_CLOEXEC\fP は POSIX.1\-2008 で規定されている。 -(これら定義するには、 -\fB_POSIX_C_SOURCE\fP を 200809L 以上の値で定義するか、 -\fB_XOPEN_SOURCE\fP を 700 以上の値で定義すること。) - -.\" .PP -.\" SVr4 documents additional EIO, ENOLINK and EOVERFLOW error conditions. -\fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_SETPIPE_SZ\fP, \fBF_GETPIPE_SZ\fP, -\fBF_GETSIG\fP, -\fBF_SETSIG\fP, \fBF_NOTIFY\fP, \fBF_GETLEASE\fP, \fBF_SETLEASE\fP は Linux 固有である -(これらの定義を有効にするには \fB_GNU_SOURCE\fP マクロを定義すること)。 -.SH 注意 -元々の Linux の \fBfcntl\fP() システムコールは (\fIflock\fP 構造体で) 大きな -ファイルオフセットを扱えるように設計されていなかった。 -その結果、Linux 2.4 で \fBfcntl64\fP() システムコールが追加された。 -この新しいシステムコールは、ファイルのロックに \fIflock64\fP という別の -構造体を利用し、これに対応するコマンドとして \fBF_GETLK64\fP, -\fBF_SETLK64\fP, \fBF_SETLKW64\fP を使用する。 -しかし、 glibc を使うアプリケーションではこれらの詳細を無視することが -できる。 glibc の \fBfcntl\fP のラッパー関数は新しいシステムコールが -利用できる場合はそれを利用するようになっているからである。 - -エラーの際の返り値が \fBdup2\fP(2) と \fBF_DUPFD\fP では異なっている。 - -カーネル 2.0 以降では、 \fBflock\fP(2) と \fBfcntl\fP() が設定するロック種別の間に相互作用はない。 - -.\" e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5 -.\" documents it in fcntl(5). mtk, May 2007 -システムによっては、 \fIstruct flock\fP に上記以外のフィールドがあるものもある (例えば \fIl_sysid\fP)。 -はっきりと言えることは、ロックを保持しているプロセスが別のマシンに存在 する場合には、 \fIl_pid\fP -だけはあまり役にたたないだろうということである。 -.SH バグ -.\" glibc source: sysdeps/unix/sysv/linux/i386/sysdep.h -.\" mtk, Dec 04: some limited testing on alpha and ia64 seems to -.\" indicate that ANY negative PGID value will cause F_GETOWN -.\" to misinterpret the return as an error. Some other architectures -.\" seem to have the same range check as i386. -いくつかのアーキテクチャ (特に i386) における Linux システムコールの慣習 -のため以下の制限が存在する。 -\fBF_GETOWN\fP が返す (負の) プロセスグループID が \-1 から \-4095 の範囲に入った場合、 -glibc はこの返り値をシステムコールでエラーが起こったと間違って解釈してしまう。 -つまり、 \fBfcntl\fP() の返り値は \-1 となり、 \fIerrno\fP には (正の) プロセスグループID -が設定されることになる。Linux 固有の \fBF_GETOWN_EX\fP ではこの問題を回避できる。 -glibc バージョン 2.11 以降では、glibc では \fBF_GETOWN_EX\fP を使って -\fBF_GETOWN\fP を実装することで、カーネルの \fBF_GETOWN\fP の問題を見えないようにしている。 - -Linux 2.4 以前では、非特権プロセスが \fBF_SETOWN\fP を使って、ソケットのファイルディスクリプタの所有者に 呼び出し元以外のプロセス -(やプロセスグループ) を指定すると 発生するバグがある。この場合、 呼び出し元が所有者として指定したプロセス (やプロセスグループ) に -シグナルを送る許可を持っていたとしても、 \fBfcntl\fP() が \-1 を返し \fIerrno\fP に \fBEPERM\fP を設定することがある。 -このエラーが返ったにもかかわらず、ファイルディスクリプタの所有者 は設定され、シグナルはその所有者に送られる。 - -.\" http://marc.info/?l=linux-kernel&m=119013491707153&w=2 -これまでの Linux の全てのバージョンにおける強制ロックの実装は、 競合条件下で強制ロックが不完全になるような場合がある。 -ロックと重なって実行された \fBwrite\fP(2) の呼び出しは強制ロックが獲得された後にもデータを変更することができる。 ロックと重なって実行された -\fBread\fP(2) の呼び出しは強制ロックが獲得された後になって行われたデータの変更を 検出することができる。 同様の競合条件が強制ロックと -\fBmmap\fP(2) の間にも存在する。それゆえ、強制ロックに頼るのはお薦めできない。 -.SH 関連項目 -\fBdup2\fP(2), \fBflock\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBlockf\fP(3), -\fBcapabilities\fP(7), \fBfeature_test_macros\fP(7) -.P -カーネルソースの \fIDocumentation/filesystems/\fP ディレクトリ内の \fIlocks.txt\fP, -\fImandatory\-locking.txt\fP, \fIdnotify.txt\fP も参照のこと。 (以前のカーネルでは、これらのファイルは -\fIDocumentation/\fP ディレクトリ直下にあり、 \fImandatory\-locking.txt\fP は \fImandatory.txt\fP -という名前であった。) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/flock.2 b/draft/man2/flock.2 deleted file mode 100644 index 8dcc665d..00000000 --- a/draft/man2/flock.2 +++ /dev/null @@ -1,136 +0,0 @@ - -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) and -.\" and Copyright 2002 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Fri Jan 31 16:26:07 1997 by Eric S. Raymond -.\" Modified Fri Dec 11 17:57:27 1998 by Jamie Lokier -.\" Modified 24 Apr 2002 by Michael Kerrisk -.\" Substantial rewrites and additions -.\" 2005-05-10 mtk, noted that lock conversions are not atomic. -.\" -.\" FIXME: Maybe document LOCK_MAND, LOCK_RW, LOCK_READ, LOCK_WRITE -.\" which only have effect for SAMBA. -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FLOCK 2 2009\-07\-25 Linux "Linux Programmer's Manual" -.SH 名前 -flock \- オープンされたファイルに対するアドバイザリ・ロックの適用、解除を行う -.SH 書式 -\fB#include \fP -.sp -\fBint flock(int \fP\fIfd\fP\fB, int \fP\fIoperation\fP\fB);\fP -.SH 説明 -オープンされたファイルにアドバイザリ・ロック (advisory lock) の適用 や解除を行う。 ファイルは \fIfd\fP で指定する。引き数 -\fIoperation\fP には以下のいずれか一つを指定する: -.RS 4 -.TP 9 -\fBLOCK_SH\fP -共有ロックを適用する。 指定したファイルに対して、 一つ以上のプロセスが同時に共有ロックを保持することができる。 -.TP -\fBLOCK_EX\fP -排他ロックを適用する。 指定したファイルに対して、 ただ一つのプロセスだけが同時に排他ロックを保持することができる。 -.TP -\fBLOCK_UN\fP -このプロセスが保持している既存のロックを解除する。 -.RE -.PP -\fBflock\fP() を呼び出したときに、指定したロック種別と異なるロックが別プロセスによって 保持されていると、 \fBflock\fP() は停止 -(block) されることがある。 非停止 (nonblocking) タイプの要求を行うためには、 上記の操作 (operation) に -\fBLOCK_NB\fP を論理和の形で指定する。 - -一つのファイルに共有ロックと排他ロックを同時に設定することはできない。 - -\fBflock\fP() によって作られるロックは、 オープンされたファイルのテーブル・エントリと関連付けられる。 -したがって、ファイル・ディスクリプタの複製 (\fBfork\fP(2) や \fBdup\fP(2) などにより作成される) は同じロックを参照し、 -これらのファイル・ディスクリプタのどれを使っても このロックを変更したり解放したりできる。 また、ロックの解放は、 -上記の複数のファイル・ディスクリプタのいずれかに対して 明示的に \fBLOCK_UN\fP 操作を指示した場合か、これらのファイル・ディスクリプタがすべて -閉じられた場合に行われる。 - -あるプロセスが \fBopen\fP(2) (もしくは同様の方法) を使って同じファイルに対して 複数のディスクリプタを取得した場合、 \fBflock\fP() -はこれら複数のディスクリプタを各々独立のものとして扱う。 これらのファイル・ディスクリプタの一つを使ってファイルをロックしようと -した際、そのロック要求は、呼び出し元のプロセスがそのファイルの別の ディスクリプタ経由ですでに設定しているロックによって拒否される場合がある。 - -一つのプロセスは、一つのファイルに対して (共有ロックと排他ロックのうち) いずれか一種類のロックしか設定できない。 既にロックされたファイルに対して -\fBflock\fP() を呼び出すと、既存のロックを新しいロックモードに変更することになる。 - -\fBflock\fP() により作成されたロックは \fBexecve\fP(2) の前後で保存される。 - -共有ロックも排他ロックも、ファイルがどのモードでオープンされたかに 関係なく適用することができる。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEBADF\fP -\fIfd\fP がオープンされたファイル・ディスクリプタではない。 -.TP -\fBEINTR\fP -ロックの獲得を待っている間に、ハンドラにより捕捉されたシグナルを 受信し、 \fBflock\fP() が中断された。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fIoepration\fP が無効である。 -.TP -\fBENOLCK\fP -ロック・レコードを割り当てるためのメモリが不足している。 -.TP -\fBEWOULDBLOCK\fP -指定したファイルがロックされており、 \fBLOCK_NB\fP フラグが指定されている。 -.SH 準拠 -4.4BSD (\fBflock\fP() コールは 4.2BSD で最初に登場した)。 \fBfcntl\fP(2) で実装されているものなどを含めると、 -\fBflock\fP() の機能はほとんどの UNIX システムで実装されている。 -.SH 注意 -\fBflock\fP() は NFS 上のファイルのロックをしない。代わりに \fBfcntl\fP(2) -を使用すること。これにより、十分に新しいバージョンの Linux と、ロック機能を サポートした NFS サーバを使用することにより、NFS -上でロックができる。 -.PP -kernel 2.0 以降では、 \fBflock\fP() は、GNU C ライブラリでの \fBfcntl\fP(2) -を呼び出してのエミュレーションではなく、 それ自体がシステムコールとして実装されている。 これにより正真正銘の BSD での動作が達成される: -\fBflock\fP() と \fBfcntl\fP(2) で適用されるロックの種別には相互作用がなくなり、 \fBflock\fP() -がデッドロックを検出しなくなる。 -.PP -\fBflock\fP() アドバイザリ・ロックだけを適用する。したがって、ファイルに適切なアクセス権を 付与していれば、プロセスは \fBflock\fP() -の使用に無視して、ファイルへの入出力を行うことができる。 -.PP -\fBflock\fP() と \fBfcntl\fP(2) は fork されたプロセスと \fBdup\fP(2) で違った動作をする。 \fBflock\fP() -を \fBfcntl\fP(2) を使って実装しているシステムでは、 \fBflock\fP() -の動作はこのマニュアル・ページに記載されているものとは違うだろう。 -.PP -.\" Kernel 2.5.21 changed things a little: during lock conversion -.\" it is now the highest priority process that will get the lock -- mtk -ロックの変換 (共有ロックから排他ロックへ、もしくはその反対) がアトミックに 行われることは保証されていない: -既存のロックがまず削除され、それから新しい ロックが設定される。この 2つのステップの間に、他のプロセスからの処理待ちの -ロック要求が認められるかもしれず、結果として変換は停止 (block) したり、 (\fBLOCK_NB\fP が指定された場合には) 失敗したりする。 -(これは元々の BSD の動作であり、多くの他の実装でも起こる。) -.SH 関連項目 -\fBclose\fP(2), \fBdup\fP(2), \fBexecve\fP(2), \fBfcntl\fP(2), \fBfork\fP(2), \fBopen\fP(2), -\fBlockf\fP(3) - -カーネルソース内の \fIDocumentation/filesystem/locks.txt\fP (以前のカーネルでは -\fIDocumentation/locks.txt\fP) も参照のこと。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fork.2 b/draft/man2/fork.2 deleted file mode 100644 index c2f3c6b6..00000000 --- a/draft/man2/fork.2 +++ /dev/null @@ -1,153 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" A few fragments remain from an earlier (1992) page by -.\" Drew Eckhardt (drew@cs.colorado.edu), -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt (michael@moria.de) -.\" Modified Sat Jul 24 13:22:07 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified 21 Aug 1994 by Michael Chastain (mec@shell.portal.com): -.\" Referenced 'clone(2)'. -.\" Modified 1995-06-10, 1996-04-18, 1999-11-01, 2000-12-24 -.\" by Andries Brouwer (aeb@cwi.nl) -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" 2006-09-04, Michael Kerrisk -.\" Greatly expanded, to describe all attributes that differ -.\" parent and child. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FORK 2 2012\-05\-01 Linux "Linux Programmer's Manual" -.SH 名前 -fork \- 子プロセスを生成する -.SH 書式 -\fB#include \fP -.sp -\fBpid_t fork(void);\fP -.SH 説明 -\fBfork\fP() は呼び出し元プロセスを複製して新しいプロセスを生成する。 \fIchild\fP で参照される新しいプロセスは、以下の点を除き、 -\fIparent\fP で参照される呼び出し元プロセスの完全な複製である: -.IP * 3 -子プロセスは独自のプロセス ID を持ち、 この PID は既存のどのプロセスグループ (\fBsetpgid\fP(2)) の ID とも一致しない。 -.IP * -子プロセスの親プロセス ID は、親プロセスのプロセス ID と同じである。 -.IP * -子プロセスは親プロセスのメモリロック (\fBmlock\fP(2), \fBmlockall\fP(2)) を引き継がない。 -.IP * -プロセスの資源利用量 (\fBgetrusage\fP(2)) と CPU タイムカウンタ (\fBtimes\fP(2)) が、子プロセスでは 0 -にリセットされる。 -.IP * -子プロセスの処理待ちのシグナルの集合 (\fBsigpending\fP(2)) は、初期状態では空になる。 -.IP * -子プロセスは親プロセスからセマフォ調整 (\fBsemop\fP(2)) を引き継がない。 -.IP * -子プロセスは親プロセスからレコードロック (\fBfcntl\fP(2)) を引き継がない。 -.IP * -子プロセスは親プロセスからタイマー (\fBsetitimer\fP(2), \fBalarm\fP(2), \fBtimer_create\fP(2)) -を引き継がない。 -.IP * -子プロセスは親プロセスから主だった非同期 I/O 操作を引き継がない (\fBaio_read\fP(3), \fBaio_write\fP(3) 参照)。 -また、親プロセスから非同期 I/O コンテキストを引き継がない (\fBio_setup\fP(2) 参照)。 -.PP -上記のリストにあるプロセス属性は、POSIX.1\-2001 で全て指定されている。 親プロセスと子プロセスは、以下の Linux -固有のプロセス属性も異なる: -.IP * 3 -子プロセスは親プロセスからディレクトリ変更通知 (dnotify) (\fBfcntl\fP(2) における \fBF_NOTIFY\fP の説明を参照) -を引き継がない。 -.IP * -\fBprctl\fP(2) の \fBPR_SET_PDEATHSIG\fP の設定がリセットされ、子プロセスは親プロセスが終了したときに -シグナルを受信しない。 -.IP * -\fBmadvise\fP(2) の \fBMADV_DONTFORK\fP フラグでマークされたメモリマッピングは、 \fBfork\fP() -によって引き継がれない。 -.IP * -子プロセスの終了シグナルは常に \fBSIGCHLD\fP である (\fBclone\fP(2) を参照)。 -.PP -以下の点についても注意すること: -.IP * 3 -子プロセスはシングルスレッドで生成される。つまり、 \fBfork\fP() を呼び出したスレッドとなる。 -親プロセスの仮想アドレス空間全体が子プロセスに複製される。 これにはミューテックス (mutex) の状態・条件変数・ pthread -オブジェクトが含まれる。 これが引き起こす問題を扱うには、 \fBpthread_atfork\fP(3) を使うと良いだろう。 -.IP * -子プロセスは親プロセスが持つ オープンファイルディスクリプタの集合のコピーを引き継ぐ。 子プロセスの各ファイルディスクリプタは、 -親プロセスのファイルディスクリプタに対応する 同じオープンファイル記述 (file description) を参照する (\fBopen\fP(2) -を参照)。 これは 2 つのディスクリプタが、ファイル状態フラグ・ 現在のファイルオフセット、シグナル駆動 (signal\-driven) I/O 属性 -(\fBfcntl\fP(2) における \fBF_SETOWN\fP, \fBF_SETSIG\fP の説明を参照) を共有することを意味する。 -.IP * -子プロセスは親プロセスが持つオープンメッセージキューディスクリプタ (\fBmq_overview\fP(7) を参照) の集合のコピーを引き継ぐ。 -子プロセスの各ディスクリプタは、 親プロセスのディスクリプタに対応する 同じオープンメッセージキューディスクリプタを参照する。 これは 2 -つのディスクリプタが同じフラグ (\fImq_flags\fP) を共有することを意味する。 -.IP * -子プロセスは、親プロセスのオープン済みのディレクトリストリームの集合 (\fBopendir\fP(3) 参照) のコピーを継承する。 -POSIX.1\-2001 では、親プロセスと子プロセス間の対応するディレクトリストリーム はディレクトリストリームの位置 (positioning) -を共有してもよいとされている。 Linux/glibc ではディレクトリストリームの位置の共有は行われていない。 -.SH 返り値 -成功した場合、親プロセスには子プロセスの PID が返され、 子プロセスには 0 が返される。 失敗した場合、親プロセスに \-1 -が返され、子プロセスは生成されず、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEAGAIN\fP -親プロセスのページ・テーブルのコピーと 子プロセスのタスク構造に生成に必要なメモリを \fBfork\fP() が割り当てることができなかった。 -.TP -\fBEAGAIN\fP -呼び出し元の \fBRLIMIT_NPROC\fP 資源の制限 (resource limit) に達したために、新しいプロセスを生成できなかった。 -この制限を超えるには、プロセスは \fBCAP_SYS_ADMIN\fP または \fBCAP_SYS_RESOURCE\fP ケーパビリティ -(capability) を持っていなくてはならない。 -.TP -\fBENOMEM\fP -メモリが足りないために、 \fBfork\fP() は必要なカーネル構造体を割り当てることができなかった。 -.TP -\fBENOSYS\fP -.\" e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa -\fBfork\fP() はこのプラットフォームではサポートされていない -(例えば、メモリ管理ユニット (MMU) がないハードウェア)。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -.PP -Linux では、 \fBfork\fP() を 書き込み時コピー (copy\-on\-write)・ページを用いて実装している。 したがって、fork -を行うことの唯一のデメリットは、 親プロセスのページ・テーブルを複製と 子プロセス自身のタスク構造の作成のための時間とメモリが必要なことである。 - -.\" nptl/sysdeps/unix/sysv/linux/fork.c -.\" and does some magic to ensure that getpid(2) returns the right value. -glibc 2.3.3 以降では、 NPTL スレッド実装の一部として提供されている -glibc の\fBfork\fP() ラッパー関数は、 カーネルの \fBfork\fP() システムコール -を起動するのではなく、\fBclone\fP(2) を起動する。 -\fBclone\fP(2) に渡すフラグとして、伝統的な \fBfork\fP() システムコールと -同じ効果が得られるようなフラグが指定される (\fBfork\fP() の呼び出しは、 -\fIflags\fP に \fBSIGCHLD\fP だけを指定して \fBclone\fP(2) を呼び出すのと等価である)。 -glibc のラッパー関数は \fBpthread_atfork\fP(3) を使って設定されている -任意の fork ハンドラを起動する。 -.SH 例 -\fBpipe\fP(2) および \fBwait\fP(2) を参照。 -.SH 関連項目 -\fBclone\fP(2), \fBexecve\fP(2), \fBsetrlimit\fP(2), \fBunshare\fP(2), \fBvfork\fP(2), -\fBwait\fP(2), \fBdaemon\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fstatat.2 b/draft/man2/fstatat.2 index f82d7374..d608405d 100644 --- a/draft/man2/fstatat.2 +++ b/draft/man2/fstatat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -110,6 +110,6 @@ glibc の \fBfstatat\fP() のラッパー関数が利用するシステムコー .SH 関連項目 \fBopenat\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7), .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/fsync.2 b/draft/man2/fsync.2 index 40809ff8..04ef165e 100644 --- a/draft/man2/fsync.2 +++ b/draft/man2/fsync.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) and .\" and Copyright 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 21 Aug 1994 by Michael Chastain : .\" Removed note about old libc (pre-4.5.26) translating to 'sync'. @@ -70,7 +70,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 転送が終わったとデバイスが報告するまでブロックする。またファイルに結びついた メタデータ情報 (\fBstat\fP(2) 参照) もフラッシュする。 - \fBfsync\fP() の呼び出しは、ファイルが存在しているディレクトリのエントリがディスクへ 書き込まれたことを保証するわけではない。 保証するためには明示的にそのディレクトリのファイル記述子に対しても \fBfsync\fP() する必要がある。 @@ -115,6 +114,6 @@ Linux 2.2 以前では、 \fBfdatasync\fP() は \fBfsync\fP() と等価であ \fBbdflush\fP(2), \fBopen\fP(2), \fBsync\fP(2), \fBsync_file_range\fP(2), \fBhdparm\fP(8), \fBmount\fP(8), \fBsync\fP(8), \fBupdate\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/futex.2 b/draft/man2/futex.2 deleted file mode 100644 index 5c4c4a70..00000000 --- a/draft/man2/futex.2 +++ /dev/null @@ -1,165 +0,0 @@ -.\" Page by b.hubert - may be freely modified and distributed -.\" -.\" Niki A. Rahimi (LTC Security Development, narahimi@us.ibm.com) -.\" added ERRORS section. -.\" -.\" Modified 2004-06-17 mtk -.\" Modified 2004-10-07 aeb, added FUTEX_REQUEUE, FUTEX_CMP_REQUEUE -.\" -.\" FIXME See also https://bugzilla.kernel.org/show_bug.cgi?id=14303 -.\" 2.6.14 adds FUTEX_WAKE_OP -.\" 2.6.18 adds (Ingo Molnar) priority inheritance support: -.\" FUTEX_LOCK_PI, FUTEX_UNLOCK_PI, and FUTEX_TRYLOCK_PI. These need -.\" to be documented in the manual page. Probably there is sufficient -.\" material in the kernel source file Documentation/pi-futex.txt. -.\" 2.6.25 adds FUTEX_WAKE_BITSET, FUTEX_WAIT_BITSET -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FUTEX 2 2010\-08\-29 Linux "Linux Programmer's Manual" -.SH 名前 -futex \- 高速ユーザ空間ロック機構のシステムコール -.SH 書式 -.nf -.sp -\fB#include \fP -\fB#include \fP -.sp -\fBint futex(int *\fP\fIuaddr\fP\fB, int \fP\fIop\fP\fB, int \fP\fIval\fP\fB, const struct timespec *\fP\fItimeout\fP\fB,\fP -.br -.\" int *? void *? u32 *? -\fB int *\fP\fIuaddr2\fP\fB, int \fP\fIval3\fP\fB);\fP -.fi -.SH 説明 -.PP -\fBfutex\fP() システムコールは、 指定したアドレスの値が変更されるのをプログラムが待つ手段や 特定のアドレスに対して待機中のプロセスを -wake (起床) させる手段を提供する (プロセスが異なれば同じメモリに対するアドレスも同じではないかもしれないが、 -カーネルは異なる位置にマップされた同じメモリを \fBfutex\fP() で使えるよう内部でマップする)。 通常は、このシステムコールは -\fBfutex\fP(7) に書かれているように、 共有メモリ中のロックが競合する場合の処理を実装するのに用いられる。 -.PP -\fBfutex\fP(7) の操作がユーザ空間で競合なく完了しなかった場合、 カーネルに仲裁させるためにシステムコールを呼ぶ必要がある。 -仲裁というのは、呼び出しプロセスを sleep (起床待ち) させたり、反対に 待ちプロセスを wake させたりすることを意味する。 -.PP -この関数を呼び出すプロセスは \fBfutex\fP(7) に記述されているセマンティクスに忠実であることが要求される。 -このセマンティクスには移植不可能なアセンブリ命令を書くことが含まれる。 このことは言い換えると futex -のユーザのほとんどは実際はライブラリの作者であり、 一般アプリケーションの開発者ではないということである。 -.PP -\fIuaddr\fP 引き数は、カウンタを格納する、 アラインメントの揃った int 型変数を指している必要がある。 実行する操作は \fIop\fP -引き数を介して、値 \fIval\fP とともに渡される。 -.PP -現在のところ 5 つの操作が定義されている: -.TP -\fBFUTEX_WAIT\fP -この操作は futex アドレス \fIuaddr\fP に指定された値 \fIval\fP がまだ格納されているかどうかを不可分操作で検証し、 sleep 状態で -この futex アドレスに対して \fBFUTEX_WAKE\fP が実行されるのを待つ。 \fItimeout\fP 引き数が NULL でない場合、その内容は -待ち時間の最大値を表す。NULL の場合は無限大を表す。 引き数 \fIuaddr2\fP と \fIval3\fP は無視される。 - -\fBfutex\fP(7) に照らし合わせると、この呼び出しは カウントのデクリメントで負の値 (競合を表す) になった場合に実行され、 -別のプロセスがその futex を解放し \fBFUTEX_WAKE\fP の操作を実行するまで sleep する。 -.TP -\fBFUTEX_WAKE\fP -この操作では指定した futex アドレスに対して待ち状態の (すなわち \fBFUTEX_WAIT\fP 中の) 最大 \fIval\fP 個のプロセスを -wake させる。 引き数 \fItimeout\fP, \fIuaddr2\fP, \fIval3\fP は無視される。 - -\fBfutex\fP(4) に照らし合わせると、 この操作は カウントのインクリメントで待ちプロセスがあると判明し、 futex 値が 1 に設定された -(利用可能であることを表す) 場合に実行される。 -.TP -\fBFUTEX_FD\fP (Linux 2.6.25 以前) -.\" , suitable for .BR poll (2). -非同期の wake に対応するため、この操作はファイルディスクリプタを futex に 関連づける。 別のプロセスが \fBFUTEX_WAKE\fP -を実行すると、プロセスは \fIval\fP で渡されたシグナル番号のシグナルを受信する。 呼び出しプロセスは使用後、返されたファイルディスクリプタを -クローズしなければならない。 引き数 \fItimeout\fP, \fIuaddr2\fP, \fIval3\fP は無視される。 - -競合状態を防止するため、呼び出しプロセスは \fBFUTEX_FD\fP が返ったあと futex が up されたかどうかを確認しなければならない。 - -\fBFUTEX_FD\fP はもともと競合が起きやすかったため、 Linux 2.6.26 以降で削除されている。 -.TP -\fBFUTEX_REQUEUE\fP (Linux 2.5.70 以降) -この操作は、 \fBFUTEX_WAKE\fP が使われていて、かつ wake されている全てのプロセスが 他の futex を取得する必要がある場合に、 -「獣の群れの暴走 (thundering herd)」効果を避けるために導入された。 この呼び出しは \fIval\fP 個のプロセスを wake -し、アドレス \fIuaddr2\fP で futex を待っている他の全てのプロセスを再度キューにいれる。 引き数 \fItimeout\fP と \fIval3\fP -は無視される。 -.TP -\fBFUTEX_CMP_REQUEUE\fP (Linux 2.6.7 以降) -故意に \fBFUTEX_REQUEUE\fP を使う場合に競合が起こるため、 \fBFUTEX_CMP_REQUEUE\fP が導入された。これは -\fBFUTEX_REQUEUE\fP と似ているが、場所 \fIuaddr\fP に値 \fIval3\fP がまだ保持されているかを最初にチェックする。 -保持されていない場合、操作はエラー \fBEAGAIN\fP で失敗する。引き数 \fItimeout\fP は無視される。 -.SH 返り値 -.PP -どの操作が実行されたかによって、 成功時の返り値の意味が変わる。 -.TP -\fBFUTEX_WAIT\fP -プロセスが \fBFUTEX_WAKE\fP の呼び出しで wake すると 0 を返す。 タイムアウトの場合、操作はエラー \fBETIMEOUT\fP -で失敗する。 futex が指定された値と等しくない場合、 エラー \fBEWOULDBLOCK\fP で失敗する。 シグナルを受信するか -(\fBsignal\fP(7) 参照) 他の偽の wake があった場合には、エラー \fBEINTR\fP で失敗する。 -.TP -\fBFUTEX_WAKE\fP -wake したプロセスの数を返す。 -.TP -\fBFUTEX_FD\fP -futex に関連づけられた新たなファイルディスクリプタを返す。 -.TP -\fBFUTEX_REQUEUE\fP -wake したプロセスの数を返す。 -.TP -\fBFUTEX_CMP_REQUEUE\fP -wake したプロセスの数を返す。 -.PP -エラーの場合、全ての操作で \-1 が返り、 \fIerrno\fP がエラーの内容を示す値に設定される。 -.SH エラー -.TP -\fBEACCES\fP -futex メモリに読み込みアクセス権がなかった。 -.TP -\fBEAGAIN\fP -\fBFUTEX_CMP_REQUEUE\fP で予期しない futex 値が見つかった (これは競合を示しているかもしれない。 この場合は安全な -\fBFUTEX_WAKE\fP を使うこと)。 -.TP -\fBEFAULT\fP -ユーザ空間から \fItimeout\fP の情報を取得する際にエラーが発生した。 -.TP -\fBEINVAL\fP -操作が定義されていない。またはページ・アラインメントでエラーが発生した。 -.TP -\fBENFILE\fP -オープンされているファイルの総数がシステムの制限に達した。 -.TP -\fBENOSYS\fP -\fIop\fP に無効な操作が指定された。 -.SH バージョン -.PP -最初の futex 対応は Linux 2.5.7 で組み込まれたが、 上記のセマンティクスとは異なる。 4 -つの引き数のここに書かれているセマンティクスを持つ システムコールは、Linux 2.5.40 で導入された。 Linux 2.5.70 では 1 -つの引き数が追加された。 Linux 2.6.7 では 6 番目の引き数が追加された。 これは汚く、s390 アーキテクチャ上の特別のものである。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -.PP -.\" .SH "AUTHORS" -.\" .PP -.\" Futexes were designed and worked on by -.\" Hubertus Franke (IBM Thomas J. Watson Research Center), -.\" Matthew Kirkwood, Ingo Molnar (Red Hat) -.\" and Rusty Russell (IBM Linux Technology Center). -.\" This page written by bert hubert. -繰り返すが、裸の futex はエンドユーザが容易に使うことのできる概念として 意図されたものではない (glibc -にはこのシステムコールに対するラッパー関数はない)。 実装者は、アセンブリ言語に慣れており、以下に挙げる futex ユーザ空間ライブラリの -ソースを読み終えていることが要求される。 -.SH 関連項目 -\fBfutex\fP(7) -.PP -\fIFuss, Futexes and Furwocks: Fast Userlevel Locking in Linux\fP (proceedings -of the Ottawa Linux Symposium 2002), online at -.br -http://kernel.org/doc/ols/2002/ols2002\-pages\-479\-495.pdf -.PP -futex の使用例ライブラリ, futex\-*.tar.bz2 -.br -ftp://ftp.nl.kernel.org/pub/linux/kernel/people/rusty/. -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/futimesat.2 b/draft/man2/futimesat.2 index e8621173..67605263 100644 --- a/draft/man2/futimesat.2 +++ b/draft/man2/futimesat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -87,6 +86,6 @@ Solaris には、これと同じようなシステムコールが存在する。 \fBstat\fP(2), \fButimensat\fP(2), \fButimes\fP(2), \fBfutimes\fP(3), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/get_kernel_syms.2 b/draft/man2/get_kernel_syms.2 deleted file mode 100644 index 31d5c4f8..00000000 --- a/draft/man2/get_kernel_syms.2 +++ /dev/null @@ -1,66 +0,0 @@ -.\" Copyright (C) 1996 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some -.\" reformatting and rewordings by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GET_KERNEL_SYMS 2 2007\-06\-03 Linux "Linux Programmer's Manual" -.SH 名前 -get_kernel_syms \- 公開されているカーネルやモジュールのシンボルの取得 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint get_kernel_syms(struct kernel_sym *\fP\fItable\fP\fB);\fP -.fi -.SH 説明 -\fBget_kernel_syms\fP() は、 \fItable\fP が NULL の場合、 問い合わせできるシンボルの数を返す。 NULL -以外の場合、以下の構造体の列 (table) に値を入れて返す。 -.PP -.in +4n -.nf -struct kernel_sym { - unsigned long value; - char name[60]; -}; -.fi -.in -.PP -シンボルの中には、 \fB#\fP\fImodule\-name\fP という形式の、カーネルが空の名前を持っているマジックシンボル (magic symbol) -が散在している。この形式のシンボルに対応する値は モジュールがロードされたアドレスとなる。 -.PP -個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ -の後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。 -.SH 返り値 -成功すると、 \fItable\fP にコピーされたシンボル数を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -返る可能性があるエラーは一つだけである。 -.TP -\fBENOSYS\fP -\fBget_kernel_syms\fP() がこのバージョンのカーネルではサポートされていない。 -.SH バージョン -.\" Removed in Linux 2.5.48 -このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。 -.SH 準拠 -\fBget_kernel_syms\fP() は Linux 固有である。 -.SH バグ -\fItable\fP 用に確保したバッファの大きさを伝える方法がない。 プログラムがシンボルテーブルの大きさを問い合わせた後に、カーネルに -シンボルが追加されると、メモリの内容が破壊されることになる。 -.PP -公開されるシンボル名の長さが 59 文字に制限されている。 -.PP -これらの制限があるので、このシステムコールを使うよりは \fBquery_module\fP(2) を使うのが望ましい (現在では -\fBquery_module\fP(2) 自身もそのマニュアルページに書かれているように 他のインタフェースを使うのが望ましいとされている)。 -.SH 関連項目 -\fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBinit_module\fP(2), -\fBquery_module\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/get_mempolicy.2 b/draft/man2/get_mempolicy.2 deleted file mode 100644 index 59a9ba9d..00000000 --- a/draft/man2/get_mempolicy.2 +++ /dev/null @@ -1,114 +0,0 @@ -.\" Copyright 2003,2004 Andi Kleen, SuSE Labs. -.\" and Copyright 2007 Lee Schermerhorn, Hewlett Packard -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2006-02-03, mtk, substantial wording changes and other improvements -.\" 2007-08-27, Lee Schermerhorn -.\" more precise specification of behavior. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GET_MEMPOLICY 2 2008\-08\-15 Linux "Linux Programmer's Manual" -.SH 名前 -get_mempolicy \- プロセスの NUMA メモリのポリシーを取得する -.SH 書式 -\fB#include \fP -.nf -.sp -\fBint get_mempolicy(int *\fP\fImode\fP\fB, unsigned long *\fP\fInodemask\fP\fB,\fP -\fB unsigned long \fP\fImaxnode\fP\fB, unsigned long \fP\fIaddr\fP\fB,\fP -\fB unsigned long \fP\fIflags\fP\fB);\fP -.sp -\fI\-lnuma\fP でリンクする。 -.fi -.SH 説明 -\fBget_mempolicy\fP() は、呼び出し元プロセスもしくは指定されたメモリアドレスの NUMA ポリシーを \fIflags\fP -の設定に従って取得する。 - -NUMA (非対称メモリアクセス) マシンでは、CPU により メモリコントローラが異なり、距離も異なっている。 -メモリポリシーは、どのノードからメモリをそのプロセスに 割り当てるかを定めるものである。 - -\fIflags\fP に 0 が指定された場合、 (\fBset_mempolicy\fP(2) で設定された) -呼び出し元プロセスのデフォルトポリシーに関する情報を返す。 返されたポリシー [\fImode\fP と \fInodemask\fP] を -\fBset_mempolicy\fP(2) に渡すことで、そのプロセスのポリシーを \fBget_mempolicy\fP() -を呼び出した時点の状態に戻すことができる。 - -\fIflags\fP に \fBMPOL_F_MEMS_ALLOWED\fP (Linux 2.6.24 以降で利用可能) を指定すると、 \fImode\fP -引き数は無視され、 そのプロセスがその後の \fBmbind\fP(2) や \fBset_mempolicy\fP(2) で [\fIモードフラグ\fP -が指定されていない場合に ] 指定できるノード (メモリ) の集合が \fInodemask\fP に返される。 \fBMPOL_F_MEMS_ALLOWED\fP -を、 \fBMPOL_F_ADDR\fP や \fBMPOL_F_NODE\fP と同時に指定することはできない。 - -\fIflags\fP に \fBMPOL_F_ADDR\fP が指定された場合、 \fIaddr\fP -で指定されたメモリアドレスに適用されているポリシーに関する情報を返す。 \fBmbind\fP(2) や \fBnuma\fP(3) -で説明されているヘルパー関数を使って、 \fIaddr\fP を含むメモリ領域に対するポリシーが設定されていた場合には、 -返されるポリシーはプロセスのデフォルトポリシーと違うことがある。 - -\fImode\fP 引き数が NULL でない場合、 \fBget_mempolicy\fP() は要求された NUMA ポリシーのモードと追加の -\fIモードフラグ\fP を \fImode\fP が指す場所に格納する。 \fInodemask\fP が NULL 以外の場合、そのポリシーに対応するノードマスクを -この引き数が指す場所に格納する。 \fImaxnode\fP には \fInodemask\fP に格納できるノード ID の数、つまり最大ノード ID に 1 -を足した値を指定する。 \fImaxnode\fP で指定された値は常に \fIsizeof(unsigned long)\fP の倍数に切り上げられる。 - -\fIflags\fP で \fBMPOL_F_NODE\fP と \fBMPOL_F_ADDR\fP の両方が指定された場合、 \fBget_mempolicy\fP() -はアドレス \fIaddr\fP が割り当てられているノードのノード ID を \fImode\fP が指す場所に入れて返す。 -指定されたアドレスにどのページもまだ割り当てられていない場合、 \fBget_mempolicy\fP() -は、あたかもそのプロセスがそのアドレスに対して読み込みアクセスを 実行したかのようにページの割り当てを行い、ページが割り当てられた ノードの ID -を返す。 - -.\" Note: code returns next interleave node via 'mode' argument -Lee Schermerhorn -\fIflags\fP で \fBMPOL_F_NODE\fP は指定されたが、 \fBMPOL_F_ADDR\fP は指定されていない場合で、かつ -そのプロセスの現在のポリシーが \fBMPOL_INTERLEAVE\fP の場合、 \fBget_mempolicy\fP() -は、そのプロセスに対して割り当てられたカーネルの内部ページで 次にインターリーブ用に使用されるノードのノード ID を、 NULL でない -\fImode\fP 引き数が指す場所に入れて返す。 読み込みアクセス用として \fBMAP_PRIVATE\fP フラグ付きで \fBmmap\fP(2) -したプロセスメモリ領域や、 任意のアクセス用として \fBMAP_SHARED\fP フラグ付きで \fBmmap\fP(2) -したメモリ領域の、メモリマップされたファイルに対するページも 上記のプロセスに対して割り当てられたページに含まれる。 - -他のフラグは予約されている。 - -設定可能なポリシーの概要については \fBset_mempolicy\fP(2) を参照。 -.SH 返り値 -成功すると、 \fBget_mempolicy\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEFAULT\fP -\fInodemask\fP と \fImaxnode\fP で指定されたメモリ領域の一部または全部が、 呼び出し元がアクセス可能なアドレス空間外を指している。 -.TP -\fBEINVAL\fP -\fImaxnode\fP で指定された値がシステムがサポートするノード ID の数よりも少ない。 または、 \fIflags\fP に -\fBMPOL_F_NODE\fP でも \fBMPOL_F_ADDR\fP でもない値が指定された。 または、 \fIflags\fP に \fBMPOL_F_ADDR\fP -が指定されており、 \fIaddr\fP が NULL である。 または、 \fIflags\fP に \fBMPOL_F_ADDR\fP がされておらず、 -\fIaddr\fP が NULL でない。 または、 \fIflags\fP に \fBMPOL_F_NODE\fP が指定されており、 \fBMPOL_F_ADDR\fP -が指定されておらず、 プロセスの現在のポリシーが \fBMPOL_INTERLEAVE\fP でない。 または、 \fIflags\fP に -\fBMPOL_F_MEMS_ALLOWED\fP が指定されており、さらに \fBMPOL_F_ADDR\fP か \fBMPOL_F_NODE\fP -のいずれかが指定されている。 (他にも \fBEINVAL\fP となる場合がある。) -.SH バージョン -\fBget_mempolicy\fP() システムコールはバージョン 2.6.7 で Linux カーネルに追加された。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -ライブラリによるサポートについては \fBnuma\fP(7) を参照。 -.SH 関連項目 -\fBgetcpu\fP(2), \fBmbind\fP(2), \fBmmap\fP(2), \fBset_mempolicy\fP(2), \fBnuma\fP(3), -\fBnuma\fP(7), \fBnumactl\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/get_thread_area.2 b/draft/man2/get_thread_area.2 deleted file mode 100644 index cbbf6b00..00000000 --- a/draft/man2/get_thread_area.2 +++ /dev/null @@ -1,46 +0,0 @@ -.\" Copyright (C) 2003 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" Written by Kent Yoder. -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GET_THREAD_AREA 2 2008\-11\-27 Linux "Linux Programmer's Manual" -.SH 名前 -get_thread_area \- スレッド局所記憶 (TLS) 領域を取り出す -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint get_thread_area(struct user_desc *\fP\fIu_info\fP\fB);\fP -.SH 説明 -\fBget_thread_area\fP() は、カレント・スレッドのスレッド局所記憶 (Thread Local Storage; TLS) -配列の中のエントリを返す。 エントリのインデックスは、ユーザから引き数として渡される \fIu_info\->entry_number\fP -の値に対応している。 値が範囲内にある場合、 \fBget_thread_info\fP() は対応する TLS エントリを \fIu_info\fP -で指された領域にコピーする。 -.SH 返り値 -成功した場合、 \fBget_thread_area\fP() は 0 を返す。 そうでない場合、 \-1 を返し、 \fIerrno\fP -に適切な値をセットする。 -.SH エラー -.TP -\fBEFAULT\fP -\fIu_info\fP が不正なポインタである。 -.TP -\fBEINVAL\fP -\fIu_info\->entry_number\fP が範囲外である。 -.SH バージョン -\fBget_thread_area\fP() は Linux 2.5.32 で初めて登場した。 -.SH 準拠 -\fBget_thread_area\fP() は Linux 独自の関数であり、 移植を意図したプログラムでは使用すべきではない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 このシステムコールは呼び出すには \fBsyscall\fP(2) を使うこと。 -.SH 関連項目 -\fBmodify_ldt\fP(2), \fBset_thread_area\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getcpu.2 b/draft/man2/getcpu.2 deleted file mode 100644 index 03af549c..00000000 --- a/draft/man2/getcpu.2 +++ /dev/null @@ -1,111 +0,0 @@ -.\" This man page is Copyright (C) 2006 Andi Kleen . -.\" Permission is granted to distribute possibly modified copies -.\" of this page provided the header is included verbatim, -.\" and in case of nontrivial modification author and date -.\" of the modification is added to the header. -.\" 2008, mtk, various edits -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETCPU 2 2012\-05\-09 Linux "Linux Programmer's Manual" -.SH 名前 -getcpu \- 呼び出し元スレッドが動作している CPU と NUMA ノードを判定する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint getcpu(unsigned *\fP\fIcpu\fP\fB, unsigned *\fP\fInode\fP\fB, struct getcpu_cache *\fP\fItcache\fP\fB);\fP -.fi -.SH 説明 -\fBgetcpu\fP() システムコールは、呼び出し元のスレッドやプロセスが -現在動作しているプロセッサやノードの情報を特定し、 -それぞれ引き数 \fIcpu\fP と \fInode\fP が指す整数に書き込む。 -プロセッサ情報は CPU を識別するための一意な小さな整数である。 -ノード情報は NUMAノードを識別するための一意な小さな整数である。 -\fIcpu\fP か \fInode\fP のいずれかが NULL であれば、 -その引き数に対応する情報の書き込みは行われない。 - -このシステムコールの 3 番目の引き数は現在は使われていない -(「注意」を参照)。 - -\fIcpu\fP に格納された情報が最新だと保証できるのは、システムコールが呼ばれ -た時点だけである。\fBsched_setaffinity\fP(2) を使って CPU affinity が固定 -されていない限り、カーネルはいつでも CPU を変更してもよい (スケジューラ -はキャッシュが有効に働くように CPU の移動を最小限にしようとするので、 -通常は CPU が変更されることはないが、起きる可能性はある)。 -\fIcpu\fP や \fInode\fP で返された情報が呼び出しが返った時点ですでに -最新の状況と異なる可能性があり、呼び出し元はこの可能性を考慮して -おかなければならない。 -.SH 返り値 -成功すると、0 を返す。 -エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEFAULT\fP -引き数が呼び出したプロセスのアドレス空間外を指している。 -.SH バージョン -\fBgetcpu\fP() はカーネル 2.6.19 で x86_64 と i386 向けに追加された. -.SH 準拠 -\fBgetcpu\fP() は Linux 固有である。 -.SH 注意 -Linux はこのシステムコールを可能な限り早く実行しようとする。 -\fBgetcpu\fP() は、CPU 毎のデータに対する最適化や NUMA 環境での最適化を -プログラムが行えるようにすることを目的として実装されているからである。 - -glibc はこのシステムコールに対するラッパー関数を提供していない。 -\fBsyscall\fP(2) を使って呼び出すか、 -代わりに \fBsched_getcpu\fP(3) を使用すること。 - -.\" commit 4307d1e5ada595c87f9a4d16db16ba5edb70dcb1 -.\" Author: Ingo Molnar -.\" Date: Wed Nov 7 18:37:48 2007 +0100 -.\" x86: ignore the sys_getcpu() tcache parameter -.\" -.\" ===== Before kernel 2.6.24: ===== -.\" .I tcache -.\" is a pointer to a -.\" .IR "struct getcpu_cache" -.\" that is used as a cache by -.\" .BR getcpu (). -.\" The caller should put the cache into a thread-local variable -.\" if the process is multithreaded, -.\" because the cache cannot be shared between different threads. -.\" .I tcache -.\" can be NULL. -.\" If it is not NULL -.\" .BR getcpu () -.\" will use it to speed up operation. -.\" The information inside the cache is private to the system call -.\" and should not be accessed by the user program. -.\" The information placed in the cache can change between kernel releases. -.\" -.\" When no cache is specified -.\" .BR getcpu () -.\" will be slower, -.\" but always retrieve the current CPU and node information. -.\" With a cache -.\" .BR getcpu () -.\" is faster. -.\" However, the cached information is only updated once per jiffy (see -.\" .BR time (7)). -.\" This means that the information could theoretically be out of date, -.\" although in practice the scheduler's attempt to maintain -.\" soft CPU affinity means that the information is unlikely to change -.\" over the course of the caching interval. -\fItcache\fP 引き数は Linux 2.6.24 以降では使用されない。以前のバージョン -のカーネルでは、この引き数が NULL 以外の場合、この引き数には、呼び出し -元が割り当てたスレッド専用の記憶領域 (thread\-local storage) 内のバッファ -を指すポインタが指定され、このバッファは \fBgetcpu\fP() 用のキャッシュ機構 -を提供するために利用されていた。非常に低い確率だが古い情報を返してしま -うデメリットはあるものの、このキャッシュを使うことで \fBgetcpu\fP() システ -ムコールを高速化できた。このキャッシュ機構はCPU 間でのスレッドの移動時 -に問題になると考えられ、この引き数は今では無視されるようになっている。 -.SH 関連項目 -\fBmbind\fP(2), \fBsched_setaffinity\fP(2), \fBset_mempolicy\fP(2), -\fBsched_getcpu\fP(3), \fBcpuset\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getdents.2 b/draft/man2/getdents.2 deleted file mode 100644 index 498d95d3..00000000 --- a/draft/man2/getdents.2 +++ /dev/null @@ -1,234 +0,0 @@ -.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Written 11 June 1995 by Andries Brouwer -.\" Modified 22 July 1995 by Michael Chastain : -.\" Derived from 'readdir.2'. -.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETDENTS 2 2010\-11\-21 Linux "Linux Programmer's Manual" -.SH 名前 -getdents \- ディレクトリ・エントリを取得する -.SH 書式 -.nf -\fBint getdents(unsigned int \fP\fIfd\fP\fB, struct linux_dirent *\fP\fIdirp\fP\fB,\fP -\fB unsigned int \fP\fIcount\fP\fB);\fP -.fi -.SH 説明 -これはあなたの関心を引くような関数ではない。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3) を見ること。 -このページは、カーネルシステムコールの生のインターフェースについて 記載したものである。 -.PP -\fBgetdents\fP() システムコールは、オープン済みのファイルディスクリプタ \fIfd\fP で参照されるディレクトリから -\fIlinux_dirent\fP 構造体をいくつか読み出し、 \fIdirp\fP が指しているバッファに格納する。 \fIcount\fP -引き数はそのバッファのサイズを示す。 -.PP -\fIlinux_dirent\fP 構造体は以下のように宣言されている: -.PP -.in +4n -.nf -struct linux_dirent { - unsigned long d_ino; /* Inode number */ - unsigned long d_off; /* Offset to next \fIlinux_dirent\fP */ - unsigned short d_reclen; /* Length of this \fIlinux_dirent\fP */ - char d_name[]; /* Filename (null\-terminated) */ - /* length is actually (d_reclen \- 2 \- - offsetof(struct linux_dirent, d_name) */ - /* - char pad; // Zero padding byte - char d_type; // File type (only since Linux 2.6.4; - // offset is (d_reclen \- 1)) - */ - -} -.fi -.in -.PP -\fId_ino\fP は inode 番号である。 \fId_off\fP はディレクトリの先頭から次の \fIlinux_dirent\fP の先頭までの距離である。 -\fId_reclen\fP はこの \fIlinux_dirent\fP 全体のサイズである。 \fId_name\fP -はヌル(null)文字で終わるファイル名である。 - -\fId_type\fP は、構造体の最後のバイトであり、ファイルタイプを示す。 \fId_type\fP は以下の値の一つを取る -(\fI\fP で定義されている)。 -.TP 12 -\fBDT_BLK\fP -ブロックデバイスである。 -.TP -\fBDT_CHR\fP -キャラクタデバイスである。 -.TP -\fBDT_DIR\fP -ディレクトリである。 -.TP -\fBDT_FIFO\fP -名前付きパイプ (FIFO) である。 -.TP -\fBDT_LNK\fP -シンボリックリンクである。 -.TP -\fBDT_REG\fP -通常のファイルである。 -.TP -\fBDT_SOCK\fP -UNIX ドメインソケットである。 -.TP -\fBDT_UNKNOWN\fP -ファイルタイプが不明である。 -.PP -\fId_type\fP フィールドは Linux 2.6.4 から実装されている。 これは \fIlinux_dirent\fP -構造体のうち、以前はゼロで埋められていた空間に配置されている。 従って、2.6.3 以前のカーネルでは、このフィールドにアクセスしようとすると 常に値 -0 (\fBDT_UNKNOWN\fP) が返される。 -.PP -.\" kernel 2.6.27 -.\" The same sentence is in readdir.2 -現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである -(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも、 \fBDT_UNKNOWN\fP -が返された際に適切に処理できなければならない。 -.SH 返り値 -成功した場合は、読み込んだバイト数が返される。 ディレクトリの終わりならば 0 が返される。 エラーの場合は \-1 を返され、 \fIerrno\fP -に適切な値が設定される。 -.SH エラー -.TP -\fBEBADF\fP -ファイルディスクリプタ \fIfd\fP が不正である。 -.TP -\fBEFAULT\fP -引き数が呼び出したプロセスのアドレス空間外を指している。 -.TP -\fBEINVAL\fP -結果用のバッファーが小さすぎる。 -.TP -\fBENOENT\fP -そのようなディレクトリは存在しない。 -.TP -\fBENOTDIR\fP -ファイルディスクリプタがディレクトリを参照していない。 -.SH 準拠 -.\" SVr4 documents additional ENOLINK, EIO error conditions. -SVr4. -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していないので、 \fBsyscall\fP(2) を使って呼び出すこと。 -\fIlinux_dirent\fP 構造体は自分で定義する必要がある。 - -このシステムコールは \fBreaddir\fP(2) を置き換えるものである。 - -元々の Linux の \fBgetdents\fP() システムコールは、大きなファイルシステムと -大きなファイルオフセットを扱うことができなかった。 -その結果、Linux 2.4 で \fBgetdents64\fP() が追加された。 -\fBgetdents64\fP() では、\fIlinux_dirent\fP 構造体のフィールド \fId_ino\fP と -\fId_off\fP でビット幅の大きなデータ型が使われている。 -.SH 例 -.\" FIXME: This program uses the older getdents(0 system call -.\" and the structure with smaller field widths. -下記のプログラムは \fBgetdents\fP() の使用例を示したものである。 以下は、このプログラムを ext2 ディレクトリで実行した際に得られる -出力の例である。 - -.in +4n -.nf -$\fB ./a.out /testfs/\fP -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- nread=120 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -i\-node# file type d_reclen d_off d_name - 2 directory 16 12 . - 2 directory 16 24 .. - 11 directory 24 44 lost+found - 12 regular 16 56 a - 228929 directory 16 68 sub - 16353 directory 16 80 sub2 - 130817 directory 16 4096 sub3 -.fi -.in -.SS プログラムのソース -\& -.nf -#define _GNU_SOURCE -#include /* Defines DT_* constants */ -#include -#include -#include -#include -#include -#include - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -struct linux_dirent { - long d_ino; - off_t d_off; - unsigned short d_reclen; - char d_name[]; -}; - -#define BUF_SIZE 1024 - -int -main(int argc, char *argv[]) -{ - int fd, nread; - char buf[BUF_SIZE]; - struct linux_dirent *d; - int bpos; - char d_type; - - fd = open(argc > 1 ? argv[1] : ".", O_RDONLY | O_DIRECTORY); - if (fd == \-1) - handle_error("open"); - - for ( ; ; ) { - nread = syscall(SYS_getdents, fd, buf, BUF_SIZE); - if (nread == \-1) - handle_error("getdents"); - - if (nread == 0) - break; - - printf("\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- nread=%d \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\en", nread); - printf("i\-node# file type d_reclen d_off d_name\en"); - for (bpos = 0; bpos < nread;) { - d = (struct linux_dirent *) (buf + bpos); - printf("%8ld ", d\->d_ino); - d_type = *(buf + bpos + d\->d_reclen \- 1); - printf("%\-10s ", (d_type == DT_REG) ? "regular" : - (d_type == DT_DIR) ? "directory" : - (d_type == DT_FIFO) ? "FIFO" : - (d_type == DT_SOCK) ? "socket" : - (d_type == DT_LNK) ? "symlink" : - (d_type == DT_BLK) ? "block dev" : - (d_type == DT_CHR) ? "char dev" : "???"); - printf("%4d %10lld %s\en", d\->d_reclen, - (long long) d\->d_off, (char *) d\->d_name); - bpos += d\->d_reclen; - } - } - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBreaddir\fP(2), \fBreaddir\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getdomainname.2 b/draft/man2/getdomainname.2 deleted file mode 100644 index eca4938c..00000000 --- a/draft/man2/getdomainname.2 +++ /dev/null @@ -1,97 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1997-08-25 by Nicolás Lichtmaier -.\" Modified 2004-06-17 by Michael Kerrisk -.\" Modified 2008-11-27 by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETDOMAINNAME 2 2009\-09\-27 Linux "Linux Programmer's Manual" -.SH 名前 -getdomainname, setdomainname \- ドメイン名の取得・設定をする -.SH 書式 -\fB#include \fP -.sp -\fBint getdomainname(char *\fP\fIname\fP\fB, size_t \fP\fIlen\fP\fB);\fP -.br -\fBint setdomainname(const char *\fP\fIname\fP\fB, size_t \fP\fIlen\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBgetdomainname\fP(), \fBsetdomainname\fP(): -.RS 4 -_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500) -.RE -.ad -.SH 説明 -これらの関数は、ホストシステムのドメイン名を取得・変更するために使われる。 - -\fBsetdomainname\fP() は、ドメイン名を、文字配列 \fIname\fP で指定された値に設定する。 引き数 \fIlen\fP には、 -\fIname\fP のバイト数を指定する (そのため、 \fIname\fP では文字列終端の NULL バイトは必要ない)。 - -\fBgetdomainname\fP() は、NULL 終端されたドメイン名を、 \fIlen\fP バイトの長さの文字配列 \fIname\fP に格納して返す。 -NULL 終端されたドメイン名が \fIlen\fP バイトより長い場合、 \fBgetdomainname\fP() は、(glibc では) 始めの -\fIlen\fP バイトを返し、(libc では) エラーとなる。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -\fBsetdomainname\fP() は以下のエラーで失敗する可能性がある。 -.TP -\fBEFAULT\fP -\fIname\fP がユーザアドレス空間の外を指した。 -.TP -\fBEINVAL\fP -\fIlen\fP が負であるか、長すぎる。 -.TP -\fBEPERM\fP -\fBsetdomainname\fP() において、呼び出した人に特権がない (Linux では \fBCAP_SYS_ADMIN\fP ケーパビリティ -(capability) がない)。 -.PP -\fBgetdomainname\fP() は以下のエラーで失敗する可能性がある。 -.TP -\fBEINVAL\fP -libc での \fBgetdomainname\fP() において、 \fIname\fP が NULL ポインタであるか、 \fIlen\fP バイトより長い。 -.SH 準拠 -.\" But they appear on most systems... -POSIX では、これら関数は定義されていない。 -.SH 注意 -Linux 1.0 以降では、ドメイン名の長さの上限は 終端の NULL バイトを含めて 64 バイトである。 もっと古いカーネルでは 8 -バイトであった。 - -(x86 を含む) Linux のほとんどのアーキテクチャでは、 \fBgetdomainname\fP() というシステムコールは存在しない。 -その代わり、glibc で \fBgetdomainname\fP() がライブラリ関数として実装されており、この関数は \fBuname\fP(2) -の呼び出しで返された \fIdomainname\fP フィールドのコピーを返す。 -.SH 関連項目 -\fBgethostname\fP(2), \fBsethostname\fP(2), \fBuname\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getgid.2 b/draft/man2/getgid.2 index caaadffb..72ee0c12 100644 --- a/draft/man2/getgid.2 +++ b/draft/man2/getgid.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -56,6 +56,6 @@ glibc の \fBgetgid\fP() と \fBgetegid\fP() のラッパー関数は .SH 関連項目 \fBgetresgid\fP(2), \fBsetgid\fP(2), \fBsetregid\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getgroups.2 b/draft/man2/getgroups.2 index 502cc2ff..6652cd97 100644 --- a/draft/man2/getgroups.2 +++ b/draft/man2/getgroups.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Thu Oct 31 12:04:29 1996 by Eric S. Raymond .\" Modified, 27 May 2004, Michael Kerrisk @@ -115,6 +115,6 @@ SVr4, 4.3BSD. \fBgetgroups\fP() 関数は POSIX.1\-2001 に準拠している \fBgetgid\fP(2), \fBsetgid\fP(2), \fBgetgrouplist\fP(3), \fBinitgroups\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/gethostname.2 b/draft/man2/gethostname.2 index d5adabc1..c10371a2 100644 --- a/draft/man2/gethostname.2 +++ b/draft/man2/gethostname.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 1995-07-22 by Michael Chastain : .\" 'gethostname' is real system call on Linux/Alpha. @@ -111,6 +111,6 @@ GNU C ライブラリは、 \fBgethostname\fP() システムコールを利用 .SH 関連項目 \fBgetdomainname\fP(2), \fBsetdomainname\fP(2), \fBuname\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getitimer.2 b/draft/man2/getitimer.2 deleted file mode 100644 index 30889526..00000000 --- a/draft/man2/getitimer.2 +++ /dev/null @@ -1,124 +0,0 @@ -.\" Copyright 7/93 by Darren Senn -.\" Based on a similar page Copyright 1992 by Rick Faith -.\" May be freely distributed -.\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond -.\" 2005-04-06 mtk, Matthias Lang -.\" Noted MAX_SEC_IN_JIFFIES ceiling -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETITIMER 2 2009\-03\-15 Linux "Linux Programmer's Manual" -.SH 名前 -getitimer, setitimer \- インターバル・タイマーの値を取得または設定する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint getitimer(int \fP\fIwhich\fP\fB, struct itimerval *\fP\fIcurr_value\fP\fB);\fP -.br -\fBint setitimer(int \fP\fIwhich\fP\fB, const struct itimerval *\fP\fInew_value\fP\fB,\fP -\fB struct itimerval *\fP\fIold_value\fP\fB);\fP -.fi -.SH 説明 -システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それぞれのタイマーは別々の時間領域で減少する。 -どのタイマーも満了するとプロセスにシグナルが送られ、 タイマーは (設定によっては) 再び開始される。 -.TP 1.5i -\fBITIMER_REAL\fP -実時間 (real time) で減少し、満了すると \fBSIGALRM\fP が送られる。 -.TP -\fBITIMER_VIRTUAL\fP -プロセスが実行されている間のみ減少し、満了すると \fBSIGVTALRM\fP が送られる。 -.TP -\fBITIMER_PROF\fP -プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なっている間に減少する。 多くの場合、このタイマーは -\fBITIMER_VIRTUAL\fP と組み合わされて、アプリケーションがカーネル空間とユーザー空間で -どれだけの時間を過ごしたかをプロファイルするのに使用される。 満了すると \fBSIGPROF\fP が送られる。 -.LP -タイマーの値は以下の構造体によって定義される: -.PD 0 -.in +4n -.nf - -struct itimerval { - struct timeval it_interval; /* next value */ - struct timeval it_value; /* current value */ -}; - -struct timeval { - long tv_sec; /* seconds */ - long tv_usec; /* microseconds */ -}; -.fi -.in -.PD -.LP -\fBgetitimer\fP() 関数は、 \fIwhich\fP で指定されたタイマー (\fBITIMER_REAL\fP, \fBITIMER_VIRTUAL\fP, -\fBITIMER_PROF\fP のどれか) の現在の設定を、 \fIcurr_value\fP で指定された構造体に格納する。 \fIit_value\fP -要素にはタイマーの残り時間が設定される。タイマーがオフの場合は ゼロが設定される。同様に \fIit_interval\fP には初期値が設定される。 - -\fBsetitimer\fP() 関数は指定されたタイマーに \fInew_value\fP の値を設定する。 \fIold_value\fP が NULL -以外の場合、タイマーの古い値が \fIold_value\fP に格納される。 -.LP -タイマーは \fIit_value\fP からゼロへ向けて減っていき、シグナルを生成し、 \fIit_interval\fP に初期化される。 -タイマーがゼロに設定された場合 (\fIit_value\fP がゼロか、タイマーが満了した時に \fIit_interval\fP がゼロの場合) は停止する。 -.LP -タイマーの期間は \fItv_sec\fP と \fItv_usec\fP の両方により決定される。 -.LP -要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だけ満了が遅れることはある。 -どれだけ遅れるかはシステムの時間分解能とシステムの負荷に依存する (\fBtime\fP(7) 参照; 但し、バグの項も参照のこと)。 -タイマーが満了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな時 (\fBITIMER_VIRTUAL\fP -の場合には常にそうである) にタイマーが満了した場合、生成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少しの時間だけ -遅れて配送される。 -.SH 返り値 -成功した場合、0 が返される。エラーが発生した場合、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -\fInew_value\fP, \fIold_value\fP, \fIcurr_value\fP が有効なポインタではない。 -.TP -\fBEINVAL\fP -\fIwhich\fP が \fBITIMER_REAL\fP, \fBITIMER_VIRTUAL\fP, \fBITIMER_PROF\fP のどれでもない。 または -(Linux 2.6.22 以降で) \fInew_value\fP で指定された構造体の \fItv_usec\fP フィールドの一つが 0 以上 999999 -以下の範囲に入らない値である。 -.SH 準拠 -POSIX.1\-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた). POSIX.1\-2008 では、 -\fBgetitimer\fP() と \fBsetitimer\fP() は廃止予定とされており、 代わりに POSIX タイマー API -(\fBtimer_gettime\fP(2), \fBtimer_settime\fP(2) など) を使うことが推奨されている。 -.SH 注意 -\fBfork\fP(2) で作成された子プロセスは、 親プロセスのインターバル・タイマーを継承しない。 \fBexecve\fP(2) -の前後ではインターバル・タイマーは保存される。 - -POSIX.1 では、 \fBsetitimer\fP() と、 \fBalarm\fP(2), \fBsleep\fP(3), \fBusleep\fP(3) という 3 -つのインタフェースとの相互の影響については規定していない。 -.SH バグ -シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つだけがプロセスのために 待機する。 非常に重い負荷の下では、 -\fBITIMER_REAL\fP タイマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時間切れが起こる場合がある。 -そのような場合、 2 個めのイベントに対するシグナルは失われてしまう。 - -バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現される。 要求が jiffy 表現で -(\fIinclude/linux/jiffies.h\fP で定義されている) \fBMAX_SEC_IN_JIFFIES\fP -を越える値をタイマーに設定しようとするものの場合、 タイマーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux -2.6.13 以降では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日になることを意味する。 Linux -2.6.16 以降では、カーネルは時間に関する内部表現として 異なる表現を使うようになっており、この上限はなくなった。 - -.\" 4 Jul 2005: It looks like this bug may remain in 2.4.x. -.\" http://lkml.org/lkml/2005/7/1/165 -(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネルは ある種の状況では 1 jiffy -早くタイマーが終了してしまうというバグがあった。 このバグはカーネル 2.6.12 で修正された。 - -.\" Bugzilla report 25 Apr 2006: -.\" http://bugzilla.kernel.org/show_bug.cgi?id=6443 -.\" "setitimer() should reject noncanonical arguments" -POSIX.1\-2001 では \fBsetitimer\fP() は \fItv_usec\fP の値が 0 から 999999 -の範囲外である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの Linux ではエラーにならず、 -対応する秒数の分だけそのタイマーの秒の値が暗黙に調整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 \fItv_usec\fP -の値が不適切な場合には \fBEINVAL\fP エラーとなる。 -.SH 関連項目 -\fBgettimeofday\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBtimer_create\fP(2), -\fBtimerfd_create\fP(2), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getpagesize.2 b/draft/man2/getpagesize.2 index a942d903..c934cd96 100644 --- a/draft/man2/getpagesize.2 +++ b/draft/man2/getpagesize.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -86,6 +88,6 @@ long sz = sysconf(_SC_PAGESIZE); .SH 関連項目 \fBmmap\fP(2), \fBsysconf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getpeername.2 b/draft/man2/getpeername.2 deleted file mode 100644 index 732bfc0a..00000000 --- a/draft/man2/getpeername.2 +++ /dev/null @@ -1,94 +0,0 @@ -.\" Copyright (c) 1983, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)getpeername.2 6.5 (Berkeley) 3/10/91 -.\" -.\" Modified Sat Jul 24 16:37:50 1993 by Rik Faith -.\" Modified Thu Jul 30 14:37:50 1993 by Martin Schulze -.\" Modified Sun Mar 28 21:26:46 1999 by Andries Brouwer -.\" Modified 17 Jul 2002, Michael Kerrisk -.\" Added 'socket' to NAME, so that "man -k socket" will show this page. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETPEERNAME 2 2008\-12\-03 Linux "Linux Programmer's Manual" -.SH 名前 -getpeername \- 接続している相手ソケットの名前を取得する -.SH 書式 -\fB#include \fP -.sp -\fBint getpeername(int \fP\fIsockfd\fP\fB, struct sockaddr *\fP\fIaddr\fP\fB, socklen_t -*\fP\fIaddrlen\fP\fB);\fP -.SH 説明 -\fBgetpeername\fP() は、ソケット(socket) \fIsockfd\fP に接続している相手のアドレスを、 \fIaddr\fP -が指すバッファに格納して返す。 \fIaddrlen\fP 引き数は、 \fIaddr\fP が指している領域のサイズに初期化しておかなければならない。 -関数が返る時には、 \fIaddrlen\fP には実際に返された名前のサイズが (バイト単位で) 格納される。 -提供されたバッファが小さすぎた場合には、名前は切り詰められる。 - -渡されたバッファが小さ過ぎた場合は、返されるアドレスの末尾が切り詰められる。 この場合には、 \fIaddrlen\fP -には、呼び出し時に指定された値よりも大きな値が格納される。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEBADF\fP -引き数 \fIsockfd\fP が有効なディスクリプタでない。 -.TP -\fBEFAULT\fP -\fIaddr\fP 引き数の指しているメモリが有効なプロセスのアドレス空間の 一部でない。 -.TP -\fBEINVAL\fP -\fIaddrlen\fP が不正である (例えば、負で場合など)。 -.TP -\fBENOBUFS\fP -この操作を行なうのに十分な資源がシステムに存在しない。 -.TP -\fBENOTCONN\fP -ソケットが接続していない。 -.TP -\fBENOTSOCK\fP -引き数 \fIsockfd\fP がソケットでなくてファイルである。 -.SH 準拠 -SVr4, 4.4BSD (\fBgetpeername\fP() 関数は 4.2BSD で登場した), POSIX.1\-2001. -.SH 注意 -\fBgetpeername\fP() の三番目の引き数は実際には \fI`int *'\fP である (4.x BSD, libc4, libc5 では -このようになっている)。 POSIX では紆余曲折を経て現在の \fIsocklen_t\fP になっており、 glibc でも \fIsocklen_t\fP -を使っている。 \fBaccept\fP(2) も参照のこと。 -.SH 関連項目 -\fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBip\fP(7), \fBsocket\fP(7), -\fBunix\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getpid.2 b/draft/man2/getpid.2 index c2b07760..97753472 100644 --- a/draft/man2/getpid.2 +++ b/draft/man2/getpid.2 @@ -1,6 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -83,6 +85,6 @@ glibc バージョン 2.3.4 以降では、 glibc の \fBgetpid\fP() のラッ \fBclone\fP(2), \fBfork\fP(2), \fBkill\fP(2), \fBexec\fP(3), \fBmkstemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getpriority.2 b/draft/man2/getpriority.2 deleted file mode 100644 index c1bba572..00000000 --- a/draft/man2/getpriority.2 +++ /dev/null @@ -1,134 +0,0 @@ -.\" Copyright (c) 1980, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)getpriority.2 6.9 (Berkeley) 3/10/91 -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1996-07-01 by Andries Brouwer -.\" Modified 1996-11-06 by Eric S. Raymond -.\" Modified 2001-10-21 by Michael Kerrisk -.\" Corrected statement under EPERM to clarify privileges required -.\" Modified 2002-06-21 by Michael Kerrisk -.\" Clarified meaning of 0 value for 'who' argument -.\" Modified 2004-05-27 by Michael Kerrisk -.\" -.\" FIXME Oct 2008: Denys Vlasenko is working on a PRIO_THREAD feature that -.\" is likely to get included in mainline; this will need to be documented. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETPRIORITY 2 2008\-05\-29 Linux "Linux Programmer's Manual" -.SH 名前 -getpriority, setpriority \- プログラムのスケジューリングの優先度を取得/設定する -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint getpriority(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB);\fP -.br -\fBint setpriority(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB, int \fP\fIprio\fP\fB);\fP -.SH 説明 -システムコール \fBgetpriority\fP() や \fBsetpriority\fP() は、 \fIwhich\fP と \fIwho\fP -で指定されたプロセス、プロセスグループ、ユーザーの スケジューリング優先度 (scheduling priority) の 取得や設定をそれぞれ行う。 - -\fIwhich\fP の値は \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP, \fBPRIO_USER\fP, のどれか一つで、 \fIwho\fP は -\fIwhich\fP に応じて解釈される (\fBPRIO_PROCESS\fP だとプロセス識別子、 \fBPRIO_PGRP\fP だとプロセスグループ識別子、 -\fBPRIO_USER\fP だと UID (ユーザID) と解釈される)。 \fIwho\fP がゼロならば、(それぞれ)呼び出したプロセス、 -呼び出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。 \fIprio\fP は \-20 から 19 の範囲の値で -(但し以下の注意の項を参照のこと)、 デフォルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。 - -\fBgetpriority\fP() コールは指定したプロセスの中の最も高い優先度 (数値的には最小の値) を返す。 \fBsetpriority\fP() -コールは指定したプロセス全ての優先度を指定した値に設定する。 優先度を今より小さい値に設定できるのはスーパーユーザーだけである。 -.SH 返り値 -\fBgetpriority\fP() は成功した場合にも \-1 の値を返す可能性があるので、 呼び出しの前に外部変数の \fIerrno\fP -をクリアし、呼び出しの後に返り値の \-1 が正当な値か エラーかを判別する必要がある。 \fBsetpriority\fP() コールはエラーがなければ 0 -を返し、エラーがあれば \-1 を返す。 -.SH エラー -.TP -\fBEINVAL\fP -\fIwhich\fP が \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP, \fBPRIO_USER\fP のいずれでもない。 -.TP -\fBESRCH\fP -\fIwhich\fP と \fIwho\fP で指定されたプロセスが存在しない。 -.PP -上記のものに加えて \fBsetpriority\fP() では以下のエラーがある: -.TP -\fBEACCES\fP -呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかった (Linux の場合、 \fBCAP_SYS_NICE\fP -ケーパビリティがなかった)。 Linux 2.6.12 以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソース -\fBRLIMIT_NICE\fP のソフトリミットの範囲外に設定しようとした場合にのみ、 このエラーが発生する。詳細は \fBgetrlimit\fP(2) -を参照。 -.TP -\fBEPERM\fP -プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実効UID にも実 (real) UID にも一致せず、 -呼び出し元が特権も持っていなかった (Linux の場合、 \fBCAP_SYS_NICE\fP ケーパビリティがなかった)。 以下の「注意」も参照のこと。 -.SH 準拠 -SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1\-2001. -.SH 注意 -\fBfork\fP(2) で作成された子プロセスは、 親プロセスの nice 値を継承する。 \fBexecve\fP(2) の前後で nice -値は保存される。 - -相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか は、UNIX システム間で異なり、Linux -ではカーネルバージョンにより異なる。 Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を -与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシステムに存在する時には、 非常に低い nice 値 (+19) -ではプロセスに本当にほとんど CPU が割り当てられない。 また、高い nice 値 (\-20) では CPU を必要とするアプリケーション (例えば -オーディオアプリケーション) に CPU のほとんどが割り当てられる。 - -\fBEPERM\fP が発生する条件の詳細はシステムに依存する。 上記の説明は POSIX.1\-2001 のものであり、全ての System V -風システムは これに従っているようである。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 UID がプロセス -\fIwho\fP の (実効 UID でなく) 実 UID に一致する必要がある。 Linux 2.6.12 以降では、呼び出し元の実行 UID -がプロセス \fIwho\fP の実 UID か実効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, -Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD\-2.5等) は、 Linux 2.6.12 以降と同じ動作をする。 -.LP -実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の Linux では、優先度の範囲は負の無限大 〜 15 である。 -1.3.43 以降の Linux では、優先度の範囲は \-20 〜 19 である。 カーネル内部では、nice 値は実際には 40 〜 1 -の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの値が システムコール \fBsetpriority\fP() と -\fBgetpriority\fP() で使用されている。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領域 -(user\-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: \fIunice\ =\ 20\ \-\ knice\fP -.LP -いくつかのシステムでは、nice 値の範囲は \20 〜 20 である。 -.LP -現在では \fI\fP をインクルードする必要はないが、インクルードすれば移植性を高めることができる (実際には -\fI\fP で \fIrusage\fP 構造体が定義されているが、そのフィールドで使用されている -\fIstruct timeval\fP 型は \fI\fP で定義されている)。 -.SH 関連項目 -\fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBcapabilities\fP(7) -.sp -(Linux 2.6.23 以降の) カーネルのソースツリー内の -\fIDocumentation/scheduler/sched\-nice\-design.txt\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getresuid.2 b/draft/man2/getresuid.2 index d4713667..bec4a97c 100644 --- a/draft/man2/getresuid.2 +++ b/draft/man2/getresuid.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1997 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (c) 2007, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,8 +21,10 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified, 2003-05-26, Michael Kerrisk, +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -67,6 +68,6 @@ glibc の \fBgetresuid\fP() と \fBgetresgid\fP() のラッパー関数は \fBgetuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getsid.2 b/draft/man2/getsid.2 index 71367d5a..75e19327 100644 --- a/draft/man2/getsid.2 +++ b/draft/man2/getsid.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Thu Oct 31 14:18:40 1996 by Eric S. Raymond .\" Modified 2001-12-17, aeb @@ -72,6 +73,6 @@ Linux は \fBEPERM\fP を返さない。 .SH 関連項目 \fBgetpgid\fP(2), \fBsetsid\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getsockname.2 b/draft/man2/getsockname.2 index 278f45ae..921ea233 100644 --- a/draft/man2/getsockname.2 +++ b/draft/man2/getsockname.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)getsockname.2 6.4 (Berkeley) 3/10/91 .\" @@ -86,6 +88,6 @@ glibc でも使われている現在の \fIsocklen_t\fP に関して、 POSIX \fBbind\fP(2), \fBsocket\fP(2), \fBgetifaddrs\fP(3), \fBip\fP(7), \fBsocket\fP(7), \fBunix\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getsockopt.2 b/draft/man2/getsockopt.2 index e1efe0bb..4778d408 100644 --- a/draft/man2/getsockopt.2 +++ b/draft/man2/getsockopt.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" $Id: getsockopt.2,v 1.1 1999/05/24 14:57:04 freitag Exp $ .\" @@ -123,6 +125,6 @@ glibc でも \fIsocklen_t\fP を使っている。 \fBaccept\fP(2) も参照の \fBioctl\fP(2), \fBsocket\fP(2), \fBgetprotoent\fP(3), \fBprotocols\fP(5), \fBsocket\fP(7), \fBtcp\fP(7), \fBunix\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/gettid.2 b/draft/man2/gettid.2 deleted file mode 100644 index a99474b3..00000000 --- a/draft/man2/gettid.2 +++ /dev/null @@ -1,64 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 2003 Abhijit Menon-Sen -.\" and Copyright (C) 2008 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETTID 2 2008\-04\-14 Linux "Linux Programmer's Manual" -.SH 名前 -gettid \- スレッドID を取得する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBpid_t gettid(void);\fP -.fi -.SH 説明 -\fBgettid\fP() は呼び出し元のスレッド ID (TID) を返す。 シングルスレッドのプロセスでは、スレッド ID は -(\fBgetpid\fP(2) が返すプロセス ID (PID) と等しい。 マルチスレッドのプロセスでは、全てのスレッドは同じ PID を持つが、 -それぞれのスレッドは一意な TID を持つ。 さらなる詳細は、 \fBclone\fP(2) の \fBCLONE_THREAD\fP -についての議論を参照すること。 -.SH 返り値 -成功の場合、呼び出し元のプロセスのスレッドID を返す。 -.SH エラー -このコールは常に成功する。 -.SH バージョン -\fBgettid\fP() システムコールは、カーネル 2.4.11 の Linux で初めて登場した。 -.SH 準拠 -\fBgettid\fP() は Linux 固有であり、 移植を想定したプログラムでは使用すべきではない。 -.SH 注意 -.\" FIXME See http://sourceware.org/bugzilla/show_bug.cgi?id=6399 -.\" "gettid() should have a wrapper" -glibc はこのシステムコールに対するラッパー関数を提供していない。 このシステムコールは呼び出すには \fBsyscall\fP(2) を使うこと。 - -このシステムコールが返すスレッド ID は POSIX スレッド ID (\fBpthread_self\fP(3) が返す曖昧な値) と同じものではない。 -.SH 関連項目 -\fBclone\fP(2), \fBfork\fP(2), \fBgetpid\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/gettimeofday.2 b/draft/man2/gettimeofday.2 deleted file mode 100644 index aaee276d..00000000 --- a/draft/man2/gettimeofday.2 +++ /dev/null @@ -1,182 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt (michael@moria.de) -.\" Modified 1993-07-23 by Rik Faith (faith@cs.unc.edu) -.\" Modified 1994-08-21 by Michael Chastain (mec@shell.portal.com): -.\" Fixed necessary '#include' lines. -.\" Modified 1995-04-15 by Michael Chastain (mec@shell.portal.com): -.\" Added reference to adjtimex. -.\" Removed some nonsense lines pointed out by Urs Thuermann, -.\" (urs@isnogud.escape.de), aeb, 950722. -.\" Modified 1997-01-14 by Austin Donnelly (and1000@debian.org): -.\" Added return values section, and bit on EFAULT -.\" Added clarification on timezone, aeb, 971210. -.\" Removed "#include ", aeb, 010316. -.\" Modified, 2004-05-27 by Michael Kerrisk -.\" Added notes on capability requirement. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETTIMEOFDAY 2 2012\-04\-26 Linux "Linux Programmer's Manual" -.SH 名前 -gettimeofday, settimeofday \- 時刻を取得/設定する -.SH 書式 -.nf -\fB#include \fP - -\fBint gettimeofday(struct timeval *\fP\fItv\fP\fB, struct timezone *\fP\fItz\fP\fB);\fP - -\fBint settimeofday(const struct timeval *\fP\fItv\fP\fB, const struct timezone *\fP\fItz\fP\fB);\fP - -.fi -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBsettimeofday\fP(): _BSD_SOURCE -.SH 説明 -関数 \fBgettimeofday\fP() と \fBsettimeofday\fP() は時刻とタイムゾーンを取得または設定する。 \fItv\fP 引き数は -\fIstruct timeval\fP である (\fI\fP で定義されている): -.sp -.in +4n -.nf -struct timeval { - time_t tv_sec; /* 秒 */ - suseconds_t tv_usec; /* マイクロ秒 */ -}; -.fi -.in -.sp -これにより紀元 (the Epoch: \fBtime\fP(2) を参照) からの秒とマイクロ秒が取得できる。 \fItz\fP 引き数は \fIstruct -timezone\fP である: -.sp -.in +4n -.nf -struct timezone { - int tz_minuteswest; /* グリニッジ標準時との差 (西方に分単位) */ - int tz_dsttime; /* 夏時間調整の型 */ -}; -.fi -.in -.PP -.\" The following is covered under EPERM below: -.\" .PP -.\" Only the superuser may use -.\" .BR settimeofday (). -\fItv\fP や \fItz\fP が NULL の場合、対応する構造体の設定/取得は行われない -(ただし、\fItv\fP が NULL の場合には、コンパイル時の警告が発生する)。 -.PP -\fItimezone\fP 構造体の利用は廃止予定とされている; -通常は \fItz\fP 引き数に NULL を指定すべきである (下記の「注意」を参照)。 - -Linux では、 \fBsettimeofday\fP() システムコールに関連して、独特の「クロックのズレ -(warp clock)」が存在する場合がある。 これは (ブート後の) 最初の呼び出しで -\fItz\fP 引き数が NULL でなく、 \fItv\fP 引き数が NULL で \fItz_minuteswest\fP フィールド -が 0 でない場合に起こる (この場合 \fItz_dsttime\fP フィールドは 0 にすべきである)。 -このような場合、 \fBsettimeofday\fP() は CMOS クロックが地方時 (local time) であり、 -UTC システム時間を得るためには、\fItz_minuteswest\fP の分だけ増加させなくてはなら -ないとみなしてしまう。 疑いもなく、この機構を使うことは良い考えではない。 -.SH 返り値 -\fBgettimeofday\fP() と \fBsettimeofday\fP() は成功すると 0 を返し、失敗した場合は \-1 を返す (この場合は -\fIerrno\fP が適切に設定される)。 -.SH エラー -.TP -\fBEFAULT\fP -\fItv\fP か \fItz\fP のどちらかがアクセス可能なアドレス空間外を指している。 -.TP -\fBEINVAL\fP -タイムゾーン (または他の何か) が不正である。 -.TP -\fBEPERM\fP -呼び出し元プロセスに \fBsettimeofday\fP() を呼び出すための十分な特権がない。 Linux では \fBCAP_SYS_TIME\fP -ケーパビリティ (capability) が必要である。 -.SH 準拠 -SVr4, 4.3BSD に準拠する。 POSIX.1\-2001 は \fBgettimeofday\fP() については記述しているが、 -\fBsettimeofday\fP() については記述していない。 POSIX.1\-2008 では \fBgettimeofday\fP() -は廃止予定とされており、 代わりに \fBclock_gettime\fP(2) の使用が推奨されている。 -.SH 注意 -\fBgettimeofday\fP(2) が返す時刻は、システム時間の不連続な変化 -(例えば、システム管理者がシステム時間を手動で変更した場合など) -の影響を\fI受ける\fP。単調増加するクロックが必要な場合は、 -\fBclock_gettime\fP(2) を参照してほしい。 - -\fItimeval\fP 構造体を操作するためのマクロの説明は \fBtimeradd\fP(3) にある。 - -昔は \fIstruct timeval\fP のフィールドは \fIlong\fP 型であった。 - -.\" it has not -.\" been and will not be supported by libc or glibc. -.\" Each and every occurrence of this field in the kernel source -.\" (other than the declaration) is a bug. -\fItz_dsttime\fP は Linux でこれまで使われたことはない。 -したがって、以下は純粋に歴史的な興味から書かれたものである。 - -\fItz_dsttime\fP フィールドには (下記に示す) シンボル定数が格納される。 -これは一年のうちでいつ夏時間 (Daylight Savings Time) を実施するかを示している -(注意: その値は年間を通した定数である: 夏時間が実施中であることを示すわけではなく、 -アルゴリズムを選択しているだけである)。 夏時間は以下のように定義される: -.in +4n -.nf - -\fBDST_NONE\fP /* 夏時間を採用していない */ -.br -\fBDST_USA\fP /* アメリカ合衆国式夏時間 */ -.br -\fBDST_AUST\fP /* オーストラリア式夏時間 */ -.br -\fBDST_WET\fP /* 西ヨーロッパ式夏時間 */ -.br -\fBDST_MET\fP /* 中央ヨーロッパ式夏時間 */ -.br -\fBDST_EET\fP /* 東ヨーロッパ式夏時間 */ -.br -\fBDST_CAN\fP /* カナダ */ -.br -\fBDST_GB\fP /* グレートブリテンおよびアイルランド */ -.br -\fBDST_RUM\fP /* ルーマニア */ -.br -\fBDST_TUR\fP /* トルコ */ -.br -\fBDST_AUSTALT\fP /* 1986年に移行されたオーストラリア式 */ -.fi -.in -.PP -当然のことながら、夏時間がどの期間に実施されるかを国ごとの簡単なアルゴリズムで -導くことができないことが判明した。 実際、夏時間の期間は予測不可能な政治的決定で -決定される。そのため、この方法でタイム・ゾーンを表すことは断念された。 -Linux において \fBsettimeofday\fP() を呼び出すときは、 -\fItz_dsttime\fP フィールドを 0 にするべきである。 -.SH 関連項目 -\fBdate\fP(1), \fBadjtimex\fP(2), \fBclock_gettime\fP(2), \fBtime\fP(2), -\fBctime\fP(3), \fBftime\fP(3), \fBtimeradd\fP(3), \fBcapabilities\fP(7), -\fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getuid.2 b/draft/man2/getuid.2 index 28bcc1e4..33f9d582 100644 --- a/draft/man2/getuid.2 +++ b/draft/man2/getuid.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Historical remark, aeb, 2004-06-05 .\"******************************************************************* @@ -51,7 +51,7 @@ POSIX.1\-2001, 4.3BSD. .SS 歴史 UNIX V6 では \fBgetuid\fP() コールは \fI(euid << 8) + uid\fP を返していた。 UNIX V7 では \fBgetuid\fP() と \fBgeteuid\fP() という別々のコールが導入された。 -.SH 注意 + 元々の Linux の \fBgetuid\fP() と \fBgeteuid\fP() システムコールは 16 ビットのグループ ID だけに対応していた。 その後、Linux 2.4 で、32 ビットの ID に対応した @@ -61,6 +61,6 @@ glibc の \fBgetuid\fP() と \fBgeteuid\fP() のラッパー関数は .SH 関連項目 \fBgetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/getxattr.2 b/draft/man2/getxattr.2 deleted file mode 100644 index 97c88483..00000000 --- a/draft/man2/getxattr.2 +++ /dev/null @@ -1,100 +0,0 @@ -.\" -.\" Extended attributes system calls manual pages -.\" -.\" Copyright (C) Andreas Gruenbacher, February 2001 -.\" Copyright (C) Silicon Graphics Inc, September 2001 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETXATTR 2 2001\-12\-01 Linux "Linux Programmer's Manual" -.SH 名前 -getxattr, lgetxattr, fgetxattr \- 拡張属性の値を取得する -.SH 書式 -.fam C -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBssize_t getxattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBssize_t lgetxattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBssize_t fgetxattr(int \fP\fIfd\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.fi -.fam T -.SH 説明 -拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた \fIname\fP:\fIvalue\fP の対である。 -これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。 -拡張属性のコンセプトは \fBattr\fP(5) に書かれている。 -.PP -\fBgetxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する、名前 \fIname\fP の拡張属性の \fIvalue\fP -(値) を取得する。 属性 \fIvalue\fP の長さが返される。 -.PP -\fBlgetxattr\fP() は \fBgetxattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル -ではなく、リンクそのものの情報を取得する点だけが異なる。 -.PP -\fBfgetxattr\fP() は \fBgetxattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP -で参照されたオープン済みファイルの情報だけを取得する点が異なる (\fIfd\fP は \fBopen\fP(2) によって返される)。 -.PP -拡張属性の名前 \fIname\fP は普通の NULL 終端された文字列である。 名前には、名前空間を表す接頭辞 (prefix) が含まれる; 個々の -inode に対して、互いに独立な名前空間が複数あってもよい。 拡張属性の値は、ある一定の長さの任意のテキスト・データまたは -バイナリ・データの集合である。 -.PP -\fIsize\fP に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、 この場合には指定された名前の拡張属性の現在のサイズが返される。 -この方法は、拡張属性の値を保持するのに十分な大きさのバッファ・サイズを 見積もるのに使うことができる、 -.PP -このシステムコール・インタフェースは、初期バッファのサイズの推測をしたり、 与えられたバッファが小さすぎたことを返り値で知らせることでバッファを大きく -したりできるように設計されている。 -.SH 返り値 -成功した場合、拡張属性の値の長さを表す正の数が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 -.PP -指定された名前の属性が存在しない場合、またはプロセスがその属性にアクセス する権限がない場合、 \fIerrno\fP に \fBENOATTR\fP -がセットされる。 -.PP -\fIvalue\fP バッファの大きさ \fIsize\fP が結果を保持するのに十分な大きさでない場合、 \fIerrno\fP に \fBERANGE\fP -がセットされる。 -.PP -拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 \fIerrno\fP に \fBENOTSUP\fP がセットされる。 -.PP -\fBstat\fP(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。 -.SH バージョン -これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。 -.SH 準拠 -.\" .SH AUTHORS -.\" Andreas Gruenbacher, -.\" .RI < a.gruenbacher@computer.org > -.\" and the SGI XFS development team, -.\" .RI < linux-xfs@oss.sgi.com >. -.\" Please send any bug reports or comments to these addresses. -これらのシステムコールは Linux 独自である。 -.SH 関連項目 -\fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBlistxattr\fP(2), \fBopen\fP(2), -\fBremovexattr\fP(2), \fBsetxattr\fP(2), \fBstat\fP(2), \fBattr\fP(5), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/idle.2 b/draft/man2/idle.2 deleted file mode 100644 index 20eb08c2..00000000 --- a/draft/man2/idle.2 +++ /dev/null @@ -1,64 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" Portions extracted from linux/mm/swap.c: -.\" Copyright (C) 1991, 1992 Linus Torvalds -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 21 Aug 1994 by Michael Chastain : -.\" Added text about calling restriction (new in kernel 1.1.20 I believe). -.\" N.B. calling "idle" from user process used to hang process! -.\" Modified Thu Oct 31 14:41:15 1996 by Eric S. Raymond -.\" " -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH IDLE 2 1994\-08\-21 Linux "Linux Programmer's Manual" -.SH 名前 -idle \- ID 0 のプロセスをアイドル状態にする -.SH 書式 -\fB#include \fP -.sp -\fBint idle(void);\fP -.SH 説明 -\fBidle\fP() はブートストラップ時に使用される、内部システムコールである。 -プロセスのページをスワップ可能に設定し、優先度を下げ、メインのスケジュー ル処理のためのループへ移行する。 従って \fBidle\fP() は -return することはない。 -.PP -ID 0 のプロセスのみが \fBidle\fP() を使用することができる。 他のユーザープロセスはたとえそれがスーパーユーザー権限を持っていたとして も -\fBEPERM\fP を受け取る。 -.SH 返り値 -\fBidle\fP() ID 0 のプロセスに対しては return しない。それ以外のユーザープロセスには 常に \-1 を返す。 -.SH エラー -.TP -\fBEPERM\fP -ユーザプロセスに対しては、常にこのエラーとなる。 -.SH バージョン -2.3.13 以降、もはやこのシステムコールは存在しない。 -.SH 準拠 -この関数は Linux 特有であり、移植を意図したプログラムでは 使用すべきでない。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/init_module.2 b/draft/man2/init_module.2 deleted file mode 100644 index c99f9f39..00000000 --- a/draft/man2/init_module.2 +++ /dev/null @@ -1,84 +0,0 @@ -.\" Copyright (C) 1996 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some -.\" reformatting and rewordings by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH INIT_MODULE 2 2006\-02\-09 Linux "Linux Programmer's Manual" -.SH 名前 -init_module \- ローダブルモジュールのエントリを初期化する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint init_module(const char *\fP\fIname\fP\fB, struct module *\fP\fIimage\fP\fB);\fP -.fi -.SH 説明 -\fBinit_module\fP() は再配置されたモジュールイメージをカーネル空間にロードし、 そのモジュールの \fIinit\fP 関数を実行する。 -.PP -モジュールイメージは先頭部分に module 構造体があり、その後ろに 適切なコードとデータが続く。 この module -構造体は以下のように定義されている: -.PP -.in +4n -.nf -struct module { - unsigned long size_of_struct; - struct module *next; - const char *name; - unsigned long size; - long usecount; - unsigned long flags; - unsigned int nsyms; - unsigned int ndeps; - struct module_symbol *syms; - struct module_ref *deps; - struct module_ref *refs; - int (*init)(void); - void (*cleanup)(void); - const struct exception_table_entry *ex_table_start; - const struct exception_table_entry *ex_table_end; -#ifdef __alpha__ - unsigned long gp; -#endif -}; -.fi -.in -.PP -\fInext\fP と \fIrefs\fP 以外の全てのポインタ要素はモジュール本体内部を指し、 カーネル空間での適切な値で初期化される -(つまり、モジュールの残りの 部分で再配置される) ことが期待される。 -.PP -このシステムコールを使うには特権が必要である。 -.SH 返り値 -成功の場合 0 が返される。エラーの場合 \-1 が返され、 \fIerrno\fP に適切な値が設定される。 -.SH エラー -.TP -\fBEBUSY\fP -モジュールの初期化ルーチンが失敗した。 -.TP -\fBEFAULT\fP -\fIname\fP や \fIimage\fP がプログラムがアクセスできるアドレス空間の外部にある。 -.TP -\fBEINVAL\fP -一部の \fIimage\fP スロットにおかしな値が入っている。または \fIimage\->name\fP -が元のモジュール名と一致していない。または、一部の \fIimage\->deps\fP エントリがロードされたモジュールに対応していない。 -または、他に同様の矛盾が起こっている。 -.TP -\fBENOENT\fP -その名前のモジュールが存在しない。 -.TP -\fBEPERM\fP -呼び出し元が特権 (\fBCAP_SYS_MODULE\fP ケーパビリティ) を持っていなかった。 -.SH 準拠 -\fBinit_module\fP() は Linux 固有である。 -.SH 関連項目 -\fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBquery_module\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/inotify_add_watch.2 b/draft/man2/inotify_add_watch.2 index 5bd8f463..277c2afd 100644 --- a/draft/man2/inotify_add_watch.2 +++ b/draft/man2/inotify_add_watch.2 @@ -1,8 +1,7 @@ -.\" man2/inotify_add_watch.2 - inotify_add_watch man page -.\" .\" Copyright (C) 2005 Robert Love .\" and Copyright, 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2005-07-19 Robert Love - initial version .\" 2006-02-07 mtk, various changes @@ -87,6 +86,6 @@ inotify は Linux カーネル 2.6.13 に組み込まれた。 .SH 関連項目 \fBinotify_init\fP(2), \fBinotify_rm_watch\fP(2), \fBinotify\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/inotify_init.2 b/draft/man2/inotify_init.2 deleted file mode 100644 index eba1a6cb..00000000 --- a/draft/man2/inotify_init.2 +++ /dev/null @@ -1,86 +0,0 @@ -.\" man2/inotify_init.2 - inotify_init man page -.\" -.\" Copyright (C) 2005 Robert Love -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 2005-07-19 Robert Love - initial version -.\" 2006-02-07 mtk, minor changes -.\" 2008-10-10 mtk: add description of inotify_init1() -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH INOTIFY_INIT 2 2012\-05\-04 Linux "Linux Programmer's Manual" -.SH 名前 -inotify_init, inotify_init1 \- inotify インスタンスを初期化する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint inotify_init(void);\fP -\fBint inotify_init1(int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -\fBinotify_init\fP() は、新規の inotify インスタンスを初期化し、作成された inotify イベントキュー -に対応するファイルディスクリプタを返す。 - -\fBinotify_init1\fP() は、 \fIflags\fP が 0 の場合、 \fBinotify_init\fP() と同じである。 \fIflags\fP -に以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることができる。 -.TP 12 -\fBIN_NONBLOCK\fP -新しく生成されるオープンファイル記述 (open file description) の BR O_NONBLOCK -ファイルステータスフラグをセットする。 このフラグを使うことで、 \fBO_NONBLOCK\fP をセットするために \fBfcntl\fP(2) -を追加で呼び出す必要がなくなる。 -.TP -\fBIN_CLOEXEC\fP -新しいファイル・ディスクリプターに対して close\-on\-exec (\fBFD_CLOEXEC\fP) フラグをセットする。 -このフラグが役に立つ理由については、 \fBopen\fP(2) の \fBO_CLOEXEC\fP フラグの説明を参照のこと。 -.SH 返り値 -成功すると、これらのシステムコールは新しいファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP をエラーを示す値に設定する。 -.SH エラー -.TP -\fBEINVAL\fP -(\fBinotify_init1\fP()) 無効な値が \fIflags\fP に指定された。 -.TP -\fBEMFILE\fP -inotify インスタンスの総数がユーザ単位の上限に達していた。 -.TP -\fBENFILE\fP -inotify インスタンスの総数がシステムの上限に達していた。 -.TP -\fBENOMEM\fP -カーネルメモリが十分になかった。 -.SH バージョン -\fBinotify_init\fP() は Linux 2.6.13 で初めて登場し、 -ライブラリによるサポートは glibc バージョン 2.4 で追加された。 -\fBinotify_init1\fP() は Linux 2.6.27 で追加され、 -ライブラリによるサポートは glibc バージョン 2.9 で追加された。 -.SH 準拠 -これらのシステムコールは Linux 独自である。 -.SH 関連項目 -\fBinotify_add_watch\fP(2), \fBinotify_rm_watch\fP(2), \fBinotify\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/inotify_rm_watch.2 b/draft/man2/inotify_rm_watch.2 index 1791ec82..593f4f37 100644 --- a/draft/man2/inotify_rm_watch.2 +++ b/draft/man2/inotify_rm_watch.2 @@ -1,7 +1,6 @@ -.\" man2/inotify_rm_watch.2 - inotify_rm_watch man page -.\" .\" Copyright (C) 2005 Robert Love .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2005-07-19 Robert Love - initial version .\" 2006-02-07 mtk, minor changes @@ -60,6 +59,6 @@ inotify は Linux カーネル 2.6.13 に組み込まれた。 .SH 関連項目 \fBinotify_add_watch\fP(2), \fBinotify_init\fP(2), \fBinotify\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/intro.2 b/draft/man2/intro.2 index 77556e98..44a69e76 100644 --- a/draft/man2/intro.2 +++ b/draft/man2/intro.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2007-10-23 mtk: moved the _syscallN specific material to the .\" new _syscall(2) page, and substantially enhanced and rewrote @@ -69,6 +71,6 @@ Linux のシステムコールのリストについては \fBsyscalls\fP(2) を \fBsem_overview\fP(7), \fBshm_overview\fP(7), \fBsignal\fP(7), \fBsocket\fP(7), \fBstandards\fP(7), \fBsvipc\fP(7), \fBsymlink\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/io_cancel.2 b/draft/man2/io_cancel.2 index 4fbc1634..2289cf71 100644 --- a/draft/man2/io_cancel.2 +++ b/draft/man2/io_cancel.2 @@ -1,13 +1,15 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH IO_CANCEL 2 2012\-05\-08 Linux "Linux Programmer's Manual" +.TH IO_CANCEL 2 2012\-07\-13 Linux "Linux Programmer's Manual" .SH 名前 io_cancel \- 未処理の非同期 I/O 操作の取り消し .SH 書式 @@ -17,6 +19,8 @@ io_cancel \- 未処理の非同期 I/O 操作の取り消し \fBint io_cancel(aio_context_t \fP\fIctx_id\fP\fB, struct iocb *\fP\fIiocb\fP\fB,\fP \fB struct io_event *\fP\fIresult\fP\fB);\fP .fi + +\fI注\fP: このシステムコールには glibc ラッパー関数がない。「注意」の節を参照すること。 .SH 説明 .PP \fBio_cancel\fP() システムコールは、過去に \fBio_submit\fP(2) を使って登録さ @@ -70,6 +74,6 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/io_destroy.2 b/draft/man2/io_destroy.2 index d65ec98b..056daee1 100644 --- a/draft/man2/io_destroy.2 +++ b/draft/man2/io_destroy.2 @@ -1,14 +1,15 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%LICENSE_END .\" -.\" .. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH IO_DESTROY 2 2012\-05\-08 Linux "Linux Programmer's Manual" +.TH IO_DESTROY 2 2012\-07\-13 Linux "Linux Programmer's Manual" .SH 名前 io_destroy \- 非同期 I/O コンテキストの消去 .SH 書式 @@ -17,6 +18,8 @@ io_destroy \- 非同期 I/O コンテキストの消去 \fBint io_destroy(aio_context_t \fP\fIctx_id\fP\fB);\fP .fi + +\fI注\fP: このシステムコールには glibc ラッパー関数がない。「注意」の節を参照すること。 .SH 説明 .PP \fBio_destroy\fP() システムコールは、I/O コンテキストのリストから @@ -66,6 +69,6 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBio_cancel\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/io_getevents.2 b/draft/man2/io_getevents.2 index ff4a1715..c3e498e5 100644 --- a/draft/man2/io_getevents.2 +++ b/draft/man2/io_getevents.2 @@ -1,13 +1,15 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH IO_GETEVENTS 2 2012\-05\-08 Linux "Linux Programmer's Manual" +.TH IO_GETEVENTS 2 2012\-11\-11 Linux "Linux Programmer's Manual" .SH 名前 io_getevents \- 完了キューから非同期 I/O イベントを読み出す .SH 書式 @@ -15,10 +17,11 @@ io_getevents \- 完了キューから非同期 I/O イベントを読み出す \fB#include \fP /* 必要な型の定義 */ \fB#include \fP /* 'struct timespec' の定義 */ -.sp \fBint io_getevents(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fImin_nr\fP\fB, long \fP\fInr\fP\fB,\fP \fB struct io_event *\fP\fIevents\fP\fB, struct timespec *\fP\fItimeout\fP\fB);\fP .fi + +\fI注\fP: このシステムコールには glibc ラッパー関数がない。「注意」の節を参照すること。 .SH 説明 .PP \fBio_getevents\fP() システムコールは、少なくとも \fImin_nr\fP の、最大 @@ -68,6 +71,9 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通 知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 \fIerrno\fP にエラーを示す (正の) 値が設定される。 +.SH バグ +無効な \fIctx_id\fP を指定した場合、エラー \fBEINVAL\fP が生成されず、セグメンテーション違反 (segmentation fault) +が発生する場合がある。 .SH 関連項目 .PP .\" .SH AUTHOR @@ -75,6 +81,6 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2), \fBaio\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/io_setup.2 b/draft/man2/io_setup.2 index 3cd04dd3..0123ee25 100644 --- a/draft/man2/io_setup.2 +++ b/draft/man2/io_setup.2 @@ -1,13 +1,15 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH IO_SETUP 2 2012\-05\-08 Linux "Linux Programmer's Manual" +.TH IO_SETUP 2 2012\-07\-13 Linux "Linux Programmer's Manual" .SH 名前 io_setup \- 非同期 I/O コンテキストを作成する .SH 書式 @@ -16,6 +18,8 @@ io_setup \- 非同期 I/O コンテキストを作成する \fBint io_setup(unsigned \fP\fInr_events\fP\fB, aio_context_t *\fP\fIctx_idp\fP\fB);\fP .fi + +\fI注\fP: このシステムコールには glibc ラッパー関数がない。「注意」の節を参照すること。 .SH 説明 .PP \fBio_setup\fP() システムコールは、少なくとも \fInr_events\fP 個のイベントを @@ -74,6 +78,6 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_submit\fP(2), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/io_submit.2 b/draft/man2/io_submit.2 index 8ed6abc1..c30293e9 100644 --- a/draft/man2/io_submit.2 +++ b/draft/man2/io_submit.2 @@ -1,13 +1,15 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH IO_SUBMIT 2 2012\-05\-08 Linux "Linux Programmer's Manual" +.TH IO_SUBMIT 2 2012\-07\-13 Linux "Linux Programmer's Manual" .SH 名前 io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する .SH 書式 @@ -16,6 +18,8 @@ io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する \fBint io_submit(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fInr\fP\fB, struct iocb **\fP\fIiocbpp\fP\fB);\fP .fi + +\fI注\fP: このシステムコールには glibc ラッパー関数がない。「注意」の節を参照すること。 .SH 説明 .PP \fBio_submit\fP() システムコールは、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個 @@ -74,6 +78,6 @@ glibc はこのシステムコールのラッパー関数を提供していな \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ioctl.2 b/draft/man2/ioctl.2 index 5ac6e761..287fa596 100644 --- a/draft/man2/ioctl.2 +++ b/draft/man2/ioctl.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1980, 1991 Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)ioctl.2 6.4 (Berkeley) 3/10/91 .\" @@ -92,6 +94,6 @@ UNIX の ストリーム I/O モデル に きちんと適合していない操 .\" .BR mt (4), \fBexecve\fP(2), \fBfcntl\fP(2), \fBioctl_list\fP(2), \fBopen\fP(2), \fBsd\fP(4), \fBtty\fP(4) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ioctl_list.2 b/draft/man2/ioctl_list.2 index 0817104f..71715c10 100644 --- a/draft/man2/ioctl_list.2 +++ b/draft/man2/ioctl_list.2 @@ -1,12 +1,15 @@ -.\" Ioctl List 1.3.27 -.\" Sun 17 Sep 1995 +.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain. .\" Michael Elizabeth Chastain .\" .\" -.\" // Copyright -.\" -.\" Ioctl List 1.3.27 is copyright 1995 by Michael Elizabeth Chastain. +.\" %%%LICENSE_START(GPLv2_MISC) .\" It is licensed under the Gnu Public License, Version 2. +.\" %%%LICENSE_END +.\" +.\" Ioctl List 1.3.27 +.\" Sun 17 Sep 1995 +.\" +.\" // Copyright .\" .\" .\" @@ -819,6 +822,6 @@ l l l. .SH 関連項目 \fBioctl\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ioperm.2 b/draft/man2/ioperm.2 deleted file mode 100644 index 6eab589a..00000000 --- a/draft/man2/ioperm.2 +++ /dev/null @@ -1,93 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1993 Michael Haardt -.\" (michael@moria.de) -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sat Jul 24 15:12:05 1993 by Rik Faith -.\" Modified Tue Aug 1 16:27 1995 by Jochen Karrer -.\" -.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond -.\" Modified Mon Feb 15 17:28:41 CET 1999 by Andries E. Brouwer -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH IOPERM 2 2007\-06\-15 Linux "Linux Programmer's Manual" -.SH 名前 -ioperm \- ポートの入出力許可を設定する -.SH 書式 -\fB#include \fP /* for libc5 */ -.br -\fB#include \fP /* for glibc */ -.sp -\fBint ioperm(unsigned long \fP\fIfrom\fP\fB, unsigned long \fP\fInum\fP\fB, int -\fP\fIturn_on\fP\fB);\fP -.SH 説明 -\fBioperm\fP() は、引き数 \fIfrom\fP の I/O ポートアドレスから \fInum\fP バイト分の領域に対する、呼び出し元プロセスの -アクセス許可ビットを、\fIturn_on\fP に設定する。 \fIturn_on\fP が 0 以外の場合、呼び出し元プロセスは特権 -(\fBCAP_SYS_RAWIO\fP) を持っていなければならない。 - -.\" FIXME is the following ("Only the first 0x3ff I/O ports can be -.\" specified in this manner") still true? Looking at changes in -.\" include/asm-i386/processor.h between 2.4 and 2.6 suggests -.\" that the limit is different in 2.6. -この方法で設定できるのは 0x3ff 番地までの I/Oポートに限られる。 これよりも大きなアドレスのポートに対しては \fBiopl\fP(2) -関数を使わなければならない。 - -アクセス権は \fBfork\fP(2) で作成された子プロセスには継承されない。 \fBexecve\fP(2) の前後でアクセス権は保存される。この機能は -非特権プログラムにポートへのアクセス権を 与えるのに使用できる。 - -このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その他の多くのアーキテクチャでは存在しないか、常にエラーを返す。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -\fIfrom\fP または \fInum\fP の値が不正である。 -.TP -\fBEIO\fP -(PowerPC で) このシステムコールはサポートしていない。 -.TP -\fBENOMEM\fP -.\" Could not allocate I/O bitmap. -メモリ不足。 -.TP -\fBEPERM\fP -呼び出し元プロセスに十分な権限がなかった。 -.SH 準拠 -\fBioperm\fP() は Linux 特有の関数であり、移植を意図したプログラムで 使用してはならない。 -.SH 注意 -libc5 ではシステムコールとして扱い \fI\fP にプロトタイプが存在している。 glibc1 -にはプロトタイプは存在しない。 glibc2 は \fI\fP と \fI\fP -の両方にプロトタイプを持っている。 後者は i386 のみで利用可能なので、使用すべきではない。 -.SH 関連項目 -\fBiopl\fP(2), \fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/iopl.2 b/draft/man2/iopl.2 deleted file mode 100644 index 91027e41..00000000 --- a/draft/man2/iopl.2 +++ /dev/null @@ -1,83 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" Portions extracted from linux/kernel/ioport.c (no copyright notice). -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Tue Aug 1 16:47 1995 by Jochen Karrer -.\" -.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond -.\" Modified Fri Nov 27 14:50:36 CET 1998 by Andries Brouwer -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH IOPL 2 2004\-05\-27 Linux "Linux Programmer's Manual" -.SH 名前 -iopl \- I/O 特権レベルを変更する -.SH 書式 -\fB#include \fP -.sp -\fBint iopl(int \fP\fIlevel\fP\fB);\fP -.SH 説明 -\fBiopl\fP() は呼び出し元のプロセスの I/O 特権レベルを \fIlevel\fP で指定した値に変更する。 - -この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜならこの X サーバは 65536 個の I/O -ポート全てへのアクセスを要求するので \fBioperm\fP(2) 関数では不十分だからである。 - -より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限を解除することに加えて、プロセスが割り込みを -無効にすることもできるようになる。この機能は時としてシステムの破壊を もたらすので勧められない。 - -\fBfork\fP(2) や \fBexec\fP(2) を行った場合、特権は継承される。 - -通常のプロセスの I/O 特権レベルは 0 である。 - -このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その他の多くのアーキテクチャでは存在しないか、常にエラーを返す。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -引き数 \fIlevel\fP が 3 より大きい。 -.TP -\fBENOSYS\fP -このシステムコールは実装されていない。 -.TP -\fBEPERM\fP -呼び出し元プロセスに \fBiopl\fP() を呼び出すのに十分な権限がなかった。 \fBiopl\fP() を呼び出すには \fBCAP_SYS_RAWIO\fP -ケーパビリティが必要である。 -.SH 準拠 -\fBiopl\fP() は Linux 特有の関数であり、移植を意図したプログラムで 使用してはならない。 -.SH 注意 -libc5 ではシステムコールとして扱い \fI\fP にプロトタイプが存在している。 glibc1 -にはプロトタイプは存在していない。 glibc2 は \fI\fP と \fI\fP -の両方にプロトタイプを持っている。 後者は i386 のみで利用可能なので、使用すべきではない。 -.SH 関連項目 -\fBioperm\fP(2), \fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ioprio_set.2 b/draft/man2/ioprio_set.2 deleted file mode 100644 index 32aafa54..00000000 --- a/draft/man2/ioprio_set.2 +++ /dev/null @@ -1,184 +0,0 @@ -.\" This is _*_ nroff _*_ source. Emacs, gimme all those colors :) -.\" -.\" Copyright (c) International Business Machines orp., 2006 -.\" -.\" This program is free software; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -.\" the GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111-1307 USA -.\" -.\" HISTORY: -.\" 2006-04-27, created by Eduardo M. Fleury -.\" with various additions by Michael Kerrisk -.\" -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH IOPRIO_SET 2 2008\-07\-09 Linux "Linux Programmer's Manual" -.SH 名前 -ioprio_get, ioprio_set \- I/O スケジューリングクラスと優先度の設定/取得 -.SH 書式 -.nf -\fBint ioprio_get(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB);\fP -\fBint ioprio_set(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB, int \fP\fIioprio\fP\fB);\fP -.fi -.SH 説明 -システムコール \fBioprio_get\fP() / \fBioprio_set\fP() は、(1つ以上の) プロセスの I/O スケジューリングクラスと -優先度の取得/設定を行う。 - -\fIwhich\fP と \fIwho\fP 引き数でシステムコールの操作対象となるプロセスを指示する。 \fIwhich\fP 引き数は、 \fIwho\fP -をどのように解釈するかを決めるもので、以下のいずれか一つを指定する。 -.TP -\fBIOPRIO_WHO_PROCESS\fP -\fIwho\fP はプロセスID であり、指定された 1 プロセスが対象となる。 -.TP -\fBIOPRIO_WHO_PGRP\fP -\fIwho\fP はプロセスグループID であり、プロセスグループの全メンバが対象となる。 -.TP -\fBIOPRIO_WHO_USER\fP -\fIwho\fP はユーザID であり、実 UID に一致する全プロセスが対象となる。 -.PP -\fBioprio_get\fP() の呼び出し時に \fIwhich\fP に \fBIOPRIO_WHO_PGRP\fP か \fBIOPRIO_WHO_USER\fP -が指定され、 \fIwho\fP に一致するプロセスが複数あった場合、 一致するプロセス全体の中で最も高い優先度が返される。 -優先度が高いとは、より高い優先度クラスに属している (\fBIOPRIO_CLASS_RT\fP が最も高い優先度クラスで、 -\fBIOPRIO_CLASS_IDLE\fP が最も低い)、もしくは 同じ優先度クラスに属しているが優先度レベルが高い -(優先度番号が小さい方が優先度レベルが高いことを意味する)、 ということである。 - -\fBioprio_set\fP() に渡す \fIioprio\fP 引き数は、対象となるプロセスに割り当てるスケジューリングクラスと -優先度の両方を指定するビットマスクである。 \fIioprio\fP の値を組み立てたり解釈するのに、以下のマクロが利用できる。 -.TP -\fBIOPRIO_PRIO_VALUE(\fP\fIclass\fP\fB, \fP\fIdata\fP\fB)\fP -スケジューリングクラス \fIclass\fP と優先度 (\fIdata\fP) を与えると、このマクロは 2つの値を組み合わせて、 \fIioprio\fP -値を生成し、マクロの結果として返す。 -.TP -\fBIOPRIO_PRIO_CLASS(\fP\fImask\fP\fB)\fP -\fImask\fP (\fIioprio\fP 値) を与えると、このマクロは I/O クラス要素、つまり \fBIOPRIO_CLASS_RT\fP, -\fBIOPRIO_CLASS_BE\fP, \fBIOPRIO_CLASS_IDLE\fP のいずれか一つの値を返す。 -.TP -\fBIOPRIO_PRIO_DATA(\fP\fImask\fP\fB)\fP -\fImask\fP (\fIioprio\fP 値) を与えると、このマクロは優先度 (\fIdata\fP) 要素を返す。 -.PP -スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこと。 - -I/O 優先度は読み出しと同期書き込み (\fBO_DIRECT\fP, \fBO_SYNC\fP) に対応している。 I/O -優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込みはメモリ書き換えを行うプログラムの動作 (context) とは -関係なく発行され、そのためプログラム単位の優先度は適用されないから である。 -.SH 返り値 -成功すると、 \fBioprio_get\fP() は、 \fIwhich\fP と \fIwho\fP で指定された基準に合致した全プロセスで最も高い I/O -優先度を持つプロセスの \fIioprio\fP 値を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.PP -成功すると、 \fBioprio_set\fP() は 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEINVAL\fP -\fIwhich\fP か \fIioprio\fP の値が不正である。 \fIioprio\fP 用に指定可能なスケジューラクラスと優先度レベルについては -「備考」を参照のこと。 -.TP -\fBEPERM\fP -呼び出し元プロセスが、指定されたプロセスに \fIioprio\fP を割り当てるのに必要な権限を持っていない。 \fBioprio_set\fP() -に必要な権限についての詳しい情報は「備考」の節を参照のこと。 -.TP -\fBESRCH\fP -\fIwhich\fP と \fIwho\fP で指定された基準に合致するプロセスが見つからなかった。 -.SH バージョン -これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。 -.SH 準拠 -これらのシステムコールは Linux 独自である。 -.SH 注意 -glibc はこれらのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 - -これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせて使用された場合にのみ効果を持つ。 カーネル 2.6.17 -では、この条件を満たすスケジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。 -.SS "I/O スケジューラの選択" -I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル -\fI/sys/block//queue/scheduler\fP 経由で行われる。 - -現在の I/O スケジューラは \fI/sys\fP ファイルシステム経由で参照できる。例えば、以下のコマンドを実行すると、 -現在カーネルでロードされているスケジューラの全リストが表示される。 -.sp -.RS -.nf -$\fB cat /sys/block/hda/queue/scheduler\fP -noop anticipatory deadline [cfq] -.fi -.RE -.sp -括弧で囲まれたスケジューラがそのデバイス (上の例では \fIhda\fP) について実際に使用されているスケジューラである。 -別のスケジューラを設定するには、このファイルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行すると、デバイス \fIhda\fP -のスケジューラとして \fIcfq\fP が設定される。 -.sp -.RS -.nf -$\fB su\fP -Password: -#\fB echo cfq > /sys/block/hda/queue/scheduler\fP -.fi -.RE -.SS "Completely Fair Queuing (CFQ) I/O スケジューラ" -バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O nice レベルが CFQ -に実装されている。 これらの nice レベルは 3つのスケジューリングクラスに分類でき、 各スケジューリングクラスにつき -1つ以上の優先度レベルが定義されている。 -.TP -\fBIOPRIO_CLASS_RT\fP (1) -これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラスよりも高い優先度が与えられる。 -このクラスのプロセスには、常にディスクへのアクセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たった一つの リアルタイム -I/O クラスのプロセスにより システム全体のディスクアクセスができなくなってしまうことがある という点に、注意を払う必要がある。 このクラスには、8 -段階の class data (優先度レベル) がある。 この値は、そのプロセスが 1回のディスクアクセスにどれだけの -時間が必要かを正確に決めるためのものである。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 -将来的には、優先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映できるように変更されるかもしれない。 -.TP -\fBIOPRIO_CLASS_BE\fP (2) -これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の I/O 優先度を設定していないプロセスの デフォルト値である。 -class data (優先度レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 -ベストエフォート・優先度レベルは、CPU の nice 値 (\fBgetpriority\fP(2) 参照) と同様のものである。 -優先度レベルは、ベストエフォート・スケジューリングクラスの中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 (最高) から -7 (最低) である。 -.TP -\fBIOPRIO_CLASS_IDLE\fP (3) -これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他にディスクアクセスをしようとする プロセスがない場合にのみ I/O -時間を取得する。 idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度を割り当てる際には注意が必要である。 -なぜなら、優先度の高いプロセスが常にディスクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるからだ。 -.PP -CFQ I/O スケジューラの更なる情報とサンプルプログラムについては \fIDocumentation/block/ioprio.txt\fP -を参照のこと。 -.SS "I/O 優先度の設定に必要な許可" -プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決定される。 -.TP -\fBプロセスの所有権\fP -非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実効 UID と一致するプロセスの I/O 優先度のみを設定できる。 -\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセスは、どのプロセスの優先度でも変更できる。 -.TP -\fBどの優先度に設定しようとしているか\fP -非常に高い優先度 (\fBIOPRIO_CLASS_RT\fP) を設定しようとする場合、 \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 -カーネル 2.6.24 以前では、非常に低い優先度 (\fBIOPRIO_CLASS_IDLE\fP) を設定するためにも \fBCAP_SYS_ADMIN\fP -ケーパビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。 -.PP -\fBioprio_set\fP() はこの両方のルールに従い、条件を満たさない場合、エラー \fBEPERM\fP で失敗する。 -.SH バグ -.\" 6 May 07: Bug report raised: -.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464 -.\" Ulrich Drepper replied that he wasn't going to add these -.\" to glibc. -glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッダファイルをまだ提供していない。 必要な定義については -\fIlinux/ioprio.h\fP を見ればよい。 -.SH 関連項目 -\fBgetpriority\fP(2), \fBopen\fP(2), \fBcapabilities\fP(7) -.sp -カーネルソース内の Documentation/block/ioprio.txt -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ipc.2 b/draft/man2/ipc.2 deleted file mode 100644 index 91df67e8..00000000 --- a/draft/man2/ipc.2 +++ /dev/null @@ -1,57 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH IPC 2 2007\-06\-28 Linux "Linux Programmer's Manual" -.SH 名前 -ipc \- System V IPC システムコール -.SH 書式 -.nf -\fBint ipc(unsigned int \fP\fIcall\fP\fB, int \fP\fIfirst\fP\fB, int \fP\fIsecond\fP\fB, int \fP\fIthird\fP\fB,\fP -\fB void *\fP\fIptr\fP\fB, long \fP\fIfifth\fP\fB);\fP -.fi -.SH 説明 -\fBipc\fP() は メッセージ、セマフォー、共有メモリに関する System V IPC コールの 共通のカーネルへのエントリポイントである。 -\fIcall\fP はどの IPC 関数を呼び出すかを決め; 他の引き数は適切なコールへと渡される。 -.PP -ユーザープログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラリの実装者やカーネルハッカーのみが \fBipc\fP() -について知る必要がある。 -.SH 準拠 -\fBipc\fP() は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけない。 -.SH 注意 -ia64 などのいくつかのアーキテクチャでは、システムコール \fBipc\fP() が存在しない。実際には、その代わりに \fBmsgctl\fP(2), -\fBsemctl\fP(2), \fBshmctl\fP(2) などが独立したシステムコールとして実装されている。 -.SH 関連項目 -\fBmsgctl\fP(2), \fBmsgget\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBsemctl\fP(2), -\fBsemget\fP(2), \fBsemop\fP(2), \fBshmat\fP(2), \fBshmctl\fP(2), \fBshmdt\fP(2), -\fBshmget\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/kexec_load.2 b/draft/man2/kexec_load.2 deleted file mode 100644 index c91dbe44..00000000 --- a/draft/man2/kexec_load.2 +++ /dev/null @@ -1,123 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2010 Intel Corporation -.\" Author: Andi Kleen -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH KEXEC_LOAD 2 2010\-11\-04 Linux "Linux Programmer's Manual" -.SH 名前 -kexec_load \- 新しいカーネルを後で実行するためにロードする -.SH 書式 -\fB#include \fP -.br -\fBlong kexec_load(unsigned long \fP\fIentry\fP\fB, unsigned long -\fP\fInr_segments\fP\fB,\fP -.br -\fB struct kexec_segment *\fP\fIsegments\fP\fB, unsigned long \fP\fIflags\fP\fB);\fP -.SH 説明 -\fBkexec_load\fP() システムコールは、新しいカーネルをロードし、 -その後の \fBreboot\fP(2) で実行できるようにする。 -.PP -\fIflags\fP 引き数はマスクビットで、 -その上位ビットでシステムコールの呼び出しの動作を制御する。 -\fIflags\fP には以下の値を指定できる。 -.TP -\fBKEXEC_ON_CRASH\fP (Linux 2.6.13 以降) -.\" FIXME figure out how this is really used -システムのクラッシュ時に、新しいカーネルを自動的に実行する。 -.TP -\fBKEXEC_PRESERVE_CONTEXT\fP (Linux 2.7.27 以降) -新しいカーネルを実行する前に、 -システムのハードウェアとソフトウェアの状態を保存する。 -システムの中断時 (suspend) などで使用できる。 -このフラグは、カーネルの設定で \fBCONFIG_KEXEC_JUMP\fP が有効の場合のみ -利用可能であり、 \fInr_segments\fP が 0 より大きい場合のみ効果がある。 -.PP -\fIflags\fP の下位ビットには、実行されるカーネルのアーキテクチャが入る。 -現在のアーキテクチャを使うことを意味する定数 \fBKEXEC_ARCH_DEFAULT\fP か、 -アーキテクチャ定数 \fBKEXEC_ARCH_386\fP, \fBKEXEC_ARCH_X86_64\fP, -\fBKEXEC_ARCH_PPC\fP, \fBKEXEC_ARCH_PPC64\fP, \fBKEXEC_ARCH_IA_64\fP, -\fBKEXEC_ARCH_ARM\fP, \fBKEXEC_ARCH_S390\fP, \fBKEXEC_ARCH_SH\fP, -\fBKEXEC_ARCH_MIPS\fP, \fBKEXEC_ARCH_MIPS_LE\fP の -いずれか一つを (OR で) 指定する。指定するアーキテクチャは、 -システムの CPU で実行可能なものでなければならない。 - -\fIentry\fP 引き数は、カーネルイメージの物理エントリーアドレスである。 -\fInr_segments\fP 引き数は、 \fIsegments\fP ポインタが指すセグメントの -数である。 \fIsegments\fP 引き数は \fIkexec_segment\fP 構造体の配列で、 -この構造体によりカーネルの配置が定義される。 -.in +4n -.nf - -struct kexec_segment { - void *buf; /* Buffer in user space */ - size_t bufsz; /* Buffer length in user space */ - void *mem; /* Physical address of kernel */ - size_t memsz; /* Physical address length */ -}; -.fi -.in -.PP -.\" FIXME elaborate on the following: -\fIsegments\fP で定義されたカーネルイメージは、 -呼び出したプロセスから予約済みメモリにコピーされる。 -.SH 返り値 -成功すると、 \fBkexec_load\fP は 0 を返す。 -エラーの場合、 \-1 が返り、 \fIerrno\fP にエラーを示す値が設定される。 -.SH エラー -.TP -\fBEBUSY\fP -別のクラッシュカーネルがすでにロードされているか、 -クラッシュカーネルがすでに使用されている。 -.TP -\fBEINVAL\fP -.\" KEXEC_SEGMENT_MAX == 16 -\fIflags\fP が無効である。 \fInr_segments\fP が大きすぎる。 -.TP -\fBEPERM\fP -呼び出し側が \fBCAP_SYS_BOOT\fP ケーパビリティを持っていない。 -.SH バージョン -\fBkexec_load\fP() システムコールは Linux 2.6.13 で初めて登場した。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -現在のところ、 \fBkexec_load\fP() は glibc ではサポートされていない。 -\fBsyscall\fP(2) を使って呼び出すこと。 -.PP -.\" FIXME Andi submitted a patch for this. -.\" Check if it got accepted later. -必要な定数はカーネルのソースファイル \fIlinux/kexec.h\fP で定義されている -が、現在のところ glibc には公開されていない。 -そのため、これらの定数は手動で定義しなければならない。 - -このシステムコールは、カーネルの設定で \fBCONFIG_KEXEC\fP が有効になって -いる場合にのみ利用できる。 -.SH 関連項目 -\fBreboot\fP(2), \fBsyscall\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/kill.2 b/draft/man2/kill.2 deleted file mode 100644 index a6174ac4..00000000 --- a/draft/man2/kill.2 +++ /dev/null @@ -1,132 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt -.\" Modified by Thomas Koenig -.\" Modified 1993-07-23 by Rik Faith -.\" Modified 1993-07-25 by Rik Faith -.\" Modified 1995-11-01 by Michael Haardt -.\" -.\" Modified 1996-04-14 by Andries Brouwer -.\" [added some polishing contributed by Mike Battersby ] -.\" Modified 1996-07-21 by Andries Brouwer -.\" Modified 1997-01-17 by Andries Brouwer -.\" Modified 2001-12-18 by Andries Brouwer -.\" Modified 2002-07-24 by Michael Kerrisk -.\" Added note on historical rules enforced when an unprivileged process -.\" sends a signal. -.\" Modified 2004-06-16 by Michael Kerrisk -.\" Added note on CAP_KILL -.\" Modified 2004-06-24 by aeb -.\" Modified, 2004-11-30, after idea from emmanuel.colbus@ensimag.imag.fr -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH KILL 2 2009\-09\-15 Linux "Linux Programmer's Manual" -.SH 名前 -kill \- プロセスにシグナルを送る -.SH 書式 -.nf -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint kill(pid_t \fP\fIpid\fP\fB, int \fP\fIsig\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBkill\fP(): _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE -.ad b -.SH 説明 -システムコールの \fBkill\fP() は、任意のプロセス・グループもしくはプロセスにシグナルを 送るのに使われる。 -.PP -\fIpid\fP に正の値を指定した場合、シグナル \fIsig\fP が \fIpid\fP で指定された ID を持つプロセスに送られる。 -.PP -\fIpid\fP に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属するすべてのプロセスに \fIsig\fP で指定したシグナルが送られる。 -.PP -\fIpid\fP に \-1 を指定した場合、 \fIsig\fP で指定したシグナルが、 呼び出し元のプロセスがシグナルを送る許可を持つ全てのプロセスに -送られる。但し、プロセス番号 1 (\fIinit\fP) へはシグナルは送られない。 以下の関連部分も参照のこと。 -.PP -\fIpid\fP に \-1 より小さな値を指定した場合、 ID が \fI\-pid\fP のプロセス・グループに属するすべてのプロセスに \fIsig\fP -で指定したシグナルが送られる。 -.PP -\fIsig\fP に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われる。これを使って、プロセス ID や プロセスグループ ID -の存在確認を行うことができる。 - -プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では \fBCAP_KILL\fP ケーパビリティ (capability)) -を持つか、 送信元プロセスの実ユーザー ID または実効ユーザー ID が 送信先プロセスの実 set\-user\-ID または保存 -set\-user\-ID と 等しくなければならない。 \fBSIGCONT\fP の場合、送信プロセスと受信プロセスが -同じセッションに属していれば十分である。 -.SH 返り値 -成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エラーの場合 \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -無効なシグナルを指定した。 -.TP -\fBEPERM\fP -プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていない。 -.TP -\fBESRCH\fP -指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存在するプロセスとしてみなされる。 -ゾンビプロセスとはすでに処理は終了しているが、親プロセスによる \fBwait\fP() 処理が行われていないプロセスのことである。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -プロセス番号 1 の \fIinit\fP プロセスに送ることができるシグナルは、 \fIinit\fP が明示的にシグナルハンドラを設定したシグナルだけである。 -こうなっているのは、誤ってシステムをダウンさせないようにするためである。 -.LP -POSIX.1\-2001 では、 \fIkill(\-1,sig)\fP が 呼び出し元のプロセスがシグナルを送ることが出来るプロセス全てに \fIsig\fP -を送ることを要求している。 但し、システム実装時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux -では、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の \fIkill(\-1,sig)\fP -は呼び出し元のプロセスにはシグナルを送らない。 -.LP -POSIX.1\-2001 では以下の動作になることを要求している。 自分自身にシグナルを送ると、シグナルを送ったスレッドがそのシグナルをブロック -しておらず、他のどのスレッドもそのシグナルを受ける状態にもなく \fBsigwait\fP(3) でそのシグナルを待ってもいない場合、 \fBkill\fP() -が返る前に少なくとも一つのブロックされていない シグナルがシグナルを送ったスレッドに配送されなければならない。 -.SS "Linux での注意" -.\" In the 0.* kernels things chopped and changed quite -.\" a bit - MTK, 24 Jul 02 -Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な権限についてのルールが、カーネルバージョンにより違っている。 -カーネル 1.0 から 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すればシグナルを送信できた。 カーネル -1.2.3 から 1.3.77では、送信側の実効ユーザーID が受信側の 実ユーザーID か実効ユーザーID -のいずれかと一致すればシグナルを送信できた。 現在のルールは、POSIX.1\-2001 に準拠しており、カーネル 1.3.78 以降で 適用されている。 -.SH バグ -バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを送ったときに、 呼び出し元のプロセスがプロセスグループの -(全メンバーではなく) 一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 \fBkill\fP() がエラー \fBEPERM\fP -で失敗するというバグがある。 このエラーが返るにもかかわらず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られる。 -.SH 関連項目 -\fB_exit\fP(2), \fBkillpg\fP(2), \fBsignal\fP(2), \fBtkill\fP(2), \fBexit\fP(3), -\fBsigqueue\fP(3), \fBcredentials\fP(7), \fBcapabilities\fP(7), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/killpg.2 b/draft/man2/killpg.2 index 6d15311f..1546639c 100644 --- a/draft/man2/killpg.2 +++ b/draft/man2/killpg.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1980, 1991 Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)killpg.2 6.5 (Berkeley) 3/10/91 .\" @@ -53,7 +55,6 @@ killpg \- シグナルをプロセス・グループに送る .in -4n glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .in -.sp .ad l .TP 4 \fBkillpg\fP(): @@ -99,6 +100,6 @@ Linux では、 \fBkillpg\fP() はライブラリ関数として実装されて \fBgetpgrp\fP(2), \fBkill\fP(2), \fBsignal\fP(2), \fBcredentials\fP(7), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/link.2 b/draft/man2/link.2 deleted file mode 100644 index 6e68d764..00000000 --- a/draft/man2/link.2 +++ /dev/null @@ -1,130 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-23 by Rik Faith -.\" Modified 1994-08-21 by Michael Haardt -.\" Modified 2004-06-23 by Michael Kerrisk -.\" Modified 2005-04-04, as per suggestion by Michael Hardt for rename.2 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LINK 2 2008\-08\-21 Linux "Linux Programmer's Manual" -.SH 名前 -link \- ファイルの新しい名前を作成する -.SH 書式 -\fB#include \fP -.sp -\fBint link(const char *\fP\fIoldpath\fP\fB, const char *\fP\fInewpath\fP\fB);\fP -.SH 説明 -\fBlink\fP() は存在するファイルへの新しいリンク (link) (ハードリンク (hard link) ともいう) を作成する。 - -\fInewpath\fP が存在する場合には上書きは\fIされない\fP。 - -この新しい名前は全ての操作において古い名前と完全に同じように使用される; 両方の名前は同じファイルを参照しており (それで同じ許可 -(permission) や所有者 (ownership) となるので)、 どちらの名前が本来のものであるか判別できない。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEACCES\fP -\fInewpath\fP を含んでいるディレクトリへの書き込みが許されていないか、 \fIoldpath\fP または \fInewpath\fP -へのディレクトリのどれかに検索許可がない (\fBpath_resolution\fP(7) を参照)。 -.TP -\fBEEXIST\fP -\fInewpath\fP が既に存在する。 -.TP -\fBEFAULT\fP -\fIoldpath\fP や \fInewpath\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEIO\fP -I/O エラーが発生した。 -.TP -\fBELOOP\fP -\fIoldpath\fP または \fInewpath\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。 -.TP -\fBEMLINK\fP -\fIoldpath\fP によって参照されるファイルは 既に最大数までのリンクを持っている。 -.TP -\fBENAMETOOLONG\fP -\fIoldpath\fP または \fInewpath\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fIoldpath\fP または \fInewpath\fP のディレクトリ部分が存在しないか、 壊れた(dangling)シンボリックリンクである。 -.TP -\fBENOMEM\fP -十分なカーネルメモリーがない。 -.TP -\fBENOSPC\fP -そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための空きがない。 -.TP -\fBENOTDIR\fP -\fIoldpath\fP または \fInewpath\fP のディレクトリ部分が、実際には、ディレクトリでない。 -.TP -\fBEPERM\fP -\fIoldpath\fP がディレクトリである。 -.TP -\fBEPERM\fP -\fIoldpath\fP と \fInewpath\fP を含んでいるファイルシステムがハードリンクをサポートしていない。 -.TP -\fBEROFS\fP -ファイルが読み込み専用のファイルシステムに存在する。 -.TP -\fBEXDEV\fP -\fIoldpath\fP と \fInewpath\fP が同じマウントされたファイルシステムに存在しない。 (Linux は 1 -つのファイルシステムを複数のマウント位置に マウントすることを許可している。 しかし \fBlink\fP() は、たとえ同じファイルシステムであっても、 -別々のマウント位置を跨いでは動作しない。) -.SH 準拠 -.\" SVr4 documents additional ENOLINK and -.\" EMULTIHOP error conditions; POSIX.1 does not document ELOOP. -.\" X/OPEN does not document EFAULT, ENOMEM or EIO. -SVr4, 4.3BSD, POSIX.1\-2001 (但し「注意」を参照)。 -.SH 注意 -\fBlink\fP() でファイルシステムを超えてハードリンクを作成することはできない。 このような場合は \fBsymlink\fP(2) を使用すること。 - -.\" more precisely: since kernel 1.3.56 -.\" For example, the default Solaris compilation environment -.\" behaves like Linux, and contributors to a March 2005 -.\" thread in the Austin mailing list reported that some -.\" other (System V) implementations did/do the same -- MTK, Apr 05 -POSIX.1\-2001 では、 \fIoldpath\fP がシンボリックリンクである場合、 \fBlink\fP() は \fIoldpath\fP -の参照を解決すべきであると記述されている。 しかし、カーネル 2.0 以降の Linux ではそのようになっていない。 \fIoldpath\fP -がシンボリックリンクである場合、 \fInewpath\fP は同じシンボリックリンクファイルへの (ハード) リンクとして作成される (つまり -\fInewpath\fP は \fIoldpath\fP が参照していた同じファイルへのシンボリックリンクになる)。 他のいくつかの実装でも Linux -と同じように動作する。 POSIX.1\-2008 では \fBlink\fP() の仕様が変更され、 \fIoldpath\fP -がシンボリックリンクの場合にシンボリックリンクの参照を 解決するかどうかは実装依存となった。 -リンク作成時のシンボリックリンクの扱いについての詳細な制御に 関しては \fBlinkat\fP(2) を参照のこと。 -.SH バグ -NFS ファイルシステムでは、NFS サーバーがリンクを作成した後に、 それを伝える前に死んだ場合には返り値が不正な場合がある。 -リンクが作成できたかどうか見つけるためには \fBstat\fP(2) を使用すること。 -.SH 関連項目 -\fBln\fP(1), \fBlinkat\fP(2), \fBopen\fP(2), \fBrename\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), -\fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/linkat.2 b/draft/man2/linkat.2 index b38098a8..cc92a4c5 100644 --- a/draft/man2/linkat.2 +++ b/draft/man2/linkat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" FIXME: Linux 2.6.39 added AT_EMPTY_PATH .\" @@ -98,6 +98,6 @@ POSIX.1\-2008. .SH 関連項目 \fBlink\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/listen.2 b/draft/man2/listen.2 index 9970a0f5..2da6ce37 100644 --- a/draft/man2/listen.2 +++ b/draft/man2/listen.2 @@ -2,6 +2,7 @@ .\" and Copyright (C) 2007, Michael Kerrisk .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -29,6 +30,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" $Id: listen.2,v 1.6 1999/05/18 14:10:32 freitag Exp $ .\" @@ -116,6 +118,6 @@ syncookie が有効になっている場合、 論理的な最大長は存在せ .SH 関連項目 \fBaccept\fP(2), \fBbind\fP(2), \fBconnect\fP(2), \fBsocket\fP(2), \fBsocket\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/listxattr.2 b/draft/man2/listxattr.2 deleted file mode 100644 index ea8bd644..00000000 --- a/draft/man2/listxattr.2 +++ /dev/null @@ -1,113 +0,0 @@ -.\" -.\" Extended attributes system calls manual pages -.\" -.\" Copyright (C) Andreas Gruenbacher, February 2001 -.\" Copyright (C) Silicon Graphics Inc, September 2001 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LISTXATTR 2 2001\-12\-01 Linux "Linux Programmer's Manual" -.SH 名前 -listxattr, llistxattr, flistxattr \- 拡張属性の名前リストを得る -.SH 書式 -.fam C -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBssize_t listxattr(const char\ *\fP\fIpath\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBssize_t llistxattr(const char\ *\fP\fIpath\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBssize_t flistxattr(int \fP\fIfd\fP\fB, char\ *\fP\fIlist\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.fi -.fam T -.SH 説明 -拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた \fIname\fP:\fIvalue\fP の対である。 -これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。 -拡張属性のコンセプトは \fBattr\fP(5) に書かれている。 -.PP -\fBlistxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する拡張属性の名前リストを取得する。 リストは名前の集合で、 -NULL 終端された文字列が連続して並んでいる。 呼び出したプロセスがアクセスする権限のない拡張属性の名前は、 リストに含まれない。拡張属性の名前の -\fIlist\fP の長さが返される。 -.PP -\fBllistxattr\fP() は \fBlistxattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル -ではなく、リンクそのものの拡張属性の名前リストを取得する点だけが異なる。 -.PP -\fBflistxattr\fP() は \fBlistxattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP -で参照されたオープン済みファイルの情報だけを取得する点が異なる (\fIfiledes\fP は \fBopen\fP(2) によって返される)。 -.PP -個々の拡張属性の \fIname\fP は普通の NULL 終端された文字列である。 名前には、名前空間を表す接頭辞 (prefix) が含まれる; 個々の -inode に対して、互いに独立な名前空間が複数あってもよい。 -.PP -\fIsize\fP に 0 を指定して空のバッファをこれらのシステムコールに渡すことができ、 この場合には拡張属性の名前リストの現在のサイズが返される。 -この方法は名前リストを保持するのに十分な大きさのバッファ・サイズを 見積もるのに使うことができる、 -.SS Example -返される名前の \fIlist\fP は、 NULL 終端された文字列の配列 (属性名は NULL バイト (\(aq\e0\(aq) で区切られている) -で、各要素は整列されている訳ではない。 以下に例を示す: -.fam C -.RS -.nf - -user.name1\e0system.name1\e0user.name2\e0 -.fi -.RE -.fam T -.P -拡張属性を使って POSIX ACL を実装している ext2、ext3、XFS のようなファイル システムでは、返される \fIlist\fP -は以下のようになることだろう: -.fam C -.RS -.nf - -system.posix_acl_access\e0system.posix_acl_default\e0 -.fi -.RE -.fam T -.SH 返り値 -成功した場合、拡張属性の名前リストの長さを表す正の数が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 -.PP -\fIlist\fP バッファの大きさ \fIsize\fP が結果を保持するのに十分な大きさでない場合、 \fIerrno\fP に \fBERANGE\fP -がセットされる。 -.PP -拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 \fIerrno\fP に \fBENOTSUP\fP がセットされる。 -.PP -\fBstat\fP(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。 -.SH バージョン -これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。 -.SH 準拠 -.\" .SH AUTHORS -.\" Andreas Gruenbacher, -.\" .RI < a.gruenbacher@computer.org > -.\" and the SGI XFS development team, -.\" .RI < linux-xfs@oss.sgi.com >. -.\" Please send any bug reports or comments to these addresses. -これらのシステムコールは Linux 独自である。 -.SH 関連項目 -\fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBgetxattr\fP(2), \fBopen\fP(2), -\fBremovexattr\fP(2), \fBsetxattr\fP(2), \fBstat\fP(2), \fBattr\fP(5), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/llseek.2 b/draft/man2/llseek.2 deleted file mode 100644 index 796023b7..00000000 --- a/draft/man2/llseek.2 +++ /dev/null @@ -1,69 +0,0 @@ -.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Written 10 June 1995 by Andries Brouwer -.\" Modified Thu Oct 31 15:16:23 1996 by Eric S. Raymond -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LLSEEK 2 2007\-06\-01 Linux "Linux Programmer's Manual" -.SH 名前 -_llseek \- ファイルの読み書きオフセットの位置を変える -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint _llseek(unsigned int \fP\fIfd\fP\fB, unsigned long \fP\fIoffset_high\fP\fB,\fP -\fB unsigned long \fP\fIoffset_low\fP\fB, loff_t *\fP\fIresult\fP\fB,\fP -\fB unsigned int \fP\fIwhence\fP\fB);\fP -.fi -.SH 説明 -\fB_llseek\fP() 関数は、ファイルディスクリプタ (descriptor) \fIfd\fP -に関連づけられたオープンされたファイルのオフセットの位置を、相対的に \fI(offset_high<<32) | offset_low\fP -バイトだけ変更する。 基準となる位置を表す \fIwhence\fP には \fBSEEK_SET\fP, \fBSEEK_CUR\fP, \fBSEEK_END\fP -のいずれかを指定し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果のファイル位置を \fIresult\fP 引き数に返す。 -.SH 返り値 -成功した場合は、 \fB_llseek\fP() は 0 を返す。 そうでなれば \-1 という値が返り、エラーを示す \fIerrno\fP が設定される。 -.SH エラー -.TP -\fBEBADF\fP -\fIfd\fP がオープンされたファイルディスクリプタでない。 -.TP -\fBEFAULT\fP -結果をユーザ空間にコピーするときに問題があった。 -.TP -\fBEINVAL\fP -\fIwhence\fP が不正である。 -.SH 準拠 -この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 -.SH 関連項目 -\fBlseek\fP(2), \fBlseek64\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/lookup_dcookie.2 b/draft/man2/lookup_dcookie.2 index cbd43913..810823fe 100644 --- a/draft/man2/lookup_dcookie.2 +++ b/draft/man2/lookup_dcookie.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2003 John Levon .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 2004-06-17 Michael Kerrisk .\" @@ -74,6 +74,6 @@ Linux 2.5.43 以降で利用できる。 エラー \fBENAMETOOLONG\fP を返す 指定されたディレクトリ・エントリが削除されていた場合、返されるパス名の最後に " (deleted)" という文字列が付加されることがある。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mbind.2 b/draft/man2/mbind.2 deleted file mode 100644 index 545f4057..00000000 --- a/draft/man2/mbind.2 +++ /dev/null @@ -1,196 +0,0 @@ -.\" Copyright 2003,2004 Andi Kleen, SuSE Labs. -.\" and Copyright 2007 Lee Schermerhorn, Hewlett Packard -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2006-02-03, mtk, substantial wording changes and other improvements -.\" 2007-08-27, Lee Schermerhorn -.\" more precise specification of behavior. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MBIND 2 2008\-08\-15 Linux "Linux Programmer's Manual" -.SH 名前 -mbind \- メモリ領域に対してメモリポリシーを設定する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint mbind(void *\fP\fIaddr\fP\fB, unsigned long \fP\fIlen\fP\fB, int \fP\fImode\fP\fB,\fP -\fB unsigned long *\fP\fInodemask\fP\fB, unsigned long \fP\fImaxnode\fP\fB,\fP -\fB unsigned \fP\fIflags\fP\fB);\fP -.sp -\fI\-lnuma\fP でリンクする。 -.fi -.SH 説明 -\fBmbind\fP() は、 \fIaddr\fP から始まる長さ \fIlen\fP バイトの範囲のメモリに NUMA メモリポリシーを設定する。 NUMA -ポリシーはポリシーモードと 0 個以上のノードから構成される。 メモリポリシーはどのノードからメモリを割り当てるかを決定する。 - -\fIaddr\fP と \fIlen\fP で指定されたメモリ範囲に、 メモリの「無名」領域 \(em \fBMAP_ANONYMOUS\fP 付きの -\fBmmap\fP(2) システムコールを使って作成されたメモリ領域 \(em や \fBMAP_PRIVATE\fP 付きの \fBmmap\fP(2) -を使ってマップされたメモリマップ・ファイルが含まれている場合、 ページが指定されたポリシーに基づいて割り当てられるのは、アプリケーション -がそのページへの書き込み (データの格納) を行った時だけである。 無名領域の場合、最初の読み出しアクセスの際には カーネル内の全データが 0 -である共有ページが使用される。 \fBMAP_PRIVATE\fP でマップされたファイルの場合、最初の読み出しアクセスがあると、 -ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリシー にしたがってページの割り当てが行われる。 -ページ割り当てのきっかけとなったプロセスは、 \fBmbind\fP() を呼び出したプロセスと同じとは限らない。 - -指定されたメモリ範囲内にある \fBMAP_SHARED\fP のマッピングでは指定されたポリシーは無視され、 -ページ割り当てが発生するきっかけとなったプロセスのデフォルトポリシーに したがってページの割り当てが行われることになる。 -繰り返しになるが、ページ割り当てのきっかけとなったプロセスは、 \fBmbind\fP() を呼び出したプロセスと同じとは限らない。 - -指定されたメモリ範囲に、 \fBshmget\fP(2) システムコールを使って作成されたり、 \fBshmat\fP(2) システムコールを使って付加 -(attach) されたりした共有メモリ領域が 含まれる場合、無名メモリ領域や共有メモリ領域に対するページ割り当ては、 -共有メモリセグメントへポリシーの設定を行ったプロセスがページ割り当て のきっかけとなったかに関わらず、指定されたポリシーにしたがって割り当て -が行われる。 しかしながら、共有メモリ領域が \fBSHM_HUGETLB\fP フラグを指定して作成された場合には、ヒュージページ (huge page) -の割り当てが 指定されたポリシーにしたがって行われるのは、その領域に対して \fBmbind\fP() -を呼び出したプロセスがページ割り当てのきっかけとなった場合のみである。 - -デフォルトでは、 \fBmbind\fP() は新規のメモリ割り当てに対してのみ効果を持つ。 -ポリシーが設定される前にすでに使用されている範囲内のページに対しては、 ポリシーは影響しない。 このデフォルトの動作は、以下で説明するフラグ -\fBMPOL_MF_MOVE\fP や \fBMPOL_MF_MOVE_ALL\fP により上書きされる可能性がある。 - -\fImode\fP 引き数には、 \fBMPOL_DEFAULT\fP, \fBMPOL_BIND\fP, \fBMPOL_INTERLEAVE\fP, -\fBMPOL_PREFERRED\fP のいずれか一つを指定しなければならない。 \fBMPOL_DEFAULT\fP 以外のポリシーモードの場合、呼び出し元は -\fInodemask\fP 引き数でそのポリシーモードを適用するノードを指定する必要がある。 - -\fImode\fP 引き数には、追加で \fIモードフラグ\fP を含めることもできる。 サポートされている \fIモードフラグ\fP は以下の通りである。 -.TP -\fBMPOL_F_STATIC_NODES\fP (Linux\-2.6.26 以降) -空でない \fInodemask\fP は、物理ノード ID である。 Linux では、そのプロセスが異なる CPU 集合コンテキスト (cpuset -context) に移動した場合でも、そのプロセスの現在の CPU 集合コンテキストで 許可されているノード集合が変化した場合でも、 -\fInodemask\fP をマッピングし直すことはない。 -.TP -\fBMPOL_F_RELATIVE_NODES\fP (Linux\-2.6.26 以降) -空でない \fInodemask\fP は、そのプロセスの現在の CPU 集合で許可されているノード ID 集合 における相対的なノード ID である。 -.PP -\fInodemask\fP は、最大で \fImaxnode\fP ビットから構成されるノードのビットマスクを指す。 ビットマスクの大きさは、直近の -\fIsizeof(unsigned long)\fP の倍数に切り上げられるが、カーネルが使用するのは \fImaxnode\fP 個までのビットだけである。 -NULL 値の \fInodemask\fP もしくは値が 0 の \fImaxnode\fP はノードの空集合を表す。 \fImaxnode\fP の値が 0 の場合、 -\fInodemask\fP 引き数は無視される。 \fInodemask\fP が必須の場面では、 \fInodemask\fP に、オンラインで、そのプロセスの現在の -CPU 集合コンテキストで 許可されており (\fBMPOL_F_STATIC_NODES\fP モードフラグが指定されていない場合)、メモリがあるノードが -少なくとも一つ入っていなければならない。 - -モード \fBMPOL_DEFAULT\fP はデフォルトではないプロセスのメモリポリシーを削除し、 デフォルトの動作に戻すことを指定するものである。 -\fBmbind\fP() 経由で、あるメモリ領域に対して \fBMPOL_DEFAULT\fP -が適用された場合、プロセスのデフォルトポリシーを使用することを意味する。 プロセスのデフォルトポリシーは、 \fBset_mempolicy\fP(2) -で変更されているかもしれない。 プロセスのポリシーのモードも \fBMPOL_DEFAULT\fP の場合、システム全体のデフォルトポリシーが使用される。 -システム全体のデフォルトポリシーでは、割り当てのきっかけとなった CPU のノードからページの割り当てを行う。 \fBMPOL_DEFAULT\fP -では、引き数 \fInodemask\fP と \fImaxnode\fP にノードの空集合を指定しなければならない。 - -\fBMPOL_BIND\fP は厳しいポリシーで、メモリ割り当ては \fInodemask\fP に指定されたノードに限定される。 -他のノードへの割り当ては行われない。 \fInodemask\fP に 2 個以上のノードが指定された場合、ページの割り当ては ノード ID -が数字として最小のノードから開始され、 そのノードに空きメモリがなくなるまでそのノードから -ページ割り当てが行われる。そのノードに空きメモリがなくなったら、 次に小さなノード ID を持つノードからページ割り当てが行われる。 これを、 -\fInodemask\fP で指定された全てのノードで空きメモリがなくなるまで繰り返す。 \fInodemask\fP -で指定された以外のノードからはページの割り当ては行われない。 - -\fBMPOL_INTERLEAVE\fP は、メモリ割り当てが \fInodemask\fP に指定されたノード間で交互に行われることを指定するものである。 -このポリシーでは、複数のノードにページを広げて配置し、これらのページへの メモリアクセスを分散することで、遅延ではなく、帯域を最適化する。 -効果を得るには、メモリ領域をある程度大きくすべきであり、 メモリアクセスのパターンがかなり均一な場合でも 少なくとも 1MB 以上にすべきである。 -このモードでも、一つのページへのアクセスに関しては 一つのノードのメモリ帯域が上限となることは変わりない。 - -\fBMPOL_PREFERRED\fP は、割り当て時に優先されるノードを設定する。 カーネルはまず優先ノードにページ割り当てを行おうとし、 -優先ノードに空きメモリが少ない場合に他のノードに割り当てを行う。 \fInodemask\fP に複数のノード ID が指定された場合は、 -\fInodemask\fP 内の最初のノードが優先ノードとして選択される。 引き数 \fInodemask\fP, \fImaxnode\fP -で空集合が指定された場合は、割り当てのきっかけとなった CPU のノードに メモリ割り当てが行われる。 \fBmbind\fP(2) -で、あるメモリ領域に対して「ローカルからの割り当て (local allocation)」を 指定する方法はこれしかない。 - -.\" According to the kernel code, the following is not true -.\" --Lee Schermerhorn -.\" In 2.6.16 or later the kernel will also try to move pages -.\" to the requested node with this flag. -\fIflags\fP に \fBMPOL_MF_STRICT\fP が 指定され、 \fImode\fP が \fBMPOL_DEFAULT\fP でない場合、 -指定されたポリシーに従っていないメモリ領域にページが存在すると、 \fBmbind\fP() はエラー \fBEIO\fP で失敗する。 - -\fIflags\fP に \fBMPOL_MF_MOVE\fP が指定されると、カーネルはそのメモリ領域内の既存の全てのページを移動し、 -指定されたポリシーに従うようにしようとする。 他のプロセスと共有されているページは移動されない。 \fBMPOL_MF_STRICT\fP -も指定された場合、移動できなかったページがあると、 \fBmbind\fP() はエラー \fBEIO\fP で失敗する。 - -.\" --------------------------------------------------------------- -\fIflags\fP に \fBMPOL_MF_MOVE_ALL\fP が指定されると、カーネルはそのメモリ領域内の既存の全てのページを、 -他のプロセスがページを使用しているかどうかに関わらず移動する。 このフラグを使用するには、呼び出し元のプロセスは特権 (\fBCAP_SYS_NICE\fP) -を持っていなければならない。 \fBMPOL_MF_STRICT\fP も指定された場合、移動できなかったページがあると、 \fBmbind\fP() はエラー -\fBEIO\fP で失敗する。 -.SH 返り値 -.\" --------------------------------------------------------------- -成功すると、 \fBmbind\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.\" I think I got all of the error returns. --Lee Schermerhorn -.TP -\fBEFAULT\fP -\fInodemask\fP と \fImaxnode\fP で指定されたメモリ領域の一部または全部が、 呼び出し元がアクセス可能なアドレス空間外を指している。 -もしくは指定されたメモリ領域にマップされていない部分 (unmapped hole) があった、 -.TP -\fBEINVAL\fP -.\" As at 2.6.23, this limit is "a page worth of bits", e.g., -.\" 8 * 4096 bits, assuming a 4kB page size. -\fIflags\fP や \fImode\fP に不正な値が指定された。 \fIaddr + len\fP が \fIaddr\fP より小さい。 \fIaddr\fP -がシステムのページサイズの倍数になっていない。 または \fImode\fP が \fBMPOL_DEFAULT\fP で \fInodemask\fP -に空でない集合が指定された。 \fImode\fP が \fBMPOL_BIND\fP か \fBMPOL_INTERLEAVE\fP で \fInodemask\fP -が空であった。 \fImaxnode\fP がカーネルに適用された上限を超えている。 \fInodemask\fP に、サポートされている最大ノード ID -より大きいノードが指定された。 \fInodemask\fP に、オンラインで、かつそのプロセスの現在の CPU 集合コンテキストで -許可されているノードが一つも含まれていないか、 メモリを含むノードが一つも指定されていない。 \fImode\fP 引き数に -\fBMPOL_F_STATIC_NODES\fP と \fBMPOL_F_RELATIVE_NODES\fP の両方が指定された。 -.TP -\fBEIO\fP -\fBMPOL_MF_STRICT\fP が指定されたが、このポリシーに従っていないノードに すでにページが存在していた。 もしくは -\fBMPOL_MF_MOVE\fP か \fBMPOL_MF_MOVE_ALL\fP が指定されたが、カーネルが指定された領域内の既存の全てのページを -移動することができなかった。 -.TP -\fBENOMEM\fP -利用可能なカーネルメモリが十分でなかった。 -.TP -\fBEPERM\fP -.\" --------------------------------------------------------------- -\fIflags\fP 引き数に \fBMPOL_MF_MOVE_ALL\fP フラグが含まれているが、呼び出し元が \fBCAP_SYS_NICE\fP -特権を持たない。 -.SH バージョン -\fBmbind\fP() システムコールはバージョン 2.6.7 で Linux カーネルに追加された。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -ライブラリによるサポートについては \fBnuma\fP(7) を参照。 - -NUMA ポリシーは、 \fBMAP_SHARED\fP フラグが指定されてマップされたメモリマップ・ファイルの領域では サポートされていない。 - -\fBMPOL_DEFAULT\fP モードは、 \fBmbind\fP() と \fBset_mempolicy\fP(2) で異なる効果を持つことができる。 -\fBset_mempolicy\fP(2) で \fBMPOL_DEFAULT\fP が指定された場合、そのプロセスのポリシーはシステムの -デフォルトポリシー、すなわちローカルからの割り当て、に戻る。 \fBmbind\fP() を使ってメモリのある領域に \fBMPOL_DEFAULT\fP -が指定された場合、その範囲に対してそれ以降に行われるページの割り当てでは、 \fBset_mempolicy\fP(2) -で設定したのと同じように、そのプロセスのポリシーが適用される。 これにより、特定のメモリ領域についてだけ明示的なポリシーを削除し、 -デフォルトのポリシーに「戻す」ことができる。 あるメモリ領域に対して「ローカルからの割り当て」を明示的に設定するには、 \fImode\fP に -\fBMPOL_PREFERRED\fP を指定し、 \fInodemask\fP に空集合のノードを指定すればよい。 この方法は -\fBset_mempolicy\fP(2) でも通用する。 - -2.6.16 でヒュージページ・ポリシーへの対応が追加された。 インターリーブ・ポリシーがヒュージページのマッピングで効果を持つには、 -ポリシーが適用されるメモリが数十メガバイト以上である必要がある。 - -\fBMPOL_MF_STRICT\fP はヒュージページのマッピングでは無視される。 - -\fBMPOL_MF_MOVE\fP と \fBMPOL_MF_MOVE_ALL\fP は Linux 2.6.16 以降でのみ利用可能である。 -.SH 関連項目 -\fBget_mempolicy\fP(2), \fBgetcpu\fP(2), \fBmmap\fP(2), \fBset_mempolicy\fP(2), -\fBshmat\fP(2), \fBshmget\fP(2), \fBnuma\fP(3), \fBcpuset\fP(7), \fBnuma\fP(7), -\fBnumactl\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/migrate_pages.2 b/draft/man2/migrate_pages.2 deleted file mode 100644 index 3cb14995..00000000 --- a/draft/man2/migrate_pages.2 +++ /dev/null @@ -1,101 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 2009 Intel Corporation -.\" Author: Andi Kleen -.\" Based on the move_pages manpage which was -.\" This manpage is Copyright (C) 2006 Silicon Graphics, Inc. -.\" Christoph Lameter -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MIGRATE_PAGES 2 2010\-11\-01 Linux "Linux Programmer's Manual" -.SH 名前 -migrate_pages \- プロセスの全ページを別のノード集合に移動する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBlong migrate_pages(int \fP\fIpid\fP\fB, unsigned long \fP\fImaxnode,\fP -\fB const unsigned long *\fP\fIold_nodes,\fP -\fB const unsigned long *\fP\fInew_nodes);\fP -.fi -.sp -\fI\-lnuma\fP とリンクする。 -.SH 説明 -\fBMIGRATE_PAGES\fP() は、メモリノード \fIold_nodes\fP にあるプロセス \fIpid\fP -の全ページを、メモリノード \fInew_nodes\fP に移動する。\fIold_nodes\fP で -指定されたメモリノードに置かれていないページは移動されない。 -カーネルは、 \fInew_nodes\fP への移動の際に、 \fIold_nodes\fP 内の相対的な -トポロジー関係を可能な限り維持しようとする。 - -引き数 \fIold_nodes\fP と \fInew_nodes\fP は、最大で \fImaxnode\fP ビットから -構成されるノード番号のビットマスクへのポインタである。 -各ビットマスクは符号なし \fIlong\fP 整数の配列として管理される -(\fImaxnode\fP で指定された長さを越えた部分のビットは無視される)。 -引き数 \fImaxnode\fP は最大ノード番号であり、ビットマスクの長さに 1 を -加えた値となる (これは \fBmbind\fP(2) と同じだが、 \fBselect\fP(2) とは違う)。 - -引き数 \fIpid\fP は、移動を行うページの所有者のプロセス ID である。 -別のプロセスのページを移動するには、呼び出したプロセスが特権 -(\fBCAP_SYS_NICE\fP) を持っているか、呼び出したプロセスの実ユーザ ID か -実効ユーザ ID がページ移動の対象プロセスの実ユーザ ID か saved\-set -ユーザ ID と一致していなければならない。\fIpid\fP が 0 の場合、 -\fBmigrate_pages\fP() は呼び出したプロセスのページを移動する。 - -別のプロセスと共有しているページは、呼び出したプロセスが -\fBCAP_SYS_NICE\fP 特権を持っている場合にのみ移動される。 -.SH 返り値 -\fBmigrate_pages\fP() は成功すると 0 を返す。 -エラーの場合、 \-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEPERM\fP -\fIpid\fP で指定されたプロセスのページを移動するのに必要な特権 -(\fBCAP_SYS_NICE\fP) がなかった。または、指定された対象ノードにアクセス -するのに必要な権限 (\fBCAP_SYS_NICE\fP) がなかった。 -.TP -\fBESRCH\fP -.\" FIXME There are other errors -プロセス ID が \fIpid\fP のプロセスが見つからなかった。 -.SH バージョン -\fBmigrate_pages\fP() システムコールは Linux 2.6.16 で初めて登場した。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -ライブラリによるサポートについては \fBnuma\fP(7) を参照。 - -呼び出し元プロセスの CPU 集合で許可されているノード集合を取得するには、 -\fBMPOL_F_MEMS_ALLOWED\fP フラグを付けて \fBget_mempolicy\fP(2) を使うこと。 -この情報は、手動/自動に限らず CPU 集合の再構成によりいつでも -変更されることがある点に注意してほしい。 - -\fBmigrate_pages\fP を使用すると、ページが置かれる場所 (ノード) が、指定 -されたアドレスに対して設定されたメモリポリシー (\fBmbind\fP(2) 参照) や -指定されたプロセスに対して設定されたメモリポリシー -(\fBset_mempolicy\fP(2) 参照) に違反する状況になる可能性がある。 -すなわち、メモリポリシーによる制約は \fBmigrate_pages\fP() による移動先 -ノードの選択には適用されないということである。 - -ヘッダファイル \fI\fP は glibc には含まれておらず、 \fIlibnuma\-devel\fP -か同様のパッケージをインストールする必要がある。 -.SH 関連項目 -\fBget_mempolicy\fP(2), \fBmbind\fP(2), \fBset_mempolicy\fP(2), \fBnuma\fP(3), -\fBnuma_maps\fP(5), \fBcpuset\fP(7), \fBnuma\fP(7), \fBmigratepages\fP(8), -\fBnuma_stat\fP(8); -.br -カーネルのソースファイル \fIDocumentation/vm/page_migration\fP。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mincore.2 b/draft/man2/mincore.2 index de97118b..1f23a832 100644 --- a/draft/man2/mincore.2 +++ b/draft/man2/mincore.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2001 Bert Hubert .\" and Copyright (C) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created Sun Jun 3 17:23:32 2001 by bert hubert .\" Slightly adapted, following comments by Hugh Dickins, aeb, 2001-06-04. @@ -115,6 +115,6 @@ Linux 2.3.99pre1 と glibc 2.2 から利用可能である。 .SH 関連項目 \fBmlock\fP(2), \fBmmap\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mkdir.2 b/draft/man2/mkdir.2 deleted file mode 100644 index 6b6460b7..00000000 --- a/draft/man2/mkdir.2 +++ /dev/null @@ -1,100 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt -.\" 1993,1994 Ian Jackson. -.\" You may distribute it under the terms of the GNU General -.\" Public License. It comes with NO WARRANTY. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MKDIR 2 2010\-06\-26 Linux "Linux Programmer's Manual" -.SH 名前 -mkdir \- ディレクトリを作成する -.SH 書式 -.nf -.\" .B #include -\fB#include \fP -\fB#include \fP -.sp -\fBint mkdir(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP -.fi -.SH 説明 -\fBmkdir\fP() は \fIpathname\fP で示される名前のディレクトリを作成しようとする。 - -\fImode\fP 引き数は、作成されたディレクトリの許可属性を決定するのに使われる。 この値に、通常通りプロセスの \fIumask\fP -による修正が加えられる。 したがって、作成されたディレクトリの許可属性は (\fImode\fP & ~\fIumask\fP & 0777) となる。 -作成されたディレクトリのその他のモードビットはオペレーティングシステムに 依存する。Linux の場合は、以下の通りである。 - -新しく作成されたディレクトリの所有者はプロセスの実効ユーザ ID に設定される。 新たに作成されたディレクトリが含まれる親ディレクトリに set -group ID ビットがセットされていたり、ファイルシステムが BSD の グループセマンティクス (\fImount \-o bsdgroups\fP -あるいは、同じ意味の \fImount \-o grpid\fP) に従ってマウントされている場合には、 -新たに作成されたディレクトリのグループ所有権は親ディレクトリの ものが継承される (親ディレクトリと同じになる)。 -それ以外の場合は、グループ所有権はプロセスの実効グループ ID となる。 - -もし親ディレクトリに set group ID ビットがセットされていれば新しく作成される ディレクトリにも set group ID -ビットがセットされる。 -.SH 返り値 -\fBmkdir\fP() は成功した場合 0 を、失敗した場合 \-1 を返す (また、 \fIerrno\fP がエラーの内容にしたがって適切に設定される)。 -.SH エラー -.TP -\fBEACCES\fP -プロセスが親ディレクトリへの書き込み許可を持たない、もしくは \fIpathname\fP 中のディレクトリのどれかに検索許可属性が無い -(\fBpath_resolution\fP(7) も参照)。 -.TP -\fBEEXIST\fP -\fIpathname\fP が既に存在している(ただしそれがディレクトリであるとは限らない)。 \fIpathname\fP がシンボリックリンクの場合も -(その指定先が存在するかどうかに関らず)エラーになる。 -.TP -\fBEFAULT\fP -\fIpathname\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBELOOP\fP -\fIpathname\fP を解決するときに、解決すべきシンボリックリンクが多すぎた。 -.TP -\fBEMLINK\fP -親ディレクトリへのリンク数が \fBLINK_MAX\fP を超えてしまう。 -.TP -\fBENAMETOOLONG\fP -\fIpathname\fP が長すぎる。 -.TP -\fBENOENT\fP -\fIpathname\fP の構成要素のディレクトリのいずれかが存在しないか、 またはリンク先が存在しないシンボリックリンクである。 -.TP -\fBENOMEM\fP -カーネルに十分なメモリがない。 -.TP -\fBENOSPC\fP -\fIpathname\fP を含むデバイスに新たにディレクトリを作成する空きが無い。 -.TP -\fBENOSPC\fP -もしくはユーザーのディスク quota が使い切られているため、 新たにディレクトリを作成することができない。 -.TP -\fBENOTDIR\fP -\fIpathname\fP のディレクトリ部分が実際にはディレクトリでない。 -.TP -\fBEPERM\fP -\fIpathname\fP を含むファイルシステムがディレクトリの作成をサポートしていない。 -.TP -\fBEROFS\fP -\fIpathname\fP が読み出し専用ファイルシステム上のファイルを指している。 -.SH 準拠 -.\" SVr4 documents additional EIO, EMULTIHOP -SVr4, BSD, POSIX.1\-2001. -.SH 注意 -Linux では、許可ビット以外で意味を持つのは、 \fBS_ISVTX\fP モードビットだけである。 つまり、Linux -では作成されたディレクトリは実際には (\fImode\fP & ~\fIumask\fP & 01777) のモードを持つことになる。 \fBstat\fP(2) -を参照のこと。 -.PP -NFS を実現しているプロトコルには多くの不備が存在し、 それら中には \fBmkdir\fP() に影響を与えるものもある。 -.SH 関連項目 -\fBmkdir\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBmkdirat\fP(2), \fBmknod\fP(2), -\fBmount\fP(2), \fBrmdir\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), -\fBpath_resolution\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mkdirat.2 b/draft/man2/mkdirat.2 index e490af3b..d290e659 100644 --- a/draft/man2/mkdirat.2 +++ b/draft/man2/mkdirat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -87,6 +86,6 @@ POSIX.1\-2008. .SH 関連項目 \fBmkdir\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mknod.2 b/draft/man2/mknod.2 deleted file mode 100644 index f7497f73..00000000 --- a/draft/man2/mknod.2 +++ /dev/null @@ -1,134 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt -.\" 1993,1994 Ian Jackson. -.\" You may distribute it under the terms of the GNU General -.\" Public License. It comes with NO WARRANTY. -.\" -.\" Modified 1996-08-18 by urs -.\" Modified 2003-04-23 by Michael Kerrisk -.\" Modified 2004-06-23 by Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MKNOD 2 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -mknod \- 特殊ファイルや通常のファイルを作成する -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBint mknod(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB, dev_t \fP\fIdev\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBmknod\fP(): -.ad l -.RS 4 -_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.RE -.ad -.SH 説明 -システムコール \fBmknod\fP() は \fIpathname\fP という名前のファイルシステム・ノード -(ファイル、デバイススペシャルファイル、名前付きパイプ) を、 属性 \fImode\fP と \fIdev\fP の指定にしたがって作成する。 - -\fImode\fP 引き数には、作成するノードの許可属性 (permission) とタイプを指定する。 \fImode\fP -の指定は以下にあげるファイルタイプのうちの 1 つと、 許可属性の組合せ (ビットごとの OR を使用) で行う。 - -許可属性は通常通り、プロセスの \fIumask\fP によって修正され、作成されたノードの許可属性は \fI(mode & ~umask)\fP となる。 - -.\" (S_IFSOCK since Linux 1.2.4) -ファイルタイプには \fBS_IFREG\fP, \fBS_IFCHR\fP, \fBS_IFBLK\fP, \fBS_IFIFO\fP, \fBS_IFSOCK\fP -のいずれかを指定しなければならない。 それぞれ順に、通常のファイル (空のファイルとして作成される)・ -キャラクタスペシャルファイル・ブロックスペシャルファイル・ FIFO (名前付きパイプ)・UNIX ドメインソケットである (ファイルタイプ 0 は -\fBS_IFREG\fP と同じである)。 - -ファイルタイプが \fBS_IFCHR\fP または \fBS_IFBLK\fP のとき、 \fIdev\fP には作成するデバイススペシャルファイルのメジャー番号と -マイナー番号を指定する (\fBmakedev\fP(3) は \fIdev\fP のこれらの番号を作成する際に役立つだろう)。 それ以外の場合は \fIdev\fP -は無視される。 - -\fIpathname\fP が既に存在する場合、またはシンボリックリンクの場合、 この呼び出しは \fBEEXIST\fP エラーで失敗する。 - -新しく作成されたノードの所有者はプロセスの実効ユーザ ID にセットされる。 新たに作られたノードを保持する 親ディレクトリの set\-group\-ID -ビットがセットされていたり、 ファイルシステムが BSD のグループセマンティクスにしたがって -マウントされている場合には、新しいノードのグループ所有権は親ディレクトリの グループ所有権を継承する (親ディレクトリと同じになる)。 -また、そうでなかった場合の所有グループはプロセスの実効グループ ID となる。 -.SH 返り値 -\fBmknod\fP() は成功した場合 0 を、失敗した場合 \-1 を返す (失敗した場合 \fIerrno\fP がエラーの内容にしたがってセットされる)。 -.SH エラー -.TP -\fBEACCES\fP -プロセスが親ディレクトリへの書き込み許可を持たない。 もしくはパス名 \fIpathname\fP 中のディレクトリ部分のどれかに検索許可属性が無い -(\fBpath_resolution\fP(7) も参照すること)。 -.TP -\fBEEXIST\fP -\fIpathname\fP がすでに存在する。 これには \fIpathname\fP がシンボリックリンクである場合も含まれる -(シンボリックリンクがリンク切れか (dangling) どうかは関係ない)。 -.TP -\fBEFAULT\fP -\fIpathname\fP がそのプロセスのアクセス可能なアドレス空間の外を指している。 -.TP -\fBEINVAL\fP -\fImode\fP が通常のファイル・デバイススペシャルファイル・FIFO・ソケット以外を 作成するようにセットされている。 -.TP -\fBELOOP\fP -パス名 \fIpathname\fP を解決するときに、含まれているシンボリックリンクが多すぎた。 -.TP -\fBENAMETOOLONG\fP -\fIpathname\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fIpathname\fP 中のディレクトリ部分が存在しない、 もしくはリンク先の無いシンボリックリンクである。 -.TP -\fBENOMEM\fP -十分なカーネルメモリが無い。 -.TP -\fBENOSPC\fP -\fIpathname\fP のあるデバイスに新たにノードを作成する空きが無い。 -.TP -\fBENOTDIR\fP -\fIpathname\fP 中のディレクトリ要素が、実際にはディレクトリでない。 -.TP -\fBEPERM\fP -.\" For UNIX domain sockets and regular files, EPERM is only returned in -.\" Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can -.\" use mknod() to make these files. -\fImode\fP は通常のファイル・FIFO (名前付きパイプ)・UNIX ドメインソケット以外を 作成するようにセットされているが、実行者が特権 -(Linux では \fBCAP_MKNOD\fP ケーパビリティ (capability)) を持っていない。 または \fIpathname\fP -を保持するファイルシステムが、指定されたノード形式をサポートしていない。 -.TP -\fBEROFS\fP -\fIpathname\fP が読み出し専用ファイルシステム上のファイルを指している。 -.SH 準拠 -.\" The Linux version differs from the SVr4 version in that it -.\" does not require root permission to create pipes, also in that no -.\" EMULTIHOP, ENOLINK, or EINTR error is documented. -SVr4, 4.4BSD, POSIX.1\-2001 (下記も参照). -.SH 注意 -POSIX.1\-2001 では次のように書いている: 「\fBmknod\fP() の唯一の移植性のある使用法は、FIFO -スペシャルファイルを作成することである。 \fImode\fP が \fBS_IFIFO\fP ではない場合、または \fIdev\fP が 0 ではない場合、 -\fBmknod\fP() の挙動は規定されていない。」 しかしながら、現在ではこの目的のために \fBmknod\fP() -を使用すべきではない。この目的のために特別に定義された関数である \fBmkfifo\fP() を使用すべきである。 - -.\" and one should make UNIX domain sockets with socket(2) and bind(2). -Linux では、ディレクトリを作成するために この呼び出しを使用することはできない。 ディレクトリは \fBmkdir\fP(2) で作成すべきである。 - -NFS を実現しているプロトコルには多くの不備が存在し、 それらのいくつかは \fBmknod\fP() に影響を与える。 -.SH 関連項目 -\fBchmod\fP(2), \fBchown\fP(2), \fBfcntl\fP(2), \fBmkdir\fP(2), \fBmknodat\fP(2), -\fBmount\fP(2), \fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), -\fBmakedev\fP(3), \fBmkfifo\fP(3), \fBpath_resolution\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mknodat.2 b/draft/man2/mknodat.2 index c1e28329..62d648a6 100644 --- a/draft/man2/mknodat.2 +++ b/draft/man2/mknodat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +88,6 @@ POSIX.1\-2008. .SH 関連項目 \fBmknod\fP(2), \fBopenat\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mlock.2 b/draft/man2/mlock.2 deleted file mode 100644 index e5cfa90d..00000000 --- a/draft/man2/mlock.2 +++ /dev/null @@ -1,196 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) Michael Kerrisk, 2004 -.\" using some material drawn from earlier man pages -.\" written by Thomas Kuhn, Copyright 1996 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, -.\" Boston, MA 02111, USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MLOCK 2 2011\-09\-14 Linux "Linux Programmer's Manual" -.SH 名前 -mlock \- メモリのロックとロック解除を行う -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint mlock(const void *\fP\fIaddr\fP\fB, size_t \fP\fIlen\fP\fB);\fP -\fBint munlock(const void *\fP\fIaddr\fP\fB, size_t \fP\fIlen\fP\fB);\fP -.sp -\fBint mlockall(int \fP\fIflags\fP\fB);\fP -\fBint munlockall(void);\fP -.fi -.SH 説明 -\fBmlock\fP() と \fBmlockall\fP() はそれぞれ、呼び出し元プロセスの仮想アドレス空間の一部または全部を RAM -上にロックし、メモリがスワップエリアにページングされるのを防ぐ。 \fBmunlock\fP() と \fBmunlockall\fP() -は逆の操作で、それぞれ呼び出し元プロセスの仮想アドレス空間の一部または全部を ロック解除する。つまり、指定された仮想アドレス範囲のページは -カーネルメモリマネージャーから要求されればスワップアウトするようになる。 メモリのロックとロック解除はページ単位で行われる。 -.SS "mlock() と munlock()" -\fBmlock\fP() は \fIaddr\fP から始まる長さ \fIlen\fP バイトのアドレス範囲のページをロックする。 呼び出しが成功した場合には、 -指定されたアドレス範囲を含む全てのページは RAM に残り続けることが保証される。 これらのページは後でロック解除されるまで RAM -に残り続けることが保証される。 - -\fBmunlock\fP() は、 \fIaddr\fP から始まる長さ \fIlen\fP バイトのアドレス範囲のページのロックを解除する。 -この呼び出しを行った後は、カーネルが、指定されたメモリ範囲を含む 全てのページを外部のスワップ空間に移動できるようになる。 -.SS "mlockall() と munlockall()" -\fBmlockall\fP() は呼び出し元プロセスのアドレス空間にマップされている全てのページを ロックする。これにはコード、データ、スタックの -各セグメント、共有ライブラリ、カーネルのユーザー空間データ、 共有メモリ、メモリ・マップされたファイルが含まれる。 -システム・コールが成功した場合には全てのマップされたページは RAM に 残ることを保証される。 これらのページは後でロック解除されるまで RAM -に残り続けることが保証される。 - -\fIflags\fP 引数は以下の内容の一つまたは複数のビット OR から構成される: -.TP 1.2i -\fBMCL_CURRENT\fP -現在、プロセスのアドレス空間にマップされている全てのページをロックする。 -.TP -\fBMCL_FUTURE\fP -将来、プロセスのアドレス空間にマップされる全てのページをロックする。 例えば、ヒープ (heap) やスタックの成長により新しく必要になったページだけで -なく、新しくメモリマップされたファイルや共有メモリ領域もロックされる。 -.PP -\fBMCL_FUTURE\fP が指定されていると、以後のシステムコール (例えば、 \fBmmap\fP(2), \fBsbrk\fP(2), -\fBmalloc\fP(3)) は、ロックするバイト数が許可された最大値 (下記参照) を超えた場合に 失敗する可能性がある。 -同様に、スタックの成長も失敗する可能性がある。 その場合、カーネルはスタックの拡張を拒否し、 \fBSIGSEGV\fP をプロセスに送る。 - -\fBmunlockall\fP() は、呼び出し元プロセスのアドレス空間にマッピングされている 全てのページをロック解除する。 -.SH 返り値 -成功した場合は、これらのシステムコールはゼロを返す。 エラーの場合は \-1 が返され、 \fIerrno\fP -が適切に設定され、プロセスのアドレス空間におけるロックは変更されない。 -.SH エラー -.TP -\fBENOMEM\fP -(Linux 2.6.9 以降) 呼び出し元は非ゼロの ソフト資源制限 \fBRLIMIT_MEMLOCK\fP -を持つが、制限が許可している以上のメモリをロックしようとした。 この制限は、プロセスが特権 (\fBCAP_IPC_LOCK\fP) -を持っている場合は適用されない。 -.TP -\fBENOMEM\fP -.\" In the case of mlock(), this check is somewhat buggy: it doesn't -.\" take into account whether the to-be-locked range overlaps with -.\" already locked pages. Thus, suppose we allocate -.\" (num_physpages / 4 + 1) of memory, and lock those pages once using -.\" mlock(), and then lock the *same* page range a second time. -.\" In the case, the second mlock() call will fail, since the check -.\" calculates that the process is trying to lock (num_physpages / 2 + 2) -.\" pages, which of course is not true. (MTK, Nov 04, kernel 2.4.28) -(Linux 2.4 以前) 呼び出し元プロセスが RAM の半分以上をロックしようとした。 -.TP -\fBEPERM\fP -.\"SVr4 documents an additional EAGAIN error code. -呼び出し側が特権を持っていないが、 -要求された操作を実行するには特権 (\fBCAP_IPC_LOCK\fP) が必要である。 -.LP -\fBmlock\fP() と \fBmunlock\fP() 用として: -.TP -\fBEAGAIN\fP -指定されたアドレス範囲の一部または全てをロックすることができなかった。 -.TP -\fBEINVAL\fP -\fIstart\fP+\fIlen\fP の加算の結果が \fIstart\fP よりも小さかった -(例えば、加算でオーバーフローが発生したなど)。 -.TP -\fBEINVAL\fP -(Linux ではこの意味で使われない) \fIaddr\fP がページサイズの倍数ではない。 -.TP -\fBENOMEM\fP -指定されたアドレス範囲がプロセスのアドレス空間にマップされたページと 一致しない。 -.LP -\fBmlockall\fP() 用として: -.TP -\fBEINVAL\fP -未知の \fIflags\fP が指定された。 -.LP -\fBmunlockall\fP() 用として: -.TP -\fBEPERM\fP -(Linux 2.6.8 以前) 呼び出し元が権限 (\fBCAP_IPC_LOCK\fP) を持っていない。 -.SH 準拠 -POSIX.1\-2001, SVr4. -.SH 可用性 -\fBmlock\fP() と \fBmunlock\fP() が使用可能な POSIX システムでは \fB_POSIX_MEMLOCK_RANGE\fP が -\fI\fP で定義されている。 また、ページあたりのバイト数は、 \fI\fP -で定義される定数 \fBPAGESIZE\fP から (定義されている場合)、もしくは \fIsysconf(_SC_PAGESIZE)\fP -を呼び出すことで決定できる。 - -.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. -.\" -1: unavailable, 0: ask using sysconf(). -.\" glibc defines it to 1. -\fBmlockall\fP() と \fBmunlockall\fP() が利用可能な POSIX システムでは、 \fB_POSIX_MEMLOCK\fP は -\fI\fP で 0 より大きい値に定義されている (\fBsysconf\fP(3) も参照のこと)。 -.SH 注意 -メモリのロックの用途としては主に二つある: リアルタイム アルゴリズムと高いセキュリティの必要なデータ処理である。リアルタイムの -アプリケーションは決定的なタイミングやスケジューリングを必要とするが、 ページングは予期しないプログラムの実行遅延をもたらす主要な要因となる。 -リアルタイムのアプリケーションはたいていは \fBsched_setscheduler\fP(2) でリアルタイムスケジューラに変更される。 -暗号やセキュリティのソフトウェアはしばしばパスワードや秘密鍵のデータの ような重要なバイト列を扱う。ページングの結果、これらの秘密が -スワップ用の固定媒体に転送されるかもしれない。そして、セキュリティ・ ソフトウェアが RAM 上の秘密を削除して終了したずっと後になっても、 -このスワップされたデータには敵がアクセスできる可能性がある (しかし、ラップトップといくつかのデスクトップコンピュータの サスペンドモードはシステムの -RAM の内容をメモリのロックに関わらず ディスクに保存することに注意)。 - -リアルタイムプロセスが \fBmlockall\fP() を使ってページフォールトによる遅延を防ごうとする場合、 -関数呼び出しによってページフォールトが発生しないように、 時間制限の厳しい部分 (time\-critical section) に入る前に -十分な量のロックされたスタックを確保しておく必要がある。 これを実現するには、十分な大きさの自動変数 (の配列) を確保し、 -これらのスタック用のページがメモリ上に確保されるようにこの配列に 書き込みを行う関数を用意し、これを呼び出せばよい。こうすることで、 -十分な量のページがスタックにマッピングされ、RAM にロックされる。 ダミーの書き込みを行うことによって、 時間制限の厳しい部分 (critical -section) 内では書き込み時コピーによる ページフォールトさえも発生しないことが保証される。 - -メモリロックは \fBfork\fP(2) で作成された子プロセスには継承されず、 \fBexecve\fP(2) が呼ばれたり、プロセスが終了した場合は -自動的に削除される (ロック解除される)。 - -あるアドレス範囲に対するメモリロックは、そのアドレス範囲が \fBmunmap\fP(2) によってアンマップされた場合は削除される。 - -メモリのロックは累積しない。 すなわち複数回 \fBmlock\fP() や \fBmlockall\fP() を呼び出してロックされたページでも、 -対応する範囲に対して \fBmunlock\fP() を 1 回呼び出したり \fBmunlockall\fP() を呼び出したりするだけでロック解除される。 -複数の場所や複数のプロセスにマップされているページは、少なくとも一つの場所、 一つのプロセスでロックされている限りは RAM に残り続ける。 -.SS "Linux での注意" -Linux では、 \fBmlock\fP() と \fBmunlock\fP() は自動的に \fIaddr\fP -を端数切り捨てにより一番近いページ境界へと丸める。 しかし POSIX.1\-2001 は \fIaddr\fP -がページ境界に合っていることを要求する実装も許している。 そのため移植性を意図したアプリケーションではきちんと境界に合わせた方が良い。 - -Linux 固有の \fI/proc/PID/status\fP ファイルの \fIVmLck\fP フィールドには、 -\fBmlock\fP(), \fBmlockall\fP() および \fBmmap\fP(2) \fBMAP_LOCKED\fP を使って、 -ID が \fIPID\fP のプロセスがロックしているメモリ量 (キロバイト単位) が -表示される。 -.SS 制限と権限 -Linux 2.6.8 以前では、メモリをロックするためには特権 (\fBCAP_IPC_LOCK\fP) が必要で、 ソフト資源制限 -\fBRLIMIT_MEMLOCK\fP はプロセスがどれだけのメモリをロックできるかの制限を定義する。 - -Linux 2.6.9 以降では、特権を持つプロセスがロックできるメモリ量は無制限となり、 代わりにソフト資源制限 \fBRLIMIT_MEMLOCK\fP -は特権を持たないプロセスがロックできるメモリ量の制限を定義する。 -.SH バグ -2.4.17 までの 2.4 シリーズの Linux カーネルには、 \fBmlockall\fP() \fBMCL_FUTURE\fP フラグが -\fBfork\fP(2) で継承されると言うバグがある。 これはカーネル 2.4.18 で修正された。 - -.\" See the following LKML thread: -.\" http://marc.theaimsgroup.com/?l=linux-kernel&m=113801392825023&w=2 -.\" "Rationale for RLIMIT_MEMLOCK" -.\" 23 Jan 2006 -カーネル 2.6.9 以降では、特権を持ったプロセスが \fImlockall(MCL_FUTURE)\fP を呼び出した後で、特権をなくした場合 (例えば、 -実効 UID を 0 以外の値に変更するなどにより、 \fBCAP_IPC_LOCK\fP ケーパビリティを失った場合)、リソース上限 -\fBRLIMIT_MEMLOCK\fP に達すると、それ以降のメモリ割り当て (例えば \fBmmap\fP(2), \fBbrk\fP(2)) は失敗する。 -.SH 関連項目 -\fBmmap\fP(2), \fBsetrlimit\fP(2), \fBshmctl\fP(2), \fBsysconf\fP(3), \fBproc\fP(5), -\fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mmap.2 b/draft/man2/mmap.2 deleted file mode 100644 index 12b1b833..00000000 --- a/draft/man2/mmap.2 +++ /dev/null @@ -1,397 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 1996 Andries Brouwer -.\" and Copyright (C) 2006, 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1997-01-31 by Eric S. Raymond -.\" Modified 2000-03-25 by Jim Van Zandt -.\" Modified 2001-10-04 by John Levon -.\" Modified 2003-02-02 by Andi Kleen -.\" Modified 2003-05-21 by Michael Kerrisk -.\" MAP_LOCKED works from 2.5.37 -.\" Modified 2004-06-17 by Michael Kerrisk -.\" Modified 2004-09-11 by aeb -.\" Modified 2004-12-08, from Eric Estievenart -.\" Modified 2004-12-08, mtk, formatting tidy-ups -.\" Modified 2006-12-04, mtk, various parts rewritten -.\" 2007-07-10, mtk, Added an example program. -.\" 2008-11-18, mtk, document MAP_STACK -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MMAP 2 2012\-04\-16 Linux "Linux Programmer's Manual" -.SH 名前 -mmap, munmap \- ファイルやデバイスをメモリにマップ/アンマップする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBvoid *mmap(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB, int \fP\fIprot\fP\fB, int \fP\fIflags\fP\fB,\fP -\fB int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB);\fP -\fBint munmap(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB);\fP -.fi -.SH 説明 -\fBmmap\fP() は、新しいマッピングを呼び出し元プロセスの仮想アドレス空間に作成する。 新しいマッピングの開始アドレスは \fIaddr\fP -で指定される。マッピングの長さは \fIlength\fP 引き数で指定される。 - -.\" Before Linux 2.6.24, the address was rounded up to the next page -.\" boundary; since 2.6.24, it is rounded down! -\fIaddr\fP が NULL の場合、カーネルがマッピングを作成するアドレスを選択する。 この方法は最も移植性のある新しいマッピングの作成方法である。 -\fIaddr\fP が NULL でない場合、カーネルはマッピングをどこに配置するかのヒントとして \fIaddr\fP を使用する。Linux -では、マッピングはすぐ近くのページ境界に作成される。 新しいマッピングのアドレスは、呼び出しの返り値として返される。 - -ファイルマッピングの内容は、 ファイルディスクリプタ \fIfd\fP で参照されるファイル (もしくは他のオブジェクト) のオフセット \fIoffset\fP -から開始される \fIlength\fP バイトのデータで初期化される (ファイルマッピングは無名マッピングの反対語である。 \fBMAP_ANONYMOUS\fP -を参照)。 \fIoffset\fP は \fIsysconf(_SC_PAGE_SIZE)\fP が返すページサイズの倍数でなければならない。 -.LP -引き数 \fIprot\fP には、マッピングのメモリ保護をどのように行なうかを指定する (ファイルのオープンモードと矛盾してはいけない)。 \fIprot\fP -には、 \fBPROT_NONE\fP か、以下のフラグをひとつ以上ビット毎の論理和 (OR) をとったものを 指定できる。 -.TP 1.1i -\fBPROT_EXEC\fP -ページは実行可能である。 -.TP -\fBPROT_READ\fP -ページは読み込み可能である。 -.TP -\fBPROT_WRITE\fP -ページに書き込み可能である。 -.TP -\fBPROT_NONE\fP -ページにはアクセスできない。 -.LP -\fIflags\fP 引き数により、マッピングに対する更新が同じ領域をマッピングしている 他のプロセスに見えるか、更新がマッピング元のファイルを通じて -伝えられるか、が決定される。この動作は、以下の値のいずれか一つだけ (複数は指定できない) を \fIflags\fP に含めることで指定する。 -.TP 1.1i -\fBMAP_SHARED\fP -このマッピングを共有する。 マッピングに対する更新はこのファイルをマッピングしている他のプロセス -から見える。更新はマッピング元のファイルを通じて伝えられる。 ただし、ファイルの実際の更新は \fBmsync\fP(2) または \fBmunmap\fP() -が呼ばれるまで行われないこともある。 -.TP -\fBMAP_PRIVATE\fP -プライベートな copy\-on\-write (書き込み時コピー) マップを生成する。 -マッピングに対する更新は同じファイルをマッピングしている他のプロセス には見えず、更新がマッピング元のファイルを通じて伝えられることもない。 -\fBmmap\fP() の呼び出し後にマッピング元のファイルに対して行われた変更が、 マップ領域に反映されるかどうかは規定されていない。 -.LP -上記の二つのフラグは POSIX.1\-2001 で規定されている。 - -さらに、以下の値のうち 0 個以上をビット毎の論理和 (OR) で \fIflags\fP に指定することができる。 -.TP -\fBMAP_32BIT\fP (Linux 2.4.20, 2.6 以降) -.\" See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 -マッピングをプロセスのアドレス空間の先頭 2 ギガバイト以内に配置する。 このフラグがサポートされているのは x86\-64 アーキテクチャ上の 64 -ビットプログラムのみである。 このフラグが追加されたのは、スレッドのスタックをメモリの先頭 2GB 以内の どこかに割り当てることで、初期のいくつかの -64 ビットプロセッサにおける コンテキストスイッチの性能問題を改善するためである。 最近の x86\-64 プロセッサではこの性能問題はもはや存在せず、 -そのようなシステムではこのフラグを使用する必要はない。 \fBMAP_FIXED\fP がセットされている場合は、 \fBMAP_32BIT\fP -フラグは無視される。 -.TP -\fBMAP_ANON\fP -\fBMAP_ANONYMOUS\fP の同義語。非推奨。 -.TP -\fBMAP_ANONYMOUS\fP -マッピングはどのファイルとも関連付けされない。 マッピングの内容は 0 で初期化される。 引き数 \fIfd\fP と \fIoffset\fP は無視される。 -ただし、実装によっては \fBMAP_ANONYMOUS\fP (もしくは \fBMAP_ANON\fP) が指定された場合、 \fIfd\fP を \-1 -にする必要があり、 移植性が必要なアプリケーションでは必ず \fIfd\fP を \-1 にすべきである。 \fBMAP_ANONYMOUS\fP と -\fBMAP_SHARED\fP を組み合わせての利用は カーネル 2.4 以降の Linux でのみサポートされている。 -.TP -\fBMAP_DENYWRITE\fP -.\" Introduced in 1.1.36, removed in 1.3.24. -このフラグは無視される (ずっと前は、マップ元のファイルへの書き込みを行おうとすると、エラー \fBETXTBUSY\fP -で失敗するようにシグナルが設定されていたが、これは denial\-of\-service (サービス拒否) 攻撃の原因となった)。 -.TP -\fBMAP_EXECUTABLE\fP -.\" Introduced in 1.1.38, removed in 1.3.24. Flag tested in proc_follow_link. -.\" (Long ago, it signaled that the underlying file is an executable. -.\" However, that information was not really used anywhere.) -.\" Linus talked about DOS related to MAP_EXECUTABLE, but he was thinking of -.\" MAP_DENYWRITE? -このフラグは無視される。 -.TP -\fBMAP_FILE\fP -.\" On some systems, this was required as the opposite of -.\" MAP_ANONYMOUS -- mtk, 1 May 2007 -互換性のためのフラグ。無視される。 -.TP -\fBMAP_FIXED\fP -\fIaddr\fP をアドレスのヒントとして使用するのではなく、 \fIaddr\fP で指定されたアドレスをそのまま使用してマッピングを配置する。 -\fIaddr\fP はページサイズの倍数でなければならない。 \fIaddr\fP と \fIlen\fP -で指定されたメモリ領域が既存のマッピングのページと重なる場合、 既存のマッピングの重なった部分は捨てられる。 もし指定されたアドレスが使用できない場合、 -\fBmmap\fP() は失敗する。 マッピングに対して固定アドレスを要求するのは移植性の面で劣るので、 このオプションは使用しないことを推奨する。 -.TP -\fBMAP_GROWSDOWN\fP -スタック用に使用される。マッピングをメモリ内で逆向きに行うことを カーネル仮想メモリシステムに指示する。 -(訳注:マッピングは通常はメモリ・アドレスが増加する向きに行うが、 このオプションを指定すると逆向きにマッピングを行う) -.TP -\fBMAP_HUGETLB\fP (Linux 2.6.32 以降) -"huge page" を使ってマッピングを割り当てる。 詳しい情報は、カーネル・ソースの -\fIDocumentation/vm/hugetlbpage.txt\fP を参照。 -.TP -\fBMAP_LOCKED\fP (Linux 2.5.37 以降) -.\" If set, the mapped pages will not be swapped out. -マップされた領域のページを \fBmlock\fP(2) の方法でメモリ内にロックする。 それ以前のカーネルでは、このフラグは無視される。 -.TP -\fBMAP_NONBLOCK\fP (Linux 2.5.46 以降) -\fBMAP_POPULATE\fP と組み合わせた場合のみ意味を持つ。 read\-ahead (前もって読み込むこと) を実行しない。 単に、すでに RAM -上に存在するページに対して ページテーブルエントリを作成するだけである。 Linux 2.6.23 以降では、このフラグは -\fBMAP_POPULATE\fP に何の影響も与えない。 いつか \fBMAP_POPULATE\fP と \fBMAP_NONBLOCK\fP -を組み合わせた場合の動作は実装し直されるかもしれない。 -.TP -\fBMAP_NORESERVE\fP -このマッピングに対するスワップ空間の予約を行わない。 スワップ空間を予約した場合は、このマッピングの変更が必ず可能なことが -保証される。予約を行わなかった場合、物理メモリに空きがないと 書き込み時に \fBSIGSEGV\fP エラーを受け取ることがある。 \fBproc\fP(5) -の \fI/proc/sys/vm/overcommit_memory\fP ファイルについての議論も参照。 バージョン 2.6 -より前のカーネルでは、このフラグは書き込み可能な プライベート・マッピングについてのみ効果があった。 -.TP -\fBMAP_POPULATE\fP (Linux 2.5.46 以降) -マッピング用のページテーブルを配置 (populate) する ファイルマッピングの場合には、これによりファイルが先読み (read\-ahead) -が行われる。この以後は、マッピングに対するアクセスがページフォールトで ブロックされることがなくなる。 \fBMAP_POPULATE\fP は Linux -2.6.23 以降でプライベート・マッピングについてのみ サポートされている。 -.TP -\fBMAP_STACK\fP (Linux 2.6.27 以降) -.\" See http://lwn.net/Articles/294642 "Tangled up in threads", 19 Aug 08 -.\" commit cd98a04a59e2f94fa64d5bf1e26498d27427d5e7 -.\" http://thread.gmane.org/gmane.linux.kernel/720412 -.\" "pthread_create() slow for many threads; also time to revisit 64b -.\" context switch optimization?" -プロセスやスレッドのスタックに適したアドレスにマッピングを割り当てる。 現在のところ、このフラグは何もしないが、 glibc -のスレッド実装では使用されている。 これは、いくつかのアーキテクチャではスタックの割り当てに関して特別な扱い が必要な場合に、glibc -にそのサポートを後で透過的に実装できるようにする ためである。 -.TP -\fBMAP_UNINITIALIZED\fP (Linux 2.6.33 以降) -無名ページ (anonymous page) のクリアを行わない。このフラグは組み込みデバイス -での性能向上を目的に作られてものである。カーネルの設定で -\fBCONFIG_MMAP_ALLOW_UNINITIALIZED\fP オプションが有効になっている場合のみ、 -このフラグは効果を持つ。 -セキュリティ面の考慮から、このオプションは通常組み込みデバイス (すなわち、 -ユーザメモリの内容を完全に制御化におけるデバイス) においてのみ有効にされる。 -.LP -上記のフラグの中では、 \fBMAP_FIXED\fP だけが POSIX.1\-2001 で規定されている。 しかしながら、ほとんどのシステムで -\fBMAP_ANONYMOUS\fP (またはその同義語である \fBMAP_ANON\fP) もサポートされている。 -.LP -いくつかのシステムでは、上記以外にフラグとして \fBMAP_AUTOGROW\fP, \fBMAP_AUTORESRV\fP, \fBMAP_COPY\fP, -\fBMAP_LOCAL\fP が規定されている。 -.LP -\fBmmap\fP() によってマップされたメモリの属性は \fBfork\fP(2) の際に継承される。 -.LP -ファイルはページサイズの整数倍の領域にマップされる。サイズがページサイズの 整数倍でないファイルの場合、マップ時に残りの領域は 0 -で埋められ、この領域へ 書きこみを行ってもファイルに書き出されることはない。マッピングを行った元 -ファイルのサイズを変更した場合、元ファイルの追加されたり削除された領域に対応 するマップされたページに対してどのような影響があるかは規定されていない。 -.SS munmap() -システムコール \fBmunmap\fP() は指定されたアドレス範囲のマップを消去し、 これ以降のその範囲内へのメモリ参照は不正となる。 -この領域は、プロセスが終了したときにも自動的にアンマップされる。 一方、ファイル記述子をクローズしても、この領域はアンマップされない。 -.LP -\fIaddr\fP アドレスはページサイズの整数倍でなければならない。指定された範囲の一部分を -含む全てのページはアンマップされ、これ以降にこれらのページへの参照があると \fBSIGSEGV\fP が発生する。 -指定した範囲内にマップされたページが一つも含まれていない場合でも エラーにならない。 -.SS ファイルと関連付けられたマッピングに対するタイムスタンプの更新 -ファイルと関連付けられたマッピングの場合、マッピングされたファイルの \fIst_atime\fP フィールドは、 \fBmmap\fP() されてからアンマップ -(unmap) されるまでの間に更新されることがある。 それまでに更新が行われていなければ、マップされたページへの最初の参照があった 際に更新される。 -.LP -\fBPROT_WRITE\fP と \fBMAP_SHARED\fP の両方を指定してマップされたファイルの場合、書き込みがあると、 \fIst_ctime\fP と -\fIst_mtime\fP の両フィールドは、マップされた領域への書き込みより後で、 \fBMS_SYNC\fP または \fBMS_ASYNC\fP フラグを指定して -\fBmsync\fP(2) が呼ばれる前までに更新される。 -.SH 返り値 -\fBmmap\fP() は成功するとマップされた領域へのポインタを返す。 失敗すると値 \fBMAP_FAILED\fP (つまり \fI(void\ *)\ \-1\fP) を返し、 \fIerrno\fP がエラーの内容にしたがってセットされる。 \fBmunmap\fP() は成功すると 0 を返す。失敗すると \-1 -を返し、 \fIerrno\fP がセットされる (多くの場合 \fBEINVAL\fP になるだろう)。 -.SH エラー -.TP -\fBEACCES\fP -以下のいずれかの場合。 ファイル記述子の参照先が通常のファイルではない (non\-regular file) 。 \fBMAP_PRIVATE\fP -を要求したが \fIfd\fP は読み込み用にオープンされていない。 \fBMAP_SHARED\fP を要求して \fBPROT_WRITE\fP をセットしたが -\fIfd\fP は読み書きモード (\fBO_RDWR\fP) でオープンされていない、 \fBPROT_WRITE\fP をセットしたが、ファイルは追加 -(append) 専用である。 -.TP -\fBEAGAIN\fP -ファイルがロックされている。またはロックされているメモリが多すぎる (\fBsetrlimit\fP(2) を参照)。 -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイル記述子 (file descriptor) ではない (かつ \fBMAP_ANONYMOUS\fP がセットされていない)。 -.TP -\fBEINVAL\fP -\fIaddr\fP か \fIlength\fP か \fIoffset\fP が適切でない (例えば、大きすぎるとか、ページ境界にアラインメントされていない)。 -.TP -\fBEINVAL\fP -(Linux 2.6.12 以降) \fIlength\fP が 0 であった。 -.TP -\fBEINVAL\fP -\fIflags\fP に \fBMAP_PRIVATE\fP と \fBMAP_SHARED\fP のどちらも含まれていなかった、もしくは その両方が含まれていた。 -.TP -\fBENFILE\fP -.\" This is for shared anonymous segments -.\" [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() -.\" .TP -.\" .B ENOEXEC -.\" A file could not be mapped for reading. -システム全体でオープンされているファイルの総数が上限に達した。 -.TP -\fBENODEV\fP -指定されたファイルが置かれているファイルシステムがメモリマッピングをサポート していない。 -.TP -\fBENOMEM\fP -メモリに空きがない、または処理中のプロセスのマッピング数が最大数を超過した。 -.TP -\fBEPERM\fP -.\" (Since 2.4.25 / 2.6.0.) -\fIprot\fP 引き数は \fBPROT_EXEC\fP を行うように指定されているが、 no\-exec でマウントされたファイルシステム上のファイルに -マップ領域が対応している。 -.TP -\fBETXTBSY\fP -\fBMAP_DENYWRITE\fP がセットされているが \fIfd\fP で指定されているオブジェクトは書き込み用に開かれている。 -.LP -マップ領域を利用する際に、以下のシグナルが発生することがある: -.TP -\fBSIGSEGV\fP -読み込み専用で mmap された領域へ書き込みを行おうとした。 -.TP -\fBSIGBUS\fP -バッファのうち、ファイルに関連づけられていない部分 (例えばファイル末尾を越えた部分など。これには -他のプロセスがファイルを切り詰めた場合なども含まれる) にアクセスしようとした。 -.SH 準拠 -.\" SVr4 documents additional error codes ENXIO and ENODEV. -.\" SUSv2 documents additional error codes EMFILE and EOVERFLOW. -SVr4, 4.4BSD, POSIX.1\-2001. -.SH 可用性 -.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. -.\" -1: unavailable, 0: ask using sysconf(). -.\" glibc defines it to 1. -\fBmmap\fP(), \fBmsync\fP(2) \fBmunmap\fP() が利用可能な POSIX システムでは、 -\fB_POSIX_MAPPED_FILES\fP は で 0 より大きな値に定義される (\fBsysconf\fP(3) -も参照のこと)。 -.SH 注意 -.\" Since around glibc 2.1/2.2, depending on the platform. -このページでは glibc の \fBmmap\fP() のラッパー関数が提供するインターフェースに -ついて説明している。元々は、この関数は同じ名前のシステムコールを起動していた。 -カーネル 2.4 以降、このシステムコールは \fBmmap2\fP(2) に取って代わられ、現在 -では、 glibc の \fBmmap\fP() のラッパー関数は \fIoffset\fP を適切に調整してから -\fBmmap2\fP(2) を起動する。 - -(i386 などの) いくつかのアーキテクチャでは、 \fBPROT_WRITE\fP をセットすると、暗黙のうちに \fBPROT_READ\fP -がセットされる。 \fBPROT_READ\fP をセットした際に暗黙のうちに \fBPROT_EXEC\fP がセットされるかどうかは、アーキテクチャ依存である。 -移植性を考慮したプログラムでは、 新規にマップした領域でコードを実行したい場合は、常に \fBPROT_EXEC\fP をセットすべきである。 - -マッピングを作成する移植性のある方法は、 \fIaddr\fP に 0 (NULL) を指定し、 \fIflags\fP から \fBMAP_FIXED\fP -を外すことである。 この場合、システムがマッピング用のアドレスの選択を行う。 アドレスは既存のマッピングと衝突しないように、 かつ 0 -にならないように選択される。 \fBMAP_FIXED\fP フラグが指定され、かつ \fIaddr\fP が 0 (NULL) -の場合には、マップされるアドレスが 0 (NULL) になる。 -.SH バグ -Linux においては、上記の \fBMAP_NORESERVE\fP で述べられているような保証はない。 -デフォルトでは、システムがメモリを使い切った場合には、 どのプロセスがいつ強制終了されるか分からないからである。 - -2.6.7 より前のカーネルでは、 \fIprot\fP に \fBPROT_NONE\fP が指定された場合にのみ、 \fBMAP_POPULATE\fP -フラグが効力を持つ。 - -SUSv3 では、 \fIlength\fP が 0 の場合、 \fBmmap\fP() は失敗すると規定されている。しかしながら、2.6.12 -より前のカーネルでは、 この場合に \fBmmap\fP() は成功していた (マッピングは作成されず、 \fIaddr\fP が返されていた)。 カーネル -2.6.12 以降では、 \fBmmap\fP() はエラー \fBEINVAL\fP で失敗する。 -.SH 例 -.\" FIXME . Add an example here that uses an anonymous shared region for -.\" IPC between parent and child. -.PP -以下のプログラムは、一番目のコマンドライン引き数で指定された ファイルの一部を標準出力に表示する。 -表示する範囲は、二番目、三番目のコマンドライン引き数で渡される オフセットと長さで指定される。 -このプログラムは、指定されたファイルの必要なページのメモリ・ マッピングを作成し、 \fBwrite\fP(2) を使って所望のバイトを出力する。 -.nf - -#include -#include -#include -#include -#include -#include - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -int -main(int argc, char *argv[]) -{ - char *addr; - int fd; - struct stat sb; - off_t offset, pa_offset; - size_t length; - ssize_t s; - - if (argc < 3 || argc > 4) { - fprintf(stderr, "%s file offset [length]\en", argv[0]); - exit(EXIT_FAILURE); - } - - fd = open(argv[1], O_RDONLY); - if (fd == \-1) - handle_error("open"); - - if (fstat(fd, &sb) == \-1) /* To obtain file size */ - handle_error("fstat"); - - offset = atoi(argv[2]); - pa_offset = offset & ~(sysconf(_SC_PAGE_SIZE) \- 1); - /* offset for mmap() must be page aligned */ - - if (offset >= sb.st_size) { - fprintf(stderr, "offset is past end of file\en"); - exit(EXIT_FAILURE); - } - - if (argc == 4) { - length = atoi(argv[3]); - if (offset + length > sb.st_size) - length = sb.st_size \- offset; - /* Can\(aqt display bytes past end of file */ - - } else { /* No length arg ==> display to end of file */ - length = sb.st_size \- offset; - } - - addr = mmap(NULL, length + offset \- pa_offset, PROT_READ, - MAP_PRIVATE, fd, pa_offset); - if (addr == MAP_FAILED) - handle_error("mmap"); - - s = write(STDOUT_FILENO, addr + offset \- pa_offset, length); - if (s != length) { - if (s == \-1) - handle_error("write"); - - fprintf(stderr, "partial write"); - exit(EXIT_FAILURE); - } - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBgetpagesize\fP(2), \fBmincore\fP(2), \fBmlock\fP(2), \fBmmap2\fP(2), \fBmprotect\fP(2), -\fBmremap\fP(2), \fBmsync\fP(2), \fBremap_file_pages\fP(2), \fBsetrlimit\fP(2), -\fBshmat\fP(2), \fBshm_open\fP(3), \fBshm_overview\fP(7) -.br -.\" -.\" Repeat after me: private read-only mappings are 100% equivalent to -.\" shared read-only mappings. No ifs, buts, or maybes. -- Linus -B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\-129 and 389\-391. -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mmap2.2 b/draft/man2/mmap2.2 deleted file mode 100644 index 1a7af29d..00000000 --- a/draft/man2/mmap2.2 +++ /dev/null @@ -1,83 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2002, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 31 Jan 2002, Michael Kerrisk -.\" Added description of mmap2 -.\" Modified, 2004-11-25, mtk -- removed stray #endif in prototype -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MMAP2 2 2012\-04\-16 Linux "Linux Programmer's Manual" -.SH 名前 -mmap2 \- ファイルやデバイスをメモリにマップする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBvoid *mmap2(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB, int \fP\fIprot\fP\fB,\fP -\fB int \fP\fIflags\fP\fB, int \fP\fIfd\fP\fB, off_t \fP\fIpgoffset\fP\fB);\fP -.fi -.SH 説明 -これはおそらくあなたが興味のあるシステムコールではないだろう。代わりに -\fBmmap\fP(2) を見るとよい。そのページにはこのシステムコールを起動する glibc の -ラッパー関数についての説明がある。 - -\fBmmap2\fP() システムコールは \fBmmap\fP(2) と同じインターフェースを提供する。ただ -し、最後の引き数には、ファイルのオフセットを (\fBmmap\fP(2) が行っている、バイト -単位ではなく) 4096 バイトを単位として指定する。 これにより、32 ビットの -\fIoff_t\fP を使うアプリケーションで (2^44 バイトまでの) 大きなファイルをマップ -できるようになる。 -.SH 返り値 -成功した場合、 \fBmmap2\fP() はマップされた領域へのポインタを返す。 エラーの場合は \-1 が返されて、 \fIerrno\fP -が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -ユーザ空間からデータを取得するときに問題があった。 -.TP -\fBEINVAL\fP -(ページサイズが 4096 バイトでないプラットフォームにおいて) \fIoffset * 4096\fP がシステムのページサイズの倍数ではない。 -.PP -\fBmmap2\fP() は \fBmmap\fP(2) に載っているエラーを返すこともある。 -.SH バージョン -\fBmmap2\fP() は、Linux 2.3.31 以降で使用可能である。 -.SH 準拠 -このシステムコールは Linux 独自である。 -.SH 注意 -現在では、glibc の \fBmmap\fP() のラッパー関数は、 \fBmmap\fP(2) システムコールではなく、このシステムコール -(\fBmmap2\fP(2)) を起動する。 - -.\" ia64 can have page sizes ranging from 4kB to 64kB. -.\" On cris, it looks like the unit might also be the page size, -.\" which is 8192 bytes. -- mtk, June 2007 -ia64 では、 \fIoffset\fP の単位は、実際にはシステムのページサイズであり、 4096 バイトではない。 -.SH 関連項目 -\fBgetpagesize\fP(2), \fBmmap\fP(2), \fBmremap\fP(2), \fBmsync\fP(2), \fBshm_open\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/modify_ldt.2 b/draft/man2/modify_ldt.2 deleted file mode 100644 index b09b68c9..00000000 --- a/draft/man2/modify_ldt.2 +++ /dev/null @@ -1,103 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1995 Michael Chastain (mec@duracef.shout.net), 22 July 1995. -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MODIFY_LDT 2 2007\-06\-01 Linux "Linux Programmer's Manual" -.SH 名前 -modify_ldt \- ldt を設定または取得する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint modify_ldt(int \fP\fIfunc\fP\fB, void *\fP\fIptr\fP\fB, unsigned long \fP\fIbytecount\fP\fB);\fP -.fi -.SH 説明 -\fBmodify_ldt\fP() はプロセスのローカル・ディスクリプタ・テーブル (local descriptor table; ldt) -を読み書きする。 ldt は i386 プロセッサで使用されるプロセスごとのメモリ管理テーブルである。 このテーブルに関してのより詳しい情報は -Intel 386 processor handbook を 参照すること。 -.PP -\fIfunc\fP が 0 ならば、 \fBmodify_ldt\fP() は ldt を \fIptr\fP が指しているメモリに読み込む。 -読み込むバイト数は実際の ldt のサイズか \fIbytecount\fP より小さい方である。 -.PP -.\" -.\" FIXME ? say something about func == 2 and func == 0x11? -.\" In Linux 2.4, func == 2 returned "the default ldt" -.\" In Linux 2.6, func == 2 is a nop, returning a zeroed out structure. -.\" Linux 2.4 and 2.6 implement an operation for func == 0x11 -\fIfunc\fP が 1 ならば、 \fBmodify_ldt\fP() は ldt エントリの一つを変更する。 \fIptr\fP は \fIuser_desc\fP -構造体を指し、 \fIbytecount\fP はこの構造体の大きさに等しくなければならない。 - -\fIuser_desc\fP 構造体は \fI\fP で以下のように定義されている: -.in +4n -.nf - -struct user_desc { - unsigned int entry_number; - unsigned long base_addr; - unsigned int limit; - unsigned int seg_32bit:1; - unsigned int contents:2; - unsigned int read_exec_only:1; - unsigned int limit_in_pages:1; - unsigned int seg_not_present:1; - unsigned int useable:1; -}; -.fi -.in -.PP -.\" .PP -.\" The ldt is specific for the calling process. Any attempts to change -.\" the ldt to include the address space of another process or the kernel -.\" will result in a segmentation violation when trying to access the memory -.\" outside of the process address space. The memory protection is enforced -.\" at the paging layer. -Linux 2.4 以前では、この構造体は \fImodify_ldt_ldt_s\fP という名前であった。 -.SH 返り値 -成功した場合は、 \fBmodify_ldt\fP() は (読み込みの場合は) 実際に読み込んだバイト数、 または (書き込みの場合は) 0 を返す。 -失敗した場合は \fBmodify_ldt\fP() は \-1 を返し、 \fIerrno\fP をエラーを示す値に設定する。 -.SH エラー -.TP -\fBEFAULT\fP -\fIptr\fP がアドレス空間の外を指している。 -.TP -\fBEINVAL\fP -\fIptr\fP が 0 である、 または \fIfunc\fP が 1 で \fIbytecount\fP が \fImodify_ldt_ldt_s\fP -構造体のサイズと等しくないか、 \fIfunc\fP が 1 で新しい ldt エントリが無効な値である。 -.TP -\fBENOSYS\fP -\fIfunc\fP が 0 でも 1 でもない。 -.SH 準拠 -このコールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 -.SH 関連項目 -\fBvm86\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mount.2 b/draft/man2/mount.2 index 60f129c4..1133ebf7 100644 --- a/draft/man2/mount.2 +++ b/draft/man2/mount.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 1996-11-04 by Eric S. Raymond .\" Modified 2001-10-13 by Michael Kerrisk @@ -42,7 +42,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH MOUNT 2 2012\-05\-10 Linux "Linux Programmer's Manual" +.TH MOUNT 2 2012\-07\-05 Linux "Linux Programmer's Manual" .SH 名前 mount \- ファイルシステムをマウント/アンマウントする .SH 書式 @@ -71,6 +71,24 @@ Linux 2.4 以降、ひとつのファイルシステムを複数のマウント .\" and in \fI\fP for glibc2) .\" FIXME 2.6.15 added flags for "shared subtree" functionality: .\" MS_UNBINDABLE, MS_PRIVATE, MS_SHARED, MS_SLAVE +.\" +.\" MS_PRIVATE. +.\" All mounts are private by default. Previously shared mouns +.\" can be remarked PRIVATE. +.\" MS_SHARED +.\" Mount points that are marked SHARED propagate mount events +.\" to one another after bing cloned. +.\" MS_SLAVE +.\" A previously shared mount point can be marked SALVE, meaning +.\" it receives propagated events, but does not propagate events. +.\" MS_UNBINDABLE +.\" mounts cannot be bound into other places, and will not be +.\" propagated into new subtrees +.\" mount --make-rshared ==> MS_SHARED | MS_REC +.\" +.\" These settings are visible in proc/mountinfo +.\" +.\" .\" These need to be documented on this page. .\" See: .\" Documentation/filesystems/sharedsubtree.txt @@ -86,6 +104,14 @@ Linux 2.4 以降、ひとつのファイルシステムを複数のマウント .\" Shared Subtree Concept and Implementation in the Linux Kernel .\" Ram Pai .\" +.\" http://www.ibm.com/developerworks/linux/library/l-mount-namespaces/index.html +.\" Applying mount namespaces +.\" +.\" Uncover practical applications for advanced Linux mounts features +.\" Serge E. Hallyn (sergeh@us.ibm.com), Software Engineer, IBM  +.\" Ram Pai (linuxram@us.ibm.com), Software Engineer, IBM +.\" Date: 17 Sep 2007 +.\" .\" 2.6.25 Added MS_I_VERSION, which needs to be documented. .\" 引き数 \fImountflags\fP の上位 16 ビットには、マジックナンバー 0xC0ED @@ -158,9 +184,9 @@ Linux 2.4 以降、ひとつのファイルシステムを複数のマウント ファイルの最終アクセス時刻が 1 日以上前の場合、 ファイルの最終アクセス時刻は常に更新される。 .TP \fBMS_REMOUNT\fP -すでに存在するマウントを再マウントする。 これにより、すでに存在するマウントの \fImountflags\fP と \fIdata\fP -を、一度アンマウントしてから再マウントするという作業をせずに 変更できる。 \fIsource\fP と \fItarget\fP は最初の \fBmount\fP() -呼び出しと同じ値を指定する必要がある。 \fIfilesystemtype\fP は無視される。 +すでに存在するマウントを再マウントする。これにより、すでに存在するマウントの \fImountflags\fP と \fIdata\fP +を、一度アンマウントしてから再マウントするという作業をせずに 変更できる。 \fItarget\fP は最初の \fBmount\fP() +呼び出しと同じ値を指定する必要がある。 \fIsource\fP と \fIfilesystemtype\fP は無視される。 \fImountflags\fP のうち \fBMS_RDONLY\fP, \fBMS_SYNCHRONOUS\fP, \fBMS_MANDLOCK\fP は変更可能である。 カーネル 2.6.16 より前では、 \fBMS_NOATIME\fP, \fBMS_NODIRATIME\fP も変更可能であった。 カーネル 2.4.10 @@ -189,7 +215,7 @@ Linux 2.4 以降では、 \fBMS_NODEV\fP, \fBMS_NOEXEC\fP, \fBMS_NOSUID\fP は 成功した場合、0 が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 .SH エラー 以下に示すエラーは、ファイルシステムに依存しないものである。 それぞれのファイルシステムタイプには固有のエラーが存在する場合があり、 -独自の動作をすることもある。詳しくはカーネルのソースを見て欲しい。 +独自の動作をすることもある。詳しくは Linux カーネルのソースを見て欲しい。 .TP \fBEACCES\fP .\" mtk: Probably: write permission is required for MS_BIND, with @@ -278,8 +304,9 @@ set\-GID のプログラムを実行しようとすると、 \fBEPERM\fP エラ Linux 独自のファイル \fI/proc/PID/mounts\fP では、指定された ID を持つプロセスのマウント名前空間における マウントポイントのリストが公開されている。詳細は \fBproc\fP(5) を参照のこと。 .SH 関連項目 -\fBumount\fP(2), \fBpath_resolution\fP(7), \fBmount\fP(8), \fBumount\fP(8) +\fBumount\fP(2), \fBnamespaces\fP(7), \fBpath_resolution\fP(7), \fBmount\fP(8), +\fBumount\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/move_pages.2 b/draft/man2/move_pages.2 index 8eeb2b03..2606f94f 100644 --- a/draft/man2/move_pages.2 +++ b/draft/man2/move_pages.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006 Silicon Graphics, Inc. .\" Christoph Lameter .\" +.\" %%%LICENSE_START(VERBATIM_TWO_PARA) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -11,6 +10,7 @@ .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. +.\" %%%LICENSE_END .\" .\" FIXME Should programs normally be using this API directly, or should .\" they rather be using interfaces in the numactl package? @@ -146,6 +146,6 @@ dirty なページを移動できない。 ファイルシステムが dirty な \fBnuma_maps\fP(5), \fBcpuset\fP(7), \fBnuma\fP(7), \fBmigratepages\fP(8), \fBnuma_stat\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mprotect.2 b/draft/man2/mprotect.2 deleted file mode 100644 index 447b4c63..00000000 --- a/draft/man2/mprotect.2 +++ /dev/null @@ -1,184 +0,0 @@ -.\" -*- nroff -*- -.\" Copyright (C) 2007 Michael Kerrisk -.\" and Copyright (C) 1995 Michael Shields . -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and author of this work. -.\" -.\" Modified 1996-10-22 by Eric S. Raymond -.\" Modified 1997-05-31 by Andries Brouwer -.\" Modified 2003-08-24 by Andries Brouwer -.\" Modified 2004-08-16 by Andi Kleen -.\" 2007-06-02, mtk: Fairly substantial rewrites and additions, and -.\" a much improved example program. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MPROTECT 2 2011\-09\-08 Linux "Linux Programmer's Manual" -.SH 名前 -mprotect \- メモリ領域の保護を設定する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint mprotect(const void *\fP\fIaddr\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIprot\fP\fB);\fP -.fi -.SH 説明 -\fBmprotect\fP() は、区間 [\fIaddr\fP,\ \fIaddr\fP+\fIlen\fP\-1] のアドレス範囲を含む -呼び出し元のプロセスのメモリページのアクセス保護を変更する。 \fIaddr\fP はページ境界に一致していなければならない。 - -呼び出し元のプロセスがアクセス保護に違反するようなメモリアクセスを 行おうとすると、カーネルはシグナル \fBSIGSEGV\fP -をそのプロセスに対して生成する。 -.PP -\fIprot\fP には、 \fBPROT_NONE\fP か、以下のリストの \fBPROT_NONE\fP 以外の値をビット毎の論理和 (bitwize\-or) -で指定する: -.TP 1.1i -\fBPROT_NONE\fP -そのメモリには全くアクセスできない。 -.TP -\fBPROT_READ\fP -そのメモリを読み取ることができる。 -.TP -\fBPROT_WRITE\fP -そのメモリを変更できる。 -.TP -\fBPROT_EXEC\fP -.\" FIXME -.\" Document PROT_GROWSUP and PROT_GROWSDOWN -そのメモリは実行可能である。 -.SH 返り値 -成功した場合、 \fBmprotect\fP() は 0 を返す。エラーの場合は \-1 が返り、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEACCES\fP -指定されたアクセスをメモリに設定することができない。 これは、例えば ファイルを読み取り専用で \fBmmap\fP(2) しており、その領域に対して -\fBmprotect\fP() を呼び出して \fBPROT_WRITE\fP に設定しようとした場合に発生する。 -.TP -\fBEINVAL\fP -.\" Or: both PROT_GROWSUP and PROT_GROWSDOWN were specified in 'prot'. -\fIaddr\fP が有効なポインタでないか、 システムのページサイズの倍数でない。 -.TP -\fBENOMEM\fP -カーネル内部の構造体を割り当てることができなかった。 -.TP -\fBENOMEM\fP -[\fIaddr\fP, \fIaddr\fP+\fIlen\fP\-1] という範囲のアドレスがプロセスのアドレス空間として不正であるか、 -その範囲のアドレスがマップされていない 1 つ以上のページを指している (カーネル 2.4.19 より前では、この状況でエラー \fBEFAULT\fP -が間違って生成されていた)。 -.SH 準拠 -.\" SVr4 defines an additional error -.\" code EAGAIN. The SVr4 error conditions don't map neatly onto Linux's. -SVr4, POSIX.1\-2001. POSIX では、 \fBmmap\fP(2) 経由で獲得していないメモリ領域に対して \fBmprotect\fP() -を行った場合の \fBmprotect\fP() の動作は未定義であるとされている。 -.SH 注意 -Linux では、(カーネル vsyscall 領域以外の) 任意のプロセスアドレス空間に対して \fBmprotect\fP() -を呼び出すことが、常に許されている。 これは特に既存のコードマッピングを書き込み可能にするために使われる。 - -\fBPROT_EXEC\fP が \fBPROT_READ\fP と異なる影響を持つか否かは、アーキテクチャとカーネルのバージョンに依存する。 (i386 -などの) いくつかのアーキテクチャでは、 \fBPROT_WRITE\fP をセットすると、暗黙のうちに \fBPROT_READ\fP がセットされる。 - -POSIX.1\-2001 では、 \fIprot\fP で指定されていないアクセスを許可する実装を認めている。 ただし、最低限、 \fBPROT_WRITE\fP -がセットされている場合にのみ書き込みアクセスが許可され、 \fBPROT_NONE\fP がセットされている場合にはアクセスは許可されない点だけは -満たす必要がある。 -.SH 例 -.\" sigaction.2 refers to this example -.PP -以下のプログラムは、メモリページを 4つ確保し、そのうち 3番目のページを 読み込み専用に設定する。その後で、確保した領域のアドレスの小さい方から -大きな方に向かって順番にバイト値を変更するループを実行する。 - -プログラムを実行した場合の一例を以下に示す。 - -.in +4n -.nf -$\fB ./a.out\fP -Start of region: 0x804c000 -Got SIGSEGV at address: 0x804e000 -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include -#include -#include -#include -#include - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -char *buffer; - -static void -handler(int sig, siginfo_t *si, void *unused) -{ - printf("Got SIGSEGV at address: 0x%lx\en", - (long) si\->si_addr); - exit(EXIT_FAILURE); -} - -int -main(void) -{ - char *p; - int pagesize; - struct sigaction sa; - - sa.sa_flags = SA_SIGINFO; - sigemptyset(&sa.sa_mask); - sa.sa_sigaction = handler; - if (sigaction(SIGSEGV, &sa, NULL) == \-1) - handle_error("sigaction"); - - pagesize = sysconf(_SC_PAGE_SIZE); - if (pagesize == \-1) - handle_error("sysconf"); - - /* Allocate a buffer aligned on a page boundary; - initial protection is PROT_READ | PROT_WRITE */ - - buffer = memalign(pagesize, 4 * pagesize); - if (buffer == NULL) - handle_error("memalign"); - - printf("Start of region: 0x%lx\en", (long) buffer); - - if (mprotect(buffer + pagesize * 2, pagesize, - PROT_READ) == \-1) - handle_error("mprotect"); - - for (p = buffer ; ; ) - *(p++) = \(aqa\(aq; - - printf("Loop completed\en"); /* Should never happen */ - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBmmap\fP(2), \fBsysconf\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mq_getsetattr.2 b/draft/man2/mq_getsetattr.2 deleted file mode 100644 index de1142fb..00000000 --- a/draft/man2/mq_getsetattr.2 +++ /dev/null @@ -1,57 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MQ_GETSETATTR 2 2010\-08\-29 Linux "Linux Programmer's Manual" -.SH 名前 -mq_getsetattr \- メッセージキューの属性を設定/取得する -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint mq_getsetattr(mqd_t \fP\fImqdes\fP\fB, struct mq_attr *\fP\fInewattr\fP\fB,\fP -\fB struct mq_attr *\fP\fIoldattr\fP\fB);\fP -.fi -.SH 説明 -このシステムコールを使用しないこと。 - -\fBmq_getattr\fP(3) と \fBmq_setattr\fP(3) の実装に使用される低レベルのシステムコールである。 -このシステムコールがどのように動作するかは \fBmq_setattr\fP(3) の説明を参照のこと。 -.SH 準拠 -このインタフェースは非標準である。使用を避けること。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 (実のところ、C -ライブラリを書いているのでない限り、 決してこのシステムコールを呼び出さないこと!) -.SH 関連項目 -\fBmq_getattr\fP(3), \fBmq_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/mremap.2 b/draft/man2/mremap.2 deleted file mode 100644 index c160dbe2..00000000 --- a/draft/man2/mremap.2 +++ /dev/null @@ -1,125 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1996 Tom Bjorkholm -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 1996-04-11 Tom Bjorkholm -.\" First version written (1.3.86) -.\" 1996-04-12 Tom Bjorkholm -.\" Update for Linux 1.3.87 and later -.\" 2005-10-11 mtk: Added NOTES for MREMAP_FIXED; revised EINVAL text. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MREMAP 2 2010\-06\-10 Linux "Linux Programmer's Manual" -.SH 名前 -mremap \- 仮想メモリ・アドレスを再マッピングする -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -.br -\fB#include \fP -.sp -\fBvoid *mremap(void *\fP\fIold_address\fP\fB, size_t \fP\fIold_size\fP\fB,\fP -\fB size_t \fP\fInew_size\fP\fB, int \fP\fIflags\fP\fB, ... /* void *\fP\fInew_address\fP\fB */);\fP -.fi -.SH 説明 -\fBmremap\fP() は既存のメモリ・マッピングの拡張 (または縮小) を行う。 同時に移動されることもある (\fIflags\fP -引き数と利用可能な仮想アドレス空間によって決まる)。 - -\fIold_address\fP は拡張 (または縮小) しようとする仮想メモリ・ブロック の元のアドレスである。\fIold_address\fP -はページ境界に合っていなければ ならない点に注意すること。\fIold_size\fP は元の仮想メモリ・ブロックの サイズである。 \fInew_size\fP -は要求する変更後の仮想メモリ・ブロックのサイズである。 5 番目の引き数として \fInew_address\fP を指定することができる。下記の -\fBMREMAP_FIXED\fP の説明を参照のこと。 - -Linux ではメモリはページに分割される。ユーザー・プロセスは (一つまたは) 複数のリニアな仮想メモリセグメントを持つ。 -それぞれの仮想メモリセグメントは一つ以上の実メモリ・ページ にマッピングされている (マッピング情報はページ・テーブルで管理される)。 -仮想メモリセグメントにはセグメント毎の保護 (アクセス権) が設定されており、 メモリが不正にアクセスされた場合 (例えば読み込み専用のセグメントに -書き込んだ場合)、セグメンテーション侵害 (segmentation violation) を -引き起こす。また、セグメント外の仮想メモリにアクセスした場合にも セグメンテーション侵害が発生する。 - -\fBmremap\fP() は Linux のページ・テーブル方式を使用する。 \fBmremap\fP() -は仮想アドレスとメモリ・ページのマッピングを変更する。これは非常に効率的な \fBrealloc\fP(3) を実装するのに使用されている。 - -\fIflags\fP ビットマスク引数は 0 または以下のフラグを含む: -.TP -\fBMREMAP_MAYMOVE\fP -デフォルトでは、現在の位置にマッピングを拡張するための 十分な空きがなければ \fBmremap\fP() は失敗する。 -このフラグが指定されると、カーネルは必要があればマッピングを 新しい仮想アドレスに再配置することができる -マッピングが再配置されると、古いマッピング位置への絶対ポインタは 無効になる (マッピングの開始アドレスからの相対オフセットは有効のままである)。 -.TP -\fBMREMAP_FIXED\fP (Linux 2.3.31 以降) -このフラグは \fBmmap\fP(2) の \fBMAP_FIXED\fP フラグと似たような目的で用いられる。 このフラグが指定されると、 -\fBmremap\fP() は 5 番目の引き数 \fIvoid *new_address\fP -を受け取り、この引数はマッピングが移動されるべきアドレスを指定する。 このアドレスはページ境界に合っていなければならない。 \fInew_address\fP -と \fInew_size\fP で指定されるアドレス範囲に過去のマッピングがあった場合、 そのマッピングはアンマップされる (unmapped)。 -\fBMREMAP_FIXED\fP を指定した場合は、 \fBMREMAP_MAYMOVE\fP も指定しなければならない。 -.PP -\fIold_address\fP と \fIold_size\fP で指定されるメモリセグメントが (\fBmlock\fP(2) や同様のもので) -ロックされている場合、セグメントのサイズが変わったり 再配置されたりした時にロックも維持される。 -その結果、プロセスによってロックされるメモリの量は変化する。 -.SH 返り値 -成功した場合は \fBmremap\fP() は新しい仮想メモリ領域へのポインタを返す。 エラーの場合は \fBMAP_FAILED\fP (すなわち -\fI(void\ *)\ \-1\fP) が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEAGAIN\fP -呼び出し元がロックされているメモリセグメントを拡張しようとしたが、 \fBRLIMIT_MEMLOCK\fP リソース制限を越えずにこれを行うことができない。 -.TP -\fBEFAULT\fP -「セグメンテーション違反(segmentation fault)」 \fIold_address\fP から -\fIold_address\fP+\fIold_size\fP の 範囲のアドレスのどれかがこのプロセスにおいて不正な仮想メモリ・アドレスである。 -たとえ要求したアドレス空間全体を含むようなマッピングがあったとしても、 それらのマッピングが異なった型ならば \fBEFAULT\fP を受け取るだろう。 -.TP -\fBEINVAL\fP -不正な引き数が与えられた。 可能性のある原因は以下の通りである: たいていは \fIold_address\fP がページ境界に 合ってない; -\fIflags\fP に \fBMREMAP_MAYMOVE\fP または \fBMREMAP_FIXED\fP 以外の値が指定されている; \fInew_size\fP -がゼロ; \fInew_size\fP または \fInew_address\fP の値が不正; \fInew_address\fP と \fInew_size\fP -で指定される新しいアドレス範囲が \fIold_address\fP と \fIold_size\fP で指定される古いアドレス範囲と重なっている; -\fBMREMAP_FIXED\fP が指定されているが \fBMREMAP_MAYMOVE\fP が指定されていない。 -.TP -\fBENOMEM\fP -現在の仮想アドレスではメモリ領域が拡張できず、 \fBMREMAP_MAYMOVE\fP フラグが \fIflags\fP に設定されていない。 または十分な -(仮想) メモリが存在しない。 -.SH 準拠 -.\" 4.2BSD had a (never actually implemented) -.\" .BR mremap (2) -.\" call with completely different semantics. -このコールは Linux 特有であり、移植を意図したプログラムで 使用すべきではない。 -.SH 注意 -バージョン 2.4 より前の glibc では、 \fBMREMAP_FIXED\fP の定義は公開されておらず、 \fBmremap\fP() のプロトタイプは -\fInew_address\fP 引き数を取らなかった。 -.SH 関連項目 -\fBbrk\fP(2), \fBgetpagesize\fP(2), \fBgetrlimit\fP(2), \fBmlock\fP(2), \fBmmap\fP(2), -\fBsbrk\fP(2), \fBrealloc\fP(3), \fBmalloc\fP(3) -.P -ページ分割されたメモリについてもっと詳しく知りたいならば あなたの好みの OS の -教科書を参照すること。 (\fIModern Operating Systems\fP by Andrew S. Tanenbaum, -\fIInside Linux\fP by Randolf Bentson, \fIThe Design of the UNIX Operating -System\fP by Maurice J. Bach.) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/msgctl.2 b/draft/man2/msgctl.2 deleted file mode 100644 index ec8e8206..00000000 --- a/draft/man2/msgctl.2 +++ /dev/null @@ -1,200 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) -.\" and Copyright 2004, 2005 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond -.\" Modified Sun Feb 18 01:59:29 2001 by Andries E. Brouwer -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on CAP_IPC_OWNER requirement -.\" Modified, 17 Jun 2004, Michael Kerrisk -.\" Added notes on CAP_SYS_ADMIN requirement for IPC_SET and IPC_RMID -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added msqid_ds and ipc_perm structure definitions -.\" 2005-08-02, mtk: Added IPC_INFO, MSG_INFO, MSG_STAT descriptions -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MSGCTL 2 2008\-08\-06 Linux "Linux Programmer's Manual" -.SH 名前 -msgctl \- メッセージ制御操作 -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP - -\fBint msgctl(int \fP\fImsqid\fP\fB, int \fP\fIcmd\fP\fB, struct msqid_ds *\fP\fIbuf\fP\fB);\fP -.fi -.SH 説明 -\fBmsgctl\fP() はメッセージ・キュー識別子 \fImsqid\fP で指定されたメッセージ・キュー (message queue) に対して -\fIcmd\fP で指定された制御操作を行なう。 -.PP -\fImsqid_ds\fP データ構造体は \fI\fP で以下のように定義されている: -.nf -.in +4n - -struct msqid_ds { - struct ipc_perm msg_perm; /* 所有権と許可 */ - time_t msg_stime; /* 最後の msgsnd(2) の時刻 */ - time_t msg_rtime; /* 最後の msgrcv(2) の時刻 */ - time_t msg_ctime; /* 最後に変更が行われた時刻 */ - unsigned long __msg_cbytes; /* キューにある現在のバイト数 - (非標準) */ - msgqnum_t msg_qnum; /* キューにある現在入っている - メッセージの数 */ - msglen_t msg_qbytes; /* キューに許可されている - 最大バイト数 */ - pid_t msg_lspid; /* 最後の msgsnd(2) の PID */ - pid_t msg_lrpid; /* 最後の msgrcv(2) の PID */ -}; -.in -.fi -.PP -\fIipc_perm\fP 構造体は \fI\fP で以下のように定義されている (強調されたフィールドは -\fBIPC_SET\fP を使って設定可能である): -.PP -.nf -.in +4n -struct ipc_perm { - key_t __key; /* msgget(2) に与えるキー */ - uid_t \fBuid\fP; /* 所有者の実効 UID */ - gid_t \fBgid\fP; /* 所有者の実効 GID */ - uid_t cuid; /* 作成者の実効 UID */ - gid_t cgid; /* 作成者の実効 GID */ - unsigned short \fBmode\fP; /* 許可 */ - unsigned short __seq; /* シーケンス番号 */ -}; -.in -.fi -.PP -\fIcmd\fP として有効な値は: -.TP -\fBIPC_STAT\fP -\fImsqid\fP に関連づけられたメッセージ・キュー・データ構造体から、ポインタ \fIbuf\fP が指し示す \fImsqid_ds\fP -構造体に情報をコピーする。 呼び出し側はメッセージ・キューに対する読み込み許可を持っていなければならない。 -.TP -\fBIPC_SET\fP -ポインタ \fIbuf\fP が指し示す \fImsqid_ds\fP 構造体のメンバーの値を、メッセージ・キューに関連づけられた -カーネル・データ構造体に書き込み、 \fImsg_ctime\fP メンバーも更新する。 構造体のメンバーのうち、更新されるものを以下に示す: -\fImsg_qbytes\fP, \fImsg_perm.uid\fP, \fImsg_perm.gid\fP, \fImsg_perm.mode\fP (の下位 9 -ビット)。 呼び出したプロセスの実効ユーザ ID が、メッセージ・キューの所有者 (\fImsg_perm.uid\fP) または作成者 -(\fImsg_perm.cuid\fP) と一致するか、呼び出し元が特権を持たなければならない。 \fImsg_qbytes\fP をシステム・パラメータの -\fBMSGMNB\fP を超えて設定するには、適切な特権 (Linux では \fBCAP_IPC_RESOURCE\fP ケーパビリティ -(capability)) が必要である。 -.TP -\fBIPC_RMID\fP -メッセージ・キューをただちに削除する。 同時にその構造体の読み書きの待ち状態にあったプロセスに通知する (エラーが返り、 \fIerrno\fP が -\fBEIDRM\fP に設定される)。 呼び出したプロセスが適切な特権を持っているか、 呼び出したプロセスの実効ユーザ ID がメッセージ・キューの作成者か -所有者の実効ユーザ ID でなければならない。 -.TP -\fBIPC_INFO\fP (Linux 固有) -システム全体でのメッセージ・キューの制限とパラメータに関する情報を、 \fIbuf\fP が指す構造体に入れて返す。 この構造体は \fImsginfo\fP -型である (そのためキャストが必要である)。 \fImsginfo\fP は \fB_GNU_SOURCE\fP 機能検査マクロが定義された場合に -\fI\fP で以下のように定義される: -.nf -.in +4n - -struct msginfo { - int msgpool; /* メッセージ・データの保持に使用される - バッファ・プールの大きさ (1024 バイト単位); - カーネル内では未使用 */ - int msgmap; /* メッセージ・マップの最大エントリ数; - カーネル内では未使用 */ - int msgmax; /* 一つのメッセージに書き込み可能な - 最大バイト数 */ - int msgmnb; /* 一つのキューに書き込み可能な最大バイト数; - (msgget(2) での) キュー作成中の msg_qbytes - の初期化に使用される */ - int msgmni; /* メッセージ・キューの数の最大値 */ - int msgssz; /* メッセージ・セグメントのサイズ; - カーネル内では未使用 */ - int msgtql; /* システム上の全キューの最大メッセージ数; - カーネル内では未使用 */ - unsigned short int msgseg; - /* 最大セグメント数; カーネル内では未使用 */ -}; - -.in -.fi -設定 \fImsgmni ,\fP \fImsgmax ,\fP \fImsgmnb\fP は \fI/proc\fP にある同じ名前のファイル経由で変更可能である。 詳しくは -\fBproc\fP(5) を参照。 -.TP -\fBMSG_INFO\fP (Linux 固有) -\fBIPC_INFO\fP のときと同じ情報を格納した \fImsginfo\fP 構造体を返す。 但し、以下のフィールドにはメッセージ・キューが -消費しているシステム資源に関する情報が格納される点が異なる。 \fImsgpool\fP フィールドは現在システム上に存在するメッセージ・キューの数を返す。 -\fImsgmap\fP フィールドはシステム上の全てのキューに入っているメッセージ総数を返す。 \fImsgtql\fP -フィールドはシステム上の全てのキューに入っている全メッセージの 総バイト数を返す。 -.TP -\fBMSG_STAT\fP (Linux 固有) -\fBIPC_STAT\fP と同じく \fImsqid_ds\fP 構造体を返す。 但し、 \fImsqid\fP -引き数は、キュー識別子ではなく、システム上の全てのメッセージ・キュー に関する情報を管理するカーネルの内部配列へのインデックスである。 -.SH 返り値 -成功すると、 \fBIPC_STAT\fP, \fBIPC_SET\fP, \fBIPC_RMID\fP は 0 を返す。 \fBIPC_INFO\fP と -\fBMSG_INFO\fP 操作は、成功すると、全てのメッセージ・キューに関する情報を 管理しているカーネルの内部配列の使用中エントリのインデックスの -うち最大値を返す (この情報は、システムの全てのメッセージ・キューに関する情報を 取得するために、 \fBMSG_STAT\fP -操作を繰り返し実行する際に使用できる)。 \fBMSG_STAT\fP 操作は、成功すると、 \fImsqid\fP -で指定されたインデックスを持つメッセージ・キューの識別子を返す。 - -エラーの場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -失敗した場合、 \fIerrno\fP は以下の値の中のどれか一つに設定される: -.TP -\fBEACCES\fP -引き数 \fIcmd\fP が \fBIPC_STAT\fP または \fBMSG_STAT\fP に等しいが、呼び出したプロセスがメッセージ・キュー \fImsqid\fP -に対する読み込み許可を持っておらず、かつ \fBCAP_IPC_OWNER\fP ケーパビリティを持っていない。 -.TP -\fBEFAULT\fP -引き数 \fIcmd\fP が \fBIPC_SET\fP か \fBIPC_STAT\fP で、ポインタ \fIbuf\fP で指されているアドレスがアクセス可能でない。 -.TP -\fBEIDRM\fP -メッセージ・キューが削除された。 -.TP -\fBEINVAL\fP -\fIcmd\fP または \fImsqid\fP に不正な値が設定された。 もしくは、 \fBMSG_STAT\fP 操作の場合に、 \fImsqid\fP -で指定されたインデックス値が現在未使用の配列のスロットを参照いていた。 -.TP -\fBEPERM\fP -引き数 \fIcmd\fP が \fBIPC_SET\fP か \fBIPC_RMID\fP であるが、呼び出したプロセスの実効ユーザ ID がメッセージキューの -(\fImsg_perm.cuid\fP として見つかる) 作成者 と (\fImsg_perm.uid\fP として見つかる) 所有者のいずれでもなく、 -かつ呼び出したプロセスに特権 (Linux では \fBCAP_SYS_ADMIN\fP ケーパビリティ) がない。 -.SH 準拠 -.\" SVID does not document the EIDRM error condition. -SVr4, POSIX.1\-2001. -.SH 注意 -\fBIPC_INFO\fP, \fBMSG_STAT\fP, \fBMSG_INFO\fP 操作は、 \fBipcs\fP(1) -プログラムで割り当て済の資源に関する情報を提供するために 使用されている。将来、これらの操作は変更されたり、 /proc -ファイルシステムのインタフェースに移動されるかもしれない。 - -\fIstruct msqid_ds\fP 内の多くのフィールドは、 Linux 2.2 では \fIshort\fP だったが、Linux 2.4 では -\fIlong\fP になった。 この利点を生かすには、glibc\-2.1.91 以降の環境下で 再コンパイルすれば十分である。 -(カーネルは新しい形式の呼び出しと古い形式の呼び出しを \fIcmd\fP 内の \fBIPC_64\fP フラグで区別する。) -.SH 関連項目 -\fBmsgget\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBcapabilities\fP(7), -\fBmq_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/msgget.2 b/draft/man2/msgget.2 deleted file mode 100644 index 5e3b88d1..00000000 --- a/draft/man2/msgget.2 +++ /dev/null @@ -1,123 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provflags the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Added correction due to Nick Duffek , aeb, 960426 -.\" Modified Wed Nov 6 04:00:31 1996 by Eric S. Raymond -.\" Modified, 8 Jan 2003, Michael Kerrisk, -.\" Removed EIDRM from errors - that can't happen... -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added notes on /proc files -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MSGGET 2 2004\-05\-27 Linux "Linux Programmer's Manual" -.SH 名前 -msgget \- メッセージ・キュー識別子を取得する -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP - -\fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP -.fi -.SH 説明 -\fBmsgget\fP() システムコールは \fIkey\fP 引き数の値に対応するメッセージ・キューの識別子を返す。 \fIkey\fP の値が -\fBIPC_PRIVATE\fP の場合、または \fIkey\fP が \fBIPC_PRIVATE\fP でなくても、 \fIkey\fP -に対応するメッセージ・キューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されている場合、 -新しいメッセージ・キューが作成される。 -.PP -\fImsgflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP -に対応するメッセージ・キューが既に存在すると、 \fBmsgget\fP() は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される。 (これは -\fBopen\fP(2) に \fBO_CREAT | O_EXCL\fP を指定した場合の動作と同じである) -.PP -メッセージ・キューの作成時に、 \fImsgflg\fP 引き数の下位 9 ビットは、 そのメッセージ・キューのアクセス許可の定義として使用される。 -これらの許可ビットは \fBopen\fP(2) の引き数 \fImode\fP と同じ形式で同じ意味である。 や \fBcreat\fP(2) -システム・コールのアクセス許可パラメータと同じ形式で、同じ意味を持つ。 (但し、実行 (execute) 許可は使用されない。) -.PP -新規のメッセージ・キューを作成する際、 \fBmsgget\fP() システム・コールはメッセージ・キューのデータ構造体 \fImsqid_ds\fP -を以下のように初期化する (\fImsqid_ds\fP については \fBmsgctl\fP(2) を参照): -.IP -\fImsg_perm.cuid\fP と \fImsg_perm.uid\fP に呼び出し元プロセスの実効 (effective) ユーザーID を設定する。 -.IP -\fImsg_perm.cgid\fP と \fImsg_perm.gid\fP に呼び出し元プロセスの実効 (effective) グループID を設定する。 -.IP -\fImsg_perm.mode\fP の下位 9 ビットは \fImsgflg\fP の下位 9 ビットを設定する。 -.IP -\fImsg_qnum\fP, \fImsg_lspid\fP, \fImsg_lrpid\fP, \fImsg_stime\fP, \fImsg_rtime\fP に 0 -を設定される。 -.IP -\fImsg_ctime\fP に現在の時刻を設定する。 -.IP -\fImsg_qbytes\fP に、システムで決められたメッセージ・キューの最大サイズ \fBMSGMNB\fP を設定する。 -.PP -メッセージ・キューがすでに存在する場合は、アクセス許可の検査と、 破棄 (destruction) マークがないかの確認が行われる。 -.SH 返り値 -成功した場合、返り値はメッセージ・キュー識別子 (非負の整数) となる。 失敗した場合は \-1 が返され、 \fIerrno\fP にそのエラーが示される。 -.SH エラー -失敗した場合、 \fIerrno\fP に以下の値のいずれか一つが設定される: -.TP -\fBEACCES\fP -\fIkey\fP に対応するメッセージ・キューは存在するが、 呼び出し元プロセスはそのキューに対するアクセス許可がなく、 \fBCAP_IPC_OWNER\fP -ケーパビリティも持っていない。 -.TP -\fBEEXIST\fP -\fIkey\fP に対応するメッセージ・キューが存在し、 \fImsgflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP が指定されていた。 -.TP -\fBENOENT\fP -\fIkey\fP に対応するメッセージ・キューが存在せず、 \fImsgflg\fP に \fBIPC_CREAT\fP が指定されていなかった。 -.TP -\fBENOMEM\fP -メッセージ・キューを作成しようとしたが、新しいデータ構造体を作成 するのに十分なメモリがシステムに存在しない。 -.TP -\fBENOSPC\fP -メッセージ・キューを作成しようとしたが、作成すると システム全体のメッセージ・キュー数の最大値 (\fBMSGMNI\fP) を超えてしまう。 -.SH 準拠 -SVr4, POSIX.1\-2001. -.SH 注意 -\fBIPC_PRIVATE\fP はフラグではなく、 \fIkey_t\fP 型である。 この特別な値が \fIkey\fP として使用された場合、 -\fBmsgget\fP() システムコールは \fImsgflg\fP の下位 9 ビット以外の全てを無視して (成功した場合は) -新しいメッセージ・キューを作成する。 -.PP -\fBmsgget\fP() システムコールに影響を及ぼすメッセージ・キューの資源の システムとしての制限を以下に示す: -.TP -\fBMSGMNI\fP -システム全体のメッセージ・キュー数の最大値: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/msgmni\fP -経由で参照したり、変更したりできる)。 -.SS "Linux での注意" -Linux 2.3.20 までは、削除が予定されているメッセージ・キューに対して \fBmsgget\fP() を行うと \fBEIDRM\fP -がエラーとして返されるようになっていた。 -.SH バグ -\fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。 -.SH 関連項目 -\fBmsgctl\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7), -\fBmq_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/msgop.2 b/draft/man2/msgop.2 deleted file mode 100644 index 1267c6c6..00000000 --- a/draft/man2/msgop.2 +++ /dev/null @@ -1,229 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Tue Oct 22 16:40:11 1996 by Eric S. Raymond -.\" Modified Mon Jul 10 21:09:59 2000 by aeb -.\" Modified 1 Jun 2002, Michael Kerrisk -.\" Language clean-ups. -.\" Enhanced and corrected information on msg_qbytes, MSGMNB and MSGMAX -.\" Added note on restart behavior of msgsnd() and msgrcv() -.\" Formatting clean-ups (argument and field names marked as .I -.\" instead of .B) -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added notes on /proc files -.\" FIXME . Add example programs to this page. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MSGOP 2 2008\-04\-23 Linux "Linux Programmer's Manual" -.SH 名前 -msgrcv, msgsnd \- メッセージ操作 -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBint msgsnd(int \fP\fImsqid\fP\fB, const void *\fP\fImsgp\fP\fB, size_t \fP\fImsgsz\fP\fB, int \fP\fImsgflg\fP\fB);\fP -.sp -\fBssize_t msgrcv(int \fP\fImsqid\fP\fB, void *\fP\fImsgp\fP\fB, size_t \fP\fImsgsz\fP\fB, long \fP\fImsgtyp\fP\fB,\fP -\fB int \fP\fImsgflg\fP\fB);\fP -.fi -.SH 説明 -システムコール \fBmsgsnd\fP() と \fBmsgrcv\fP() はそれぞれ、メッセージ・キューへのメッセージの送信と、 -メッセージの受信に使用される。呼び出し元プロセスは、 メッセージを送信するためにはメッセージ・キューに対する書き込み許可を、 -メッセージを受信するためには読み出し許可を持っていなければならない。 -.PP -呼び出し元プロセスは以下に示す構造体を用意し、この構造体への ポインタを \fImsgp\fP 引き数として渡す。 -.in +4n -.nf - -struct msgbuf { - long mtype; /* message type, must be > 0 */ - char mtext[1]; /* message data */ -}; -.fi -.in -.PP -\fImtext\fP フィールドは配列 (または他の構造体) で、その大きさは 非負の整数である \fImsgsz\fP で指定される。 長さ 0 のメッセージ -(つまり \fImtext\fP フィールドがないメッセージ) も認められている。 \fBmtype\fP フィールドは厳密に正の整数でなければならない。 -この値は、メッセージを受信するプロセスでメッセージを選択するために 使用される (下記の \fBmsgrcv\fP() の説明を参照のこと)。 -.SS msgsnd() -\fBmsgsnd\fP() システムコールは \fImsgp\fP 引き数で指定されたメッセージのコピーを \fImsqid\fP -で指定された識別子を持つメッセージ・キューへ追加する。 -.PP -キューに十分な空き容量がある場合、 \fBmsgsnd\fP() は直ちに成功する。 (キューの容量は、メッセージ・キューのデータ構造体の -\fImsg_qbytes\fP フィールドで定義される。 キュー作成時にこのフィールドは \fBMSGMNB\fP に初期化されるが、この制限は -\fBmsgctl\fP(2) を使って変更できる。) キューに十分な空き容量がない場合、 デフォルトでは \fBmsgsnd\fP() -は空き容量ができるまで停止 (block) する。 \fImsgflg\fP に \fBIPC_NOWAIT\fP が指定された場合は、エラー \fBEAGAIN\fP -で失敗する。 - -停止している \fBmsgsnd\fP() は以下の場合にも失敗する。 -.IP * 2 -キューが削除された。 この場合、 \fIerrno\fP は \fBEIDRM\fP に設定される。 -.IP * -シグナルが捕捉された。 この場合、 \fIerrno\fP は \fBEINTR\fP に設定される。 \fBsignal\fP(7) 参照。 (\fBmsgsnd\fP() -は、たとえシグナルハンドラの設定時に \fBSA_RESTART\fP を指定していたとしても、シグナルハンドラによって割り込まれた後で -自動的に再スタートすることは決してない。) -.PP -正常に終了した場合、メッセージ・キューのデータ構造体は以下のように 更新される: -.IP -\fImsg_lspid\fP には呼び出し元プロセスのプロセス ID が設定される。 -.IP -\fImsg_qnum\fP は 1 増加する。 -.IP -\fImsg_stime\fP には現在時刻が設定される。 -.SS msgrcv() -\fBmsgrcv\fP() システムコールは \fImsqid\fP で指定されたキューからメッセージを削除し、 \fImsgp\fP -で指定されたバッファにそのメッセージを格納する。 -.PP -\fImsgsz\fP 引き数には \fImsgp\fP 引き数で指定された構造体の \fImtext\fP メンバーの最大のバイト数を指定する。 -メッセージのテキストの長さが \fImsgsz\fP より大きい場合の動作は、 \fImsgflg\fP に \fBMSG_NOERROR\fP -が指定されているかどうかで決まる。 \fBMSG_NOERROR\fP が指定されていれば、メッセージのテキストは切り詰められる -(切り捨てられた部分は失われる)。 \fBMSG_NOERROR\fP が指定されていなければ、メッセージはキューから削除されず、 システムコールは \-1 -を返して失敗し、 \fIerrno\fP に \fBE2BIG\fP が設定される。 -.PP -\fImsgtyp\fP 引き数には要求するメッセージの型を指定する。 型は以下のように指定する: -.IP * 2 -\fImsgtyp\fP が 0 ならば、キューの最初にあるメッセージが読み込まれる。 -.IP * -\fImsgtyp\fP が 0 より大きい場合、 \fImsgflg\fP に \fBMSG_EXCEPT\fP が指定されていなければ、 \fImsgtyp\fP -型のキューの最初のメッセージが読み込まれる。 \fBMSG_EXCEPT\fP が指定された場合は、 \fImsgtyp\fP -型以外のキューの最初のメッセージが読み込まれる。 -.IP * -\fImsgtyp\fP が 0 より小さければ、 \fImsgtyp\fP の絶対値以下で最も小さい型を持つキューの最初のメッセージが読み込まれる。 -.PP -\fImsgflg\fP 引き数には、以下のフラグを任意の数だけ (0個も可)、これらの OR で指定する: -.TP -\fBIPC_NOWAIT\fP -キューに要求された型のメッセージがない場合には直ちに返る。 システムコールは失敗し、 \fIerrno\fP には \fBENOMSG\fP が設定される。 -.TP -\fBMSG_EXCEPT\fP -0 より大きな \fImsgtyp\fP と一緒に使用して、 \fImsgtyp\fP 以外のキューの最初のメッセージを読み込む。 -.TP -\fBMSG_NOERROR\fP -\fImsgsz\fP バイトよりも長かった場合はメッセージのテキストを切り詰める。 -.PP -要求された型のメッセージが存在せず、 \fImsgflg\fP に \fBIPC_NOWAIT\fP が指定されていなかった場合、呼び出し元プロセスは -以下のいずれかの状況になるまで停止 (block) される: -.IP * 2 -要求している型のメッセージがキューへ入れられた。 -.IP * -メッセージ・キューがシステムから削除された。 この場合、システムコールは失敗し、 \fIerrno\fP に \fBEIDRM\fP が設定される。 -.IP * -呼び出し元プロセスがシグナルを捕獲した。 この場合、システムコールは失敗し、 \fIerrno\fP に \fBEINTR\fP が設定される。 -(\fBmsgrcv\fP() は、たとえシグナルハンドラの設定時に \fBSA_RESTART\fP -を指定していたとしても、シグナルハンドラによって割り込まれた後で 自動的に再スタートすることは決してない。) -.PP -正常に終了した場合、メッセージ・キューのデータ構造体は以下のように 更新される: -.IP -\fImsg_lrpid\fP には呼び出し元プロセスのプロセス ID が設定される。 -.IP -\fImsg_qnum\fP は 1 減算される。 -.IP -\fImsg_rtime\fP には現在の時刻が設定される。 -.SH 返り値 -失敗した場合は、どちらの関数も \-1 を返し、エラーを \fIerrno\fP に表示する。成功した場合、 \fBmsgsnd\fP() は 0 を返し、 -\fBmsgrcv\fP() は \fImtext\fP 配列に実際にコピーしたバイト数を返す。 -.SH エラー -\fBmsgsnd\fP() が失敗した場合、 \fBerrno\fP に以下の値のいずれかが設定される: -.TP -\fBEACCES\fP -呼び出し元プロセスにはメッセージ・キューに対する書き込み許可がなく、 \fBCAP_IPC_OWNER\fP ケーパビリティもない。 -.TP -\fBEAGAIN\fP -\fImsg_qbytes\fP がキューの制限を超えていたため、メッセージを送ることができず、かつ \fImsgflg\fP に \fBIPC_NOWAIT\fP -が指定されていた。 -.TP -\fBEFAULT\fP -\fImsgp\fP が指しているアドレスがアクセス可能でない。 -.TP -\fBEIDRM\fP -メッセージ・キューが削除された。 -.TP -\fBEINTR\fP -メッセージ・キューが要求した条件を満たすまで停止している時に、 プロセスがシグナルを捕獲した。 -.TP -\fBEINVAL\fP -\fImsqid\fP が不適切な値であるか、 \fImtype\fP が正の値でないか、 \fImsgsz\fP が不適切な値 (0 以下か、システムで決まる値 -\fBMSGMAX\fP よりも大きい値) である。 -.TP -\fBENOMEM\fP -\fImsgp\fP が指すメッセージのコピーを作成するのに十分なメモリがシステムに存在しない。 -.PP -\fBmsgrcv\fP() が失敗した場合には \fIerrno\fP に以下の値のいずれかが設定される: -.TP -\fBE2BIG\fP -メッセージのテキストの長さが \fImsgsz\fP よりも大きく、 \fImsgflg\fP に \fBMSG_NOERROR\fP が設定されていなかった。 -.TP -\fBEACCES\fP -呼び出し元プロセスにはメッセージ・キューに対する読み込み許可がなく、 \fBCAP_IPC_OWNER\fP ケーパビリティもない。 -.TP -\fBEAGAIN\fP -キューにはメッセージがなく、 \fImsgflg\fP に \fBIPC_NOWAIT\fP が指定された。 -.TP -\fBEFAULT\fP -\fImsgp\fP が指しているアドレスがアクセス可能でない。 -.TP -\fBEIDRM\fP -メッセージを受信するためにプロセスが停止している間に、 メッセージ・キューが削除された。 -.TP -\fBEINTR\fP -メッセージを受けるためにプロセスが停止している間に、 プロセスがシグナルを捕獲した。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fImsgqid\fP が不正か、 \fImsgsz\fP が 0 より小さい。 -.TP -\fBENOMSG\fP -\fImsgflg\fP に \fBIPC_NOWAIT\fP が設定されており、 メッセージ・キューに要求された型のメッセージが存在しなかった。 -.SH 準拠 -SVr4, POSIX.1\-2001. -.SH 注意 -\fImsgp\fP 引き数は、 libc4, libc5, glibc 2.0, glibc 2.1 では \fIstruct msgbuf *\fP -と宣言されている。glibc 2.2 以降では、 SUSv2 と SUSv3 の要求通り、\fIvoid *\fP と宣言されている。 - -以下は \fBmsgsnd\fP システムコールに影響するシステム制限である: -.TP -\fBMSGMAX\fP -メッセージのテキストの最大サイズ: 8192 バイト (Linux では、この制限値は \fI/proc/sys/kernel/msgmax\fP -経由で読み出したり変更したりできる)。 -.TP -\fBMSGMNB\fP -バイト単位でのメッセージ・キューのデフォルトの最大サイズ : 16384 バイト。 (Linux では、この制限値は -\fI/proc/sys/kernel/msgmnb\fP 経由で読み出したり変更したりできる)。 スーパーユーザーは \fBmsgctl\fP(2) -システムコールでメッセージ・キューのサイズを \fBMSGMNB\fP よりも大きい値に増やすことができる。 -.PP -現在の実装では、システム全体のメッセージ・ヘッダーの最大数 (\fBMSGTQL\fP) と、システム全体のメッセージ・プールの最大バイト数 -(\fBMSGPOOL\fP) に関して実装依存の制限はない。 -.SH 関連項目 -\fBmsgctl\fP(2), \fBmsgget\fP(2), \fBcapabilities\fP(7), \fBmq_overview\fP(7), -\fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/msync.2 b/draft/man2/msync.2 index b298f8da..8480314a 100644 --- a/draft/man2/msync.2 +++ b/draft/man2/msync.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -72,9 +72,9 @@ POSIX.1\-2001. (\fBsysconf\fP(3) を参照すること。 ) .SH 関連項目 \fBmmap\fP(2) -.br + B.O. Gallmeister, POSIX.4, O'Reilly, pp. 128\-129 and 389\-391. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/nanosleep.2 b/draft/man2/nanosleep.2 index 9aea0e67..8d295fe7 100644 --- a/draft/man2/nanosleep.2 +++ b/draft/man2/nanosleep.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Markus Kuhn, 1996 .\" and Copyright (C) Linux Foundation, 2008, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -20,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1996-04-10 Markus Kuhn .\" First version written @@ -127,6 +126,6 @@ Linux 2.4 では、 \fBnanosleep\fP() が (\fBSIGTSTP\fP などの) シグナ \fBclock_nanosleep\fP(2), \fBsched_setscheduler\fP(2), \fBtimer_create\fP(2), \fBsleep\fP(3), \fBusleep\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/nfsservctl.2 b/draft/man2/nfsservctl.2 index 683aa2b3..b1846643 100644 --- a/draft/man2/nfsservctl.2 +++ b/draft/man2/nfsservctl.2 @@ -1,6 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This text is in the public domain. +.\" %%%LICENSE_END .\" .\" FIXME The description of nfsservctl() on this page .\" is woefully thin. @@ -57,6 +57,6 @@ union nfsctl_res { .SH 準拠 このコールは Linux 特有である。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/nice.2 b/draft/man2/nice.2 index 53f2eade..baab8a6a 100644 --- a/draft/man2/nice.2 +++ b/draft/man2/nice.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt , March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith @@ -75,6 +75,6 @@ glibc 2.2.4 以降では、 \fBnice\fP() は \fBgetpriority\fP(2) を呼び出 \fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBgetpriority\fP(2), \fBsetpriority\fP(2), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/open.2 b/draft/man2/open.2 deleted file mode 100644 index f876b8cc..00000000 --- a/draft/man2/open.2 +++ /dev/null @@ -1,494 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" 2008 Greg Banks -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-21 by Rik Faith -.\" Modified 1994-08-21 by Michael Haardt -.\" Modified 1996-04-13 by Andries Brouwer -.\" Modified 1996-05-13 by Thomas Koenig -.\" Modified 1996-12-20 by Michael Haardt -.\" Modified 1999-02-19 by Andries Brouwer -.\" Modified 1998-11-28 by Joseph S. Myers -.\" Modified 1999-06-03 by Michael Haardt -.\" Modified 2002-05-07 by Michael Kerrisk -.\" Modified 2004-06-23 by Michael Kerrisk -.\" 2004-12-08, mtk, reordered flags list alphabetically -.\" 2004-12-08, Martin Pool (& mtk), added O_NOATIME -.\" 2007-09-18, mtk, Added description of O_CLOEXEC + other minor edits -.\" 2008-01-03, mtk, with input from Trond Myklebust -.\" and Timo Sirainen -.\" Rewrite description of O_EXCL. -.\" 2008-01-11, Greg Banks : add more detail -.\" on O_DIRECT. -.\" 2008-02-26, Michael Haardt: Reorganized text for O_CREAT and mode -.\" -.\" FIXME . Apr 08: The next POSIX revision has O_EXEC, O_SEARCH, and -.\" O_TTYINIT. Eventually these may need to be documented. --mtk -.\" FIXME Linux 2.6.33 has O_DSYNC, and a hidden __O_SYNC. -.\" FIXME: Linux 2.6.39 added O_PATH -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH OPEN 2 2012\-05\-01 Linux "Linux Programmer's Manual" -.SH 名前 -open, creat \- ファイルやデバイスのオープン、作成を行う -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBint open(const char *\fP\fIpathname\fP\fB, int \fP\fIflags\fP\fB);\fP -\fBint open(const char *\fP\fIpathname\fP\fB, int \fP\fIflags\fP\fB, mode_t \fP\fImode\fP\fB);\fP - -\fBint creat(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP -.fi -.SH 説明 -ファイルの \fIpathname\fP を与えると、 \fBopen\fP() はファイルディスクリプタを返す。 -ファイルディスクリプタは、この後に続くシステムコール (\fBread\fP(2), \fBwrite\fP(2), \fBlseek\fP(2), -\fBfcntl\fP(2) など) で使用される小さな非負の整数である。 このシステムコールが成功した場合に返されるファイルディスクリプタは -そのプロセスがその時点でオープンしていないファイルディスクリプタの うち最小の数字のものとなる。 -.PP -デフォルトでは、新しいファイルディスクリプタは \fBexecve\fP(2) を実行した後も -オープンされたままとなる (つまり、 \fBfcntl\fP(2) に説明がある \fBFD_CLOEXEC\fP -ファイルディスクリプタフラグは最初は無効である; 後述の \fBO_CLOEXEC\fP フラグ -を使うとこのデフォルトを変更することができる)。 ファイルオフセット -(file offset) はファイルの先頭に設定される (\fBlseek\fP(2) 参照)。 -.PP -\fBopen\fP() を呼び出すと、「オープンファイル記述」 \fI(open file description)\fP -が作成される。ファイル記述とは、システム全体の オープン中のファイルのテーブルのエントリである。 このエントリは、ファイルオフセットとファイル状態フラグ -(\fBfcntl\fP(2) \fBF_SETFL\fP 操作により変更可能) が保持する。 ファイルディスクリプタはこれらのエントリの一つへの参照である。 -この後で \fIpathname\fP が削除されたり、他のファイルを参照するように変更されたりしても、 この参照は影響を受けない。 -新しいオープンファイル記述は最初は他のどのプロセスとも 共有されていないが、 \fBfork\fP(2) で共有が起こる場合がある。 -.PP -引き数 \fIflags\fP には、アクセスモード \fBO_RDONLY\fP, \fBO_WRONLY\fP, \fBO_RDWR\fP -のどれかひとつが入っていなければならない。 これらはそれぞれ読み込み専用、書き込み専用、読み書き用に ファイルをオープンすることを要求するものである。 - -.\" FIXME . Actually is it true that the "file status flags" are all of the -.\" remaining flags listed below? SUSv4 divides the flags into: -.\" * Access mode -.\" * File creation -.\" * File status -.\" * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW) -.\" though it's not clear what the difference between "other" and -.\" "File creation" flags is. (I've raised an Aardvark to see if this -.\" can be clarified in SUSv4; 10 Oct 2008.) -さらに、 \fIflags\fP には、ファイル作成フラグ (file creation flag) とファイル状態フラグ (file status -flag) を 0 個以上「ビット単位の OR (bitwise\-or)」で 指定することができる。 \fIファイル作成フラグ\fP は -\fBO_CREAT\fP, \fBO_EXCL\fP, \fBO_NOCTTY\fP, \fBO_TRUNC\fP である。 \fIファイル状態フラグ\fP -は以下のリストのうち上記以外の残りのものである。 二種類のフラグの違いは、ファイル状態フラグの方は \fBfcntl\fP(2) -を使ってその内容を取得したり (場合によっては) 変更したりできる点にある。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す: -.TP -\fBO_APPEND\fP -.\" For more background, see -.\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946 -.\" http://nfs.sourceforge.net/ -ファイルを追加 (append) モードでオープンする。 毎回の \fBwrite\fP(2) の前に \fBlseek\fP(2) -を行ったかのように、ファイルポインタをファイルの最後に移動する。 NFS ファイルシステムで、 \fBO_APPEND\fP -を使用すると、複数のプロセスがひとつのファイルに同時にデータを追加した場合、 ファイルが壊れてしまうことがある。 これは NFS -が追加モードをサポートしていないため、 クライアントのカーネル (kernel) がそれをシミュレートしなければならないのだが、 -競合状態を避けることはできないからである。 -.TP -\fBO_ASYNC\fP -シグナル駆動 I/O (signal\-driven I/O) を有効にする: このファイルディスクリプタへの -入力または出力が可能になった場合に、シグナルを生成する (デフォルトは \fBSIGIO\fP であるが、 \fBfcntl\fP(2) -によって変更可能である)。 この機能が使用可能なのは端末、疑似端末、ソケットのみであり、 (Linux 2.6 以降では) パイプと FIFO -に対しても使用できる。 さらに詳しい説明は \fBfcntl\fP(2) を参照すること。 -.TP -\fBO_CLOEXEC\fP (Linux 2.6.23 以降) -.\" This flag fixes only one form of the race condition; -.\" The race can also occur with, for example, descriptors -.\" returned by accept(), pipe(), etc. -新しいファイルディスクリプタに対して close\-on\-exec フラグを有効にする。 このフラグを指定することで、プログラムは -\fBFD_CLOEXEC\fP フラグをセットするための \fBfcntl\fP(2) \fBF_SETFD\fP 操作を別途呼び出す必要がなくなる。 -また、ある種のマルチスレッドのプログラムはこのフラグの使用は 不可欠である。なぜなら、個別に \fBFD_CLOEXEC\fP フラグを設定する -\fBfcntl\fP(2) \fBF_SETFD\fP 操作を呼び出したとしても、あるスレッドがファイルディスクリプタを オープンするのと同時に別のスレッドが -\fBfork\fP(2) と \fBexecve\fP(2) を実行するという競合条件を避けるのには十分ではないからである。 -.TP -\fBO_CREAT\fP -.\" As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and -.\" XFS (since 2.6.14). -ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユーザー ID) は、プロセスの実効ユーザー ID に設定される。 -グループ所有権 (グループ ID) は、プロセスの実効グループ ID または親ディレクトリのグループ ID に設定される -(これは、ファイルシステムタイプ、マウントオプション、 親ディレクトリのモードに依存する。 \fBmount\fP(8) で説明されているマウントオプション -\fIbsdgroups\fP と \fIsysvgroups\fP を参照)。 -.RS -.PP -\fImode\fP は新しいファイルを作成する場合に使用するアクセス許可 (permission) を指定する。 \fIflags\fP に \fBO_CREAT\fP -が指定されている場合、 \fImode\fP を指定しなければならない。 \fBO_CREAT\fP が指定されていない場合、 \fImode\fP は無視される。 -有効なアクセス許可は、普段と同じようにプロセスの \fIumask\fP によって修正され、作成されたファイルの許可は \fI(mode\ &\ ~umask)\fP となる。 このモードは、新しく作成されたファイルに対するそれ以降のアクセス にのみ適用される点に注意すること。 -読み取り専用のファイルを作成する \fBopen\fP() コールであっても、 読み書き可能なファイルディスクリプタを返すことがありうる。 -.PP -\fImode\fP のために以下のシンボル定数が提供されている : -.TP 9 -\fBS_IRWXU\fP -00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。 -.TP -\fBS_IRUSR\fP -00400 ユーザーに読み込みの許可がある。 -.TP -\fBS_IWUSR\fP -00200 ユーザーに書き込みの許可がある。 -.TP -\fBS_IXUSR\fP -00100 ユーザーに実行の許可がある。 -.TP -\fBS_IRWXG\fP -00070 グループに読み込み、書き込み、実行の許可がある。 -.TP -\fBS_IRGRP\fP -00040 グループに読み込みの許可がある。 -.TP -\fBS_IWGRP\fP -00020 グループに書き込みの許可がある。 -.TP -\fBS_IXGRP\fP -00010 グループに実行の許可がある。 -.TP -\fBS_IRWXO\fP -00007 他人 (others) に読み込み、書き込み、実行の許可がある。 -.TP -\fBS_IROTH\fP -00004 他人に読み込みの許可がある。 -.TP -\fBS_IWOTH\fP -00002 他人に書き込みの許可がある。 -.TP -\fBS_IXOTH\fP -00001 他人に実行の許可がある。 -.RE -.TP -\fBO_DIRECT\fP (Linux 2.4.10 以降) -このファイルに対する I/O のキャッシュの効果を最小化しようとする。このフラグを -使うと、一般的に性能が低下する。 しかしアプリケーションが独自にキャッシングを -行っているような 特別な場合には役に立つ。 ファイルの I/O はユーザー空間バッファ -に対して直接行われる。 \fBO_DIRECT\fP フラグ自身はデータを同期で転送しようとはす -るが、 \fBO_SYNC\fP フラグのようにデータと必要なメタデータの転送が保証されるわけ -ではない。同期 I/O を保証するためには、 \fBO_DIRECT\fP に加えて \fBO_SYNC\fP を使用 -しなければならない。下記の「注意」の節の議論も参照。 -.sp -ブロックデバイスに対する似通った意味のインターフェースが \fBraw\fP(8) で説明されている (但し、このインタフェースは非推奨である)。 -.TP -\fBO_DIRECTORY\fP -.\" But see the following and its replies: -.\" http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2 -.\" [PATCH] open: O_DIRECTORY and O_CREAT together should fail -.\" O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored. -\fIpathname\fP がディレクトリでなければオープンは失敗する。 このフラグは Linux 特有であり、 \fBopendir\fP(3) が FIFO -やテープデバイスに対してコールされた場合の サービス不能 (denial\-of\-service) 攻撃を避けるために カーネル 2.1.126 -で追加された。 しかしこれは \fBopendir\fP(3) の実装以外では使用するべきではない。 -.TP -\fBO_EXCL\fP -この呼び出しでファイルが作成されることを保証する。このフラグが \fBO_CREAT\fP と -一緒に指定され、 \fIpathname\fP のファイルが既に存在した場合、 \fBopen\fP() は失敗 -する。 - -.\" POSIX.1-2001 explicitly requires this behavior. -これら二つのフラグが指定された際、シンボリックリンクは辿られない。 \fIpathname\fP がシンボリックリンクの場合、 -シンボリックリンクがどこを指しているかに関わらず \fBopen\fP() は失敗する。 - -一般的には、 \fBO_CREAT\fP を指定せずに \fBO_EXCL\fP を使用した場合の -\fBO_EXCL\fP の動作は規定されていない。 -これには一つ例外があり、Linux 2.6 以降では、 -\fIpathname\fP がブロックデバイスを参照している場合、 -\fBO_CREAT\fP なしで \fBO_EXCL\fP を使用することができる。 -システムがそのブロックデバイスを使用中の場合 (例えば、 -マウントされているなど)、 \fBopen\fP() はエラー \fBEBUSY\fP で失敗する。 - -NFS では、 \fBO_EXCL\fP は、Linux 2.6 以降で NFSv3 以降を使っている場合でのみサポートされる。 \fBO_EXCL\fP -サポートが提供されていない NFS 環境では、このフラグに頼って ロック処理を実行するプログラムは競合状態 (race condition) に出会う -可能性がある。 ロックファイルを使用して不可分 (atomic) なファイルロックを実現し、 NFS が \fBO_EXCL\fP -をサポートしているかに依存しないようにしたい場合、 移植性のある方法は、同じファイルシステム上に他と名前の重ならない ファイル (例えばホスト名と -PID を組み合わせた名前) を作成し、 \fBlink\fP(2) を使用してそのロックファイルへのリンクを作成することである。 \fBlink\fP(2) -コールの返り値が 0 ならばロックに成功している。 あるいは、そのファイルに \fBstat\fP(2) を使用してリンク数 (link count) が -2 になっているかをチェックする。 そうなっていれば、同じくロックに成功しているということである。 -.TP -\fBO_LARGEFILE\fP -(LFS) \fIoff_t\fP ではサイズを表せない (だだし \fIoff64_t\fP ではサイズを表せる)ファ -イルをオープン可能にする。この定義を有効にするためには、(\fIどの\fPヘッダファイ -ルをインクルードするよりも前に) \fB_LARGEFILE64_SOURCE\fP マクロを定義しなければ -ならない。 -32 ビットシステムにおいて大きなファイルにアクセスしたい場合、 -(\fBO_LARGEFILE\fP を使うよりも) \fB_FILE_OFFSET_BITS\fP 機能検査マクロを 64 に -セットする方が望ましい方法である (\fBfeature_test_macros\fP(7) を参照)。 -.TP -\fBO_NOATIME\fP (Linux 2.6.8 以降) -.\" The O_NOATIME flag also affects the treatment of st_atime -.\" by mmap() and readdir(2), MTK, Dec 04. -ファイルに対して \fBread\fP(2) が実行されたときに、最終アクセス時刻 (inode の st_atime) を更新しない。 -このフラグはインデックス作成やバックアッププログラムで使うことを意図している。 これを使うとディスクに対する操作を大幅に減らすことができる。 -このフラグは全てのファイルシステムに対して有効であるわけではない。 その一例が NFS であり、サーバがアクセス時刻を管理している。 -.TP -\fBO_NOCTTY\fP -\fIpathname\fP が端末 (terminal) デバイス \(em \fBtty\fP(4) 参照 \(em を指している -場合に、たとえそのプロセスが制御端末を持っていなくても、オープンしたファイル -は制御端末にはならない。 -.TP -\fBO_NOFOLLOW\fP -.\" The headers from glibc 2.0.100 and later include a -.\" definition of this flag; \fIkernels before 2.1.126 will ignore it if -.\" used\fP. -\fIpathname\fP がシンボリックリンクだった場合、オープンは失敗する。 これは FreeBSD の拡張で、Linux には 2.1.126 -より追加された。 pathname の前のコンポーネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) が -シンボリックリンクである場合には、それが指す先が参照される。 -.TP -\fBO_NONBLOCK\fP または \fBO_NDELAY\fP -可能ならば、ファイルは非停止 (nonblocking) モードでオープンされる。 -\fBopen\fP() も、返したファイルディスクリプタに対する以後のすべての操作も呼び出 -したプロセスを待たせることはない。 FIFO (名前付きパイプ) を扱う場合には -\fBfifo\fP(7) も参照すること。 強制ファイルロック (mandatory file lock) やファイ -ルリース (file lease) と組み合わせた場合の、 \fBO_NONBLOCK\fP の効果についての -議論は、 \fBfcntl\fP(2) を参照すること。 -.TP -\fBO_SYNC\fP -ファイルは同期 (synchronous) I/O モードでオープンされる。 \fBopen\fP() が返したファイルディスクリプタに対して -\fBwrite\fP(2) を行うと、必ず呼び出したプロセスをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 -\fI以下の「注意」の章も参照。\fP -.TP -\fBO_TRUNC\fP -ファイルが既に存在し、通常ファイルであり、 書き込み可モードでオープンされている (つまり、 \fBO_RDWR\fPまたは\fBO_WRONLY\fP の) -場合、長さ 0 に切り詰め (truncate) られる。 ファイルが FIFO または端末デバイスファイルの場合、 \fBO_TRUNC\fP -フラグは無視される。 それ以外の場合、 \fBO_TRUNC\fP の効果は未定義である。 -.PP -これらの選択フラグのいくつかはファイルをオープンした後でも \fBfcntl\fP(2) を使用して変更することができる。 - -\fBcreat\fP() は \fIflags\fP に \fBO_CREAT|O_WRONLY|O_TRUNC\fP を指定して \fBopen\fP() -を行うのと等価である。 -.SH 返り値 -\fBopen\fP() と \fBcreat\fP() は新しいファイルディスクリプタを返す。 エラーが発生した場合は \-1 を返す (その場合は -\fIerrno\fP が適切に設定される)。 -.SH エラー -.TP -\fBEACCES\fP -ファイルに対する要求されたアクセスが許されていないか、 \fIpathname\fP のディレクトリ部分の何れかのディレクトリに検索許可がなかった。 -またはファイルが存在せず、親ディレクトリへの書き込み許可がなかった。 (\fBpath_resolution\fP(7) も参照すること。) -.TP -\fBEEXIST\fP -\fIpathname\fP は既に存在し、 \fBO_CREAT\fP と \fBO_EXCL\fP が使用された。 -.TP -\fBEFAULT\fP -\fIpathname\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEFBIG\fP -\fBEOVERFLOW\fP 参照。 -.TP -\fBEINTR\fP -遅いデバイス (例えば FIFO、 \fBfifo\fP(7) 参照) のオープンが完了するのを待って停止している間に -システムコールがシグナルハンドラにより割り込まれた。 \fBsignal\fP(7) 参照。 -.TP -\fBEISDIR\fP -\fIpathname\fP はディレクトリを参照しており、書き込み要求が含まれていた (つまり \fBO_WRONLY\fP または \fBO_RDWR\fP -が設定されている)。 -.TP -\fBELOOP\fP -\fIpathname\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。 または \fBO_NOFOLLOW\fP が指定されており、 -\fIpathname\fP がシンボリックリンクだった。 -.TP -\fBEMFILE\fP -プロセスがオープンしているファイル数がすでに最大数に達している。 -.TP -\fBENAMETOOLONG\fP -\fIpathname\fP が長過ぎる。 -.TP -\fBENFILE\fP -オープンされているファイルの総数がシステムの制限に達している。 -.TP -\fBENODEV\fP -\fIpathname\fP がデバイススペシャルファイルを参照しており、対応するデバイスが存在しない。 (これは Linux -カーネルのバグであり、この場合には \fBENXIO\fP が返されるべきである) -.TP -\fBENOENT\fP -\fBO_CREAT\fP が設定されておらず、かつ指定されたファイルが存在しない。 または、 \fIpathname\fP のディレクトリ部分が存在しないか壊れた -(dangling) シンボリックリンクである。 -.TP -\fBENOMEM\fP -十分なカーネルメモリーがない。 -.TP -\fBENOSPC\fP -\fIpathname\fP を作成する必要があるが、 \fIpathname\fP を含んでいるデバイスに新しいファイルのための空き容量がない。 -.TP -\fBENOTDIR\fP -\fIpathname\fP に含まれるディレクトリ部分のどれかが実際にはディレクトリでない。 または \fBO_DIRECTORY\fP が指定されており、 -\fIpathname\fP がディレクトリでない。 -.TP -\fBENXIO\fP -\fBO_NONBLOCK\fP | \fBO_WRONLY\fP が設定されており、指定したファイルが FIFO で -そのファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファイルがデバイススペシャルファイルで 対応するデバイスが存在しない。 -.TP -\fBEOVERFLOW\fP -.\" See http://bugzilla.kernel.org/show_bug.cgi?id=7253 -.\" "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW" -.\" Reported 2006-10-03 -\fIpathname\fP が参照しているのが、大き過ぎてオープンできない通常のファイルである。 通常、このエラーが発生するは、32 -ビットプラットフォーム上で \fI\-D_FILE_OFFSET_BITS=64\fP を指定せずにコンパイルされたアプリケーションが、ファイルサイズが -\fI(2<31)\-1\fP ビットを超えるファイルを開こうとした場合である。 上記の \fBO_LARGEFILE\fP も参照。 これは -POSIX.1\-2001 で規定されているエラーである。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー \fBEFBIG\fP -を返していた。 -.TP -\fBEPERM\fP -.\" Strictly speaking, it's the file system UID... (MTK) -\fBO_NOATIME\fP フラグが指定されたが、呼び出し元の実効ユーザー ID が ファイルの所有者と一致せず、かつ呼び出し元に特権 -(\fBCAP_FOWNER\fP) がない。 -.TP -\fBEROFS\fP -\fIpathname\fP が読み込み専用のファイルシステム上のファイルを参照しており、 書き込みアクセスが要求された。 -.TP -\fBETXTBSY\fP -\fIpathname\fP が現在実行中の実行イメージを参照しており、書き込みが要求された。 -.TP -\fBEWOULDBLOCK\fP -\fBO_NONBLOCK\fP フラグが指定されたが、そのファイルには矛盾するリースが設定されていた (\fBfcntl\fP(2) 参照)。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. フラグ \fBO_DIRECTORY\fP, \fBO_NOATIME\fP, \fBO_NOFOLLOW\fP -は Linux 特有のものであり、 これらのフラグの定義を得るためには、 (「どの」ヘッダファイルをインクルードするよりも前に) -\fB_GNU_SOURCE\fP を定義する必要があるかもしれない。 - -\fBO_CLOEXEC\fP フラグは POSIX.1\-2001 では規定されていないが、 POSIX.1\-2008 で規定されている。 - -\fBO_DIRECT\fP は POSIX では規定されていない。 \fBO_DIRECT\fP の定義を得るには -(「どの」ヘッダファイルをインクルードするよりも前に) \fB_GNU_SOURCE\fP を定義しなければならない。 -.SH 注意 -Linux では、 \fBO_NONBLOCK\fP フラグは、 open を実行したいが read または write を実行する意図は -必ずしもないことを意味する。 これは \fBioctl\fP(2) のためのファイルディスクリプタを取得するために、 -デバイスをオープンするときによく用いられる。 - -.\" See for example util-linux's disk-utils/setfdprm.c -.\" For some background on access mode 3, see -.\" http://thread.gmane.org/gmane.linux.kernel/653123 -.\" "[RFC] correct flags to f_mode conversion in __dentry_open" -.\" LKML, 12 Mar 2008 -「アクセスモード」の値 \fBO_RDONLY\fP, \fBO_WRONLY\fP, \fBO_RDWR\fP は、 \fIflags\fP -に指定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は \fIflags\fP の下位 2 ビットを定義する。 \fBO_RDONLY\fP, -\fBO_WRONLY\fP, \fBO_RDWR\fP はそれぞれ 0, 1, 2 に定義されている。 言い換えると、 \fBO_RDONLY | -O_WRONLY\fP の組み合わせは論理的に間違いであり、確かに \fBO_RDWR\fP と同じ意味ではない。 Linux -では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されており \fIflags\fP に指定できる。 -このアクセスモードを指定すると、ファイルの読み出し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリプタを返す。 -この非標準のアクセスモードはいくつかの Linux ドライバで使用されており、 デバイス固有の \fBioctl\fP(2) -操作にのみ使用されるディスクリプタを返すために使われている。 -.LP -.\" Linux 2.0, 2.5: truncate -.\" Solaris 5.7, 5.8: truncate -.\" Irix 6.5: truncate -.\" Tru64 5.1B: truncate -.\" HP-UX 11.22: truncate -.\" FreeBSD 4.7: truncate -\fBO_RDONLY | O_TRUNC\fP の影響は未定義であり、その動作は実装によって異なる。 多くのシステムではファイルは実際に切り詰められる。 -.PP -NFS を実現しているプロトコルには多くの不備があり、特に \fBO_SYNC\fP と \fBO_NDELAY\fP に影響する。 - -POSIX では、3 種類の同期 I/O が提供されており、 \fBO_SYNC\fP, \fBO_DSYNC\fP, \fBO_RSYNC\fP -フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 Linux では \fBO_SYNC\fP だけが実装されているが、 glibc -は \fBO_DSYNC\fP と \fBO_RSYNC\fP に \fBO_SYNC\fP と同じ数値を割り当てている。 ほとんどの Linux -のファイルシステムは、実際には POSIX の \fBO_SYNC\fP の動作ではなく \fBO_DSYNC\fP の動作だけを実装している。 POSIX の -\fBO_SYNC\fP では、 \fBopen\fP() がユーザ空間に返る際に、書き込みに関する全てのメタデータの -更新がディスクに書き込まれている必要がある。 一方、 \fBO_DSYNC\fP では、 \fBopen\fP() -が返るまでに、実際のファイルのデータとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれていればよい。 - -\fBopen\fP() はスペシャルファイルをオープンすることができるが、 \fBcreat\fP() でスペシャルファイルを作成できない点に注意すること。 -代わりに \fBmknod\fP(2) を使用する。 -.LP -UID マッピングを使用している NFS ファイルシステムでは、 \fBopen\fP() がファイルディスクリプタを返した場合でも \fBread\fP(2) -が \fBEACCES\fP で拒否される場合がある。 これはクライアントがアクセス許可のチェックを行って \fBopen\fP() -を実行するが、読み込みや書き込みの際には サーバーで UID マッピングが行われるためである。 - -ファイルが新しく作成されると、 ファイルの \fIst_atime\fP, \fIst_ctime\fP, \fIst_mtime\fP フィールド -(それぞれ最終アクセス時刻、最終状態変更時刻、最終修正時刻である。 \fBstat\fP(2) 参照) が現在時刻に設定される。 さらに親ディレクトリの -\fIst_ctime\fP と \fIst_mtime\fP も現在時刻に設定される。 それ以外の場合で、O_TRUNC フラグでファイルが修正されたときは、 -ファイルの \fIst_ctime\fP と \fIst_mtime\fP フィールドが現在時刻に設定される。 -.SS O_DIRECT -.LP -\fBO_DIRECT\fP フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O -のファイルオフセットに関してアラインメントの制限が課されることがある。 Linux では、アラインメントの制限はファイルシステムやカーネルのバージョンに -よって異なり、全く制限が存在しない場合もある。 しかしながら、現在のところ、指定されたファイルやファイルシステムに対して -こうした制限があるかを見つけるための、アプリケーション向けのインタフェースで ファイルシステム非依存のものは存在しない。 -いくつかのファイルシステムでは、制限を確認するための独自のインタフェースが 提供されている。例えば、 \fBxfsctl\fP(3) の -\fBXFS_IOC_DIOINFO\fP 命令である。 -.LP -Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフセットは、 -ファイルシステムの論理ブロックサイズの倍数でなければならない。 Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。 -.LP -メモリバッファがプライベートマッピング (\fBmmap\fP(2) の \fBMAP_PRIVATE\fP -フラグで作成されたマッピング) の場合には、\fBO_DIRECT\fP I/O は -\fBfork\fP(2) システムコールと同時に決して実行すべきではない -(プライベートマッピングには、ヒープ領域に割り当てられたメモリや静的に -割り当てたバッファも含まれる)。非同期 I/O インターフェース (AIO) 経由 -やプロセス内の他のスレッドから発行された、このような I/O は、 -\fBfork\fP(2) が呼び出される前に完了されるべきである。 -そうしなかった場合、データ破壊や、親プロセスや子プロセスでの予期しない -動作が起こる可能性がある。 -\fBO_DIRECT\fP I/O 用のメモリバッファが \fBshmat\fP(2) や\fBMAP_SHARED\fP フラグ -付きの \fBmmap\fP(2) で作成された場合には、この制限はあてはまらない。 -\fBmadvise\fP(2) でメモリバッファにアドバイス \fBMADV_DONTFORK\fP が設定され -ている場合にも、この制限はあてはまらない(\fBMADV_DONTFORK\fP はそのメモリ -バッファが \fBfork\fP(2) 後に子プロセスからは利用できないことを保証するも -のである)。 -.LP -\fBO_DIRECT\fP フラグは SGI IRIX で導入された。SGI IRIX にも Linux 2.4 と同様の (ユーザーバッファの) -アラインメントの制限がある。 また、IRIX には適切な配置とサイズを取得するための \fBfcntl\fP(2) コールがある。 FreeBSD 4.x -も同じ名前のフラグを導入したが、アラインメントの制限はない。 -.LP -\fBO_DIRECT\fP が Linux でサポートされたのは、カーネルバージョン 2.4.10 である。 古い Linux -カーネルは、このフラグを単に無視する。 \fBO_DIRECT\fP フラグをサポートしていないファイルシステムもあり、その場合は、 \fBO_DIRECT\fP -を使用すると \fBopen\fP() は \fBEINVAL\fP で失敗する。 -.LP -アプリケーションは、同じファイル、 特に同じファイルの重複するバイト領域に対して、 \fBO_DIRECT\fP と通常の I/O -を混ぜて使うのは避けるべきである。 ファイルシステムがこのような状況において一貫性の問題を正しく 扱うことができる場合であっても、全体の I/O -スループットは どちらか一方を使用するときと比べて低速になるであろう。 同様に、アプリケーションは、同じファイルに対して \fBmmap\fP(2) と直接 -I/O (\fBO_DIRECT\fP) を混ぜて使うのも避けるべきである。 -.LP -NFS で \fBO_DIRECT\fP を使った場合の動作はローカルのファイルシステムの場合と違う。 -古いカーネルや、ある種の設定でコンパイルされたカーネルは、 \fBO_DIRECT\fP と NFS の組み合わせをサポートしていないかもしれない。 NFS -プロトコル自体はサーバにフラグを渡す機能は持っていないので、 \fBO_DIRECT\fP I/O -はクライアント上のページキャッシュをバイパスするだけになり、 サーバは I/O をキャッシュしているかもしれない。 クライアントは、 -\fBO_DIRECT\fP の同期機構を保持するため、サーバに対して I/O を同期して行うように依頼する。 サーバによっては、こうした状況下、特に I/O -サイズが小さい場合に 性能が大きく劣化する。 また、サーバによっては、I/O が安定したストレージにまで行われたと、 -クライアントに対して嘘をつくものもある。 これは、サーバの電源故障が起こった際にデータの完全性が保たれない -危険は少しあるが、性能面での不利な条件を回避するために行われている。 Linux の NFS クライアントでは \fBO_DIRECT\fP I/O -でのアラインメントの制限はない。 -.PP -まとめると、 \fBO_DIRECT\fP は、注意して使うべきであるが、強力なツールとなる可能性を持っている。 アプリケーションは \fBO_DIRECT\fP -をデフォルトでは無効になっている性能向上のためのオプションと 考えておくのがよいであろう。 -.PP -.RS -「O_DIRECT でいつも困るのは、インタフェース全部が本当にお馬鹿な点だ。 たぶん危ないマインドコントロール剤で -頭がおかしくなったサルが設計したんじゃないかな」 \(em Linus -.RE -.SH バグ -.\" FIXME . Check bugzilla report on open(O_ASYNC) -.\" See http://bugzilla.kernel.org/show_bug.cgi?id=5993 -現在のところ、 \fBopen\fP() の呼び出し時に \fBO_ASYNC\fP を指定してシグナル駆動 I/O を有効にすることはできない。 -このフラグを有効にするには \fBfcntl\fP(2) を使用すること。 -.SH 関連項目 -\fBchmod\fP(2), \fBchown\fP(2), \fBclose\fP(2), \fBdup\fP(2), \fBfcntl\fP(2), \fBlink\fP(2), -\fBlseek\fP(2), \fBmknod\fP(2), \fBmmap\fP(2), \fBmount\fP(2), \fBopenat\fP(2), \fBread\fP(2), -\fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2), \fBwrite\fP(2), -\fBfopen\fP(3), \fBfifo\fP(7), \fBpath_resolution\fP(7), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/openat.2 b/draft/man2/openat.2 index 46b5c3d7..2981ef05 100644 --- a/draft/man2/openat.2 +++ b/draft/man2/openat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -114,6 +113,6 @@ POSIX.1\-2008. Solaris には、これと同じようなシステムコール \fBreadlinkat\fP(2), \fBrenameat\fP(2), \fBsymlinkat\fP(2), \fBunlinkat\fP(2), \fButimensat\fP(2), \fBmkfifoat\fP(3), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/outb.2 b/draft/man2/outb.2 deleted file mode 100644 index 2b1bbbb3..00000000 --- a/draft/man2/outb.2 +++ /dev/null @@ -1,59 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1995 Paul Gortmaker -.\" (gpg109@rsphy1.anu.edu.au) -.\" Wed Nov 29 10:58:54 EST 1995 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH OUTB 2 1995\-11\-29 Linux "Linux Programmer's Manual" -.SH 名前 -outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, -outb_p, outw_p, outl_p, inb_p, inw_p, inl_p \- ポート入出力 -.SH 説明 -この一連の関数はポートに対する低レベルの入出力に使用する。 out* 関数はポート出力、in* 関数はポート入力を行う。 語尾に b -がついている関数はバイト単位、w がついている関数はワード単位である。 _p がついている関数は I/O が終了するまで待つ。 -.LP -.\" , given the following information -.\" in addition to that given in -.\" .BR outb (9). -これらの関数はもともとカーネル内部での使用を想定して設計されているが、 ユーザー空間からでも使用できる。 - -\fB\-O\fP や \fB\-O2\fP などを指定してコンパイルすること。 これらの関数はインライン・マクロとして定義されており、 -最適化を行わないと関数の展開が行われず、 リンクの時に「解決できない参照(unresolved reference)」が発生する。 - -ユーザー空間のアプリケーションが I/O ポートにアクセスすることを カーネルに教えるために \fBioperm\fP(2) もしくは \fBiopl\fP(2) -を使用すること。これを忘れるとアプリケーションはセグメンテーション違反 (segmentation fault) を受けとることになる。 -.SH 準拠 -\fBoutb\fP() とその仲間はハードウェア特有である。 \fIvalue\fP 引数が最初に渡され、 \fIport\fP 引数が二番目に渡される。 -この順序はほとんどの DOS での実装とは逆である。 -.SH 関連項目 -\fBioperm\fP(2), \fBiopl\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/pause.2 b/draft/man2/pause.2 index eb16a4a6..5783acff 100644 --- a/draft/man2/pause.2 +++ b/draft/man2/pause.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt (michael@moria.de) .\" Modified Sat Jul 24 14:48:00 1993 by Rik Faith (faith@cs.unc.edu) @@ -55,6 +55,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. .SH 関連項目 \fBkill\fP(2), \fBselect\fP(2), \fBsignal\fP(2), \fBsigsuspend\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/pciconfig_read.2 b/draft/man2/pciconfig_read.2 deleted file mode 100644 index c9004888..00000000 --- a/draft/man2/pciconfig_read.2 +++ /dev/null @@ -1,77 +0,0 @@ -.\" Contributed by Niki A. Rahimi, LTC Security Development -.\" narahimi@us.ibm.com -.\" May be freely distributed. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PCICONFIG_READ 2 2003\-07\-14 Linux "Linux Programmer's Manual" -.SH 名前 -pciconfig_read, pciconfig_write, pciconfig_iobase \- pci デバイス情報を扱う -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint pciconfig_read(unsigned long \fP\fIbus\fP\fB, unsigned long \fP\fIdfn\fP\fB,\fP -\fB unsigned long \fP\fIoff\fP\fB, unsigned long \fP\fIlen\fP\fB, void *\fP\fIbuf\fP\fB);\fP -\fBint pciconfig_write(unsigned long \fP\fIbus\fP\fB, unsigned long \fP\fIdfn\fP\fB,\fP -\fB unsigned long \fP\fIoff\fP\fB, unsigned long \fP\fIlen\fP\fB, void *\fP\fIbuf\fP\fB);\fP -\fBint pciconfig_iobase(long \fP\fIwhich\fP\fB, unsigned long \fP\fIbus\fP\fB,\fP -\fB unsigned long \fP\fIdevfn\fP\fB);\fP -.fi -.SH 説明 -.PP -PCI デバイスとのやり取り (interaction) は カーネル PCI レイヤですでに処理されているので、 -通常はこららの関数をユーザ空間からアクセスする必要はない。 -.TP -\fBpciconfig_read\fP() -デバイス \fIdev\fP のオフセット \fIoff\fP の値を \fIbuf\fP に読み込む。 -.TP -\fBpciconfig_write\fP() -デバイス \fIdev\fP のオフセット \fIoff\fP に \fIbuf\fP の値を書き込む。 -.TP -\fBpciconfig_iobase\fP() -bus/devfn ペアをこの関数に渡し、 メモリオフセット (prep のようなものでは、この値は 0xc0000000 である) と PIO -サイクルの IO ベースの物理アドレスを取得する。 また、もしあるならば ISA hole の物理アドレスを取得する。 -.SH 返り値 -.TP -\fBpciconfig_read\fP() -成功した場合、0 が返される。 エラーの場合、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.TP -\fBpciconfig_write\fP() -成功した場合、0 が返される。 エラーの場合、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.TP -\fBpciconfig_iobase\fP() -\fIwhich\fP の値に基づいて、物理メモリ内の様々な I/O 領域の位置情報が返される。 \fIwhich\fP の値は、 -\fBIOBASE_BRIDGE_NUMBER\fP, \fBIOBASE_MEMORY\fP, \fBIOBASE_IO\fP, \fBIOBASE_ISA_IO\fP, -\fBIOBASE_ISA_MEM\fP である。 -.SH エラー -.TP -\fBEINVAL\fP -\fIlen\fP の値が無効である。 このエラーは \fBpciconfig_iobase\fP() には適用されない。 -.TP -\fBEIO\fP -I/O エラー。 -.TP -\fBENODEV\fP -\fBpciconfig_iobase\fP() の場合、でホース (hose) の値が NULL である。 他の呼び出しの場合、スロット (slot) -が見つからない。 -.TP -\fBENOSYS\fP -このシステムはこれらの呼び出しを実装していない。 (\fBCONFIG_PCI\fP が定義されていない)。 -.TP -\fBEOPNOTSUPP\fP -この返り値は \fBpciconfig_iobase\fP() でのみ有効である。 このエラーは \fIwhich\fP の値が無効であるときに返される。 -.TP -\fBEPERM\fP -ユーザが \fBCAP_SYS_ADMIN\fP 権限を持っていない。 このエラーは \fBpciconfig_iobase\fP() には適用されない。 -.SH 準拠 -これらの呼び出しは Linux 特有のものであり、 Linux 2.0.26/2.1.11 から使用可能である。 -.SH 関連項目 -\fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/personality.2 b/draft/man2/personality.2 index fbf9cf21..575c836c 100644 --- a/draft/man2/personality.2 +++ b/draft/man2/personality.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created Sat Aug 21 1995 Thomas K. Dyas .\" @@ -55,6 +57,6 @@ Linux は、プロセス毎の異なる実行ドメイン、すなわち パー .SH 準拠 \fBpersonality\fP() は Linux 固有であり、移植を意図したプログラムで使用すべきではない。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/pipe.2 b/draft/man2/pipe.2 index d2b093f0..04a16bfd 100644 --- a/draft/man2/pipe.2 +++ b/draft/man2/pipe.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2005, 2008, Michael Kerrisk .\" (A few fragments remain from an earlier (1992) version by .\" Drew Eckhardt .) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-23 by Rik Faith @@ -151,6 +151,6 @@ main(int argc, char *argv[]) \fBfork\fP(2), \fBread\fP(2), \fBsocketpair\fP(2), \fBwrite\fP(2), \fBpopen\fP(3), \fBpipe\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/pivot_root.2 b/draft/man2/pivot_root.2 deleted file mode 100644 index b042d55a..00000000 --- a/draft/man2/pivot_root.2 +++ /dev/null @@ -1,97 +0,0 @@ -.\" Copyright (C) 2000 by Werner Almesberger -.\" May be distributed under GPL -.\" -.\" Written 2000-02-23 by Werner Almesberger -.\" Modified 2004-06-17 Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PIVOT_ROOT 2 2007\-06\-01 Linux "Linux Programmer's Manual" -.SH 名前 -pivot_root \- root ファイルシステムを変更する -.SH 書式 -\fBint pivot_root(const char *\fP\fInew_root\fP\fB, const char *\fP\fIput_old\fP\fB);\fP -.SH 説明 -.\" -.\" The -.\" .B CAP_SYS_ADMIN -.\" capability is required. -\fBpivot_root\fP() は呼び出し元のプロセスの root ファイルシステムを \fIput_old\fP ディレクトリに移動し、 -\fInew_root\fP を呼び出し元のプロセスの新しい root ファイルシステムにする。 - -\fBpivot_root\fP() の典型的な利用法は、システムの起動中にシステムが一時的な root ファイルシステム (例えば \fBinitrd\fP) -をマウントし、これに続いて本当の root ファイルシステムをマウントし、 後者を必要な全てのプロセス・スレッドの カレント root -に変更するような場合である。 - -古い root ディレクトリを使っていた全てのプロセスやスレッドの カレント root とカレントワーキングディレクトリを、 -\fBpivot_root\fP() が変更するかどうかはわからない。 \fBpivot_root\fP() の呼びだしプロセスは、古い root -やカレントワーキングディレクトリを使っていた プロセスが、いずれの場合でも正しく動作することを保証しなければならない。 -これを簡単に行うには、それらのプロセスの root と カレントワーキングディレクトリを \fBpivot_root\fP() を呼び出す前に -\fInew_root\fP に変更しておくことである。 - -上記の段落は、将来 \fBpivot_root\fP() が変更されるかも知れないことを鑑みて、わざと曖昧に書いてある。 本ページを記述している時点では、 -\fBpivot_root\fP() は古い root ディレクトリを用いている全てのプロセス・スレッドの root と カレントワーキングディレクトリを -\fInew_root\fP に変更する。これはカーネルのスレッドが古い root ディレクトリを busy 状態にしないために必要である。これらのスレッドが -古いディレクトリを root やカレントワーキングディレクトリとしていると、 ファイルシステムに一切アクセスしない場合でも 古い root が busy -になってしまうからである。 将来は、カーネルスレッドがあらゆるファイルシステムへのアクセスを 明示的に放棄するメカニズムができ、このでしゃばりな機能は -\fBpivot_root\fP() から削除されるかもしれない。 - -これは呼び出し元のプロセスについても当てはまることに注意。 \fBpivot_root\fP() -がカレントプロセスのカレントワーキングディレクトリに影響するかどうかは 分からない。したがって \fBpivot_root\fP() の直後に -\fBchdir("/")\fP を呼び出すとよい。 - -\fInew_root\fP および \fIput_old\fP には以下の制限がある: -.IP \- 3 -ディレクトリでなければならない。 -.IP \- 3 -\fInew_root\fP と \fIput_old\fP は現在の root と同じファイルシステムにあってはならない。 -.IP \- 3 -\fIput_old\fP は \fInew_root\fP 以下になければならない。すなわち \fIput_old\fP を差す文字列に 1 個以上の \fI../\fP -を付けることによって \fInew_root\fP と同じディレクトリが得られなければならない。 -.IP \- 3 -他のファイルシステムが \fIput_old\fP にマウントされていてはならない。 -.PP -利用例については \fBpivot_root\fP(8) を参照のこと。 - -現在の root がマウントポイントではない (\fBchroot\fP(2) や \fBpivot_root\fP() の後など。以下も参照) 場合、 古い -root ディレクトリではなく、 そのファイルシステムのマウントポイントが \fIput_old\fP にマウントされる。 - -\fInew_root\fP はマウントポイントでなくてもよい。 この場合 \fI/proc/mounts\fP は、 \fInew_root\fP を root -(\fI/\fP) とするファイルシステムのマウントポイントを表示する。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -\fBpivot_root\fP() は \fBstat\fP(2) の返すあらゆるエラーを (\fIerrno\fP に) -返す可能性がある。さらに以下を返すことがある: -.TP -\fBEBUSY\fP -\fInew_root\fP または \fIput_old\fP が、現在の root ファイルシステム上にあるか、既に \fIput_old\fP -になんらかのファイルシステムがマウントされている。 -.TP -\fBEINVAL\fP -\fIput_old\fP が \fInew_root\fP の下層にない。 -.TP -\fBENOTDIR\fP -\fInew_root\fP または \fIput_old\fP がディレクトリでない。 -.TP -\fBEPERM\fP -呼び出し元のプロセスが \fBCAP_SYS_ADMIN\fP ケーパビリティを持っていない。 -.SH バージョン -\fBpivot_root\fP() は Linux 2.3.41 で導入された。 -.SH 準拠 -\fBpivot_root\fP() は Linux に固有のものなので、移植性はない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 -.SH バグ -\fBpivot_root\fP() はシステムの他のプロセス全ての root と カレントワーキングディレクトリとを変更しなくてもよいはずである。 - -\fBpivot_root\fP() の使い方がもうちょっと曖昧になると、 あっという間にわけのわからない状態になってしまうだろう -.SH 関連項目 -\fBchdir\fP(2), \fBchroot\fP(2), \fBstat\fP(2), \fBinitrd\fP(4), \fBpivot_root\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/poll.2 b/draft/man2/poll.2 deleted file mode 100644 index a8ac0a4b..00000000 --- a/draft/man2/poll.2 +++ /dev/null @@ -1,228 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 1997 Andries Brouwer (aeb@cwi.nl) -.\" and Copyright (C) 2006, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Additions from Richard Gooch and aeb, 971207 -.\" 2006-03-13, mtk, Added ppoll() + various other rewordings -.\" 2006-07-01, mtk, Added POLLRDHUP + various other wording and -.\" formatting changes. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH POLL 2 2012\-05\-05 Linux "Linux Programmer's Manual" -.SH 名前 -poll, ppoll \- ファイルディスクリプタにおけるイベントを待つ -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint poll(struct pollfd *\fP\fIfds\fP\fB, nfds_t \fP\fInfds\fP\fB, int \fP\fItimeout\fP\fB);\fP -.sp -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint ppoll(struct pollfd *\fP\fIfds\fP\fB, nfds_t \fP\fInfds\fP\fB, \fP -\fB const struct timespec *\fP\fItimeout_ts\fP\fB, const sigset_t *\fP\fIsigmask\fP\fB);\fP -.fi -.SH 説明 -\fBpoll\fP() は \fBselect\fP(2) と同様の仕事を行う、つまり、ファイルディスクリプタ集合のいずれか一つが I/O -を実行可能な状態になるのを待つ。 - -監視するファイルディスクリプタ集合は、 \fIfds\fP 引き数で指定する。 \fIfds\fP は、以下の型の構造体の配列である。 -.in +4n -.nf - -struct pollfd { - int fd; /* file descriptor */ - short events; /* requested events */ - short revents; /* returned events */ -}; -.in -.fi -.PP -\fInfds\fP には、 \fIfds\fP 配列の要素数を指定する。 - -\fIfd\fP フィールドには、オープンされたファイルのファイルディスクリプタが入る。 -このフィールドが負の場合、対応する \fIevents\fP フィールドは無視され、 -\fIrevents\fP には 0 が返される。(この機能により、一つの \fBpoll\fP() の呼び出しで -簡単にあるファイルディスクリプタを無視することができる。 -単に \fIfd\fP フィールドの符号を反転するだけでよい。) - -構造体の \fIevents\fP 要素は入力パラメータで、 -ファイルディスクリプタ \fIfd\fP に関して、 -アプリケーションが興味を持っているイベントのビットマスクを指定する。 -このフィールドに 0 が指定された場合は、\fIfd\fP の全てのイベントが無視され、 -\fIrevents\fP には 0 が返される。 - -\fIrevents\fP 要素は出力パラメータで、実際に起こったイベントがカーネルにより設定される。 \fIrevents\fP で返されるビット列には、 -\fIevents\fP で指定したもののどれか、もしくは \fBPOLLERR\fP, \fBPOLLHUP\fP, \fBPOLLNVAL\fP のうちの一つが含まれる -(\fBPOLLERR\fP, \fBPOLLHUP\fP, \fBPOLLNVAL\fP の 3つのビットは \fIevents\fP -に指定しても意味がなく、対応した状態が真の場合に \fIrevents\fP に設定される)。 - -どのファイルディスクリプタにも要求したイベントが発生しておらず、 エラーも起こらない場合、 \fBpoll\fP() -はイベントのうちいずれか一つが発生するまで停止 (block) する。 - -\fItimeout\fP 引き数は、 \fBpoll\fP() が停止する最小時間をミリ秒で指定する -(この停止時間はシステムクロックの粒度に切り上げられ、カーネルの -スケジューリング遅延により少しだけ長くなる可能性がある)。 -\fItimeout\fP に負の値を指定した場合、タイムアウト時間が無限大を意味する。 -\fItimeout\fP を 0 に指定した場合、I/O 可能なファイルディスクリプタが -ない場合であっても、 \fBpoll\fP() はすぐに返る。 - -\fIevents\fP に指定したり、 \fIrevents\fP で返されるビットは \fI\fP で定義されている: -.RS -.TP -\fBPOLLIN\fP -読み出し可能なデータがある。 -.TP -\fBPOLLPRI\fP -読み出し可能な緊急データ (urgent data) がある (例えば、TCP ソケットの帯域外 (out\-of\-band data) -データを受信した場合や、 パケットモードの擬似端末のマスタがスレーブ側の変化を見つけたとき)。 -.TP -\fBPOLLOUT\fP -書き込みが停止 (block) しない状態である。 -.TP -\fBPOLLRDHUP\fP (Linux 2.6.17 以降) -ストリームソケットの他端が、コネクションを close したか、 コネクションの書き込み側を shutdown した。 この定義を有効にするには、 -(「どの」ヘッダファイルをインクルードするよりも前に) \fB_GNU_SOURCE\fP 機能検査マクロを定義しなければならない。 -.TP -\fBPOLLERR\fP -エラー状態 (出力の場合のみ)。 -.TP -\fBPOLLHUP\fP -ハングアップした (出力の場合のみ)。 -.TP -\fBPOLLNVAL\fP -不正な要求: \fIfd\fP がオープンされていない (出力の場合のみ)。 -.RE -.PP -\fB_XOPEN_SOURCE\fP を定義してコンパイルした場合には、以下の定義も行われる。 -ただし、上記のリストにあるビット以上の情報が得られる訳ではない。 -.RS -.TP -\fBPOLLRDNORM\fP -\fBPOLLIN\fP と同じ。 -.TP -\fBPOLLRDBAND\fP -.\" POLLRDBAND is used in the DECnet protocol. -優先帯域データ (priority band data) が読み出し可能である (普通は Linux では使用されない)。 -.TP -\fBPOLLWRNORM\fP -\fBPOLLOUT\fP と同じ。 -.TP -\fBPOLLWRBAND\fP -優先帯域データ (priority data) が書き込み可能である。 -.RE -.PP -Linux では \fBPOLLMSG\fP も定義されているが、使用されていない。 -.SS ppoll() -\fBpoll\fP() と \fBppoll\fP() の関係は \fBselect\fP(2) と \fBpselect\fP(2) の関係と同じようなものである: -\fBpselect\fP(2) と同様に、 \fBppoll\fP() を使うと、アプリケーションはファイルディスクリプタの状態変化 -もしくはシグナルの捕捉を安全に待つことができる。 -.PP -\fItimeout\fP 引き数の精度の違いを除くと、以下の \fBppoll\fP() の呼び出しは、 -.nf - - ready = ppoll(&fds, nfds, timeout_ts, &sigmask); - -.fi -次の呼び出しを \fIatomic\fP に実行するのと等価である。 -.nf - - sigset_t origmask; - int timeout; - - timeout = (timeout_ts == NULL) ? \-1 : - (timeout_ts.tv_sec * 1000 + timeout_ts.tv_nsec / 1000000); - sigprocmask(SIG_SETMASK, &sigmask, &origmask); - ready = poll(&fds, nfds, timeout); - sigprocmask(SIG_SETMASK, &origmask, NULL); -.fi -.PP -なぜ \fBppoll\fP() が必要なのかについての説明は \fBpselect\fP(2) の説明を参照のこと。 - -\fIsigmask\fP 引き数に NULL が指定された場合、シグナルマスクの操作は行われない (したがって、 \fBppoll\fP() の -\fBpoll\fP() との違いは \fItimeout\fP 引き数の精度だけとなる)。 - -\fItimeout\fP 引き数は \fBppoll\fP() が停止する時間の上限を指定するものである。 -この引き数には以下の型の構造体へのポインタを指定する。 -.in +4n -.nf - -struct timespec { - long tv_sec; /* seconds */ - long tv_nsec; /* nanoseconds */ -}; -.fi -.in - -\fItimeout_ts\fP に NULL が指定された場合、 \fBppoll\fP は無限に停止することがあり得る。 -.SH 返り値 -成功した場合は正の数を返す。この数は 0 以外の \fIrevents\fP 要素を持つ構造体の数である (別の言い方をすると、これらのディスクリプタ -にはイベントかエラー報告がある)。 値 0 は、タイムアウトとなり、どのファイルディスクリプタでもイベントが 発生しなかったことを示す。エラーの場合は -\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -引き数として指定した配列が、呼び出したプロセスのアドレス空間に 含まれていない。 -.TP -\fBEINTR\fP -要求されたイベントのどれかが起こる前にシグナルが発生した。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fInfds\fP の値が \fBRLIMIT_NOFILE\fP を超えた。 -.TP -\fBENOMEM\fP -ファイルディスクリプタ・テーブルを確保するためのメモリがない。 -.SH バージョン -.\" library call was introduced in libc 5.4.28 -\fBpoll\fP() システムコールは Linux 2.1.23 で導入された。 -このシステムコールが存在しない古いカーネルでは、 -glibc (や古い Linux libc) は \fBselect\fP(2) を使用して \fBpoll\fP() -ラッパー関数のエミュレーションを行う。 - -\fBppoll\fP() システムコールは カーネル 2.6.16 で Linux に追加された。 \fBppoll\fP() ライブラリコールは glibc -2.4 に追加された。 -.SH 準拠 -.\" NetBSD 3.0 has a pollts() which is like Linux ppoll(). -\fBpoll\fP() は POSIX.1\-2001 に準拠している。 \fBppoll\fP() は Linux 固有である。 -.SH 注意 -いくつかの実装では、値 \-1 を持った非標準の定数 \fBINFTIM\fP が定義されており、 \fBpoll\fP() の \fItimeout\fP -の指定に使用できる。 この定数は glibc では定義されていない。 -.SS "Linux での注意" -Linux の \fBppoll\fP() システムコールは \fItimeout_ts\fP 引き数を変更する。 しかし、glibc -のラッパー関数は、システムコールに渡す timeout 引き数 としてローカル変数を使うことでこの動作を隠蔽している。 このため、glibc の -\fBppoll\fP() 関数では \fItimeout_ts\fP 引き数は変更されない。 -.SH バグ -\fBselect\fP(2) の「バグ」の節に書かれている、誤った準備完了通知 (spurious readiness notifications) -についての議論を参照のこと。 -.SH 関連項目 -\fBselect\fP(2), \fBselect_tut\fP(2), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/posix_fadvise.2 b/draft/man2/posix_fadvise.2 index 3a2b9040..2cc8e095 100644 --- a/draft/man2/posix_fadvise.2 +++ b/draft/man2/posix_fadvise.2 @@ -1,6 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 2003 Abhijit Menon-Sen +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2005-04-08 mtk, noted kernel version and added BUGS .\" 2010-10-09, mtk, document arm_fadvise64_64() @@ -144,6 +145,6 @@ ARM アーキテクチャでは、64 ビットの引き数は適切なレジス \fBreadahead\fP(2), \fBsync_file_range\fP(2), \fBposix_fallocate\fP(3), \fBposix_madvise\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/pread.2 b/draft/man2/pread.2 index 04a3c193..2128fe23 100644 --- a/draft/man2/pread.2 +++ b/draft/man2/pread.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1999 Joseph Samuel Myers. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -87,6 +89,6 @@ POSIX では、\fBO_APPEND\fP フラグを指定してファイルをオープ .SH 関連項目 \fBlseek\fP(2), \fBread\fP(2), \fBreadv\fP(2), \fBwrite\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/query_module.2 b/draft/man2/query_module.2 deleted file mode 100644 index f7c4b7cb..00000000 --- a/draft/man2/query_module.2 +++ /dev/null @@ -1,115 +0,0 @@ -.\" Copyright (C) 1996 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some -.\" reformatting and rewordings by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH QUERY_MODULE 2 2007\-06\-03 Linux "Linux Programmer's Manual" -.SH 名前 -query_module \- モジュールに関連する各種の情報をカーネルに問い合わせる -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint query_module(const char *\fP\fIname\fP\fB, int \fP\fIwhich\fP\fB, void *\fP\fIbuf\fP\fB,\fP -\fB size_t \fP\fIbufsize\fP\fB, size_t *\fP\fIret\fP\fB);\fP -.fi -.SH 説明 -\fBquery_module\fP() は、ローダブルモジュールに関する情報をカーネルに問い合わせる。 情報は \fIbuf\fP -が指し示すバッファに格納されて返される。 呼び出し元は \fIbuf\fP のサイズを \fIbufsize\fP に指定しなければならない。 -得られる情報の正確な意味とフォーマットは、 \fIwhich\fP でどの操作を指定するかによって異なる。 現在ロードされているモジュールを特定するために -\fIname\fP を必要とする操作があれば、 カーネル固有であることを示す NULL を指定できる操作もある。 - -\fIwhich\fP には以下の値を指定できる: -.TP -\fB0\fP -カーネルが \fBquery_module\fP() をサポートしている場合、成功を返す。 このシステムコールが利用可能かを調べるために使われる。 -.TP -\fBQM_MODULES\fP -.\" ret is set on ENOSPC -ロードされている全てのモジュールの名前を返す。 バッファには、NULL 終端された文字列が順に入る。 返されるバッファ \fIret\fP -にはモジュールの数が設定される。 -.TP -\fBQM_DEPS\fP -.\" ret is set on ENOSPC -指定されたモジュールが使用している全モジュールの名前を返す。 バッファには、NULL 終端された文字列が順に入る。 返されるバッファ \fIret\fP -にはモジュールの数が設定される。 -.TP -\fBQM_REFS\fP -.\" ret is set on ENOSPC -指定されたモジュールを使用している全モジュールの名前を返す。 これは \fBQM_DEPS\fP と逆の機能である。 バッファには、NULL -終端された文字列が順に入る。 返されるバッファ \fIret\fP にはモジュールの数が設定される。 -.TP -\fBQM_SYMBOLS\fP -.\" ret is set on ENOSPC -カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返す。 バッファのデータは、 以下の構造体の配列に NULL -終端された文字列が続く形となる。 -.in +4n -.nf - -struct module_symbol { - unsigned long value; - unsigned long name; -}; -.fi -.in -.IP -\fIname\fP の値は、 \fIbuf\fP の先頭からの文字列までのオフセット文字数である。 \fIret\fP にはシンボルの数が設定される。 -.TP -\fBQM_INFO\fP -指定されたモジュールに関する様々な情報を返す。 出力バッファのフォーマットは以下の形式となる: -.in +4n -.nf - -struct module_info { - unsigned long address; - unsigned long size; - unsigned long flags; -}; -.fi -.in -.IP -\fIaddress\fP はそのモジュールが配置されているカーネル空間上のアドレス、 \fIsize\fP はそのモジュールのバイト単位のサイズ、 -\fIflags\fP は \fBMOD_RUNNING\fP, \fBMOD_AUTOCLEAN\fP 等のマスクであり、そのモジュールの現在の状態を示す -(カーネルのソースファイル \fIinclude/linux/module.h\fP を参照)。 \fIret\fP には \fImodule_info\fP -構造体のサイズが設定される。 -.SH 返り値 -成功の場合 0 が返される。エラーの場合 \-1 が返され、 \fIerrno\fP に適切な値が設定される。 -.SH エラー -.TP -\fBEFAULT\fP -\fIname\fP, \fIbuf\fP, \fIret\fP の少なくとも一つが、プログラムがアクセスできる アドレス空間の外部であった。 -.TP -\fBEINVAL\fP -.\" Not permitted with QM_DEPS, QM_REFS, or QM_INFO. -\fIwhich\fP が不正である。あるいは \fIname\fP が NULL だが (NULL は "カーネル" を示す)、 \fIwhich\fP -で指定された値との組み合わせは許可されていない。 -.TP -\fBENOENT\fP -\fIname\fP という名前のモジュールが存在しない。 -.TP -\fBENOSPC\fP -与えられたバッファの大きさが小さすぎる。 \fIret\fP には最小限必要なバッファのサイズが設定される。 -.TP -\fBENOSYS\fP -\fBquery_module\fP() はこのバージョンのカーネルではサポートされていない。 -.SH 準拠 -\fBquery_module\fP() は Linux 固有である。 -.SH 注意 -.\" Removed in Linux 2.5.48 -このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。 -\fBquery_module\fP() で得られた情報のいくつかは、 \fI/proc/modules\fP, \fI/proc/kallsyms\fP, -\fI/sys/modules\fP から取得できる。 -.SH 関連項目 -\fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBget_kernel_syms\fP(2), -\fBinit_module\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/read.2 b/draft/man2/read.2 deleted file mode 100644 index e6ab8597..00000000 --- a/draft/man2/read.2 +++ /dev/null @@ -1,118 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Sat Jul 24 00:06:00 1993 by Rik Faith -.\" Modified Wed Jan 17 16:02:32 1996 by Michael Haardt -.\" -.\" Modified Thu Apr 11 19:26:35 1996 by Andries Brouwer -.\" Modified Sun Jul 21 18:59:33 1996 by Andries Brouwer -.\" Modified Fri Jan 31 16:47:33 1997 by Eric S. Raymond -.\" Modified Sat Jul 12 20:45:39 1997 by Michael Haardt -.\" -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH READ 2 2009\-02\-23 Linux "Linux Programmer's Manual" -.SH 名前 -read \- ファイルディスクリプタから読み込む -.SH 書式 -.nf -\fB#include \fP -.sp -\fBssize_t read(int \fP\fIfd\fP\fB, void *\fP\fIbuf\fP\fB, size_t \fP\fIcount\fP\fB);\fP -.fi -.SH 説明 -\fBread\fP() はファイルディスクリプタ (file descriptor) \fIfd\fP から最大 \fIcount\fP バイトを \fIbuf\fP -で始まるバッファーへ読み込もうとする。 -.PP -\fIcount\fP が 0 ならば、 \fBread\fP() は 0 を返し、他に何も起きない。 \fIcount\fP が \fBSSIZE_MAX\fP -より大きければ、結果は特定できない。 -.SH 返り値 -成功した場合、読み込んだバイト数を返す (0 はファイルの終りを意味する)。 ファイル位置はこの数だけ進められる。 -この数が要求した数より小さかったとしてもエラーではない; 例えば今すぐには実際にそれだけの数しかない場合 (ファイルの最後に近いのかも -しれないし、パイプ (pipe) や端末 (terminal) から読み込んでいるかもしれない) や \fBread\fP() がシグナル (signal) -によって割り込まれた場合にこれは起こりえる。 エラーの場合は、\-1 が返され、 \fIerrno\fP -が適切に設定される。この場合はファイル位置が変更されるかどうかは 不定である。 -.SH エラー -.TP -\fBEAGAIN\fP -ファイルディスクリプタ \fIfd\fP がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード (\fBO_NONBLOCK\fP) -に設定されており、読み込みを行うと停止する状況にある。 -.TP -\fBEAGAIN\fP または \fBEWOULDBLOCK\fP -.\" Actually EAGAIN on Linux -ファイルディスクリプタ \fIfd\fP がソケットを参照していて、非停止 (nonblocking) モード (\fBO_NONBLOCK\fP) -に設定されており、読み込みを行うと停止する状況にある。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら 2 -つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタでないか、読み込みのために オープン (open) されていない。 -.TP -\fBEFAULT\fP -\fIbuf\fP がアクセス可能なアドレス空間の外にある。 -.TP -\fBEINTR\fP -何のデータも読み込まないうちにシグナルに割り込まれた。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fIfd\fP は読み込みに適していないオブジェクトを参照している。 もしくは、ファイルが \fBO_DIRECT\fP フラグを指定してオープンされているが、 -\fIbuf\fP に指定されたアドレス、 \fIcount\fP に指定された値、 現在のファイルオフセットのいずれかの アラインメントが不適切である。 -.TP -\fBEINVAL\fP -\fIfd\fP が \fBtimerfd_create\fP(2) の呼び出しで作成されたが、 \fBread\fP() に間違ったサイズのバッファが渡された。 -さらなる情報は \fBtimerfd_create\fP(2) を参照のこと。 -.TP -\fBEIO\fP -I/O エラー。これは例えばプロセスがバックグランド・プロセスグループで、 それを制御している tty から読み込もうとし、 \fBSIGTTIN\fP -が無視 (ignore) または禁止 (blocking) されている場合や、 そのプロセスグループが孤立 (orphan) している場合に起こる。 -またディスクやテープを読んでいる時に低レベル I/O エラー が発生した場合にも起こる。 -.TP -\fBEISDIR\fP -\fIfd\fP がディレクトリを参照している。 -.PP -\fIfd\fP が接続しているオブジェクトによっては他のエラーも起こりえる。 POSIX では、 いくらかのデータを読んだ後に割り込みが起こった場合、 -\fBread\fP() は (\fIerrno\fP に \fBEINTR\fP を設定して) \-1 を返してもよいし、 既に読み込んだバイト数を返してもよい。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -NFS において。少量のデータを読み込む場合、最初の時のみにタイム スタンプが更新され、続くコールでは更新されないだろう。 -これはクライアント側で属性のキャッシングを行なうためである。 なぜならば、もし全ての NFS クライアントが st_atime -(最終ファイルアクセス時刻) の更新をサーバーに送らず、クライアント側でキャッシュを読むことに満足して いれば、サーバー側での read -は発生しないので st_atime の更新は行なわれからだ。 UNIX の方式では、クライアント側の属性のキャッシングを無効にすることで、 -これを得ることができる。しかしほとんどの状況ではこれは続くサーバーの 負荷を増加させ、パフォーマンスの低下をもたらす。 -.PP -多くのファイルシステムやディスクは \fBO_NONBLOCK\fP の実装はしなくても済むくらいに十分に高速であると考えられている。 -それでそのようなファイルやディスクには \fBO_NONBLOCK\fP は利用できないかもしれない。 -.SH 関連項目 -\fBclose\fP(2), \fBfcntl\fP(2), \fBioctl\fP(2), \fBlseek\fP(2), \fBopen\fP(2), \fBpread\fP(2), -\fBreaddir\fP(2), \fBreadlink\fP(2), \fBreadv\fP(2), \fBselect\fP(2), \fBwrite\fP(2), -\fBfread\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/readahead.2 b/draft/man2/readahead.2 index 0254422b..d9f8a125 100644 --- a/draft/man2/readahead.2 +++ b/draft/man2/readahead.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2004, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2004-05-40 Created by Michael Kerrisk .\" 2004-10-05 aeb, minor correction @@ -66,6 +66,6 @@ readahead \- 前もってファイルをページ・キャッシュに読み込 .SH 関連項目 \fBlseek\fP(2), \fBmadvise\fP(2), \fBmmap\fP(2), \fBposix_fadvise\fP(2), \fBread\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/readdir.2 b/draft/man2/readdir.2 deleted file mode 100644 index 36663570..00000000 --- a/draft/man2/readdir.2 +++ /dev/null @@ -1,95 +0,0 @@ -.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Written 11 June 1995 by Andries Brouwer -.\" Modified 22 July 1995 by Michael Chastain : -.\" In 1.3.X, returns only one entry each time; return value is different. -.\" Modified 2004-12-01, mtk, fixed headers listed in SYNOPSIS -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH READDIR 2 2008\-10\-02 Linux "Linux Programmer's Manual" -.SH 名前 -readdir \- ディレクトリ・エントリを読み込む -.SH 書式 -.nf -.sp -\fBint readdir(unsigned int \fP\fIfd\fP\fB, struct old_linux_dirent *\fP\fIdirp\fP\fB,\fP -\fB unsigned int \fP\fIcount\fP\fB);\fP -.fi -.SH 説明 -これはあなたの興味をもっている関数ではない。 POSIX 準拠の C ライブラリ・インターフェースについては \fBreaddir\fP(3) を見ること。 -このページは裸のカーネルのシステムコール・インターフェースについて 記述しているが、このインターフェースは \fBgetdents\fP(2) -によって取って代わられた。 -.PP -\fBreaddir\fP() は、ファイルディスクリプタ \fIfd\fP が参照しているディレクトリから \fIold_linux_dirent\fP -構造体を読み込み、 \fIdirp\fP で指されたバッファに格納する。 \fIcount\fP 引き数は(ほとんどの \fIold_linux_dirent\fP -構造体の読み込みにおいて)無視される -.PP -\fIold_linux_dirent\fP 構造体は以下のように宣言される: -.PP -.in +4n -.nf -struct old_linux_dirent { - long d_ino; /* inode number */ - off_t d_off; /* offset to this \fIold_linux_dirent\fP */ - unsigned short d_reclen; /* length of this \fId_name\fP */ - char d_name[NAME_MAX+1]; /* filename (null\-terminated) */ -} -.fi -.in -.PP -\fId_ino\fP は inode 番号である。 \fId_off\fP はディレクトリの最初からこの \fIold_linux_dirent\fP まで距離である。 -\fId_reclen\fP は \fId_name\fP の大きさで、終端のヌルバイト (null byte) を含まない。 \fId_name\fP -はヌルバイトで終わるファイル名である。 -.SH 返り値 -成功した場合は、1 が返される。 ディレクトリの最後では 0 が返される。 エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEBADF\fP -ファイルディスクリプタ \fIfd\fP が不正である。 -.TP -\fBEFAULT\fP -引き数が呼び出したプロセスのアドレス空間外を指している。 -.TP -\fBEINVAL\fP -結果用のバッファーが小さすぎる。 -.TP -\fBENOENT\fP -そのようなディレクトリは存在しない。 -.TP -\fBENOTDIR\fP -ファイルディスクリプタがディレクトリを参照していない。 -.SH 準拠 -このシステム・コールは Linux 特有である。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 -\fIold_linux_dirent\fP 構造体を自分自身で定義する必要がある。 -.SH 関連項目 -\fBgetdents\fP(2), \fBreaddir\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/readlink.2 b/draft/man2/readlink.2 index 4f265141..7953ff3b 100644 --- a/draft/man2/readlink.2 +++ b/draft/man2/readlink.2 @@ -2,6 +2,7 @@ .\" And Copyright (C) 2011 Guillem Jover .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -29,6 +30,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)readlink.2 6.8 (Berkeley) 3/10/91 .\" @@ -183,6 +185,6 @@ main(int argc, char *argv[]) \fBreadlink\fP(1), \fBlstat\fP(2), \fBreadlinkat\fP(2), \fBstat\fP(2), \fBsymlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/readlinkat.2 b/draft/man2/readlinkat.2 index 753f1a0a..0a141a95 100644 --- a/draft/man2/readlinkat.2 +++ b/draft/man2/readlinkat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -91,6 +90,6 @@ POSIX.1\-2008. .SH 関連項目 \fBopenat\fP(2), \fBreadlink\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/readv.2 b/draft/man2/readv.2 deleted file mode 100644 index 58f45a7b..00000000 --- a/draft/man2/readv.2 +++ /dev/null @@ -1,172 +0,0 @@ -.\" Copyright (C) 2007, 2010 Michael Kerrisk -.\" and Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Sat Jul 24 18:34:44 1993 by Rik Faith (faith@cs.unc.edu) -.\" Merged readv.[23], 2002-10-17, aeb -.\" 2007-04-30 mtk, A fairly major rewrite to fix errors and -.\" add more details. -.\" 2010-11-16, mtk, Added documentation of preadv() and pwritev() -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH READV 2 2010\-11\-17 Linux "Linux Programmer's Manual" -.SH 名前 -readv, writev, preadv, pwritev \- 複数のバッファへの読み書きを行なう -.SH 書式 -.nf -\fB#include \fP -.sp -\fBssize_t readv(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB);\fP -.sp -\fBssize_t writev(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB);\fP -.sp -\fBssize_t preadv(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP -\fB off_t \fP\fIoffset\fP\fB);\fP -.sp -\fBssize_t pwritev(int \fP\fIfd\fP\fB, const struct iovec *\fP\fIiov\fP\fB, int \fP\fIiovcnt\fP\fB,\fP -\fB off_t \fP\fIoffset\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBpreadv\fP(), \fBpwritev\fP(): _BSD_SOURCE -.SH 説明 -\fBreadv\fP() システムコールは、ファイルディスクリプタ \fIfd\fP に関連付けられた -ファイルから、 \fIiovcnt\fP 個のバッファ分のデータを読み込み、 \fIiov\fP で指定 -されたバッファに格納する ("scatter input";「ばらまき入力」)。 -.PP -\fBwritev\fP() システムコールは、 \fIiov\fP で指定されたバッファから最大 \fIiovcnt\fP -個のバッファ分のデータを取り出し、 ファイルディスクリプタ \fIfd\fP に関連付けら -れたファイルに書き込む ("gather output";「かき集め出力」)。 -.PP -ポインタ \fIiov\fP は \fIiovec\fP 構造体の配列へのポインタである。 \fIiovec\fP 構造体は \fI\fP -で以下のように定義されている: -.PP -.br -.in +4n -.nf -struct iovec { - void *iov_base; /* Starting address */ - size_t iov_len; /* Number of bytes to transfer */ -}; -.fi -.in -.PP -\fBreadv\fP() システムコールは、複数のバッファにデータを読み込む点を除いて -\fBread\fP(2) と全く同様の動作を行う。 -.PP -\fBwritev\fP() システムコールは、複数のバッファのデータを書き出す点以外は -\fBwrite\fP(2) と全く同様の動作を行う。 -.PP -バッファは配列の順序で処理される。これは、 \fBreadv\fP() が \fIiov\fP[0] が完全に一杯になるまでデータを詰めてから、 -\fIiov\fP[1] などに進むことを意味する (データが十分ない場合は、 \fIiov\fP が指すバッファのいずれも一杯にならない)。 同様に、 -\fBwritev\fP() は \fIiov\fP[0] の内容を全部書き出してから \fIiov\fP[1] などに進む。 -.PP -\fBreadv\fP() と \fBwritev\fP() によるデータ転送は atomic に行われる。つまり、 \fBwritev\fP() -によるデータ書き込みは一つのブロックとして行われ、他のプロセスの write による書き込みと混ざり合うことはない (例外に関しては -\fBpipe\fP(7) を参照のこと)。同様に、 \fBreadv\fP() はファイルから連続するデータブロックが読み出すことが保証され、 -同じファイル記述 (file description; \fBopen\fP(2) 参照) を参照するファイルディスクリプタを持つ他のスレッドやプロセスが -実行した read 操作の影響を受けることはない。 -.SS "preadv() と pwritev()" -\fBpreadv\fP() システムコールは \fBreadv\fP() と \fBpreadv\fP(2) の機能を -組み合わせたものである。 -\fBreadv\fP() と同じ処理を実行するが、 -4 番目の引き数 \fIoffset\fP が追加されており、 -この引き数は入力操作を行うファイルオフセットを指定する。 - -\fBpwritev\fP() システムコールは \fBwritev\fP() と \fBpwrite\fP(2) の機能を -組み合わせたものである。 -\fBwritev\fP() と同じ処理を実行するが、 -4 番目の引き数 \fIoffset\fP が追加されており、 -この引き数は出力操作を行うファイルオフセットを指定する。 - -これらのシステムコールで、ファイルオフセットは変更されない。 -\fIfd\fP が参照するファイルは seek 可能でなければならない。 -.SH 返り値 -成功した場合、 \fBreadv\fP() と \fBpreadv\fP は読み込んだバイト数を返し、 -\fBwritev\fP() と \fBpwritev\fP()は書き込んだバイト数を返す。 -エラーの場合 \-1 を返し、\fIerrno\fP を適切に設定する。 -.SH エラー -\fBread\fP(2) や \fBwrite\fP(2) と同じエラーが定義されている。 -さらに、 \fBpreadv\fP() と \fBpwritev\fP() は \fBlseek\fP(2) と同じ理由でも失敗する。 -また、追加で以下のエラーが定義されている: -.TP -\fBEINVAL\fP -\fIiov_len\fP の合計が \fIssize_t\fP の範囲をオーバーフローした。もしくは、 ベクタ数 \fIiovcnt\fP が 0 -より小さいか許可された最大値よりも大きかった。 -.SH バージョン -\fBpreadv\fP() と \fBpwritev\fP() は Linux 2.6.30 で初めて登場した。 -ライブラリによるサポートは glibc 2.10 で追加された。 -.SH 準拠 -.\" The readv/writev system calls were buggy before Linux 1.3.40. -.\" (Says release.libc.) -\fBreadv\fP(), \fBwritev\fP(): -4.4BSD (これらのシステムコールは 4.2BSD で最初に現われた)、POSIX.1\-2001。 -Linux libc5 では、 \fIiovcnt\fP 引き数の型として \fIsize_t\fP を、 -返り値の型として \fIint\fP を使用していた。 - -\fBpreadv\fP(), \fBpwritev\fP(): 非標準だが、最近の BSD にも存在する。 -.SH 注意 -.SS "Linux での注意" -POSIX.1\-2001 では、 \fIiov\fP で渡すことができる要素数に上限を設ける実装が認められている。 実装は、 -\fI\fP の \fBIOV_MAX\fP を定義することや、実行時に \fIsysconf(_SC_IOV_MAX)\fP -の返り値経由で、この上限を広告することができる。 Linux では、この仕組みにより広告される上限は 1024 であり、 -この値はカーネルでの上限そのものである。 一方で、glibc のラッパー関数は、その関数の内部で呼ばれるカーネル -システムコールがこの上限を超過して失敗したことを検出すると、 追加の動作をする。 \fBreadv\fP() の場合、ラッパー関数は \fIiov\fP -で指定された全ての要素を格納できる大きさの一時バッファを割り当て、 \fBread\fP(2) を呼び出す際にそのバッファを渡し、 そのバッファのデータを -\fIiov\fP の各要素の \fIiov_base\fP フィールドが指定する場所にコピーしてから、 そのバッファを解放する。 \fBwritev\fP() -のラッパー関数も、同じように一時バッファを使って \fBwrite\fP(2) を呼び出す。 -.SH バグ -ファイルディスクリプタに対する操作を行う \fBreadv\fP() や \fBwritev\fP() と、 -標準入出力ライブラリの関数をごちゃまぜにして呼ぶのはお薦めしない。 -どんな結果になるかは定義されておらず、おそらく期待する結果は -得られないだろう。 -.SH 例 -以下のサンプルコードは \fBwritev\fP() の使用方法を示すものである。 - -.in +4n -.nf -char *str0 = "hello "; -char *str1 = "world\en"; -struct iovec iov[2]; -ssize_t nwritten; - -iov[0].iov_base = str0; -iov[0].iov_len = strlen(str0); -iov[1].iov_base = str1; -iov[1].iov_len = strlen(str1); - -nwritten = writev(STDOUT_FILENO, iov, 2); -.fi -.in -.SH 関連項目 -\fBpread\fP(2), \fBread\fP(2), \fBwrite\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/reboot.2 b/draft/man2/reboot.2 index 167f31a5..d7155c96 100644 --- a/draft/man2/reboot.2 +++ b/draft/man2/reboot.2 @@ -1,5 +1,6 @@ .\" Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl), 24 September 1998 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" .\" Modified, 27 May 2004, Michael Kerrisk .\" Added notes on capability requirements .\" @@ -119,6 +122,6 @@ magic の数字か \fIcmd\fP が間違っている。 \fBsync\fP(2), \fBbootparam\fP(7), \fBctrlaltdel\fP(8), \fBhalt\fP(8), \fBreboot\fP(8), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/recv.2 b/draft/man2/recv.2 deleted file mode 100644 index 0775fe36..00000000 --- a/draft/man2/recv.2 +++ /dev/null @@ -1,308 +0,0 @@ -.\" Copyright (c) 1983, 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: recv.2,v 1.3 1999/05/13 11:33:38 freitag Exp $ -.\" -.\" Modified Sat Jul 24 00:22:20 1993 by Rik Faith -.\" Modified Tue Oct 22 17:45:19 1996 by Eric S. Raymond -.\" Modified 1998,1999 by Andi Kleen -.\" 2001-06-19 corrected SO_EE_OFFENDER, bug report by James Hawtin -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RECV 2 2011\-09\-16 Linux "Linux Programmer's Manual" -.SH 名前 -recv, recvfrom, recvmsg \- ソケットからメッセージを受け取る -.SH 書式 -.\" .B #include -.\" .br -.nf -\fB#include \fP -.br -\fB#include \fP -.sp -\fBssize_t recv(int \fP\fIsockfd\fP\fB, void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB);\fP -.sp -\fBssize_t recvfrom(int \fP\fIsockfd\fP\fB, void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB,\fP -\fB struct sockaddr *\fP\fIsrc_addr\fP\fB, socklen_t *\fP\fIaddrlen\fP\fB);\fP -.sp -\fBssize_t recvmsg(int \fP\fIsockfd\fP\fB, struct msghdr *\fP\fImsg\fP\fB, int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -\fBrecvfrom\fP() と \fBrecvmsg\fP() コールは、ソケットからメッセージを受け取るのに使用する。 -またソケットのデータ受信にも使うことができ、 このときソケットは接続指向 (connection\-oriened) であってもなくてもよい。 -.PP -.\" (Note: for datagram sockets in both the UNIX and Internet domains, -.\" .I src_addr -.\" is filled in. -.\" .I src_addr -.\" is also filled in for stream sockets in the UNIX domain, but is not -.\" filled in for stream sockets in the Internet domain.) -.\" [The above notes on AF_UNIX and AF_INET sockets apply as at -.\" Kernel 2.4.18. (MTK, 22 Jul 02)] -\fIsrc_addr\fP が NULL 以外で、下層のプロトコルから送信元アドレスが分かる場合、 \fIsrc_addr\fP -にはこの送信元アドレスが入れられる。 \fIsrc_addr\fP が NULL の場合、 \fIsrc_addr\fP には何も入らない。この場合、 -\fIaddrlen\fP は使用されず、この引き数は NULL にしておくべきである。 引き数 \fIaddrlen\fP -は入出力両用の引き数である。呼び出し時には、呼び出し元が \fIsrc_addr\fP に割り当てたバッファの大きさで初期化しておくべきである。 -返ってくる時には、送信元アドレスの実際の大きさに変更される。 渡されたバッファが小さ過ぎる場合には、返されるアドレスの末尾は -切り詰められる。この場合には、 \fIaddrlen\fP では、呼び出し時に渡された値よりも大きな値が返される。 -.PP -\fBrecv\fP() コールは通常 \fI接続済みの (connected)\fP ソケット (\fBconnect\fP(2) を参照) についてのみ使用され、 -\fIsrc_addr\fP 引き数に NULL を指定した \fBrecvfrom\fP() と等価である。 -.PP -これらの三つのルーチンはいずれも、成功した場合にはメッセージの長さを返す。 メッセージが長過ぎて指定されたバッファに入り切らなかった場合には、 -メッセージを受信したソケットの種類によっては余分のバイトが捨てられる かもしれない。 -.PP -ソケットに受け取るメッセージが存在しなかった場合、 受信用のコールはメッセージが到着するまで待つ。 ただし、ソケットが非停止 (nonblocking) -に設定されていた場合 (\fBfcntl\fP(2) を参照) は \-1 を返し、外部変数 \fIerrno\fP に \fBEAGAIN\fP か -\fBEWOULDBLOCK\fP を設定する。 これらの受信用のコールは、受信したデータのサイズが要求したサイズに -達するまで待つのではなく、何らかのデータを受信すると復帰する (受信されるデータの最大サイズは要求したサイズである)。 -.PP -\fBselect\fP(2) や \fBpoll\fP(2) コールを使って、次のデータがいつ届くかを判断できる。 -.PP -\fBrecv\fP() コールの \fIflags\fP 引き数には、以下の値を 1つ以上、ビット単位の論理和 を取ったものを指定する: -.TP -\fBMSG_CMSG_CLOEXEC\fP (\fBrecvmsg\fP() のみ; Linux 2.6.23) -(\fBunix\fP(7) で説明されている) \fBSCM_RIGHTS\fP 操作を使って UNIX ドメインのファイルディスクリプタ経由で受信した -ファイルディスクリプタについて close\-on\-exec フラグをセットする。 このフラグは、 \fBopen\fP(2) の \fBO_CLOEXEC\fP -フラグと同じ理由で有用である。 -.TP -\fBMSG_DONTWAIT\fP (Linux 2.2 以降) -非停止 (nonblocking) 操作を有効にする。 操作が停止するような場合にエラー \fBEAGAIN\fP か \fBEWOULDBLOCK\fP -で呼び出しが失敗する (\fBfcntl\fP(2) の \fBF_SETFL\fP で \fBO_NONBLOCK\fP -フラグを指定することによっても有効にできる)。 -.TP -\fBMSG_ERRQUEUE\fP (Linux 2.2 以降) -このフラグを指定すると、 キューに入れられたエラーをソケットのエラーキューから取りだせるようになる。 このエラーは補助メッセージに組み込まれて渡され、 -この補助メッセージの種別はプロトコルに依存する (IPv4 の場合は \fBIP_RECVERR\fP)。 -ユーザは十分なサイズのバッファを用意しなければならない。 補助メッセージに関するより詳細な情報は \fBcmsg\fP(3) および \fBip\fP(7) -を参照のこと。 エラーの原因となったオリジナルパケットのペイロードは、 \fImsg_iovec\fP 経由で通常のデータとして渡される。 -エラーを起こしたデータグラムのオリジナルの宛先アドレスは、 \fImsg_name\fP 経由で参照できる。 -.IP -ローカルなエラーの場合はアドレスは渡されない -(これは \fIcmsghdr\fP の \fIcmsg_len\fP メンバーでチェックできる)。 -受信エラーの場合は \fBMSG_ERRQUIE\fP が \fImsghdr\fP にセットされる。 -エラーが渡された後には、キューに入っている次のエラーに基いて、 -処理待ちのソケット・エラーが再生成され、次のソケット操作の際に渡される。 - -このエラーは \fIsock_extended_err\fP 構造体で提供される: -.in +4n -.nf - -#define SO_EE_ORIGIN_NONE 0 -#define SO_EE_ORIGIN_LOCAL 1 -#define SO_EE_ORIGIN_ICMP 2 -#define SO_EE_ORIGIN_ICMP6 3 - -struct sock_extended_err -{ - uint32_t ee_errno; /* error number */ - uint8_t ee_origin; /* where the error originated */ - uint8_t ee_type; /* type */ - uint8_t ee_code; /* code */ - uint8_t ee_pad; /* padding */ - uint32_t ee_info; /* additional information */ - uint32_t ee_data; /* other data */ - /* More data may follow */ -}; - -struct sockaddr *SO_EE_OFFENDER(struct sock_extended_err *); -.fi -.in -.IP -\fIee_errno\fP にはキューに入れられたエラーの \fIerrno\fP が入っている。 \fIee_origin\fP -にはエラーが発生した場所のオリジン・コード (origin code) が入っている。 他のフィールドはプロトコル依存である。 -\fBSO_EE_OFFENDER\fP マクロは、この補助的なメッセージを引き数に取って、 -エラーの発生したネットワークオブジェクトのアドレスへのポインタを返す。 アドレスが不明の場合には、 \fIsockaddr\fP の \fIsa_family\fP -メンバーが \fBAF_UNSPEC\fP になっている。 \fIsockaddr\fP の他のフィールドは不定である。 -エラーの発生したパケットのペイロードは通常のデータとして渡される。 -.IP -ローカルなエラーの場合はアドレスは渡されない -(これは \fIcmsghdr\fP の \fIcmsg_len\fP メンバーでチェックできる)。 -受信エラーの場合は \fBMSG_ERRQUIE\fP が \fImsghdr\fP にセットされる。 -エラーが渡された後には、キューに入っている次のエラーに基いて、 -処理待ちのソケット・エラーが再生成され、次のソケット操作の際に渡される。 -.TP -\fBMSG_OOB\fP -このフラグは、通常のデータ・ストリームでは受信できない 帯域外 (out\-of\-band) データの受信を要求する。 プロトコルによっては、 -通常のデータ・キューの先頭に速達データを置くものがあるが、 そのようなプロトコルではこのフラグは使用できない。 -.TP -\fBMSG_PEEK\fP -このフラグを指定すると、 受信キューの最初のデータを返すとき、キューからデータを削除しない。 -したがって、この後でもう一度受信コールを呼び出すと、同じデータが返ることになる。 -.TP -\fBMSG_TRUNC\fP (Linux 2.2 以降) -raw ソケット (\fBAF_PACKET\fP)、 Internet datagram ソケット (Linux 2.4.27/2.6.8 以降)、 -netlink (Linux 2.6.22 以降) ソケットの場合、 パケットやデータグラムの長さが渡したバッファよりも長かった場合にも、 -パケットやデータグラムの実際の長さを返す。 UNIX ドメインソケット (\fBunix\fP(7)) ソケットについては実装されていない。 - -Internet ストリームソケットでの利用については \fBtcp\fP(7) を参照。 -.TP -\fBMSG_WAITALL\fP (Linux 2.2 以降) -このフラグは、要求した量いっぱいのデータが到着するまで、 操作を停止 (block) するよう要求する。 但し、シグナルを受信したり、エラーや切断 -(disconnect) が発生したり、 次に受信されるデータが異なる型だったりした場合には、 要求した量よりデータが少なくても返ることがある。 -.PP -\fBrecvmsg\fP() コールは、直接渡す引き数の数を減らすために \fImsghdr\fP 構造体を使用する。この構造体は -\fI\fP で以下のように定義されている: -.in +4n -.nf - -struct iovec { /* Scatter/gather array items */ - void *iov_base; /* Starting address */ - size_t iov_len; /* Number of bytes to transfer */ -}; - -struct msghdr { - void *msg_name; /* 追加のアドレス */ - socklen_t msg_namelen; /* アドレスのサイズ */ - struct iovec *msg_iov; /* scatter/gather 配列 */ - size_t msg_iovlen; /* msg_iov の要素数 */ - void *msg_control; /* 補助データ (後述) */ - size_t msg_controllen; /* 補助データバッファ長 */ - int msg_flags; /* 受信メッセージのフラグ */ -}; -.fi -.in -.PP -\fImsg_name\fP と \fImsg_namelen\fP は、ソケットが接続されていない場合に送信元のアドレスを指定する。 名前が必要ない場合には -\fImsg_name\fP に NULL ポインタを指定する。 \fImsg_iov\fP と \fImsg_iovlen\fP フィールドは \fBreadv\fP(2) -に記述されているような分解/結合用のベクトル (scatter\-gather locations) を指定する。 \fImsg_control\fP -フィールドは \fImsg_controllen\fP の長さを持ち、他のプロトコル制御メッセージや 種々の補助データのためのバッファへのポインタである。 -\fBrecvmsg\fP() を呼ぶ際には、 \fImsg_controllen\fP に \fImsg_control\fP -のバッファの長さを入れておく必要がある。 コールが成功して返った場合、制御メッセージ列の長さが入っている。 -.PP -メッセージの形式は以下の通り: -.in +4n -.nf - -struct cmsghdr { - socklen_t cmsg_len; /* data byte count, including hdr */ - int cmsg_level; /* originating protocol */ - int cmsg_type; /* protocol\-specific type */ -/* followed by - unsigned char cmsg_data[]; */ -}; -.fi -.in -.PP -補助データは、 \fBcmsg\fP(3) に定義されたマクロ経由でのみアクセスすべきである。 -.PP -例をあげると、 Linux はこの補助データのメカニズムを、 UNIX ドメインソケット上での拡張エラーや IP オプション、 -ファイル・ディスクリプタの受け渡しに利用している。 -.PP -\fImsghdr\fP の \fImsg_flags\fP フィールドは \fBrecvmsg\fP() -からのリターン時に設定される。ここにはいくつかのフラグが入る。 -.TP -\fBMSG_EOR\fP -これはレコードの終り (end\-of\-record) を示し、 返されたデータが完全なレコードであることを示す (一般的には -\fBSOCK_SEQPACKET\fP 型のソケットで使用される)。 -.TP -\fBMSG_TRUNC\fP -データグラムが与えられたバッファより大きかったために、 データグラムのはみ出した部分が捨てられたことを示す。 -.TP -\fBMSG_CTRUNC\fP -補助データのためのバッファが不足したために、 制御データの一部が捨てられたことを示す。 -.TP -\fBMSG_OOB\fP -速達データや帯域外データを受信したことを示す。 -.TP -\fBMSG_ERRQUEUE\fP -データは受信しなかったが ソケットのエラー・キューから拡張エラーを受信したことを示す。 -.SH 返り値 -これらのコールは受信したバイト数を返す。 エラーの場合は \-1 を返す。 接続先が正しくシャットダウンを実行した場合は、返り値は 0 となる。 -.SH エラー -これらはソケット層で発生する一般的なエラーである。 他のエラーが下層のプロトコル・モジュールで生成され、 返されるかもしれない。 -それらのマニュアルを参照すること。 -.TP -\fBEAGAIN\fP または \fBEWOULDBLOCK\fP -.\" Actually EAGAIN on Linux -ソケットが非停止 (nonblocking) に設定されていて 受信操作が停止するような状況になったか、 受信に時間切れ (timeout) -が設定されていて データを受信する前に時間切れになった。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら 2 -つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 -.TP -\fBEBADF\fP -引き数 \fIsockfd\fP が不正なディスクリプタである。 -.TP -\fBECONNREFUSED\fP -リモートのホストでネットワーク接続が拒否された (よくある理由としては、要求したサービスが起動されていないなどがある)。 -.TP -\fBEFAULT\fP -受信バッファへのポインタがプロセスのアドレス空間外を指している。 -.TP -\fBEINTR\fP -データを受信する前に、シグナルが配送されて割り込まれた。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -.\" e.g., msg_namelen < 0 for recvmsg() or addrlen < 0 for recvfrom() -不正な引き数が渡された。 -.TP -\fBENOMEM\fP -\fBrecvmsg\fP() のためのメモリが確保できなかった。 -.TP -\fBENOTCONN\fP -ソケットに接続指向プロトコルが割り当てられており、 まだ接続されていない (\fBconnect\fP(2) と \fBaccept\fP(2) -を参照のこと)。 -.TP -\fBENOTSOCK\fP -引き数 \fIsockfd\fP がソケットを参照していない。 -.SH 準拠 -4.4BSD (これらの関数は 4.2BSD で現われた), POSIX.1\-2001。 -.LP -POSIX.1\-2001 では、 \fBMSG_OOB\fP, \fBMSG_PEEK\fP, \fBMSG_WAITALL\fP フラグだけが記載されている。 -.SH 注意 -上記のプロトタイプは glibc2 にしたがっている。 Single UNIX Specification でも同様だが、 返り値の型が -\fIssize_t\fP となっている (一方で 4.x BSD や libc4 や libc5 は全て \fIint\fP を使用している)。 \fIflags\fP -引き数は 4.x BSD では \fIint\fP だが、libc4 と libc5 では \fIunsigned int\fP である。 \fIlen\fP 引き数は -4.x BSD では \fIint\fP だが、 libc4 と libc5 では \fIsize_t\fP である。 \fIaddrlen\fP 引き数は 4.x -BSD, libc4, libc5 では \fIint\ *\fP である。 現在の \fIsocklen_t\ *\fP は POSIX で発案された。 -\fBaccept\fP(2) も参照すること。 - -.\" glibc bug raised 12 Mar 2006 -.\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448 -.\" The problem is an underlying kernel issue: the size of the -.\" __kernel_size_t type used to type this field varies -.\" across architectures, but socklen_t is always 32 bits. -POSIX.1\-2001 では、構造体 \fImsghdr\fP のフィールド \fImsg_controllen\fP は \fIsocklen_t\fP -型であるべきだとされているが、 現在の glibc では \fIsize_t\fP 型である。 - -\fBrecvmmsg\fP(2) には、一度の呼び出しでの複数のデータグラムに使用できる Linux 固有の システムコールに関する情報が書かれている。 -.SH 例 -\fBrecvfrom\fP() の利用例が \fBgetaddrinfo\fP(3) に記載されている。 -.SH 関連項目 -\fBfcntl\fP(2), \fBgetsockopt\fP(2), \fBread\fP(2), \fBrecvmmsg\fP(2), \fBselect\fP(2), -\fBshutdown\fP(2), \fBsocket\fP(2), \fBcmsg\fP(3), \fBsockatmark\fP(3), \fBsocket\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/remap_file_pages.2 b/draft/man2/remap_file_pages.2 index 48270bc3..c234851c 100644 --- a/draft/man2/remap_file_pages.2 +++ b/draft/man2/remap_file_pages.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2003, Michael Kerrisk (mtk.manpages@gmail.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2003-12-10 Initial creation, Michael Kerrisk .\" 2004-10-28 aeb, corrected prototype, prot must be 0 @@ -90,6 +92,6 @@ remap_file_pages \- 非線形ファイルマッピングを作成する。 \fBgetpagesize\fP(2), \fBmmap\fP(2), \fBmmap2\fP(2), \fBmprotect\fP(2), \fBmremap\fP(2), \fBmsync\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/removexattr.2 b/draft/man2/removexattr.2 deleted file mode 100644 index cee63449..00000000 --- a/draft/man2/removexattr.2 +++ /dev/null @@ -1,85 +0,0 @@ -.\" -.\" Extended attributes system calls manual pages -.\" -.\" Copyright (C) Andreas Gruenbacher, February 2001 -.\" Copyright (C) Silicon Graphics Inc, September 2001 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH REMOVEXATTR 2 2001\-12\-01 Linux "Linux Programmer's Manual" -.SH 名前 -removexattr, lremovexattr, fremovexattr \- 拡張属性を削除する -.SH 書式 -.fam C -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint removexattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB);\fP -\fBint lremovexattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB);\fP -\fBint fremovexattr(int \fP\fIfd\fP\fB, const char\ *\fP\fIname\fP\fB);\fP -.fi -.fam T -.SH 説明 -拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた \fIname\fP:\fIvalue\fP の対である。 -これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。 -拡張属性のコンセプトは \fBattr\fP(5) に書かれている。 -.PP -\fBremovexattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する、名前 \fIname\fP の拡張属性を削除する。 -.PP -\fBlremovexattr\fP() は \fBremovexattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル -ではなく、リンクそのものの情報を削除する点だけが異なる。 -.PP -\fBfremovexattr\fP() は \fBremovexattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP -で参照されたオープン済みファイルから拡張属性を削除するだけである点が異なる (\fIfd\fP は \fBopen\fP(2) によって返される)。 -.PP -拡張属性の名前は、普通の NULL 終端された文字列である。 \fIname\fP には、名前空間を表す接頭辞 (prefix) が含まれる。 個々の -inode に対し、互いに独立な名前空間が複数あってもよい。 -.SH 返り値 -成功した場合、0 が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 -.PP -指定された名前の属性が存在しない場合、 \fIerrno\fP に \fBENOATTR\fP がセットされる。 -.PP -拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 \fIerrno\fP に \fBENOTSUP\fP がセットされる。 -.PP -\fBstat\fP(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。 -.SH バージョン -これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。 -.SH 準拠 -.\" .SH AUTHORS -.\" Andreas Gruenbacher, -.\" .RI < a.gruenbacher@computer.org > -.\" and the SGI XFS development team, -.\" .RI < linux-xfs@oss.sgi.com >. -.\" Please send any bug reports or comments to these addresses. -これらのシステムコールは Linux 独自である。 -.SH 関連項目 -\fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBgetxattr\fP(2), \fBlistxattr\fP(2), \fBopen\fP(2), -\fBsetxattr\fP(2), \fBstat\fP(2), \fBattr\fP(5), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/rename.2 b/draft/man2/rename.2 deleted file mode 100644 index c36892a3..00000000 --- a/draft/man2/rename.2 +++ /dev/null @@ -1,147 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt; -.\" 1993,1995 Ian Jackson. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Sat Jul 24 00:35:52 1993 by Rik Faith -.\" Modified Thu Jun 4 12:21:13 1998 by Andries Brouwer -.\" Modified Thu Mar 3 09:49:35 2005 by Michael Haardt -.\" 2007-03-25, mtk, added various text to DESCRIPTION. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RENAME 2 2009\-03\-30 Linux "Linux Programmer's Manual" -.SH 名前 -rename \- ファイルの名前や位置を変更する -.SH 書式 -\fB#include \fP -.sp -\fBint rename(const char *\fP\fIoldpath\fP\fB, const char *\fP\fInewpath\fP\fB);\fP -.SH 説明 -\fBrename\fP() はファイルの名前を変更し、必要ならばディレクトリ間の移動を行なう。 そのファイルに対する (\fBlink\fP(2) -を使用して作られた) 他のハードリンク (hard link) には影響はない。 オープン済の \fIoldpath\fP -に対するファイルディスクリプタにも影響はない。 - -\fInewpath\fP が既に存在する場合、それは不可分操作で (atomically) 置き換えられる (ただし、いくつかの条件がある; -以下の「エラー」のセクションを参照)。 そのため、 \fInewpath\fP にアクセスしようとしている他のプロセスがファイルを見失うことはない (訳註: -常にアクセス可能である)。 - -\fIoldpath\fP と \fInewpath\fP がどちらも既存のハードリンクで、同じファイルを参照している場合、 \fBrename\fP() -は何も行わず、ステータスとして成功を返す。 - -\fInewpath\fP が存在し、何らかの理由で操作が失敗した場合、 \fBrename\fP() は \fInewpath\fP -の実体を元のまま残すことを保証する。 - -\fIoldpath\fP にはディレクトリを指定することもできる。 この場合、 \fInewpath\fP は存在しないか、空のディレクトリでなければならない。 - -一方で、上書きを行なう場合は、rename が行なわれるファイルを \fIoldpath\fP と \fInewpath\fP -の両方で参照できる瞬間がおそらく存在する。 - -\fIoldpath\fP がシンボリックリンク (symbolic link) を参照している場合は、 リンクの名前が変更される。 また、 -\fInewpath\fP がシンボリックリンクを参照している場合は、リンクが上書きされる。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEACCES\fP -\fIoldpath\fP または \fInewpath\fP を含んでいるディレクトリの書き込み許可がない。 または、 \fIoldpath\fP または -\fInewpath\fP のディレクトリ部分のどれかに検索許可がない。 または、 \fIoldpath\fP がディレクトリで (\fI..\fP -エントリを更新するのに必要な) 書き込み許可がない (\fBpath_resolution\fP(7) も参照)。 -.TP -\fBEBUSY\fP -\fIoldpath\fP または \fInewpath\fP がディレクトリで、何らかのプロセスが使用中 -(多分、カレントワーキングディレクトリか、ルートディレクトリか、 読み込みのためにオープンされているかでろう) もしくは、システムが使用中 -(例えばマウントポイントである) であり、システムがこれをエラーであると判断したために rename が失敗した。 (このような場合に -\fBEBUSY\fP を返すことは規格では要求されていない点に注意すること。 このような場合に、rename をとにかく実行してみるのは何の問題もない。 -ただし、そのような状況で、システムが他に返すエラーがない場合には \fBEBUSY\fP を返すことが許されている。) -.TP -\fBEFAULT\fP -\fIoldpath\fP や \fInewpath\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEINVAL\fP -\fInewpath\fP が \fIoldpath\fP のパス部分を含んでいる。ディレクトリを自分自身のサブディレクトリに -変更しようとした場合がほとんどである。 -.TP -\fBEISDIR\fP -\fInewpath\fP は存在しているディレクトリであるが、 \fIoldpath\fP はディレクトリでない。 -.TP -\fBELOOP\fP -\fIoldpath\fP または \fInewpath\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。 -.TP -\fBEMLINK\fP -\fIoldpath\fP は既に最大数までのリンクを持っているか、それがディレクトリで \fInewpath\fP -を含んでいるディレクトリが最大数までのリンクを持っている。 -.TP -\fBENAMETOOLONG\fP -\fIoldpath\fP または \fInewpath\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fIoldpath\fP という名前のリンクが存在しない。 または、 \fInewpath\fP というディレクトリが存在しない。 または、 \fIoldpath\fP -か \fInewpath\fP が空の文字列である。 -.TP -\fBENOMEM\fP -十分なカーネルメモリーがない。 -.TP -\fBENOSPC\fP -そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための空きがない。 -.TP -\fBENOTDIR\fP -\fIoldpath\fP か \fInewpath\fP に含まれているディレクトリ部分が 実際にはディレクトリでない。 または \fIoldpath\fP -がディレクトリで、 \fInewpath\fP が存在してディレクトリでない。 -.TP -\fBENOTEMPTY または EEXIST\fP -\fInewpath\fP が空でないディレクトリである。すなわち "." と ".." 以外を含んでいる。 -.TP -\fBEPERM\fP または \fBEACCES\fP -\fIoldpath\fP のあるディレクトリにスティッキービット (sticky bit) (\fBS_ISVTX\fP) が設定されており、 -プロセスの実効ユーザー ID が 削除しようとするファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID -のいずれとも一致せず、かつ プロセスに特権がない (Linux では \fBCAP_FOWNER\fP ケーパビリティ (capability) がない)。 -または、 \fInewpath\fP がすでに存在するファイルで、親ディレクトリにスティッキービットが設定されており、 プロセスの実効ユーザー ID が -置き換えようとするファイルのユーザー ID と そのファイルを含むディレクトリのユーザー ID のいずれとも一致せず、かつ プロセスに特権がない -(Linux では \fBCAP_FOWNER\fP ケーパビリティがない)。 または \fIoldpath\fP と \fInewpath\fP -が存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。 -.TP -\fBEROFS\fP -ファイルが読み込み専用のファイルシステムに存在する。 -.TP -\fBEXDEV\fP -\fIoldpath\fP と \fInewpath\fP が同じマウントされたファイルシステムに存在しない。 (Linux は 1 -つのファイルシステムを複数のマウント位置に マウントすることを許可している。 しかし \fBrename\fP() -は、たとえ同じファイルシステムであっても、 別々のマウント位置を跨いでは動作しない。) -.SH 準拠 -4.3BSD, C89, C99, POSIX.1\-2001. -.SH バグ -NFS ファイルシステムでは、操作が失敗したからといって、 ファイルの名前が変更できなかったと決めてかかることはできない。 サーバが rename -操作を終えてからクラッシュした場合、 サーバが再び立ち上がったときに、 再送信された RPC が処理されるが、これは失敗となる。 -アプリケーションはこの問題を正しく取り扱うことが期待されている。 同様の問題について \fBlink\fP(2) にも書かれている。 -.SH 関連項目 -\fBmv\fP(1), \fBchmod\fP(2), \fBlink\fP(2), \fBrenameat\fP(2), \fBsymlink\fP(2), -\fBunlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/renameat.2 b/draft/man2/renameat.2 index 48260153..45c4e545 100644 --- a/draft/man2/renameat.2 +++ b/draft/man2/renameat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -94,6 +93,6 @@ POSIX.1\-2008. .SH 関連項目 \fBopenat\fP(2), \fBrename\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/rmdir.2 b/draft/man2/rmdir.2 index a1c3eded..63629d6d 100644 --- a/draft/man2/rmdir.2 +++ b/draft/man2/rmdir.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt, Ian Jackson. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1997-01-31 by Eric S. Raymond @@ -98,6 +98,6 @@ NFS プロトコルに潜在している欠陥によって、まだ使用中の \fBrm\fP(1), \fBrmdir\fP(1), \fBchdir\fP(2), \fBchmod\fP(2), \fBmkdir\fP(2), \fBrename\fP(2), \fBunlink\fP(2), \fBunlinkat\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_get_priority_max.2 b/draft/man2/sched_get_priority_max.2 index 1408888e..591e7641 100644 --- a/draft/man2/sched_get_priority_max.2 +++ b/draft/man2/sched_get_priority_max.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1996-04-01 Tom Bjorkholm .\" First version written @@ -72,12 +71,14 @@ POSIX システムでは \fBsched_get_priority_max\fP() と \fBsched_get_priori .SH 準拠 POSIX.1\-2001. .SH 関連項目 +.ad l +.nh \fBsched_getaffinity\fP(2), \fBsched_getparam\fP(2) \fBsched_getscheduler\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setparam\fP(2), \fBsched_setscheduler\fP(2), .PP \fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly -& Associates, Inc., ISBN 1\-56592\-074\-0 +& Associates, Inc., ISBN 1\-56592\-074\-0. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_rr_get_interval.2 b/draft/man2/sched_rr_get_interval.2 index e8e4f497..04d4ea3b 100644 --- a/draft/man2/sched_rr_get_interval.2 +++ b/draft/man2/sched_rr_get_interval.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1996-04-01 Tom Bjorkholm .\" First version written @@ -108,8 +107,8 @@ POSIX ではラウンドロビン時間量の大きさを制御する仕組み がある。 .PP \fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly -& Associates, Inc., ISBN 1\-56592\-074\-0 +& Associates, Inc., ISBN 1\-56592\-074\-0. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_setaffinity.2 b/draft/man2/sched_setaffinity.2 deleted file mode 100644 index 4545c6c1..00000000 --- a/draft/man2/sched_setaffinity.2 +++ /dev/null @@ -1,135 +0,0 @@ -.\" man2/sched_setaffinity.2 - sched_setaffinity and sched_getaffinity man page -.\" -.\" Copyright (C) 2002 Robert Love -.\" and Copyright (C) 2006 Michael Kerrisk -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 2002-11-19 Robert Love - initial version -.\" 2004-04-20 mtk - fixed description of return value -.\" 2004-04-22 aeb - added glibc prototype history -.\" 2005-05-03 mtk - noted that sched_setaffinity may cause thread -.\" migration and that CPU affinity is a per-thread attribute. -.\" 2006-02-03 mtk -- Major rewrite -.\" 2008-11-12, mtk, removed CPU_*() macro descriptions to a -.\" separate CPU_SET(3) page. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SCHED_SETAFFINITY 2 2010\-11\-06 Linux "Linux Programmer's Manual" -.SH 名前 -sched_setaffinity, sched_getaffinity \- プロセスの CPU affinity マスクを設定・取得する -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint sched_setaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP -\fB cpu_set_t *\fP\fImask\fP\fB);\fP -.sp -\fBint sched_getaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP -\fB cpu_set_t *\fP\fImask\fP\fB);\fP -.fi -.SH 説明 -プロセスの CPU affinity (親和度) マスクは、そのプロセスが 実行を許可されている CPU の集合を決定する。 -マルチプロセッサ・システムでは、CPU affinity マスクを設定することで 性能上のメリットを得られる可能性がある。 -例えば、特定のプロセスを一つの CPU に括り付け (すなわち、そのプロセスの affinity マスクを一つの CPU に設定し)、 -他の全てのプロセスの affinity マスクからその CPU を除外することで、 確実にそのプロセスの実行速度を最大にすることができる。 -また、あるプロセスの実行を一つの CPU に限定することで、 一つの CPU での実行を停止してから別の CPU で実行を再開するときに発生する -キャッシュ無効化 (cache invalidation) による性能面の劣化を避けることもできる。 - -CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体で表現され、 \fIcpu_set_t\fP へのポインタ -\fImask\fP で指定される。 CPU 集合を操作するためのマクロ群については \fBCPU_SET\fP(3) で記載されている。 - -\fBsched_setaffinity\fP() は、プロセスID が \fIpid\fP のプロセスの CPU affinity マスクを \fImask\fP -で指定された値に設定する。 \fIpid\fP が 0 の場合、呼び出し元プロセスが使われる。 \fIcpusetsize\fP 引き数には \fImask\fP -が指すデータの長さ (バイト単位) である。 通常は、この引き数には \fIsizeof(cpu_set_t)\fP を指定すればよい。 - -\fIpid\fP で指定されたプロセスが \fImask\fP で指定された CPU のいずれかで現在実行されていない場合、 そのプロセスは \fImask\fP -で指定された CPU のいずれかに移動される。 - -\fBsched_getaffinity\fP() は、 プロセスID が \fIpid\fP のプロセスの affinity マスクを \fImask\fP が指す -\fIcpu_set_t\fP 構造体に書き込む。 \fIcpusetsize\fP 引き数には \fImask\fP の (バイト単位の) 大きさを指定する。 -.SH 返り値 -成功した場合、 \fBsched_setaffinity\fP() と \fBsched_getaffinity\fP() は 0 を返す。 エラーの場合は -\-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEFAULT\fP -指定されたメモリ番地が不正である。 -.TP -\fBEINVAL\fP -システム上に現在実際に存在し、かつ "cpuset" 機構が課す制限においてそのプロセスに対して許可されている プロセッサが、 affinity -ビットマスク \fImask\fP に含まれていない。 "cpuset" 機構については \fBcpuset\fP(7) を参照。 -.TP -\fBEINVAL\fP -(\fBsched_getaffinity\fP() と、カーネル 2.6.9 以前の \fBsched_setaffinity\fP()) -\fIcpusetsize\fP がカーネルで使われている affinity マスクのサイズより小さい。 -.TP -\fBEPERM\fP -(\fBsched_setaffinity\fP()) 呼び出し元のプロセスに適切な特権がなかった。 呼び出し元は、実効ユーザ ID が \fIpid\fP -で識別されるプロセスの実ユーザ ID または実効ユーザ ID と同じであるか、 \fBCAP_SYS_NICE\fP ケーパビリティ (capability) -を持たなければならない。 -.TP -\fBESRCH\fP -プロセス ID \fIpid\fP のプロセスが見つからなかった。 -.SH バージョン -CPU affinity システムコールは Linux kernel 2.5.8 で導入された。 これらのシステムコールのラッパー関数は glibc -2.3 で導入された。 最初は、glibc のインタフェースには \fIunsigned int\fP 型の \fIcpusetsize\fP 引き数が入っていた。 -glibc 2.3.3 では \fIcpusetsize\fP 引き数が削除されたが、glibc 2.3.4 で \fIsize_t\fP 型で復活した。 -.SH 準拠 -これらのシステムコールは Linux 固有である。 -.SH 注意 -\fBsched_setaffinity\fP() を呼び出した後は、プロセスが実際に実行される CPU の集合は、 \fImask\fP -引き数で指定された集合と、システム上に実際に存在する CPU の集合の 共通集合 (AND) となる。 "cpuset" -機構が使用されている場合には、プロセスが動作する CPU 集合 に対してシステムはさらに制限を加えるかもしれない ("cpuset" 機構については -\fBcpuset\fP(7) を参照)。 プロセスが動作する実際の CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。 - -\fBsched_setscheduler\fP(2) に Linux のスケジューリング方式についての説明 -がある。 -.PP -実際には affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド単位に独立して調整することができる。 \fBgettid\fP(2) -コールからの返り値をこのコールの \fIpid\fP 引き数として渡すことができる。 \fIpid\fP に 0 を指定すると呼び出し元のスレッドの属性が設定され、 -\fBgetpid\fP(2) コールからの返り値を \fIpid\fP に指定するとスレッドグループのメインスレッドの属性が設定される (POSIX スレッド -API を使用している場合、 \fBsched_setaffinity\fP() の代わりに \fBpthread_setaffinity_np\fP(3) -を使用すること)。 - -\fBfork\fP(2) 経由で生成された子プロセスは親プロセスの CPU affinity マスクを継承する。 affinity マスクは -\fBexecve\fP(2) の前後で保存される。 - -このマニュアルページでは CPU affinity コールの glibc インタフェースを -説明している。実際のシステムコール・インタフェースは少し違っており、 実際の実装では CPU 集合は簡単なビットマスクであるという実状を反映し、 -\fImask\fP の型が \fIunsigned long *\fP となっている。 成功時には、生の \fBsched_getaffinity\fP() -システムコール自身は \fIcpumask_t\fP データ型の (バイト単位の) 大きさを返す。 \fIcpumask_t\fP はカーネル内部で CPU -集合のビットマスクを表現するのに 使われているデータ型である。 -.SH 関連項目 -\fBclone\fP(2), \fBgetcpu\fP(2), \fBgetpriority\fP(2), \fBgettid\fP(2), \fBnice\fP(2), -\fBsched_get_priority_max\fP(2), \fBsched_get_priority_min\fP(2), -\fBsched_getscheduler\fP(2), \fBsched_setscheduler\fP(2), \fBsetpriority\fP(2), -\fBCPU_SET\fP(3), \fBpthread_setaffinity_np\fP(3), \fBsched_getcpu\fP(3), -\fBcapabilities\fP(7), \fBcpuset\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_setparam.2 b/draft/man2/sched_setparam.2 deleted file mode 100644 index c7acae5a..00000000 --- a/draft/man2/sched_setparam.2 +++ /dev/null @@ -1,96 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 1996-04-01 Tom Bjorkholm -.\" First version written -.\" 1996-04-10 Markus Kuhn -.\" revision -.\" Modified 2004-05-27 by Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SCHED_SETPARAM 2 2006\-03\-23 Linux "Linux Programmer's Manual" -.SH 名前 -sched_setparam, sched_getparam \- スケジューリング・パラメータの設定と取得を行なう -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sched_setparam(pid_t \fP\fIpid\fP\fB, const struct sched_param *\fP\fIparam\fP\fB);\fP -.sp -\fBint sched_getparam(pid_t \fP\fIpid\fP\fB, struct sched_param *\fP\fIparam\fP\fB);\fP -.sp -\fBstruct sched_param { - ... - int \fP\fIsched_priority\fP\fB; - ... -};\fP -.fi -.SH 説明 -\fBsched_setparam\fP() は \fIpid\fP で指定されたプロセスのスケジューリング方針 (scheduling policy) に -関連するスケジューリング・パラメータを設定する。 \fIpid\fP が 0 ならば、呼び出し元のプロセスのパラメータが設定される。 引き数 \fIparam\fP -の解釈は、 \fIpid\fP で指定されたプロセスのスケジューリング方針によって異なる。 Linux でサポートされているスケジューリング方針の説明は -\fBsched_setscheduler\fP(2) を参照のこと。 - -\fBsched_getparam\fP() は \fIpid\fP で指定されたプロセスのスケジューリング・パラメータを取得する。 \fIpid\fP が 0 -ならば、呼び出し元のプロセスのパラメータを取得する。 - -\fBsched_setparam\fP() はプロセスのスケジューリング方針における \fIparam\fP の妥当性をチェックする。 -\fIparam\->sched_priority\fP の値は \fBsched_get_priority_min\fP(2) と -\fBsched_get_priority_max\fP(2) の範囲に入っていなければならない。 - -スケジューリングの優先度と方針に関連する特権とリソース制限の 議論に関しては \fBsched_setscheduler\fP(2) を参照のこと。 - -\fBsched_setparam\fP() と \fBsched_getparam\fP() が使用できる POSIX システムでは、 -\fI\fP に \fB_POSIX_PRIORITY_SCHEDULING\fP が定義されている。 -.SH 返り値 -成功した場合は \fBsched_setparam\fP() と \fBsched_getparam\fP() は 0 を返す。 エラーの場合は \-1 -が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -引き数 \fIparam\fP が現在のスケジューリング方針においては 無意味である。 -.TP -\fBEPERM\fP -呼び出し元のプロセスが適切な特権を持っていない (Linux では、 \fBCAP_SYS_NICE\fP ケーパビリティを持っていない)。 -.TP -\fBESRCH\fP -プロセス ID \fIpid\fP のプロセスが見つからなかった。 -.SH 準拠 -POSIX.1\-2001. -.SH 関連項目 -\fBgetpriority\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2), -\fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2), -\fBsched_getscheduler\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setscheduler\fP(2), -\fBsetpriority\fP(2), \fBcapabilities\fP(7) -.PP -\fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly -& Associates, Inc., ISBN 1\-56592\-074\-0 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_setscheduler.2 b/draft/man2/sched_setscheduler.2 deleted file mode 100644 index 0b6e3216..00000000 --- a/draft/man2/sched_setscheduler.2 +++ /dev/null @@ -1,338 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) Tom Bjorkholm, Markus Kuhn & David A. Wheeler 1996-1999 -.\" and Copyright (C) 2007 Carsten Emde -.\" and Copyright (C) 2008 Michael Kerrisk -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 1996-04-01 Tom Bjorkholm -.\" First version written -.\" 1996-04-10 Markus Kuhn -.\" revision -.\" 1999-08-18 David A. Wheeler added Note. -.\" Modified, 25 Jun 2002, Michael Kerrisk -.\" Corrected description of queue placement by sched_setparam() and -.\" sched_setscheduler() -.\" A couple of grammar clean-ups -.\" Modified 2004-05-27 by Michael Kerrisk -.\" 2005-03-23, mtk, Added description of SCHED_BATCH. -.\" 2007-07-10, Carsten Emde -.\" Add text on real-time features that are currently being -.\" added to the mainline kernel. -.\" 2008-05-07, mtk; Rewrote and restructured various parts of the page to -.\" improve readability. -.\" 2010-06-19, mtk, documented SCHED_RESET_ON_FORK -.\" -.\" Worth looking at: http://rt.wiki.kernel.org/index.php -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SCHED_SETSCHEDULER 2 2011\-09\-19 Linux "Linux Programmer's Manual" -.SH 名前 -sched_setscheduler, sched_getscheduler \- スケジューリング・ポリシーとパラメータを設定/取得する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sched_setscheduler(pid_t \fP\fIpid\fP\fB, int \fP\fIpolicy\fP\fB,\fP -.br -\fB const struct sched_param *\fP\fIparam\fP\fB);\fP -.sp -\fBint sched_getscheduler(pid_t \fP\fIpid\fP\fB);\fP -.sp -\fBstruct sched_param { - ... - int \fP\fIsched_priority\fP\fB; - ... -};\fP -.fi -.SH 説明 -\fBsched_setscheduler\fP() は \fIpid\fP で指定された ID を持つプロセスのスケジューリング・ポリシーや -それに関連するパラメータを設定する。\fIpid\fP が 0 の場合は 呼び出したプロセスのスケジューリング・ポリシーとパラメータが設定される。 引き数 -\fIparam\fP の解釈は選択されたポリシーによる。 現在のところ、Linux では 以下に示す「通常」(リアルタイムでない) -スケジューリング・ポリシーが サポートされている。 -.TP 14 -\fBSCHED_OTHER\fP -.\" In the 2.6 kernel sources, SCHED_OTHER is actually called -.\" SCHED_NORMAL. -標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。 -.TP -\fBSCHED_BATCH\fP -「バッチ」形式でのプロセスの実行用。 -.TP -\fBSCHED_IDLE\fP -「非常に」低い優先度で動作するバックグラウンド・ジョブ用。 -.PP -どの実行可能プロセスを選択するかについて、より正確な制御を必要とする 時間の制約が厳しい特別なアプリケーション用として、 -以下の「リアルタイム」ポリシーもサポートされている。 -.TP 14 -\fBSCHED_FIFO\fP -ファーストイン、ファーストアウト型のポリシー。 -.TP -\fBSCHED_RR\fP -ラウンドロビン型のポリシー。 -.PP -これらのポリシーのそれぞれの動作については以下で説明する。 - -.\" -\fBsched_getscheduler\fP() は \fIpid\fP で識別されるプロセスに現在適用されている -スケジューリング・ポリシーを尋ねる。\fIpid\fP が 0 ならば、呼び出した プロセス自身のスケジューリング・ポリシーが返される。 -.SS "スケジューリング・ポリシー (scheduling policy)" -スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行可能なプロセスを決定するものである。 -各々のプロセスには、スケジューリング・ポリシーと 「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられ、 これらの設定は -\fBsched_setscheduler\fP() で変更できる。 スケジューラは、システム上の全プロセスのスケジューリング・ポリシーと -静的優先度に関する知識に基づいて決定を行う。 - -通常のスケジューリング・ポリシー (\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP) -の下でスケジューリングされるプロセスでは、 \fIsched_priority\fP はスケジューリングの決定に使用されない -(\fIsched_priority\fP には 0 を指定しなければならない)。 - -リアルタイム・スケジューリング・ポリシー (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP) の下でスケジューリングされるプロセスは、 -\fIsched_priority\fP の値は 1 (最低) から 99 (最高) の範囲となる -(数字から分かるように、リアルタイム・プロセスは常に通常のプロセスよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1\-2001 -が要求しているのは、 リアルタイム・ポリシーの実装において最低 32 種類の異なる優先度レベルが -サポートされることだけであり、いくつかのシステムではこの最低限の数の 優先度しか提供されていない、ということである。 移植性が必要なプログラムでは、 -\fBsched_get_priority_min\fP(2) と \fBsched_get_priority_max\fP(2) -を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。 - -概念としては、 スケジューラはその \fIsched_priority\fP の値それぞれに対して 実行可能なプロセスのリストを管理している。 -どのプロセスを次に実行するかを決定するために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリストの先頭のプロセスを選択する。 - -各プロセスのスケジューリング・ポリシーは、 そのプロセスが同じ静的優先度を持つプロセスのリストの中のどこに挿入され、 -このリストの中をどのように移動するかを決定する。 - -全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度のプロセスが実行可能になると、現在実行中のプロセスは実行権を -取り上げられ (preempted)、そのプロセスの静的優先度レベルの待ちリストに 戻される。スケジューリング・ポリシーは同じ静的優先度を持つ実行可能な -プロセスのリストの中で順番のみを決定する。 -.SS "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング" -\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 \fBSCHED_FIFO\fP -プロセスが実行可能になった場合、 そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の -現在実行中のプロセスは直ちに実行権を取り上げられる。 \fBSCHED_FIFO\fP は時分割のない単純なスケジューリング・アルゴリズムである。 -\fBSCHED_FIFO\fP ポリシーでスケジューリングされているプロセスには以下の ルールが適用される: -.IP * 3 -より高い優先度の他のプロセスによって取って代わられた \fBSCHED_FIFO\fP プロセスはその優先度のリストの先頭に留まり続け、 -より高い優先度のプロセス全てが停止 (block) した場合に実行を再開する。 -.IP * -\fBSCHED_FIFO\fP プロセスが実行可能になった時、その優先度のリストの最後 に挿入される。 -.IP * -.\" In 2.2.x and 2.4.x, the process is placed at the front of the queue -.\" In 2.0.x, the Right Thing happened: the process went to the back -- MTK -\fBsched_setscheduler\fP() や \fBsched_setparam\fP(2) は \fIpid\fP で指定された -\fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) プロセスが 実行可能な場合、リストの最初に置く。 -結果として、もし優先度が同じだった場合、 現在実行中のプロセスに先んじるかもしれない。 (POSIX.1\-2001 -ではプロセスはリストの最後に行くべきと規定されている。) -.IP * -\fBsched_yield\fP(2) を呼び出したプロセスはリストの最後に置かれる。 -.PP -その他のイベントによって \fBSCHED_FIFO\fP ポリシーで スケジューリングされるプロセスが同じ優先度の実行可能な -プロセスの待ちリストの中を移動することはない。 - -\fBSCHED_FIFO\fP プロセスは I/O 要求によって停止するか、 より高い優先度のプロセスによって置きかえられるか、 -\fBsched_yield\fP(2) を呼び出すまで実行を続ける。 -.SS "SCHED_RR: ラウンドロビン (round robin) ・スケジューリング" -.\" On Linux 2.4, the length of the RR interval is influenced -.\" by the process nice value -- MTK -.\" -\fBSCHED_RR\fP は \fBSCHED_FIFO\fP の単純な拡張である。 上述された -\fBSCHED_FIFO\fP に関する記述は全て \fBSCHED_RR\fP に 適用できる。異なるのは -それぞれのプロセスは最大時間単位までしか実行できない ということである。 -\fBSCHED_RR\fP プロセスが時間単位と同じかそれより 長い時間実行されると、 -その優先度のリストの最後に置かれる。 より高い優先度のプロセスによって -置きかえられ、その後実行を再開した \fBSCHED_RR\fP プロセスは、そのラウンド -ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは -\fBsched_rr_get_interval\fP(2) を使って取得できる。 -.SS "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング" -.\" -\fBSCHED_OTHER\fP は静的優先度 0 でのみ使用できる。 \fBSCHED_OTHER\fP は Linux 標準の時分割スケジューラで、 -特別なリアルタイム機構を必要としていない全てのプロセスで使用される。 実行するプロセスは、静的優先度 0 のリストから、このリストの中だけで -決定される「動的な」優先度 (dynamic priority) に基いて決定される。 動的な優先度は (\fBnice\fP(2) や -\fBsetpriority\fP(2) により設定される) nice 値に基づいて決定されるもので、 -単位時間毎に、プロセスが実行可能だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 これにより、全ての \fBSCHED_OTHER\fP -プロセスでの公平性が保証される。 -.SS "SCHED_BATCH: バッチプロセスのスケジューリング" -(Linux 2.6.16 以降) \fBSCHED_BATCH\fP は静的優先度 0 でのみ使用できる。 このポリシーは (nice 値に基づく) -動的な優先度にしたがってプロセスの スケジューリングが行われるという点で、\fBSCHED_OTHER\fP に似ている。 -異なるのは、このポリシーでは、プロセスが常に CPU に負荷のかかる (CPU\-intensive) 処理を行うと、スケジューラが仮定する点である。 -スケジューラはプロセスを呼び起こす毎にそのプロセスにスケジューリング上の ペナルティを少し課し、その結果、このプロセスはスケジューリングの決定で -若干冷遇されるようになる。 - -.\" The following paragraph is drawn largely from the text that -.\" accompanied Ingo Molnar's patch for the implementation of -.\" SCHED_BATCH. -.\" -このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで -確定的な (deterministic) スケジューリング・ポリシーを適用したい処理に 対して有効である。 -.SS "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング" -(Linux 2.6.23 以降) \fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。 このポリシーではプロセスの nice -値はスケジューリングに影響を与えない。 - -.\" -非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度とは、ポリシー \fBSCHED_OTHER\fP か \fBSCHED_BATCH\fP -での nice 値 +19 よりさらに低い優先度である)。 -.SS 子プロセスでのスケジューリング・ポリシーのリセット -Linux 2.6.32 以降では、 \fBsched_setscheduler\fP() を呼び出す際に \fIpolicy\fP に -\fBSCHED_RESET_ON_FORK\fP フラグを OR で指定できる。このフラグが指定されると、 \fBfork\fP(2) -で作成された子プロセスは特権が必要なスケジューリング・ポリシーを継承しない。この機能はメディア再生を行うアプリケーションを想定して作られ、この機能を使うことで、アプリケーションが複数の子プロセスを作成することで -\fBRLIMIT_RTTIME\fP リソース上限 (\fBgetrlimit\fP(2) 参照) を回避するのを防ぐことができる。 - -より正確には、 \fBSCHED_RESET_ON_FORK\fP フラグが指定された場合、それ以降に作成される子プロセスに以下のルールが適用される。 -.IP * 3 -呼び出したプロセスのスケジューリング・ポリシーが \fBSCHED_FIFO\fP か \fBSCHED_RR\fP の場合、子プロセスのポリシーは -\fBSCHED_OTHER\fP にリセットされる。 -.IP * -子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセットされる。 -.PP -一度 \fBSCHED_RESET_ON_FORK\fP フラグが有効にされた後は、このフラグをリセットできるのは、プロセスが \fBCAP_SYS_NICE\fP -ケーパビリティを持つ場合だけである。このフラグは \fBfork\fP(2) で作成された子プロセスでは無効になる。 - -.\" -\fBSCHED_RESET_ON_FORK\fP フラグは、 \fBsched_getscheduler\fP() が返すポリシー値で参照できる。 -.SS 特権とリソース制限 -2.6.12 より前のバージョンの Linux カーネルでは、 特権プロセス (\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセス) だけが -0 以外の静的優先度を設定する (すなわち、リアルタイム・スケジューリング・ポリシーを設定する) ことができる。 非特権プロセスができる変更は -\fBSCHED_OTHER\fP ポリシーを設定することだけであり、さらにこの変更を行えるのは \fBsched_setscheduler\fP() -の呼び出し元の実効ユーザ ID がポリシーの変更対象プロセス (\fIpid\fP で指定されたプロセス) の実ユーザ ID か実効ユーザ ID と -一致する場合だけである。 - -Linux 2.6.12 以降では、リソース制限 \fBRLIMIT_RTPRIO\fP が定義されており、 スケジューリング・ポリシーが -\fBSCHED_RR\fP と \fBSCHED_FIFO\fP の場合の、非特権プロセスの静的優先度の上限を定めている。 -スケジューリング・ポリシーと優先度を変更する際のルールは以下の通りである。 -.IP * 3 -非特権プロセスに 0 以外の \fBRLIMIT_RTPRIO\fP ソフト・リミットが設定されている場合、 -非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を 変更できるが、優先度を現在の自身の優先度と \fBRLIMIT_RTPRIO\fP -ソフト・リミットの大きい方よりも高い値に設定できないという制限が課される。 -.IP * -\fBRLIMIT_RTPRIO\fP ソフト・リミットが 0 の場合、優先度を下げるか、 リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。 -.IP * -ある非特権プロセスが別のプロセスに対してこれらの変更を行う際にも、 同じルールが適用される。変更を行えるのは、変更を行おうとするプロセス の実効ユーザ -ID が変更対象のプロセスの実ユーザ ID か実効ユーザ ID と 一致している場合に限られる。 -.IP * -.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8 -\fBSCHED_IDLE\fP の場合には特別なルールが適用される。 2.6.39 より前の Linux -カーネルでは、このポリシーで動作する非特権プロセスは、 \fBRLIMIT_RTPRIO\fP -リソース上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 以降の Linux カーネルでは、非特権プロセスは、自分の nice -値が \fBRLIMIT_NICE\fP リソース上限 (\fBgetrlimit\fP(2) 参照) -で許可された範囲である限りは、自分のスケジューリング・ポリシーを \fBSCHED_BATCH\fP か \fBSCHED_NORMAL\fP -ポリシーに切り替えることができる。 -.PP -特権プロセス (\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセス) の場合、 \fBRLIMIT_RTPRIO\fP の制限は無視される; -古いカーネルと同じように、スケジューリング・ポリシーと優先度に対し 任意の変更を行うことができる。 \fBRLIMIT_RTPRIO\fP -に関するもっと詳しい情報は \fBgetrlimit\fP(2) を参照のこと。 -.SS "応答時間 (response time)" -.\" as described in -.\" .BR request_irq (9). -I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる 前にいくらかの応答時間がかかる。デバイス・ドライバーを書く場合には -"slow interrupt" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることができる。 -.SS その他 -子プロセスは \fBfork\fP(2) の際に親プロセスのスケジューリング・ポリシーとパラメータを継承する。 \fBexecve\fP(2) -の前後で、スケジューリング・ポリシーとパラメータは保持される。 - -リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために \fBmlock\fP(2) や \fBmlockall\fP(2) -を使ってメモリ・ロックをしなければならない。 - -\fBSCHED_FIFO\fP や \fBSCHED_RR\fP でスケジューリングされる プロセスが停止せずに無限ループに陥ると、 -他の全てのより低い優先度のプロセスを永久に停止 (block) させてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストする -アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止したり終了したりしないリアルタイム・ -アプリケーションを緊急終了させることが可能になる。 \fBgetrlimit\fP(2) のリソース制限 \fBRLIMIT_RTTIME\fP -の説明も参照のこと。 - -POSIX システムでは \fI\fP に \fB_POSIX_PRIORITY_SCHEDULING\fP -が定義されている場合にのみ \fBsched_setscheduler\fP() と \fBsched_getscheduler\fP() が使用できる。 -.SH 返り値 -成功した場合、 \fBsched_setscheduler\fP() は 0 を返す。 成功した場合、 \fBsched_getscheduler\fP() -は現在のそのプロセスのポリシー (非負の整数) を返す。 エラーの場合、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -スケジューリング・ポリシー \fIpolicy\fP が間違っている。 -または \fIparam\fP が NULL である。 -または \fIparam\fP がそのポリシーでは意味をなさない。 -.TP -\fBEPERM\fP -呼び出したプロセスが適切な特権を持っていない。 -.TP -\fBESRCH\fP -プロセス ID \fIpid\fP のプロセスが見つからなかった。 -.SH 準拠 -POSIX.1\-2001 (但し、下記のバグの節も参照)。 \fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux -固有である。 -.SH 注意 -POSIX.1 は、非特権プロセスが \fBsched_setscheduler\fP() を呼び出すために必要な権限の詳細を規定しておらず、 -詳細はシステムにより異なる。 例えば、Solaris 7 のマニュアルページでは、 呼び出し元プロセスの実ユーザ ID または実効ユーザ ID が -設定対象のプロセスの実ユーザ ID か保存 (save) set\-user\-ID と 一致していなければならない、となっている。 -.PP -もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計されており、バックグラウンド・プロセスや対話的アプリケーション、 -リアルタイム性の要求が厳しくないリアルタイム・アプリケーション (普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション) -を扱うことができた。 Linux カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換え) が可能であり、 新たに導入された O(1) -スケジューラにより、 アクティブなタスクの数に関わらずスケジューリングに必要な時間は 固定で確定的 (deterministic) -であることが保証されている。 それにも関わらず、カーネル 2.6.17 までは 真のリアルタイム・コンピューティングは実現できなかった。 -.SS "本流の Linux カーネルでのリアルタイム機能" -.\" FIXME . Probably this text will need some minor tweaking -.\" by about the time of 2.6.30; ask Carsten Emde about this then. -カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ -あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner, -Steven Rostedt らによって開発された、 以前の \fIrealtime\-preempt\fP パッチ -からのものである。 これらのパッチが本流のカーネルに完全にマージされるま -では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム -性能を達成するには realtime\-preempt パッチを 組み込まなければならない。 -これらのパッチは -.in +4n -.nf - -patch\-\fIkernelversion\fP\-rt\fIpatchversion\fP -.fi -.in -.PP -という名前で、 \fIhttp://www.kernel.org/pub/linux/kernel/projects/rt/\fP からダウンロードできる。 - -このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了するまでは、カーネルの設定では \fBCONFIG_PREEMPT_NONE\fP, -\fBCONFIG_PREEMPT_VOLUNTARY\fP, \fBCONFIG_PREEMPT_DESKTOP\fP の 3つのプリエンプション・クラス -(preemption class) だけが提供される。 これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ -全く減らない、いくらか減る、かなり減る。 - -パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了した後では、上記に加えて設定項目として -\fBCONFIG_PREEMPT_RT\fP が利用可能になる。この項目を選択すると、 Linux -は通常のリアルタイム・オペレーティングシステムに変身する。 この場合には、 \fBsched_setscheduler\fP() で選択できる FIFO と -RR のスケジューリング・ポリシーは、 真のリアルタイム優先度を持つプロセスを最悪の場合のスケジューリング遅延が -最小となる環境で動作させるために使われることになる。 -.SH バグ -POSIX では、成功時に \fBsched_setscheduler\fP() は直前のスケジューリング・ポリシーを返すべきとされている。 Linux の -\fBsched_setscheduler\fP() はこの要求仕様に準拠しておらず、 成功時には常に 0 を返す。 -.SH 関連項目 -\fBgetpriority\fP(2), \fBmlock\fP(2), \fBmlockall\fP(2), \fBmunlock\fP(2), -\fBmunlockall\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2), -\fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2), \fBsched_getparam\fP(2), -\fBsched_rr_get_interval\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setparam\fP(2), -\fBsched_yield\fP(2), \fBsetpriority\fP(2), \fBcapabilities\fP(7), \fBcpuset\fP(7) -.PP -\fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly -& Associates, Inc., ISBN 1\-56592\-074\-0 -.PP -カーネル・ソース内のファイル \fIDocumentation/scheduler/sched\-rt\-group.txt\fP (カーネル 2.6.25 -以降) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sched_yield.2 b/draft/man2/sched_yield.2 index 00136aef..f0ba9a96 100644 --- a/draft/man2/sched_yield.2 +++ b/draft/man2/sched_yield.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Tom Bjorkholm & Markus Kuhn, 1996 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1996-04-01 Tom Bjorkholm .\" First version written @@ -61,11 +60,11 @@ POSIX システムで \fBsched_yield\fP() は \fI\fP に で呼び出したりするのは避けること。なぜなら、 \fBsched_yield\fP() の呼び出しより不必要なコンテキストスイッチが起こり、システム性能が 劣化する結果になるからである。 .SH 関連項目 -Linux のスケージュリング(scheduling)については \fBsched_setscheduler\fP(2) を参照せよ。 +Linux のスケージュリング (scheduling) については \fBsched_setscheduler\fP(2) を参照。 .PP \fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly -& Associates, Inc., ISBN 1\-56592\-074\-0 +& Associates, Inc., ISBN 1\-56592\-074\-0. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/select.2 b/draft/man2/select.2 deleted file mode 100644 index 6d934fd7..00000000 --- a/draft/man2/select.2 +++ /dev/null @@ -1,346 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is copyright (C) 1992 Drew Eckhardt, -.\" copyright (C) 1995 Michael Shields. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1995-05-18 by Jim Van Zandt -.\" Sun Feb 11 14:07:00 MET 1996 Martin Schulze -.\" * layout slightly modified -.\" -.\" Modified Mon Oct 21 23:05:29 EDT 1996 by Eric S. Raymond -.\" Modified Thu Feb 24 01:41:09 CET 2000 by aeb -.\" Modified Thu Feb 9 22:32:09 CET 2001 by bert hubert , aeb -.\" Modified Mon Nov 11 14:35:00 PST 2002 by Ben Woodard -.\" 2005-03-11, mtk, modified pselect() text (it is now a system -.\" call in 2.6.16. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SELECT 2 2012\-05\-02 Linux "Linux Programmer's Manual" -.SH 名前 -select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO \- 同期 I/O の多重化 -.SH 書式 -.nf -/* POSIX.1\-2001 に従う場合 */ -.br -\fB#include \fP -.sp -/* 以前の規格に従う場合 */ -.br -\fB#include \fP -.br -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint select(int \fP\fInfds\fP\fB, fd_set *\fP\fIreadfds\fP\fB, fd_set *\fP\fIwritefds\fP\fB,\fP -\fB fd_set *\fP\fIexceptfds\fP\fB, struct timeval *\fP\fItimeout\fP\fB);\fP -.sp -\fBvoid FD_CLR(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBint FD_ISSET(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBvoid FD_SET(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBvoid FD_ZERO(fd_set *\fP\fIset\fP\fB);\fP -.sp -\fB#include \fP -.sp -\fBint pselect(int \fP\fInfds\fP\fB, fd_set *\fP\fIreadfds\fP\fB, fd_set *\fP\fIwritefds\fP\fB,\fP -\fB fd_set *\fP\fIexceptfds\fP\fB, const struct timespec *\fP\fItimeout\fP\fB,\fP -\fB const sigset_t *\fP\fIsigmask\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBpselect\fP(): _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600 -.SH 説明 -\fBselect\fP() や \fBpselect\fP() を使うと、プログラムで複数のファイルディスクリプタを監視し、 -一つ以上のファイルディスクリプタがある種の I/O 操作の 「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) -になるまで待つことができる。 ファイルディスクリプタが ready (準備ができた) とは、 対応する I/O 操作 (例えば \fBread\fP(2) -など) が停止 (block) なしに実行可能な状態にあることを意味する。 -.PP -\fBselect\fP() と \fBpselect\fP() の動作は同じであるが、以下の 3 点が異なる: -.TP -(i) -\fBselect\fP() では、タイムアウト時間の指定に構造体 \fIstruct timeval\fP (秒・マイクロ秒単位) を用いる。 一方、 -\fBpselect\fP() 関数では、構造体 \fIstruct timespec\fP (秒・ナノ秒単位) を用いる。 -.TP -(ii) -\fBselect\fP() は残り時間を示す \fItimeout\fP 引き数を更新することがある。 \fBpselect\fP() はこの引き数を変更しない。 -.TP -(iii) -\fBselect\fP() は \fIsigmask\fP 引き数を持たない。その動作は \fIsigmask\fP に NULL を指定した場合の -\fBpselect\fP() と同じである。 -.PP -3 つの独立したファイルディスクリプタ集合の監視を行う。 \fIreadfds\fP に入れられたディスクリプタについては、読み込みが可能かどうかを 監視する -(より正確にいうと、停止 (block) なしで読むことができるかを 調べる。ファイルの終端 (end\-of\-file) の場合も、 -ファイルディスクリプタは読み込み可能として扱われる)。 \fIwritefds\fP に入れられたディスクリプタについては、停止せずに書き込みが -可能かどうかを監視する。 \fIexceptfds\fP にあるものについては、例外の監視を行なう。システムコール終了時に、 -どのファイルディスクリプタの状態が実際に変化したか示すために、 集合の内容が変更される。 -ある種別のイベントを監視したいファイルディスクリプタが一つもない場合には、 対応するファイルディスクリプタ集合に NULL を指定することができる。 -.PP -集合を操作するために 4 つのマクロが提供されている。 \fBFD_ZERO\fP() は集合を消去する。 \fBFD_SET\fP() と -\fBFD_CLR\fP() はそれぞれ指定したファイルディスクリプタの集合への追加、削除を行う。 \fBFD_ISSET\fP() -は集合にファイルディスクリプタがあるかどうか調べる; このマクロは \fBselect\fP() が終了した後に使うと便利である。 -.PP -\fInfds\fP は 3 つの集合に含まれるファイルディスクリプタの最大値に 1 を足したものである。 -.PP -\fItimeout\fP 引き数で、ファイルディスクリプタが ready になるのを待って -\fBselect\fP() が停止する最小の停止時間を指定する -(この停止時間はシステムクロックの粒度に切り上げられ、 -カーネルのスケジューリング遅延により少しだけ長くなる可能性がある)。 -\fItimeval\fP 構造体の両方のフィールドが 0 の場合、 \fBselect\fP() はすぐに復 -帰する (この機能はポーリング (polling) を行うのに便利である)。 -\fItimeout\fP に NULL (タイムアウトなし) が指定されると、 \fBselect\fP() は無 -期限に停止 (block) する。 -.PP -\fIsigmask\fP は、シグナルマスク (\fBsigprocmask\fP(2) を参照) へのポインタである。 \fIsigmask\fP が NULL -でない場合、 \fBpselect\fP() は \fIsigmask\fP が指しているシグナルマスクで現在のシグナルマスクを置き換えてから、 "select" -関数を実行し、 終了後にシグナルマスクを元のシグナルマスクに戻す。 -.PP -\fItimeout\fP 引き数の精度の違いを除くと、以下の \fBpselect\fP() の呼び出しは、 -.nf - - ready = pselect(nfds, &readfds, &writefds, &exceptfds, - timeout, &sigmask); - -.fi -次のコールを \fIatomic\fP に実行するのと等価である。 -.nf - - sigset_t origmask; - - sigprocmask(SIG_SETMASK, &sigmask, &origmask); - ready = select(nfds, &readfds, &writefds, &exceptfds, timeout); - sigprocmask(SIG_SETMASK, &origmask, NULL); -.fi -.PP -\fBpselect\fP() が必要になる理由は、シグナルやファイルディスクリプタの状態変化を 待ちたいときには、競合状態を避けるために atomic -なテストが必要になる からである。 (シグナルハンドラが大域フラグを設定して戻る場合を考えてみよう。 この大域フラグのテストに続けて -\fBselect\fP() を呼び出すと、 シグナルがテストの直後かつ呼び出しの直前に届いた時には \fBselect\fP() -は永久にハングしてしまうかもしれない。 一方、 \fBpselect\fP() を使うと、まずシグナルを禁止 (block) -して、入ってくるシグナルを操作し、 望みの \fIsigmask\fP で \fBpselect\fP() を呼び出すことで、前記の競合を避けることができる。) -.SS タイムアウト -これらの関数で使用される時間関連の構造体は、 \fI\fP で - -.in +4n -.nf -struct timeval { - long tv_sec; /* 秒 */ - long tv_usec; /* マイクロ秒 */ -}; -.fi -.in - -や - -.in +4n -.nf -struct timespec { - long tv_sec; /* 秒 */ - long tv_nsec; /* ナノ秒 */ -}; -.fi -.in - -のように定義されている。 (POSIX.1\-2001 での定義については下記の「注意」を参照) -.PP -秒単位以下の精度でスリープを実現する 移植性の高い方法として、 3 つの集合全てを空、 \fInfds\fP を 0 、 \fItimeout\fP を NULL -でない値に設定して \fBselect\fP() を呼び出すという方法を使っているコードもある。 -.PP -.\" .PP - it is rumored that: -.\" On BSD, when a timeout occurs, the file descriptor bits are not changed. -.\" - it is certainly true that: -.\" Linux follows SUSv2 and sets the bit masks to zero upon a timeout. -Linux では、 \fBselect\fP() は \fItimeout\fP を変更し、残りの停止時間を反映するようになっているが、 -他のほとんどの実装ではこのようになっていない (POSIX.1\-2001 はどちらの動作も認めている)。 このため、 \fItimeout\fP -を参照している Linux のコードを他のオペレーティング・システムへ 移植する場合、問題が起こる。 また、ループの中で \fItimeval\fP -構造体を初期化せずにそのまま再利用して \fBselect\fP() を複数回行なっているコードを Linux へ移植する場合にも、問題が起こる。 -\fBselect\fP() から復帰した後は \fItimeout\fP は未定義であると考えるべきである。 -.SH 返り値 -成功した場合、 \fBselect\fP() と \fBpselect\fP() は更新された 3 つのディスクリプタ集合に含まれている -ファイルディスクリプタの数 (つまり、 \fIreadfds\fP, \fIwritefds\fP, \fIexceptfds\fP 中の 1 になっているビットの総数) -を返す。 何も起こらずに時間切れになった場合、 ディスクリプタの数は 0 になることもある。 エラーならば \-1 を返し、 \fIerrno\fP -に適切な値が設定される; 集合と \fItimeout\fP は未定義となるので、エラーが起こった後はそれらの内容を信頼してはならない。 -.SH エラー -.TP -\fBEBADF\fP -いずれかの集合に無効なファイルディスクリプタが指定された (おそらくは、すでにクローズされたファイルディスクリプタか、 -エラーが発生したファイルディスクリプタが指定された)。 -.TP -\fBEINTR\fP -シグナルを受信した。 -.TP -\fBEINVAL\fP -\fIn\fP が負、または \fItimeout\fP に入っている値が不正である。 -.TP -\fBENOMEM\fP -内部テーブルにメモリを割り当てることができなかった。 -.SH バージョン -\fBpselect\fP() はカーネル 2.6.16 で Linux に追加された。 それ以前は、 \fBpselect\fP() は glibc -でエミュレートされていた (「バグ」の章を参照)。 -.SH 準拠 -\fBselect\fP() は POSIX.1\-2001 と 4.4BSD (\fBselect\fP() は 4.2BSD で最初に登場した) に準拠する。 -BSD ソケット層のクローンをサポートしている非 BSD システム (System V 系も含む) との間でだいたい移植性がある。しかし System -V 系では たいがい timeout 変数を exit の前にセットするが、 BSD 系ではそうでないので注意すること。 -.PP -\fBpselect\fP() は POSIX.1g と POSIX.1\-2001 で定義されている。 -.SH 注意 -\fIfd_set\fP は固定サイズのバッファである。 負や \fBFD_SETSIZE\fP 以上の値を持つ \fIfd\fP に対して \fBFD_CLR\fP() や -\fBFD_SET\fP() を実行した場合、 どのような動作をするかは定義されていない。 また、 POSIX では \fIfd\fP -は有効なファイルディスクリプタでなければならないと規定されている。 - -型宣言に関しては、昔ながらの状況では \fItimeval\fP 構造体の 2 つのフィールドは (上記のように) 両方とも \fIlong\fP -型であり、構造体は \fI\fP で定義されている。 POSIX.1\-2001 の下では、以下のようになっている。 - -.in +4n -.nf -struct timeval { - time_t tv_sec; /* 秒 */ - suseconds_t tv_usec; /* マイクロ秒 */ -}; -.fi -.in - -この構造体は \fI\fP で定義されており、データ型 \fItime_t\fP と \fIsuseconds_t\fP は -\fI\fP で定義されている。 -.LP -プロトタイプに関しては、昔ながらの状況で \fBselect\fP() を使いたい場合は、 \fI\fP -をインクルードすればよい。 POSIX.1\-2001 の環境で \fBselect\fP() と \fBpselect\fP() を使いたい場合は、 -\fI\fP をインクルードすればよい。 - -ヘッダファイル \fI\fP は libc4 と libc5 にはなく、glibc 2.0 以降に存在する。 -悪いことに glibc 2.0 以前では \fBpselect\fP() のプロトタイプが間違っている。 glibc 2.1 から 2.2.1 では -\fB_GNU_SOURCE\fP が定義されている場合に、 \fBpselect\fP() が提供される。 glibc 2.2.2 以降では、 -\fBpselect\fP() を使用するには、「書式」に記載された要件を満たす必要がある。 -.SS "Linux での注意" -このページで説明している \fBpselect\fP() のインターフェースは、glibc に -実装されているものである。内部で呼び出される Linux のシステムコールは -\fBpselect6\fP() という名前である。このシステムコールは glibc のラッパー -関数とは少し違った動作をする。 - -Linux の \fBpselect6\fP() システムコールは \fItimeout\fP 引き数を変更する。 -しかし、glibc のラッパー関数は、システムコールに渡す timeout 引き数と -してローカル変数を使うことでこの動作を隠蔽している。このため、glibc の -\fBpselect\fP() 関数は \fItimeout\fP 引き数を変更しない。 -これが POSIX.1\-2001 が要求している動作である。 - -\fBpselect6\fP() システムコールの最後の引き数は\fIsigset_t\ *\fP 型の -ポインタではなく、以下に示す構造体である。 -.in +4 -.nf - -struct { - const sigset_t *ss; /* シグナル集合へのポインタ */ - size_t ss_len; /* 'ss' が指すオブジェクトのサイズ - (バイト数) */ -}; - -.fi -.in -このようにすることで、ほとんどのアーキテクチャがサポートしている -システムコールの引き数が最大で 6 個という事実を満たしつつ、 -\fBpselect6\fP() システムコールがシグナル集合へのポインタとシグナル集合 -のサイズの両方を取得することができるのである。 -.SH バグ -glibc 2.0 では、 \fIsigmask\fP 引き数を取らないバージョンの \fBpselect\fP() が提供されていた。 - -バージョン 2.1 以降の glibc では、 \fBpselect\fP() は \fBsigprocmask\fP(2) と \fBselect\fP() -を使ってエミュレートされていた。 この実装にはきわどい競合条件において脆弱性が残っていた。 この競合条件における問題を防止するために -\fBpselect\fP() は設計されたのである。 最近のバージョンの glibc では、カーネルがサポートしている場合には、 (競合が起こらない) -\fBpselect\fP() システムコールが使用される。 - -\fBpselect\fP() がないシステムにおいて、シグナルの捕捉を信頼性があり (移植 -性も高い) 方法で行うには、 自己パイプ (self\-pipe) という技を使うとよい。 -この方法では、シグナルハンドラはパイプへ 1 バイトのデータを書き込み、 -同じパイプのもう一端をメインプログラムの \fBselect\fP() で監視する (一杯に -なったパイプへの書き込みや空のパイプから読み出しを行った際に起こるであ -ろう停止 (blocking) を避けるためには、パイプへの読み書きの際には 非停止 -(nonblocking) I/O を使用するとよい)。 - -.\" Stevens discusses a case where accept can block after select -.\" returns successfully because of an intervening RST from the client. -.\" Maybe the kernel should have returned EIO in such a situation? -Linux では、 \fBselect\fP() がソケットファイルディスクリプタで "読み込みの準備ができた" と報告した場合でも、 この後で read -を行うと停止 (block) することがある。このような状況は、 例えば、データが到着したが、検査でチェックサム異常が見つかり廃棄された時 -などに起こりえる。他にもファイルディスクリプタが準備できたと間違って 報告される状況が起こるかもしれない。 -したがって、停止すべきではないソケットに対しては \fBO_NONBLOCK\fP を使うとより安全であろう。 - -Linux では、 \fBselect\fP() がシグナルハンドラにより割り込まれた場合 (つまり \fBEINTR\fP エラーが返る場合)、 -\fItimeout\fP も変更する。 これは POSIX.1\-2001 では認められていない挙動である。 Linux の \fBpselect\fP() -システムコールも同じ挙動をするが、 glibc のラッパー関数がこの挙動を隠蔽している。 具体的には、glibc のラッパー関数の内部で、 -\fItimeout\fP をローカル変数にコピーし、 このローカル変数をシステムコールに渡している。 -.SH 例 -.nf -#include -#include -#include -#include -#include - -int -main(void) -{ - fd_set rfds; - struct timeval tv; - int retval; - - /* stdin (fd 0) を監視し、入力があった場合に表示する。*/ - FD_ZERO(&rfds); - FD_SET(0, &rfds); - - /* 5 秒間監視する。*/ - tv.tv_sec = 5; - tv.tv_usec = 0; - - retval = select(1, &rfds, NULL, NULL, &tv); - /* この時点での tv の値を信頼してはならない。*/ - - if (retval == \-1) - perror("select()"); - else if (retval) - printf("今、データが取得できました。\en"); - /* FD_ISSET(0, &rfds) が true になる。*/ - else - printf("5 秒以内にデータが入力されませんでした。\en"); - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -考察と使用例の書かれたチュートリアルとして、 \fBselect_tut\fP(2) がある。 -.LP -関係がありそうなものを挙げておく: \fBaccept\fP(2), \fBconnect\fP(2), \fBpoll\fP(2), \fBread\fP(2), -\fBrecv\fP(2), \fBsend\fP(2), \fBsigprocmask\fP(2), \fBwrite\fP(2), \fBepoll\fP(7), -\fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/select_tut.2 b/draft/man2/select_tut.2 deleted file mode 100644 index ca0bbaf3..00000000 --- a/draft/man2/select_tut.2 +++ /dev/null @@ -1,605 +0,0 @@ -.\" This manpage is copyright (C) 2001 Paul Sheer. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" very minor changes, aeb -.\" -.\" Modified 5 June 2002, Michael Kerrisk -.\" 2006-05-13, mtk, removed much material that is redundant with select.2 -.\" various other changes -.\" 2008-01-26, mtk, substantial changes and rewrites -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SELECT_TUT 2 2010\-06\-10 Linux "Linux Programmer's Manual" -.SH 名前 -select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO \- 同期 I/O の多重化 -.SH 書式 -.nf -/* POSIX.1\-2001 に従う場合 */ -.br -\fB#include \fP -.sp -/* 以前の規格に従う場合 */ -.br -\fB#include \fP -.br -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint select(int \fP\fInfds\fP\fB, fd_set *\fP\fIreadfds\fP\fB, fd_set *\fP\fIwritefds\fP\fB,\fP -\fB fd_set *\fP\fIexceptfds\fP\fB, struct timeval *\fP\fIutimeout\fP\fB);\fP -.sp -\fBvoid FD_CLR(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBint FD_ISSET(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBvoid FD_SET(int \fP\fIfd\fP\fB, fd_set *\fP\fIset\fP\fB);\fP -.br -\fBvoid FD_ZERO(fd_set *\fP\fIset\fP\fB);\fP -.sp -\fB#include \fP -.sp -\fBint pselect(int \fP\fInfds\fP\fB, fd_set *\fP\fIreadfds\fP\fB, fd_set *\fP\fIwritefds\fP\fB,\fP -\fB fd_set *\fP\fIexceptfds\fP\fB, const struct timespec *\fP\fIntimeout\fP\fB,\fP -\fB const sigset_t *\fP\fIsigmask\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBpselect\fP(): _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600 -.SH 説明 -\fBselect\fP() (や \fBpselect\fP()) を使うと、効率的に複数のファイルディスクリプタを監視し、 -そのファイルディスクリプタのいずれかが 「ready (準備ができた)」状態、つまり I/O (入出力) が可能になっているかや、 -ファイルディスクリプタのいずれかが 「例外状態 (exceptional condition)」が発生したか、を調べることができる。 - -この関数の主要な引き数は、3種類のファイルディスクリプタの「集合」 \fIreadfds\fP, \fIwritefds\fP, \fIexceptfds\fP である。 -各々の集合は \fBfd_set\fP として宣言され、その内容は \fBFD_CLR\fP(), \fBFD_ISSET\fP(), \fBFD_SET\fP(), -\fBFD_ZERO\fP() といったマクロによって操作できる。 新しく宣言された集合は、まず最初に \fBFD_ZERO\fP() -を使ってクリアすべきである。 \fBselect\fP() はこれらの集合の内容を、以降に述べる規則に従って修正する。 \fBselect\fP() -を呼んだ後、ファイルディスクリプタがまだ集合に存在しているかどうかは、 \fBFD_ISSET\fP() マクロによって調べることができる。 -\fBFD_ISSET\fP() は指定されたディスクリプタが集合に存在していれば 0 以外の値を返し、 存在しなければ 0 を返す。 -\fBFD_CLR\fP() は集合からのファイルディスクリプタの削除を行う。 -.SS 引き数 -.TP -\fIreadfds\fP -この集合に含まれるいずれかのファイルディスクリプタで、 データの読み込みが可能になったかどうかを監視する。 \fBselect\fP() -から戻る時に、\fIreadfds\fP のうち、 直ちに読み込み可能なファイルディスクリプタ以外は 集合から削除される。 -.TP -\fIwritefds\fP -この集合に含まれるいずれかのファイルディスクリプタで、 データを書き込むスペースがあるかどうかを監視する。 \fBselect\fP() -から戻る時に、\fIwritefds\fP のうち、 直ちに書き込み可能なファイルディスクリプタ以外は 集合から削除される。 -.TP -\fIexceptfds\fP -この集合に含まれるいずれかのファイルディスクリプタで、 「例外状態 (exceptional condition)」が発生したかどうかを監視する。 -実際の動作では、普通に起こり得る例外状態は一つだけであり、 それは TCP ソケットで \fI帯域外 (out\-of\-band; OOB)\fP データが -読み込み可能な場合である。 OOB データの詳細については、 \fBrecv\fP(2), \fBsend\fP(2), \fBtcp\fP(7) を参照のこと。 -(これ以外では、まれなことだが、 パケットモードの擬似端末 (pseudoterminals) で \fBselect\fP() -が例外状態を示すことがある。) \fBselect\fP() が返る時に、\fIexceptfds\fP のうち、 -例外状態が発生したディスクリプタ以外は集合から削除される。 -.TP -\fInfds\fP -全ての集合に含まれるファイルディスクリプタのうち、 値が最大のものに 1 を足した整数である。 -すなわち、ファイルディスクリプタを各集合に加える作業の途中で、 全てのファイルディスクリプタを見て最大値を求め、 それに 1 を加えて \fInfds\fP -として渡さないといけない、ということだ。 -.TP -\fIutimeout\fP -(何も起こらなかった場合に) \fBselect\fP() が戻る前に待つ最大時間である。 この値に NULL を渡すと、 \fBselect\fP() -はファイルディスクリプタのいずれかが ready (準備ができた) 状態に なるまで待ち続けてずっと停止する。 \fIutimeout\fP は 0 -秒にすることもでき、 この場合 \fBselect\fP() は直ちに返り、呼び出し時点のファイルディスクリプタの状態に 関する情報が返される。 構造体 -\fIstruct timeval\fP は次のように定義されている: -.IP -.in +4n -.nf -struct timeval { - time_t tv_sec; /* seconds */ - long tv_usec; /* microseconds */ -}; -.fi -.in -.TP -\fIntimeout\fP -\fBpselect\fP() のこの引き数は \fIutimeout\fP と同じ意味を持つが、 \fIstruct timespec\fP -は次に示すようにナノ秒の精度を持つ。 -.IP -.in +4n -.nf -struct timespec { - long tv_sec; /* seconds */ - long tv_nsec; /* nanoseconds */ -}; -.fi -.in -.TP -\fIsigmask\fP -この引き数は、呼び出し側が \fBpselect\fP() 内部で停止している間に、カーネルが通知を許可すべきシグナル集合 -(すなわち、呼び出したスレッドのシグナルマスクから削除すべきシグナル集合) を保持する (\fBsigaddset\fP(3) と -\fBsigprocmask\fP(2) を参照)。 この引き数は NULL にすることもでき、その場合はこの関数へ -入るとき・出るときにシグナルマスクを変更しない。 この場合、 \fBpselect\fP() は \fBselect\fP() と全く同じ動作となる。 -.SS シグナルとデータイベントを組み合わせる -ファイルディスクリプタが I/O 可能な状態になるのと同時に シグナルも待ちたい場合には、 \fBpselect\fP() が便利である。 -シグナルを受信するプログラムは、通常は、 シグナルハンドラをグローバルなフラグを立てるためだけに使う。 このグローバルなフラグは、 -そのイベントをプログラムのメインループで 処理しなければならないことを示す。 シグナルを受けると \fBselect\fP() (や -\fBpselect\fP()) は \fIerrno\fP に \fBEINTR\fP をセットして戻ることになる。 -シグナルがプログラムのメインループで処理されるためにはこの動作が不可欠で、 これがないと \fBselect\fP() は永遠に停止し続けることになる。 -さて、メインループのどこかにこのグローバルフラグをチェックする 条件文があるとしよう。ここで少し考えてみないといけない。 「シグナルが条件文の後、しかし -\fBselect\fP() コールの前に到着したら どうなるのか?」 答えは「その \fBselect\fP() -は、たとえ解決待ちのイベントがあったとしても、 永遠に停止する」である。 この競合状態は \fBpselect\fP() コールによって解決できる。 -このコールを使うと、 \fBpselect\fP() で受信したいシグナルの集合だけをシグナルマスクに設定することができる。 -例えば、問題となっているイベントが子プロセスの終了の場合を考えよう。 メインループが始まる前に、 \fBSIGCHLD\fP を -\fBsigprocmask\fP(2) でブロックする。 \fBpselect\fP() コールでは \fBSIGCHLD\fP -を、もともとのシグナルマスクを使って有効にするのだ。 このプログラムは次のようになる。 -.PP -.nf -static volatile sig_atomic_t got_SIGCHLD = 0; - -static void -child_sig_handler(int sig) -{ - got_SIGCHLD = 1; -} - -int -main(int argc, char *argv[]) -{ - sigset_t sigmask, empty_mask; - struct sigaction sa; - fd_set readfds, writefds, exceptfds; - int r; - - sigemptyset(&sigmask); - sigaddset(&sigmask, SIGCHLD); - if (sigprocmask(SIG_BLOCK, &sigmask, NULL) == \-1) { - perror("sigprocmask"); - exit(EXIT_FAILURE); - } - - sa.sa_flags = 0; - sa.sa_handler = child_sig_handler; - sigemptyset(&sa.sa_mask); - if (sigaction(SIGCHLD, &sa, NULL) == \-1) { - perror("sigaction"); - exit(EXIT_FAILURE); - } - - sigemptyset(&empty_mask); - - for (;;) { /* main loop */ - /* Initialize readfds, writefds, and exceptfds - before the pselect() call. (Code omitted.) */ - - r = pselect(nfds, &readfds, &writefds, &exceptfds, - NULL, &empty_mask); - if (r == \-1 && errno != EINTR) { - /* Handle error */ - } - - if (got_SIGCHLD) { - got_SIGCHLD = 0; - - /* Handle signalled event here; e.g., wait() for all - terminated children. (Code omitted.) */ - } - - /* main body of program */ - } -} -.fi -.SS 実例 -実際のところ \fBselect\fP() の大事な点は何なのか? ディスクリプタは好きなときに読み書きできるんじゃないの? \fBselect\fP() -の重要なところは、複数のディスクリプタを同時に監視でき、 なんの動きもなければプロセスを適切にスリープ状態に移行するところにあるのだ。 UNIX -プログラマは、 複数のファイルディスクリプタの入出力を同時に扱わねばならず、 しかもデータの流れは間欠的である、という状況によく出会う。 単に -\fBread\fP(2) や \fBwrite\fP(2) コールのシーケンスを作るだけでは、それらのコールのどれかが -ファイルディスクリプタからのデータを待ってブロックしており、 別のファイルディスクリプタには I/O が可能なのに使えない、 -ということになってしまうだろう。 \fBselect\fP() を使うとこの状況に効果的に対処できる。 -.SS "SELECT の掟" -\fBselect\fP() を使おうとした多くの人は、理解しにくい挙動に出くわし、結果的に -できたものは移植性がないか、よくてもギリギリのものになってしまう。 例えば、上記のプログラムは、 集合に含まれるファイルディスクリプタを非停止 -(nonblocking) モード にしなくても、どこにもブロックが生じないよう注意して書かれている。 微妙な間違いによって、 \fBselect\fP() -を使う利点は簡単に失われてしまう。 そこで、 \fBselect\fP() コールを使うときに注意すべき重要事項を列挙しておくことにする。 -.TP 4 -1. -\fBselect\fP() を使うときは、タイムアウトは設定すべきでない。 処理するデータが無いときには、 -あなたのプログラムには何もすることは無いはずである。 タイムアウトに依存したコードは通常移植性がなく、 デバッグも難しくなる。 -.TP -2. -上述したように、 効率的なプログラムを書くには \fInfds\fP の値を適切に計算して与えなければならない。 -.TP -3. -\fBselect\fP() コールの終了後に結果をチェックして、 適切に対応するつもりのないファイルディスクリプタは、 どの集合にも加えてはならない。 -次のルールも参照。 -.TP -4. -\fBselect\fP() から返った後には、全ての集合の全てのファイルディスクリプタについて 読み書き可能な状態になっているかをチェックすべきである。 -.TP -5. -\fBread\fP(2), \fBrecv\fP(2), \fBwrite\fP(2), \fBsend\fP(2) -といった関数は、こちらが要求した全データを読み書きする必要は\fIない\fP。 もし全データを読み書きするなら、それはトラフィックの負荷が小さく、 -ストリームが速い場合だろう。この条件は常に満たされるとは限らない。 これらの関数が頑張っても 1 バイトしか送受信できないような場合も -考慮に入れてやらなければならない。 -.TP -6. -処理するデータ量が小さいことがはっきりとわかっている場合を除いて、 一度に 1 バイトずつ読み書きするようなことはしてはならない。 -バッファの許すかぎりのデータをまとめて読み書きしないと、 非常に効率が悪い。下記の例ではバッファは 1024 バイトにしているが、 -このサイズを大きくするのは簡単だろう。 -.TP -7. -.\" Nonetheless, you should still cope with these errors for completeness. -\fBread\fP(2), \fBrecv\fP(2), \fBwrite\fP(2), \fBsend\fP(2) などの関数や \fBselect\fP() コールは、 -\fIerrno\fP を \fBEINTR や EAGAIN\fP (\fBEWOULDBLOCK\fP) にして \-1 を返すことがある。 -このような結果に対して適切に対応してやらなければならない (上記の例ではしていない)。 書いているプログラムがシグナルを受ける予定がなければ、 -\fBEINTR\fP が返されることはあまり考えられない。 書いているプログラムで非ブロック I/O をセットしていない場合は、 \fBEAGAIN\fP -が返されることはないだろう。 -.TP -8. -決して、引き数に長さ 0 のバッファを指定して \fBread\fP(2), \fBrecv\fP(2), \fBwrite\fP(2), \fBsend\fP(2) -を呼び出してはならない。 -.TP -9. -\fBread\fP(2), \fBrecv\fP(2), \fBwrite\fP(2), \fBsend\fP(2) が \fB7.\fP に示した以外のエラーで失敗した場合や、 -入力系の関数の一つがファイル末尾を表す 0 を返した場合は、 そのディスクリプタをもう一度 select に渡しては\fIならない\fP。 -下記の例では、そのディスクリプタをただちにクローズし、 そこには \-1 をセットして、 それが集合に含まれ続けるのを許さないようにしている。 -.TP -10. -タイムアウトの値は \fBselect\fP() を呼ぶたびに初期化すべきである。 OS によっては timeout -構造体が変更される場合があるからである。 但し、 \fBpselect\fP() は自分の timeout 構造体を変更することはない。 -.TP -11. -.\" "I have heard" does not fill me with confidence, and doesn't -.\" belong in a man page, so I've commented this point out. -.\" .TP -.\" 11. -.\" I have heard that the Windows socket layer does not cope with OOB data -.\" properly. -.\" It also does not cope with -.\" .BR select () -.\" calls when no file descriptors are set at all. -.\" Having no file descriptors set is a useful -.\" way to sleep the process with subsecond precision by using the timeout. -.\" (See further on.) -\fBselect\fP() はファイルディスクリプタ集合を変更するので、 \fBselect\fP() -がループの中で使用されている場合には、呼び出しを行う前に毎回 ディスクリプタ集合を初期化し直さなければならない。 -.SS "usleep エミュレーション" -\fBusleep\fP(3) 関数を持たないシステムでは、 有限のタイムアウトを指定し、ファイルディスクリプタを全くセットせずに \fBselect\fP() -を呼び出すことで、これを代用できる。 以下のようにする。 -.PP -.nf - struct timeval tv; - tv.tv_sec = 0; - tv.tv_usec = 200000; /* 0.2 seconds */ - select(0, NULL, NULL, NULL, &tv); -.fi -.PP -但し、これが動くと保証されているのは UNIX システムに限られる。 -.SH 返り値 -成功すると、 \fBselect\fP() はファイルディスクリプタ集合に残っている ファイルディスクリプタの総数を返す。 - -\fBselect\fP() がタイムアウトすると、返り値は 0 になる。 その時、ファイルディスクリプタ集合はすべて空である -(しかしそうならないシステムもある)。 - -返り値が \-1 の場合はエラーを意味し、 \fIerrno\fP が適切にセットされる。エラーが起こった場合、 返された集合の内容や構造体 \fIstruct -timeout\fP の内容は 未定義となっており、使用すべきではない。 しかし \fBpselect\fP() は決して \fIntimeout\fP -を変更しない。 -.SH 注意 -一般的に言って、ソケットをサポートする全てのオペレーティングシステムは \fBselect\fP() もサポートしている。 \fBselect\fP() -を使うと、プログラマがスレッド、フォーク、IPC、シグナル、メモリ共有、 等々を使ってもっと複雑な方法で解決しようとする多くの問題が、 -移植性がありかつ効率的な方法で解決できる。 -.PP -\fBpoll\fP(2) システムコールは \fBselect\fP() と同じ機能を持っており、 まばらなファイルディスクリプタ集合を監視する場合に -いくらか効率がよい。 現在では広く利用可能であるが、以前は \fBselect\fP() より移植性の面で劣っていた。 -.PP -Linux 独自の \fBepoll\fP(7) API は、多数のファイルディスクリプタを監視する場合に \fBselect\fP(2) や -\fBpoll\fP(2) よりも効率的なインタフェースを提供している。 -.SH 例 -\fBselect\fP() の本当に便利な点を示す、よい例を紹介する。 以下のリストは、ある TCP ポートから別のポートへ転送を行う TCP -フォワードプログラムである。 -.PP -.nf -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static int forward_port; - -#undef max -#define max(x,y) ((x) > (y) ? (x) : (y)) - -static int -listen_socket(int listen_port) -{ - struct sockaddr_in a; - int s; - int yes; - - if ((s = socket(AF_INET, SOCK_STREAM, 0)) == \-1) { - perror("socket"); - return \-1; - } - yes = 1; - if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, - (char *) &yes, sizeof(yes)) == \-1) { - perror("setsockopt"); - close(s); - return \-1; - } - memset(&a, 0, sizeof(a)); - a.sin_port = htons(listen_port); - a.sin_family = AF_INET; - if (bind(s, (struct sockaddr *) &a, sizeof(a)) == \-1) { - perror("bind"); - close(s); - return \-1; - } - printf("accepting connections on port %d\en", listen_port); - listen(s, 10); - return s; -} - -static int -connect_socket(int connect_port, char *address) -{ - struct sockaddr_in a; - int s; - - if ((s = socket(AF_INET, SOCK_STREAM, 0)) == \-1) { - perror("socket"); - close(s); - return \-1; - } - - memset(&a, 0, sizeof(a)); - a.sin_port = htons(connect_port); - a.sin_family = AF_INET; - - if (!inet_aton(address, (struct in_addr *) &a.sin_addr.s_addr)) { - perror("bad IP address format"); - close(s); - return \-1; - } - - if (connect(s, (struct sockaddr *) &a, sizeof(a)) == \-1) { - perror("connect()"); - shutdown(s, SHUT_RDWR); - close(s); - return \-1; - } - return s; -} - -#define SHUT_FD1 do { \e - if (fd1 >= 0) { \e - shutdown(fd1, SHUT_RDWR); \e - close(fd1); \e - fd1 = \-1; \e - } \e - } while (0) - -#define SHUT_FD2 do { \e - if (fd2 >= 0) { \e - shutdown(fd2, SHUT_RDWR); \e - close(fd2); \e - fd2 = \-1; \e - } \e - } while (0) - -#define BUF_SIZE 1024 - -int -main(int argc, char *argv[]) -{ - int h; - int fd1 = \-1, fd2 = \-1; - char buf1[BUF_SIZE], buf2[BUF_SIZE]; - int buf1_avail, buf1_written; - int buf2_avail, buf2_written; - - if (argc != 4) { - fprintf(stderr, "Usage\en\etfwd " - " \en"); - exit(EXIT_FAILURE); - } - - signal(SIGPIPE, SIG_IGN); - - forward_port = atoi(argv[2]); - - h = listen_socket(atoi(argv[1])); - if (h == \-1) - exit(EXIT_FAILURE); - - for (;;) { - int r, nfds = 0; - fd_set rd, wr, er; - - FD_ZERO(&rd); - FD_ZERO(&wr); - FD_ZERO(&er); - FD_SET(h, &rd); - nfds = max(nfds, h); - if (fd1 > 0 && buf1_avail < BUF_SIZE) { - FD_SET(fd1, &rd); - nfds = max(nfds, fd1); - } - if (fd2 > 0 && buf2_avail < BUF_SIZE) { - FD_SET(fd2, &rd); - nfds = max(nfds, fd2); - } - if (fd1 > 0 && buf2_avail \- buf2_written > 0) { - FD_SET(fd1, &wr); - nfds = max(nfds, fd1); - } - if (fd2 > 0 && buf1_avail \- buf1_written > 0) { - FD_SET(fd2, &wr); - nfds = max(nfds, fd2); - } - if (fd1 > 0) { - FD_SET(fd1, &er); - nfds = max(nfds, fd1); - } - if (fd2 > 0) { - FD_SET(fd2, &er); - nfds = max(nfds, fd2); - } - - r = select(nfds + 1, &rd, &wr, &er, NULL); - - if (r == \-1 && errno == EINTR) - continue; - - if (r == \-1) { - perror("select()"); - exit(EXIT_FAILURE); - } - - if (FD_ISSET(h, &rd)) { - unsigned int l; - struct sockaddr_in client_address; - - memset(&client_address, 0, l = sizeof(client_address)); - r = accept(h, (struct sockaddr *) &client_address, &l); - if (r == \-1) { - perror("accept()"); - } else { - SHUT_FD1; - SHUT_FD2; - buf1_avail = buf1_written = 0; - buf2_avail = buf2_written = 0; - fd1 = r; - fd2 = connect_socket(forward_port, argv[3]); - if (fd2 == \-1) - SHUT_FD1; - else - printf("connect from %s\en", - inet_ntoa(client_address.sin_addr)); - } - } - - /* NB: read oob data before normal reads */ - - if (fd1 > 0) - if (FD_ISSET(fd1, &er)) { - char c; - - r = recv(fd1, &c, 1, MSG_OOB); - if (r < 1) - SHUT_FD1; - else - send(fd2, &c, 1, MSG_OOB); - } - if (fd2 > 0) - if (FD_ISSET(fd2, &er)) { - char c; - - r = recv(fd2, &c, 1, MSG_OOB); - if (r < 1) - SHUT_FD2; - else - send(fd1, &c, 1, MSG_OOB); - } - if (fd1 > 0) - if (FD_ISSET(fd1, &rd)) { - r = read(fd1, buf1 + buf1_avail, - BUF_SIZE \- buf1_avail); - if (r < 1) - SHUT_FD1; - else - buf1_avail += r; - } - if (fd2 > 0) - if (FD_ISSET(fd2, &rd)) { - r = read(fd2, buf2 + buf2_avail, - BUF_SIZE \- buf2_avail); - if (r < 1) - SHUT_FD2; - else - buf2_avail += r; - } - if (fd1 > 0) - if (FD_ISSET(fd1, &wr)) { - r = write(fd1, buf2 + buf2_written, - buf2_avail \- buf2_written); - if (r < 1) - SHUT_FD1; - else - buf2_written += r; - } - if (fd2 > 0) - if (FD_ISSET(fd2, &wr)) { - r = write(fd2, buf1 + buf1_written, - buf1_avail \- buf1_written); - if (r < 1) - SHUT_FD2; - else - buf1_written += r; - } - - /* check if write data has caught read data */ - - if (buf1_written == buf1_avail) - buf1_written = buf1_avail = 0; - if (buf2_written == buf2_avail) - buf2_written = buf2_avail = 0; - - /* one side has closed the connection, keep - writing to the other side until empty */ - - if (fd1 < 0 && buf1_avail \- buf1_written == 0) - SHUT_FD2; - if (fd2 < 0 && buf2_avail \- buf2_written == 0) - SHUT_FD1; - } - exit(EXIT_SUCCESS); -} -.fi -.PP -上記のプログラムは、ほとんどの種類の TCP 接続をフォワードする。 \fBtelnet\fP サーバによって中継される OOB シグナルデータも扱える。 -このプログラムは、データフローを双方向に同時に送るという、 ややこしい問題も処理できる。 \fBfork\fP(2) -コールを使って、各ストリームごとに専用のスレッドを用いるほうが効率的だ、 という人もいるかもしれない。しかし、これは考えているよりずっとややこしい。 -あるいは、 \fBfcntl\fP(2) を使って非ブロック I/O をセットすれば良い、というアイデアもあるだろう。 -これにも実際には問題があり、タイムアウトが非効率的に起こってしまう。 - -このプログラムは一度にひとつ以上の同時接続を扱うことはできないが、 その様に拡張するのは簡単で、バッファのリンクリストを (接続ごとにひとつずつ) -使えばよい。 現時点のものでは、新しい接続がくると古い接続は落ちてしまう。 -.SH 関連項目 -.\" .SH AUTHORS -.\" This man page was written by Paul Sheer. -\fBaccept\fP(2), \fBconnect\fP(2), \fBioctl\fP(2), \fBpoll\fP(2), \fBread\fP(2), -\fBrecv\fP(2), \fBselect\fP(2), \fBsend\fP(2), \fBsigprocmask\fP(2), \fBwrite\fP(2), -\fBsigaddset\fP(3), \fBsigdelset\fP(3), \fBsigemptyset\fP(3), \fBsigfillset\fP(3), -\fBsigismember\fP(3), \fBepoll\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/semctl.2 b/draft/man2/semctl.2 deleted file mode 100644 index 7da4e91a..00000000 --- a/draft/man2/semctl.2 +++ /dev/null @@ -1,275 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) -.\" and Copyright 2004, 2005 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Tue Oct 22 17:53:56 1996 by Eric S. Raymond -.\" Modified Fri Jun 19 10:59:15 1998 by Andries Brouwer -.\" Modified Sun Feb 18 01:59:29 2001 by Andries Brouwer -.\" Modified 20 Dec 2001, Michael Kerrisk -.\" Modified 21 Dec 2001, aeb -.\" Modified 27 May 2004, Michael Kerrisk -.\" Added notes on CAP_IPC_OWNER requirement -.\" Modified 17 Jun 2004, Michael Kerrisk -.\" Added notes on CAP_SYS_ADMIN requirement for IPC_SET and IPC_RMID -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Rewrote semun text -.\" Added semid_ds and ipc_perm structure definitions -.\" 2005-08-02, mtk: Added IPC_INFO, SEM_INFO, SEM_STAT descriptions. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEMCTL 2 2009\-09\-27 Linux "Linux Programmer's Manual" -.SH 名前 -semctl \- セマフォの制御操作を行なう -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBint semctl(int \fP\fIsemid\fP\fB, int \fP\fIsemnum\fP\fB, int \fP\fIcmd\fP\fB, ...);\fP -.fi -.SH 説明 -\fBsemctl\fP() は、 \fIsemid\fP で指定されたセマフォ集合 (semaphore set) またはセマフォ集合の \fIsemnun\fP -番目のセマフォに対して、 \fIcmd\fP で指定された制御操作を行なう (集合内のセマフォの番号は 0 から始まる)。 -.PP -この関数は、 \fIcmd\fP の値に依存して、3 個または 4 個の引き数を持つ。 引き数が 4 個の場合、第 4 引き数の型は \fIunion -semun\fP である。 \fI呼び出し元プログラム\fPは、 この共用体 (union) を以下のように定義しなければならない。 - -.nf -.in +4n -union semun { - int val; /* SETVAL の値 */ - struct semid_ds *buf; /* IPC_STAT, IPC_SET 用のバッファ */ - unsigned short *array; /* GETALL, SETALL 用の配列 */ - struct seminfo *__buf; /* IPC_INFO 用のバッファ - (Linux 固有) */ -}; -.in -.fi -.PP -\fIsemid_ds\fP データ構造体は \fI\fP で以下のように定義されている: -.nf -.in +4n - -struct semid_ds { - struct ipc_perm sem_perm; /* 所有権と許可 */ - time_t sem_otime; /* 最後の semop の時刻 */ - time_t sem_ctime; /* 最後に変更が行われた時刻 */ - unsigned short sem_nsems; /* 集合内のセマフォの数 */ -}; -.in -.fi -.PP -\fIipc_perm\fP 構造体は \fI\fP で以下のように定義されている (強調されたフィールドは -\fBIPC_SET\fP を使って設定可能である): -.PP -.nf -.in +4n -struct ipc_perm { - key_t __key; /* semget(2) に与えられるキー */ - uid_t \fBuid\fP; /* 所有者 (owner) の実効 UID */ - gid_t \fBgid\fP; /* 所有者の実効 GID */ - uid_t cuid; /* 作成者 (creator) の実効 UID */ - gid_t cgid; /* 作成者の実効 GID */ - unsigned short \fBmode\fP; /* 許可 */ - unsigned short __seq; /* シーケンス番号 */ -}; -.in -.fi -.PP -\fIcmd\fP として有効な値は -.TP 10 -\fBIPC_STAT\fP -\fIsemid\fP に関連づけられたカーネルデータ構造体の情報を \fIarg.buf\fP で指された \fIsemid_ds\fP 構造体へコピーする。 -\fIsemnum\fP 引き数は無視される。 呼び出したプロセスはそのセマフォ集合に対する 読み込み許可を持たなければならない。 -.TP -\fBIPC_SET\fP -\fIarg.buf\fP で指定された \fIsemid_ds\fP 構造体のメンバーのいくつかの値を、 -このセマフォに関連づけられたカーネルデータ構造体に書き込み、 \fIsem_ctime\fP メンバーの値も更新する。 構造体の以下のメンバーが更新される: -\fIsem_perm.uid\fP, \fIsem_perm.gid\fP, \fIsem_perm.mode\fP (の最下位 9 ビット)。 -呼び出したプロセスの実効 UID が所有者 (\fIsem_perm.uid\fP) または作成者 (\fIsem_perm.cuid\fP) -と一致するか、呼び出した人が特権を持たなければならない。 \fIsemnum\fP 引き数は無視される。 -.TP -\fBIPC_RMID\fP -セマフォ集合をただちに削除し、その集合上の \fBsemop\fP(2) コールでブロックされている全てのプロセスを目覚めさせる (エラー値が返されて、 -\fIerrno\fP に \fBEIDRM\fP が設定される)。 呼び出したプロセスの実効ユーザ ID が そのセマフォ集合の作成者または所有者と一致するか、 -呼び出した人が特権を持たなければならない。 \fIsemnum\fP 引き数は無視される。 -.TP -\fBIPC_INFO\fP (Linux 固有) -システム全体でのセマフォの制限とパラメータに関する情報を、 \fIarg.__buf\fP が指す構造体に入れて返す。 この構造体は \fIseminfo\fP -型である。 \fIseminfo\fP は \fB_GNU_SOURCE\fP 機能検査マクロが定義された場合に \fI\fP -で以下のように定義される: -.nf -.in +4n - -struct seminfo { - int semmap; /* セマフォ・マップの最大エントリ数; - カーネル内では未使用 */ - int semmni; /* セマフォ集合の最大数 */ - int semmns; /* 全セマフォ集合中のセマフォの - 最大数 */ - int semmnu; /* アンドゥ構造体のシステム全体での - 最大数; カーネル内では未使用 */ - int semmsl; /* 一つのセマフォ集合の最大セマフォ数 */ - int semopm; /* semop(2) に渡す操作の最大数 */ - int semume; /* プロセスあたりのアンドゥ・エントリ - の最大数; カーネル内では未使用 */ - int semusz; /* 構造体 sem_undo のサイズ */ - int semvmx; /* セマフォの最大値 */ - int semaem; /* セマフォの調整 (semaphore adjustment; - SEM_UNDO) のために記録される最大値 */ -}; - -.in -.fi -設定 \fIsemmsl\fP, \fIsemmns\fP, \fIsemopm\fP, \fIsemmni\fP は \fI/proc/sys/kernel/sem\fP -経由で変更可能である。 詳しくは \fBproc\fP(5) を参照。 -.TP -\fBSEM_INFO\fP (Linux 固有) -\fBIPC_INFO\fP のときと同じ情報を格納した \fIseminfo\fP 構造体を返す。 但し、以下のフィールドにはセマフォが消費しているシステム資源に -関する情報が格納される点が異なる。 \fIsemusz\fP フィールドは現在システム上に存在するセマフォ集合の数を返す。 \fIsemaem\fP -フィールドはシステム上の全てのセマフォ集合に含まれる セマフォの総数を返す。 -.TP -\fBSEM_STAT\fP (Linux 固有) -\fBIPC_STAT\fP と同じく \fIsemid_ds\fP 構造体を返す。 但し、 \fIsemid\fP -引き数は、セマフォ識別子ではなく、システム上の全てのセマフォ集合 に関する情報を管理するカーネルの内部配列へのインデックスである。 -.TP -\fBGETALL\fP -集合の全てのセマフォの \fBsemval\fP の値 (現在の値) を \fIarg.array\fP に返す。 \fIsemnum\fP 引き数は無視される。 -呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。 -.TP -\fBGETNCNT\fP -システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemncnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの -\fBsemval\fP の増加を待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。 -.TP -\fBGETPID\fP -システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsempid\fP の値 (集合の \fIsemnum\fP 番目のセマフォに最後に -\fBsemop\fP(2) コールを実行したプロセスの PID) を返す。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。 -.TP -\fBGETVAL\fP -システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP の値を返す。 -呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。 -.TP -\fBGETZCNT\fP -システムコールは集合の \fIsemnum\fP 番目のセマフォの \fBsemzcnt\fP の値を返す (集合の \fIsemnum\fP 番目のセマフォの -\fBsemval\fP の値が 0 になるのを待っているプロセスの数を返す)。 呼び出したプロセスはそのセマフォ集合に読み込み許可を持たなければならない。 -.TP -\fBSETALL\fP -集合の全てのセマフォの \fBsemval\fP に \fIarg.array\fP で指定された値を設定する。 その集合に関連する \fIsemid_ds\fP -構造体の \fIsem_ctime\fP メンバーの値も更新する。 全てのプロセスのセマフォの変更についてのアンドゥ・エントリ (\fBsemop\fP(2) -を参照) は消去 (clear) される。 セマフォの値の変更により、他のプロセス内でブロックされている \fBsemop\fP(2) -コールの続行が許可されると、それらのプロセスは起こされる (wake up)。 \fIsemnum\fP 引き数は無視される。 -呼び出したプロセスはそのセマフォ集合に 変更 (書き込み) 許可を持たなければならない。 -.TP -\fBSETVAL\fP -集合の \fIsemnum\fP 番目のセマフォの \fBsemval\fP に \fIarg.val\fP の値を設定する。その集合に関連する \fIsemid_ds\fP -構造体の \fIsem_ctime\fP メンバーの値も更新する。 全てのプロセスのセマフォの変更についてのアンドゥ・エントリは消去される。 -セマフォの値の変更により、他のプロセス内でブロックされている \fBsemop\fP(2) コールの続行が許可されると、それらのプロセスは起こされる -(wake up)。 呼び出したプロセスはそのセマフォ集合に 変更 (書き込み) 許可を持たなければならない。 -.SH 返り値 -失敗した場合、 \fBsemctl\fP() は \-1 を返し、 \fIerrno\fP にそのエラーを示す。 - -そうでなければシステムコールは \fIcmd\fP によって以下の負でない値を返す: -.TP 12 -\fBGETNCNT\fP -\fBsemncnt\fP の値 -.TP -\fBGETPID\fP -\fBsempid\fP の値 -.TP -\fBGETVAL\fP -\fBsemval\fP の値 -.TP -\fBGETZCNT\fP -\fBsemzcnt\fP の値 -.TP -\fBIPC_INFO\fP -全てのセマフォ集合に関する情報を管理しているカーネルの内部配列の使用中 エントリのインデックスの最大値 -(この情報は、システムの全てのセマフォ集合に関する情報を取得するために \fBSEM_STAT\fP 操作を繰り返し実行する際に使用できる) -.TP -\fBSEM_INFO\fP -\fBIPC_INFO\fP と同じ -.TP -\fBSEM_STAT\fP -\fIsemid\fP で指定されたインデックスを持つセマフォ集合の識別子 -.LP -\fIcmd\fP の値がそれ以外の場合、成功すると 0 が返される。 -.SH エラー -失敗した場合は \fIerrno\fP には以下の値のどれかが設定される: -.TP -\fBEACCES\fP -\fIcmd\fP 引き数が \fBGETALL\fP, \fBGETPID\fP, \fBGETVAL\fP, \fBGETNCNT\fP, \fBGETZCNT\fP, -\fBIPC_STAT\fP, \fBSEM_STAT\fP, \fBSETALL\fP, \fBSETVAL\fP のうちの何れかの値を持ち、 -呼び出したプロセスがセマフォに対して必要とされる許可と \fBCAP_IPC_OWNER\fP ケーパビリティ (capability) を持っていない。 -.TP -\fBEFAULT\fP -\fIarg.buf\fP または \fIarg.array\fP で指されているアドレスにアクセスすることができない。 -.TP -\fBEIDRM\fP -セマフォ集合が削除された。 -.TP -\fBEINVAL\fP -\fIcmd\fP または \fIsemid\fP に無効な値が指定された。 もしくは、 \fBSEM_STAT\fP 操作の場合に、 \fIsemid\fP -で指定されたインデックス値が現在未使用の配列のスロットを参照いていた。 -.TP -\fBEPERM\fP -\fIcmd\fP 引き数に \fBIPC_SET\fP または \fBIPC_RMID\fP が指定され、呼び出したプロセスの実効ユーザ ID がセマフォの -(\fIsem_perm.cuid\fP で見つかる) 作成者または (\fIsem_perm.uid\fP で見つかる) 所有者でもなく、 プロセスが -\fBCAP_SYS_ADMIN\fP ケーパビリティを持たない。 -.TP -\fBERANGE\fP -\fIcmd\fP 引き数に \fBSETALL\fP または \fBSETVAL\fP が指定され、(集合のセマフォのどれかの) \fBsemval\fP に設定される値が -0 より小さいか、実装の制限 \fBSEMVMX\fP よりも大きい。 -.SH 準拠 -.\" SVr4 documents more error conditions EINVAL and EOVERFLOW. -SVr4, POSIX.1\-2001. -.SH 注意 -\fBIPC_INFO\fP, \fBSEM_STAT\fP, \fBSEM_INFO\fP 操作は \fBipcs\fP(1) -プログラムによって割当られた資源について情報を提供するために使用される。 将来的にはこれらは変更されるか、 /proc -ファイル・システム・インタフェースに移動されるかもしれない。 -.LP -\fI構造体 semid_ds\fP 内の多くのフィールドは、 Linux 2.2 では \fIshort\fP 型だったが、Linux 2.4 では -\fIlong\fP 型になった。 この利点を生かすには、glibc\-2.1.91 以降の環境下で 再コンパイルすれば十分である。 -カーネルは新しい形式の呼び出しと古い形式の呼び出しを \fIcmd\fP 内の \fBIPC_64\fP フラグで区別する。 -.PP -初期のバージョンの glibc では、 \fIsemun\fP 共用体は \fI\fP で定義されていたが、 -POSIX.1\-2001 では呼び出し側がこの共用体を定義する必要がある。 この共用体が定義されて\fIいない\fP glibc のバージョンでは、 マクロ -\fB_SEM_SEMUN_UNDEFINED\fP が \fI\fP で定義されている。 -.PP -以下は \fBsemctl\fP() コールに影響するセマフォ集合のシステム制限: -.TP -\fBSEMVMX\fP -\fBsemval\fP の最大値 : 実装依存 (32767)。 -.LP -移植性を高めるための一番良い方法は、常に 4 個の引き数で \fBsemctl\fP() を呼び出すことである。 -.SH 関連項目 -\fBipc\fP(2), \fBsemget\fP(2), \fBsemop\fP(2), \fBcapabilities\fP(7), -\fBsem_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/semget.2 b/draft/man2/semget.2 deleted file mode 100644 index 28717e9e..00000000 --- a/draft/man2/semget.2 +++ /dev/null @@ -1,158 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Tue Oct 22 17:54:56 1996 by Eric S. Raymond -.\" Modified 1 Jan 2002, Martin Schulze -.\" Modified 4 Jan 2002, Michael Kerrisk -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added notes on /proc files -.\" Rewrote BUGS note about semget()'s failure to initialize -.\" semaphore values -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEMGET 2 2004\-05\-27 Linux "Linux Programmer's Manual" -.SH 名前 -semget \- セマフォ集合の識別子を取得する -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -.fi -.sp -\fBint semget(key_t \fP\fIkey\fP\fB,\fP \fBint \fP\fInsems\fP\fB,\fP \fBint \fP\fIsemflg\fP\fB);\fP -.SH 説明 -\fBsemget\fP() システムコールは、引き数 \fIkey\fP に対応するセマフォ集合 (semaphore set) の 識別子 -(identifier) を返す。 \fIkey\fP の値が \fBIPC_PRIVATE\fP の場合、もしくは \fIsemflg\fP に -\fBIPC_CREAT\fP が指定されていて、 \fIkey\fP に対応するセマフォ集合が存在しない場合、 \fInsems\fP -個のセマフォからなる新しい集合が作成される。 -.PP -\fIsemflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP -に対応するセマフォ集合が既に存在すると、 \fBsemget\fP() は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される (これは -\fBopen\fP(2) に \fBO_CREAT | O_EXCL\fP が指定された場合の動作と同じである)。 -.PP -セマフォ集合作成時に、引き数 \fIsemflg\fP の下位 9 ビットは、そのセマフォ集合の (所有者 (owner)、グループ (group)、 他人 -(others) に対する) アクセス許可の定義として使用される。 これらのビットは \fBopen\fP(2) の引き数 \fImode\fP -と同じ形式で同じ意味である (但し、実行 (execute) 許可はセマフォでは意味を持たず、 書き込み (write) 許可はセマフォ値の変更 -(alter) 許可として機能する)。 -.PP -.\" In truth, every one of the many implementations that I've tested sets -.\" the values to zero, but I suppose there is/was some obscure -.\" implementation out there that does not. -新しく作成されたセマフォ集合の各セマフォの値は不定である (この点は POSIX.1\-2001 に明記されている)。 Linux -は他の多くの実装と同様にセマフォ値を 0 に初期化するが、 移植性を考慮したアプリケーションではこの動作を前提にすべきではない。 -アプリケーションは明示的にセマフォを希望の値で初期化すべきである。 -.PP -新規のセマフォ集合を作成する際、 \fBsemget\fP() はセマフォ集合の情報を保持するデータ構造体 \fIsemid_ds\fP を次のように初期化する -(\fIsemid_ds\fP については \fBsemctl\fP(2) を参照): -.IP -\fIsem_perm.cuid\fP と \fIsem_perm.uid\fP に、呼び出し元のプロセスの実効 (effective) ユーザ ID を設定する。 -.IP -\fIsem_perm.cgid\fP と \fIsem_perm.gid\fP に、呼び出し元のプロセスの実効 (effective) グループ ID -を設定する。 -.IP -\fIsem_perm.mode\fP の下位 9 ビットに \fIsemflg\fP の下位 9 ビットを設定する。 -.IP -\fIsem_nsems\fP に \fInsems\fP の値を設定する。 -.IP -\fIsem_otime\fP に 0 を設定する。 -.IP -\fIsem_ctime\fP に現在の時刻を設定する。 -.PP -セマフォ集合の作成を行わない場合は、引き数 \fInsems\fP に (don't care を意味する) 0 を指定してもよい。 そうでない場合は、 -\fInsems\fP は 0 より大きい値でなければならず、セマフォ集合あたりのセマフォの最大数 (\fBSEMMSL\fP) 以下でなければならない。 -.PP -.\" and a check is made to see if it is marked for destruction. -セマフォ集合が既に存在した場合は、アクセス許可の検査が行われる。 -.SH 返り値 -成功した場合、セマフォ集合の識別子 (非負の整数) が返り値となる。 失敗した場合は \-1 が返され、 \fIerrno\fP にエラーを示す値が設定される。 -.SH エラー -失敗した場合、 \fIerrno\fP には以下の値のいずれか一つが設定される: -.TP -\fBEACCES\fP -\fIkey\fP に対応するセマフォ集合は存在するが、 呼び出し元のプロセスはその集合へのアクセス許可がなく、 \fBCAP_IPC_OWNER\fP -ケーパビリティも持っていない。 -.TP -\fBEEXIST\fP -.\" .TP -.\" .B EIDRM -.\" The semaphore set is marked to be deleted. -\fIkey\fP に対応するセマフォ集合が存在し、 \fIsemflg\fP には \fBIPC_CREAT\fP と \fBIPC_EXCL\fP が指定されていた。 -.TP -\fBEINVAL\fP -\fInsems\fP が 0 より小さいか、セマフォ集合あたりのセマフォの最大数 (\fBSEMMSL\fP) より大きい。 または、 \fIkey\fP -に対応するセマフォ集合が既に存在し、 \fInsems\fP がその集合のセマフォ数よりも大きい。 -.TP -\fBENOENT\fP -\fIkey\fP に対応するセマフォ集合が存在せず、 \fIsemflg\fP に \fBIPC_CREAT\fP が指定されてもいない。 -.TP -\fBENOMEM\fP -セマフォ集合を作成しようとしたが、新しいデータ構造体を 作成するのに十分なメモリがシステムに存在しない。 -.TP -\fBENOSPC\fP -セマフォ集合を作成しようとすると、システムのセマフォ集合の 最大数 (\fBSEMMNI\fP) か、システム全体のセマフォの最大数 (\fBSEMMNS\fP) -のいずれかを超えてしまう。 -.SH 準拠 -.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, -.\" ERANGE, EFAULT. -SVr4, POSIX.1\-2001. -.SH 注意 -\fBIPC_PRIVATE\fP はフラグ・フィールドに指定するものではなく、 \fIkey_t\fP 型である。 この特別な値が \fIkey\fP に指定されると、 -\fBsemget\fP() \fIsemflg\fP の下位 9 ビット以外は全て無視し、 (成功した場合は) 新しいセマフォ集合を作成する。 -.PP -セマフォ集合のリソースに関する制限のうち、 \fBsemget\fP() に影響を及ぼすものを以下に挙げる: -.TP -\fBSEMMNI\fP -.\" This /proc file is not available in Linux 2.2 and earlier -- MTK -システム全体のセマフォ集合の最大数: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP -の第4フィールドに対応し、読み出しも変更もできる)。 -.TP -\fBSEMMSL\fP -semid あたりのセマフォの最大数: 実装依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP -の第1フィールドに対応し、読み出しも変更もできる)。 -.TP -\fBSEMMNS\fP -システム全体のセマフォの最大数: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP -の第2フィールドに対応し、読み出しも変更もできる)。 \fBSEMMSL * SEMMNI\fP より大きな値は意味を持たない。 -.SH バグ -\fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。 -.LP -.\" In fact they are initialized to zero on Linux, but POSIX.1-2001 -.\" does not specify this, and we can't portably rely on it. -セマフォ集合内のセマフォは \fBsemget\fP() では初期化されない。 このセマフォを初期化するには、セマフォ集合に対して \fBsemctl\fP(2) -を使って \fBSETVAL\fP か \fBSETALL\fP 操作を実行する必要がある。 (複数箇所からセマフォ集合の操作が行われる場面では、 -誰が最初に集合を初期化すればよいか分からない。 この状況を避けるには、 \fBsemctl\fP(2) の \fBIPC_STAT\fP -操作で取得できるセマフォのデータ構造体の \fIsem_otime\fP が 0 以外になっているかをチェックすればよい。) -.SH 関連項目 -\fBsemctl\fP(2), \fBsemop\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7), -\fBsem_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/semop.2 b/draft/man2/semop.2 deleted file mode 100644 index 15dfd0f9..00000000 --- a/draft/man2/semop.2 +++ /dev/null @@ -1,258 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1996-10-22, Eric S. Raymond -.\" Modified 2002-01-08, Michael Kerrisk -.\" Modified 2003-04-28, Ernie Petrides -.\" Modified 2004-05-27, Michael Kerrisk -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added notes on /proc files -.\" 2005-04-08, mtk, Noted kernel version numbers for semtimedop() -.\" 2007-07-09, mtk, Added an EXAMPLE code segment. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEMOP 2 2012\-05\-10 Linux "Linux Programmer's Manual" -.SH 名前 -semop, semtimedop \- セマフォの操作 -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBint semop(int \fP\fIsemid\fP\fB, struct sembuf *\fP\fIsops\fP\fB, unsigned \fP\fInsops\fP\fB);\fP -.sp -\fBint semtimedop(int \fP\fIsemid\fP\fB, struct sembuf *\fP\fIsops\fP\fB, unsigned \fP\fInsops\fP\fB,\fP -\fB struct timespec *\fP\fItimeout\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBsemtimedop\fP(): _GNU_SOURCE -.SH 説明 -セマフォ集合 (semaphore set) のメンバーの各セマフォは 以下の関連情報を持っている: -.sp -.in +4n -.nf -unsigned short semval; /* セマフォ値 */ -unsigned short semzcnt; /* ゼロを待つプロセス数 */ -unsigned short semncnt; /* 増加を待つプロセス数 */ -pid_t sempid; /* 最後に操作を行なったプロセス */ -.sp -.in -4n -.fi -\fBsemop\fP() は \fIsemid\fP で指定されたセマフォ集合の選択されたセマフォに対して操作を行う。 \fIsops\fP は \fInsops\fP -個の要素の配列を指し、配列の各要素は個々のセマフォに 対する操作を示す。その型は \fIstruct sembuf\fP で、次のメンバを持つ: -.sp -.in +4n -.nf -unsigned short sem_num; /* セマフォ番号 */ -short sem_op; /* セマフォ操作 */ -short sem_flg; /* 操作フラグ */ -.sp -.in -4n -.fi -\fIsem_flg\fP には \fBIPC_NOWAIT\fP と \fBSEM_UNDO\fP が設定できる。 \fBSEM_UNDO\fP -が指定された操作は、そのプロセスが終了した時に自動的に取り消される。 -.PP -\fIsops\fP に含まれる操作の集合は、 \fI配列の順序\fP で、 \fIアトミックに\fP 実行される。 -すなわち、全ての操作が完全に実行されるか、全く実行されないかの どちらかとなる。 全ての操作が直ちに実行できない場合のこのシステムコールの振る舞いは -個々の操作の \fIsem_flg\fP フィールドに \fBIPC_NOWAIT\fP が存在するかによって決まり、後述のようになる。 - -それぞれの操作はセマフォ集合の \fIsem_num\fP番目 のセマフォに対して実行される。セマフォ集合の最初のセマフォには 番号 0 が振られる。 -そして操作は三種類あり、 \fIsem_op\fP の値で区別される。 -.PP -\fIsem_op\fP が正の整数の場合、操作としてその値をセマフォの値 (\fIsemval\fP) に加える。さらにこの操作に \fBSEM_UNDO\fP -が指定されている場合は、システムはこのセマフォの プロセス・アンドゥ数 (\fIsemadj\fP) を更新する。 -この操作は必ず実行でき、プロセスの停止は起こらない。 呼び出し元プロセスは対象のセマフォ集合を変更する許可がなければならない。 -.PP -\fIsem_op\fP が 0 の場合、「ゼロまで待つ」操作である。この場合、プロセスは そのセマフォ集合に対する読み込み許可がなければならない。 -\fIsemval\fP が 0 ならば、操作は直ちに行われる。 \fIsemval\fP が 0 でない場合、 \fIsem_flg\fP に -\fBIPC_NOWAIT\fP が指定されていれば、 \fBsemop\fP() は失敗し、 \fBerrno\fP に \fBEAGAIN\fP が設定される (このとき -\fIsops\fP に対する操作は全く実行されない)。 \fIsem_flg\fP に \fBIPC_NOWAIT\fP が指定されていない場合、 \fIsemzcnt\fP -(セマフォ値が 0 になるのを待っているプロセスの数) を 1 増加させて、 以下のいずれかが起こるまでプロセスを停止 (sleep) する。 -.IP \(bu 3 -\fIsemval\fP が 0 になった: このとき \fIsemzcnt\fP の値は 1 減算される。 -.IP \(bu -セマフォ集合が削除された: このとき \fBsemop\fP() は失敗し、 \fIerrno\fP に \fBEIDRM\fP が設定される。 -.IP \(bu -呼び出し元プロセスがシグナルを捕獲した: このとき \fIsemzcnt\fP の値は 1 減算され、 \fBsemop\fP() は失敗し \fIerrno\fP に -\fBEINTR\fP が設定される。 -.IP \(bu -\fBsemtimedop\fP() の \fItimeout\fP で指定された制限時間が経過した: このとき \fBsemtimedop\fP() は失敗し、 -\fIerrno\fP に \fBEAGAIN\fP が設定される。 -.PP -\fIsem_op\fP が 0 未満の場合、プロセスにはそのセマフォ集合を変更する許可がなければ ならない。 \fIsemval\fP が \fIsem_op\fP -の絶対値以上の場合は、操作は直ちに実行される: \fIsemval\fP から \fIsem_op\fP の絶対値が減算される。 さらに、この操作に -\fBSEM_UNDO\fP が指定されている場合は、このセマフォのプロセス・アンドゥ数 (\fIsemadj\fP) を更新する。 \fIsemval\fP が -\fIsem_op\fP の絶対値より小さく、 \fIsem_flg\fP に \fBIPC_NOWAIT\fP が指定された場合は、 \fBsemop\fP() は失敗し、 -\fIerrno\fP に \fBEAGAIN\fP が設定される (このとき \fIsops\fP の操作は全く実行されない)。 \fBIPC_WAIT\fP -が指定されていなければ、 \fIsemncnt\fP (このセマフォの値が増加するのを待っているプロセス数のカウンタ) を 1 -増加させて、以下のいずれかが起こるまでプロセスを停止 (sleep) する。 -.IP \(bu 3 -\fIsemval\fP が \fIsem_op\fP の絶対値以上になった: このとき \fIsemncnt\fP が 1 減算され、 \fIsemval\fP から -\fIsem_op\fP の絶対値が引かれる。 この操作に \fBSEM_UNDO\fP が指定されていた場合にはこのセマフォのプロセス・アンドゥ数 -(\fIsemadj\fP) も更新する。 -.IP \(bu -セマフォ集合がシステムから削除された: このとき \fBsemop\fP() は失敗し \fIerrno\fP に \fBEIDRM\fP が設定される。 -.IP \(bu -呼び出したプロセスがシグナルを捕獲した: このとき \fIsemncnt\fP が 1 減算され、 \fBsemop\fP() は失敗し \fIerrno\fP に -\fBEINTR\fP が設定される。 -.IP \(bu -\fBsemtimedop\fP() の \fItimeout\fP で指定された制限時間が経過した: このとき \fBsemtimedop\fP() は失敗し、 -\fIerrno\fP に \fBEAGAIN\fP が設定される。 -.PP -.\" and -.\" .I sem_ctime -操作が成功した場合、 \fIsops\fP が指す配列によって操作対象となった各セマフォの \fIsempid\fP メンバーには呼び出したプロセスのプロセス ID -が設定される。 さらに \fIsem_otime\fP に現在時刻が設定される。 -.PP -\fBsemtimedop\fP() 関数の振る舞いは \fBsemop\fP() と全く同じだが、呼び出し元 -プロセスが停止する場合、停止期間の上限が \fItimeout\fP 引き数の指す -\fItimespec\fP 構造体で指定された時間となる点だけが異なる (この停止期間は -システムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延に -より、この停止期間は少しだけ長くなる可能性がある)。 -指定した制限時間に達した場合は、 \fBsemtimedop\fP() は失敗し、 \fIerrno\fP に -\fBEAGAIN\fP が設定される (このとき \fIsops\fP の操作は実行されない)。 -\fItimeout\fP 引き数が NULL の場合、 \fBsemtimedop\fP() 関数の振る舞いは -\fBsemop\fP() 関数と全く同じになる。 -.SH 返り値 -成功した場合、 \fBsemop\fP() と \fBsemtimedop\fP() は 0 を返す。そうでなければ \-1 を返し、 エラーを示す -\fIerrno\fP を設定する。 -.SH エラー -失敗した場合、 \fIerrno\fP に以下のどれかが設定される: -.TP -\fBE2BIG\fP -\fInsops\fP 引き数が \fBSEMOPM\fP より大きい。 \fBSEMOPM\fP は一回のシステムコールで許される操作の最大個数である。 -.TP -\fBEACCES\fP -呼び出し元プロセスには指定されたセマフォ操作を行うのに 必要なアクセス許可がなく、 \fBCAP_IPC_OWNER\fP ケーパビリティもない。 -.TP -\fBEAGAIN\fP -操作を直ちに処理することができず、かつ \fIsem_flg\fP に \fBIPC_NOWAIT\fP が指定されているか \fItimeout\fP -で指定された制限時間が経過した。 -.TP -\fBEFAULT\fP -引き数 \fIsops\fP か \fItimeout\fP が指しているアドレスにアクセスできない。 -.TP -\fBEFBIG\fP -ある操作で、 \fIsem_num\fP の値が 0 未満か、集合内のセマフォの数以上である。 -.TP -\fBEIDRM\fP -セマフォ集合が削除された。 -.TP -\fBEINTR\fP -このシステムコールで停止している時にプロセスがシグナルを捕獲した。 \fBsingle\fP(7) 参照。 -.TP -\fBEINVAL\fP -セマフォ集合が存在しないか、 \fIsemid\fP が 0 未満であるか、 \fInsops\fP が正の数でない。 -.TP -\fBENOMEM\fP -ある操作で \fIsem_flg\fP に \fBSEM_UNDO\fP が指定されたが、システムにアンドゥ構造体に割り当てる十分なメモリがない。 -.TP -\fBERANGE\fP -ある操作で \fIsem_op+semval\fP が \fBSEMVMX\fP より大きい。 \fBSEMVMX\fP は \fIsemval\fP -の最大値で、その値は実装依存である。 -.SH バージョン -\fBsemtimedop\fP() は Linux 2.5.52 で初めて登場し、 それからカーネル 2.4.22 にも移植された。 -\fBsemtimedop\fP() の glibc でのサポートはバージョン 2.3.3 で初めて登場した。 -.SH 準拠 -.\" SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC. -SVr4, POSIX.1\-2001. -.SH 注意 -あるプロセスの \fIsem_undo\fP 構造体は \fBfork\fP(2) で生成された子プロセスには継承されないが、 \fBexecve\fP(2) -システムコールの場合は継承される。 -.PP -\fBsemop\fP() はシグナルハンドラによって中断された後に、 決して自動的に再開することはない。 たとえシグナルハンドラの設定時に -\fBSA_RESTART\fP フラグがセットされていても再開することはない -.PP -\fIsemadj\fP はプロセスごとの整数で、 \fBSEM_UNDO\fP フラグを設定して実行された全てのセマフォ操作の(負数の)カウンタである。 -\fBsemctl\fP(2) に \fBSETVAL\fP または \fBSETALL\fP を指定し、セマフォの値が -直接設定された場合には、全てのプロセスにおいて対応する \fIsemadj\fP の値がクリアされる。 -.PP -あるセマフォの \fIsemval\fP, \fIsempid\fP, \fIsemzcnt\fP, \fIsemnct\fP の値はいずれも、適切な操作を指定して -\fBsemctl\fP(2) を呼び出すことで取得できる。 -.PP -セマフォ集合のリソースに関する制限のうち、 \fBsemop\fP() に影響を及ぼすものを以下に挙げる: -.TP -\fBSEMOPM\fP -.\" This /proc file is not available in Linux 2.2 and earlier -- MTK -一回の \fBsemop\fP() で許される操作の最大数 (32)。 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP -の第3フィールドに対応し、読み出しも変更もできる)。 -.TP -\fBSEMVMX\fP -\fIsemval\fP が取り得る最大値: 実装依存 (32767)。 -.PP -以下の値に関しては実装依存の制限はない。 終了時の調整 (adjust on exit) の最大値 (\fBSEMAEM\fP)、 -システム全体のアンドゥ構造体の最大数 (\fBSEMMNU\fP)、 プロセスあたりのアンドゥ構造体の最大数。 -.SH バグ -プロセスが終了する際、プロセスに対応する \fIsemadj\fP の集合を使って、 \fBSEM_UNDO\fP -フラグ付きで実行された全てのセマフォ操作の影響を取り消す。 これによりある問題が発生する: これらのセマフォの調整を行っていると、 中にはセマフォの値が -0 未満の値にしようとする場合が出てくる。 このような場合、どのように実装するべきか? ひとつの考えられる手法は、全てのセマフォ調整が実行されるまで -停止することである。しかし、この方法ではプロセスの終了が 長時間にわたって停止されることがあるので望ましくない。 -しかもどれくらい長時間になるかは分からない。 別の選択肢として、このようなセマフォ調整を完全に無視してしまう方法がある (これはセマフォ操作として -\fBIPC_NOWAIT\fP が指定するのと少し似ている)。 Linux は第三の手法を採用している: セマフォの値を出来るだけ (つまり 0 まで) -減少させて、プロセスの終了を直ちに続行できるようにしている。 - -.\" The bug report: -.\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2 -.\" the fix: -.\" http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2 -カーネル 2.6.x (x <= 10) には、ある状況においてセマフォ値が 0 になるのを 待っているプロセスが、セマフォ値が実際に 0 -になったときに起床 (wake up) されない、というバグがある。このバグはカーネル 2.6.11 で修正されている。 -.SH 例 -以下の部分的なコードは、 セマフォ 0 の値が 0 になるのを待ってから、 セマフォの値を 1 加算する処理を、 \fBsemop\fP() -を使ってアトミック (atomically) に行う。 -.nf - - struct sembuf sops[2]; - int semid; - - /* Code to set \fIsemid\fP omitted */ - - sops[0].sem_num = 0; /* Operate on semaphore 0 */ - sops[0].sem_op = 0; /* Wait for value to equal 0 */ - sops[0].sem_flg = 0; - - sops[1].sem_num = 0; /* Operate on semaphore 0 */ - sops[1].sem_op = 1; /* Increment value by one */ - sops[1].sem_flg = 0; - - if (semop(semid, sops, 2) == \-1) { - perror("semop"); - exit(EXIT_FAILURE); - } -.fi -.SH 関連項目 -\fBsemctl\fP(2), \fBsemget\fP(2), \fBsigaction\fP(2), \fBcapabilities\fP(7), -\fBsem_overview\fP(7), \fBsvipc\fP(7), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/send.2 b/draft/man2/send.2 deleted file mode 100644 index a9cac4c1..00000000 --- a/draft/man2/send.2 +++ /dev/null @@ -1,254 +0,0 @@ -.\" Copyright (c) 1983, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1996-10-22 by Eric S. Raymond -.\" Modified Oct 1998 by Andi Kleen -.\" Modified Oct 2003 by aeb -.\" Modified 2004-07-01 by mtk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEND 2 2012\-04\-23 Linux "Linux Programmer's Manual" -.SH 名前 -send, sendto, sendmsg \- ソケットへメッセージを送る -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBssize_t send(int \fP\fIsockfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB);\fP - -\fBssize_t sendto(int \fP\fIsockfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIlen\fP\fB, int \fP\fIflags\fP\fB,\fP -\fB const struct sockaddr *\fP\fIdest_addr\fP\fB, socklen_t \fP\fIaddrlen\fP\fB);\fP - -\fBssize_t sendmsg(int \fP\fIsockfd\fP\fB, const struct msghdr *\fP\fImsg\fP\fB, int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -システムコール \fBsend\fP(), \fBsendto\fP(), \fBsendmsg\fP() は、もう一方のソケットへメッセージを転送するのに使用される。 -.PP -\fBsend\fP() は、ソケットが \fI接続された (connected)\fP 状態にある場合にのみ使用できる -(つまり、どの相手に送信するかは既知である)。 \fBsend\fP() と \fBwrite\fP(2) の違いは、引き数に \fIflags\fP -があるかどうかだけである。 引き数 \fIflags\fP にフラグが指定されない場合、 \fBsend\fP() は \fBwrite\fP(2) と等価である。 -また、 - - send(sockfd, buf, len, flags); - -は以下と等価である。 - - sendto(sockfd, buf, len, flags, NULL, 0); -.PP -引き数 \fIsockfd\fP は、データを送信するパケットのファイル・ディスクリプタである。 -.PP -\fBsendto\fP() は、接続型 (connection\-mode) のソケット (\fBSOCK_STREAM\fP, -\fBSOCK_SEQPACKET\fP) で 使用された場合、引き数 \fIdest_addr\fP と \fIaddrlen\fP は無視される (各々の引き数が -NULL と 0 でない場合は \fBEISCONN\fP エラーも返される)。 また、ソケットが実際には接続されていなかった時には \fBENOTCONN\fP -エラーが返される。 接続型のソケット以外で使用された場合は、接続先のアドレスは \fIdest_addr\fP で与えられ、そのサイズは \fIaddrlen\fP -で指定される。 \fBsendmsg\fP() では、接続先のアドレスは \fImsg.msg_name\fP で与えられ、そのサイズは -\fImsg.msg_namelen\fP で指定される。 -.PP -\fBsend\fP() と \fBsendto\fP() では、メッセージは \fIbuf\fP に格納されており、その長さは \fIlen\fP であると解釈される。 -\fBsendmsg\fP() では、メッセージは 配列 \fImsg.msg_iov\fP の各要素が指す位置に格納されている。 \fBsendmsg\fP() -では、補助データ (制御情報とも呼ばれる) を送信することもできる。 -.PP -メッセージ長が長過ぎるために、そのソケットが使用するプロトコルでは、 メッセージをソケットに渡されたままの形で送信することができない場合、 -\fBEMSGSIZE\fP エラーが返され、そのメッセージは転送されない。 -.PP -\fBsend\fP() では、配送の失敗の通知は明示的に行われる。 ローカル側でエラーが検出された場合は、返り値 \-1 として通知される。 -.PP -メッセージがソケットの送信バッファに入れることができない場合、 \fBsend\fP() は通常は停止 (block) する (ソケットが非停止 -(nonblocking) I/O モード でない場合)。非停止モードの場合にはエラー \fBEAGAIN\fP か \fBEWOULDBLOCK\fP -で失敗する。 いつデータをさらに送信できるようになるかを知るために、 \fBselect\fP(2) コールを使用することができる。 -.PP -.\" FIXME ? document MSG_PROXY (which went away in 2.3.15) -\fIflags\fP 引き数は、以下のフラグの (0 個以上の) ビット単位の論理和を とったものを指定する。 -.TP -\fBMSG_CONFIRM\fP (Linux 2.3.15 以降) -転送処理に進展があった、つまり相手側から成功の応答を受けたことをリンク層に 知らせる。リンク層がこの通知を受け取らなかった場合には、通常どおり -(ユニキャスト ARP を使うなどの方法で) 近傍 (neighbor) の再検索を行う。 \fBSOCK_DGRAM\fP と \fBSOCK_RAW\fP -のソケットに対してのみ有効で、現在のところ IPv4 と IPv6 のみ実装されている。 詳しくは \fBarp\fP(7) 参照のこと。 -.TP -\fBMSG_DONTROUTE\fP -パケットを送り出すのにゲートウェイを使用せず、 直接接続されているネットワーク上のホストだけに送る。 通常、このフラグは診断 (diagnostic) -やルーティング・プログラムに よってのみ使用される。このフラグは、経路制御が行われるプロトコルファミリー -に対してのみ定義されている。パケットソケットには定義されていない。 -.TP -\fBMSG_DONTWAIT\fP (Linux 2.2 以降) -非停止 (nonblocking) 操作を有効にする。操作が停止されるような場合には \fBEAGAIN\fP か \fBEWOULDBLOCK\fP -を返すようにする (\fBfcntl\fP(2) の \fBF_SETFL\fP で \fBO_NONBLOCK\fP フラグを指定することによっても有効にできる)。 -.TP -\fBMSG_EOR\fP (Linux 2.2 以降) -レコードの終了を指示する (\fBSOCK_SEQPACKET\fP のようにこの概念に対応しているソケット種別のときに有効)。 -.TP -\fBMSG_MORE\fP (Linux 2.4.4 以降) -呼び出し元にさらに送るデータがあることを示す。 このフラグは TCP ソケットとともに使用され、 \fBTCP_CORK\fP -ソケットオプションと同じ効果が得られる (\fBtcp\fP(7) を参照)。 \fBTCP_CORK\fP との違いは、このフラグを使うと呼び出し単位で -この機能を有効にできる点である。 - -Linux 2.6 以降では、このフラグは UDP ソケットでもサポートされており、 -このフラグ付きで送信された全てのデータを一つのデータグラムにまとめて 送信することを、カーネルに知らせる。まとめられたデータグラムは、 -このフラグを指定せずにこのシステムコールが実行された際に初めて送信される (\fBudp\fP(7) に記載されているソケットオプション -\fBUDP_CORK\fP も参照)。 -.TP -\fBMSG_NOSIGNAL\fP (Linux 2.2 以降) -ストリーム指向のソケットで相手側が接続を切断した時に、エラーとして \fBSIGPIPE\fP を送信しないように要求する。この場合でも \fBEPIPE\fP -は返される。 -.TP -\fBMSG_OOB\fP -\fI帯域外 (out\-of\-band)\fP データをサポートするソケット (例えば \fBSOCK_STREAM\fP) で \fI帯域外\fP -データを送る。下位プロトコルも \fI帯域外\fP データをサポートしている必要がある。 -.PP -\fImsghdr\fP 構造体の内容は以下の通り。 各フィールドの正確な記述については \fBrecv\fP(2) と以下の説明を参照すること。 -.in +4n -.nf - -struct msghdr { - void *msg_name; /* 追加のアドレス */ - socklen_t msg_namelen; /* アドレスのサイズ */ - struct iovec *msg_iov; /* scatter/gather 配列 */ - size_t msg_iovlen; /* msg_iov の要素数 */ - void *msg_control; /* 補助データ (後述) */ - size_t msg_controllen; /* 補助データバッファ長 */ - int msg_flags; /* 受信メッセージのフラグ */ -}; -.fi -.in -.PP -.\" Still to be documented: -.\" Send file descriptors and user credentials using the -.\" msg_control* fields. -.\" The flags returned in msg_flags. -\fImsg_control\fP と \fImsg_controllen\fP メンバーを使用して制御情報を送信することができる。 -カーネルが処理できる制御バッファのソケットあたりの最大長は、 \fI/proc/sys/net/core/optmem_max\fP の値に制限されている。 -\fBsocket\fP(7) を参照。 -.SH 返り値 -成功した場合、これらのシステムコールは送信されたバイト数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP を適切に設定にする。 -.SH エラー -これらはソケット層で発生する一般的なエラーである。これ以外に、下層の プロトコル・モジュールで生成されたエラーが返されるかもしれない。 -これらについては、それぞれのマニュアルを参照すること。 -.TP -\fBEACCES\fP -(UNIX ドメインソケットの場合; パス名で識別される。) - -ソケット・ファイルへの書き込み許可がなかったか、パス名へ到達するまでの -ディレクトリのいずれかに対する検索許可がなかった。 -(\fBpath_resolution\fP(7) も参照のこと) -.sp -(UDP ソケットの場合) ユニキャストアドレスであるかのように、 -ネットワークアドレスやブロードキャストアドレスへの送信が試みられた。 -.TP -\fBEAGAIN\fP または \fBEWOULDBLOCK\fP -.\" Actually EAGAIN on Linux -ソケットが非停止に設定されており、 要求された操作が停止した。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら -2 つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 -.TP -\fBEBADF\fP -無効なディスクリプターが指定された。 -.TP -\fBECONNRESET\fP -接続が接続相手によりリセットされた。 -.TP -\fBEDESTADDRREQ\fP -ソケットが接続型 (connection\-mode) ではなく、 かつ送信先のアドレスが設定されていない。 -.TP -\fBEFAULT\fP -ユーザー空間として不正なアドレスがパラメーターとして指定された。 -.TP -\fBEINTR\fP -データが送信される前に、シグナルが発生した。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -不正な引き数が渡された。 -.TP -\fBEISCONN\fP -接続型ソケットの接続がすでに確立していたが、受信者が指定されていた。 (現在のところ、この状況では、このエラーが返されるか、 -受信者の指定が無視されるか、のいずれかとなる) -.TP -\fBEMSGSIZE\fP -.\" (e.g., SOCK_DGRAM ) -そのソケット種別 ではソケットに渡されたままの形でメッセージを送信する必要があるが、 メッセージが大き過ぎるため送信することができない。 -.TP -\fBENOBUFS\fP -ネットワーク・インターフェースの出力キューが一杯である。 一般的には、一時的な輻輳 (congestion) のためにインターフェースが -送信を止めていることを意味する。 (通常、Linux ではこのようなことは起こらない。デバイスのキューが -オーバーフローした場合にはパケットは黙って捨てられる) -.TP -\fBENOMEM\fP -メモリが足りない。 -.TP -\fBENOTCONN\fP -ソケットが接続されておらず、接続先も指定されていない。 -.TP -\fBENOTSOCK\fP -引き数 \fIsockfd\fP はソケットではない。 -.TP -\fBEOPNOTSUPP\fP -引き数 \fIflags\fP のいくつかのビットが、そのソケット種別では不適切なものである。 -.TP -\fBEPIPE\fP -接続指向のソケットでローカル側が閉じられている。 この場合、 \fBMSG_NOSIGNAL\fP が設定されていなければ、プロセスには \fBSIGPIPE\fP -も同時に送られる。 -.SH 準拠 -4.4BSD, SVr4, POSIX.1\-2001. (これらの関数コールは 4.2BSD で最初に登場した)。 -.LP -POSIX.1\-2001 には、 \fBMSG_OOB\fP と \fBMSG_EOR\fP フラグだけが記載されている。 POSIX.1\-2008 では -\fBMSG_NOSIGNAL\fP が規格に追加されている。 \fBMSG_CONFIRM\fP フラグは Linux での拡張である。 -.SH 注意 -上記のプロトタイプは Single UNIX Specification に従っている。 glibc2 も同様である。 \fIflags\fP 引き数は -4.x BSD では \fIint\fP であり、 libc4 と libc5 では \fIunsigned int\fP である。 \fIlen\fP 引き数は 4.x -BSD と libc4 では \fIint\fP であり、 libc5 では \fIsize_t\fP である。 \fIaddrlen\fP 引き数は 4.x BSD と -libc4 と libc5 では \fIint\fP である。 \fBaccept\fP(2) も参照すること。 - -.\" glibc bug raised 12 Mar 2006 -.\" http://sourceware.org/bugzilla/show_bug.cgi?id=2448 -.\" The problem is an underlying kernel issue: the size of the -.\" __kernel_size_t type used to type this field varies -.\" across architectures, but socklen_t is always 32 bits. -POSIX.1\-2001 では、構造体 \fImsghdr\fP のフィールド \fImsg_controllen\fP は \fIsocklen_t\fP -型であるべきだとされているが、 現在の glibc では \fIsize_t\fP 型である。 - -\fBsendmmsg\fP(2) には、一度の呼び出しでの複数のデータグラムの送信に使用できる -Linux 固有の システムコールに関する情報が書かれている。 -.SH バグ -Linux は \fBENOTCONN\fP を返す状況で \fBEPIPE\fP を返すことがある。 -.SH 例 -\fBsendto\fP() の利用例が \fBgetaddrinfo\fP(3) に記載されている。 -.SH 関連項目 -\fBfcntl\fP(2), \fBgetsockopt\fP(2), \fBrecv\fP(2), \fBselect\fP(2), \fBsendfile\fP(2), -\fBsendmmsg\fP(2), \fBshutdown\fP(2), \fBsocket\fP(2), \fBwrite\fP(2), \fBcmsg\fP(3), -\fBip\fP(7), \fBsocket\fP(7), \fBtcp\fP(7), \fBudp\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sendfile.2 b/draft/man2/sendfile.2 index 0d63ba53..ac187151 100644 --- a/draft/man2/sendfile.2 +++ b/draft/man2/sendfile.2 @@ -1,8 +1,12 @@ .\" This man page is Copyright (C) 1998 Pawel Krawczyk. +.\" +.\" %%%LICENSE_START(VERBATIM_ONE_PARA) .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. +.\" %%%LICENSE_END +.\" .\" $Id: sendfile.2,v 1.5 1999/05/18 11:54:11 freitag Exp $ .\" 2000-11-19 bert hubert : in_fd cannot be socket .\" @@ -120,6 +124,6 @@ Linux 固有の \fBsplice\fP(2) システムコールは、任意のファイル \fBmmap\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBsplice\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/set_mempolicy.2 b/draft/man2/set_mempolicy.2 index 1ca02506..61fc93e7 100644 --- a/draft/man2/set_mempolicy.2 +++ b/draft/man2/set_mempolicy.2 @@ -1,6 +1,7 @@ .\" Copyright 2003,2004 Andi Kleen, SuSE Labs. .\" and Copyright 2007 Lee Schermerhorn, Hewlett Packard .\" +.\" %%%LICENSE_START(VERBATIM_PROF) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -17,6 +18,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2006-02-03, mtk, substantial wording changes and other improvements .\" 2007-08-27, Lee Schermerhorn @@ -139,6 +141,6 @@ node)」に空きメモリが全くない場合、システムは 「近くの ( \fBget_mempolicy\fP(2), \fBgetcpu\fP(2), \fBmbind\fP(2), \fBmmap\fP(2), \fBnuma\fP(3), \fBcpuset\fP(7), \fBnuma\fP(7), \fBnumactl\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/set_thread_area.2 b/draft/man2/set_thread_area.2 deleted file mode 100644 index 3a7d38b6..00000000 --- a/draft/man2/set_thread_area.2 +++ /dev/null @@ -1,53 +0,0 @@ -.\" Copyright (C) 2003 Free Software Foundation, Inc. -.\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. -.\" -.\" Author: Kent Yoder -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SET_THREAD_AREA 2 2008\-11\-27 Linux "Linux Programmer's Manual" -.SH 名前 -set_thread_area \- スレッド局所記憶 (TLS) 領域を設定する -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint set_thread_area(struct user_desc *\fP\fIu_info\fP\fB);\fP -.SH 説明 -\fBset_thread_area\fP() は、カレント・スレッドのスレッド局所記憶 (Thread Local Storage; TLS) -配列の中のエントリを設定する。 \fBset_thread_area\fP() により設定される TLS 配列のエントリは、ユーザから引き数として渡される -\fIu_info\->entry_number\fP の値に対応している。値が範囲内にある場合、 \fBset_thread_area\fP() は -\fIu_info\fP で指された TLS ディスクリプタをスレッドの TLS 配列にコピーする。 -.PP -\fIentry_number\fP として \-1 が渡された場合、 \fBset_thread_area\fP() は未使用 (free) の TLS -エントリを使用する。 未使用の TLS エントリがあった場合、どのエントリが変更されたかが分かる ように終了時に -\fIu_info\->entry_number\fP の値が変更される。 -.SH 返り値 -\fBset_thread_area\fP() は成功した場合 0 を返す。失敗した場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEINVAL\fP -\fIu_info\->entry_number\fP が範囲外である。 -.TP -\fBEFAULT\fP -\fIu_info\fP が不正なポインタである。 -.TP -\fBESRCH\fP -未使用の TLS エントリが見つからなかった。 -.SH バージョン -\fBset_thread_area\fP() は Linux 2.5.29 で初めて登場した。 -.SH 準拠 -\fBset_thread_area\fP() は Linux 独自であり、移植を意図したプログラムでは使用すべきではない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 このシステムコールは呼び出すには \fBsyscall\fP(2) を使うこと。 -.SH 関連項目 -\fBget_thread_area\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/set_tid_address.2 b/draft/man2/set_tid_address.2 deleted file mode 100644 index 33926aa5..00000000 --- a/draft/man2/set_tid_address.2 +++ /dev/null @@ -1,70 +0,0 @@ -.\" Copyright (C) 2004 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SET_TID_ADDRESS 2 2004\-09\-10 Linux "Linux Programmer's Manual" -.SH 名前 -set_tid_address \- スレッド ID へのポインタを設定する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBlong set_tid_address(int *\fP\fItidptr\fP\fB);\fP -.fi -.SH 説明 -カーネルは各プロセスについて \fIset_child_tid\fP と \fIclear_child_tid\fP という 2 つの値を保持する。 -これらはデフォルトでは NULL である。 -.SS set_child_tid -プロセスが \fBCLONE_CHILD_SETTID\fP フラグを指定した \fBclone\fP(2) によって開始された場合、 -\fIset_child_tid\fP は \fIchild_tidptr\fP に設定される。 これは \fBclone\fP(2) のシステムコールの 5 -番目の引き数である。 -.LP -\fIset_child_tid\fP が設定された場合、一番最初に新しいプロセスが行うことは、 このアドレスに自身の PID を書き込むことである。 -.SS clear_child_tid -プロセスが \fBCLONE_CHILD_CLEARTID\fP フラグを指定した \fBclone\fP(2) によって開始された場合、 -\fIclear_child_tid\fP は \fIchild_tidptr\fP に設定される。 これは \fBclone\fP(2) のシステムコールの 5 -番目の引き数である。 -.LP -システムコール \fBset_tid_address\fP() は呼び出し元プロセスの \fIclear_child_tid\fP の値を \fItidptr\fP -に設定する。 -.LP -\fIclear_child_tid\fP が設定されているときにプロセスが終了すると、 そのプロセスは他のプロセスまたはスレッドとメモリを共有しているので、 -このアドレスに 0 が書き込まれ、 \fIfutex(child_tidptr, FUTEX_WAKE, 1, NULL, NULL, 0);\fP -の呼び出しが実行される (つまり、この futex で待っている 1 つのプロセスを起こす (wake))。 エラーは無視される。 -.SH 返り値 -\fBset_tid_address\fP() は常に現在のプロセスの PID を返す。 -.SH エラー -\fBset_tid_address\fP() は常に成功する。 -.SH バージョン -この呼び出しは Linux 2.5.48 以降で存在する。 ここで書かれた詳細は Linux 2.5.49 以降で有効である。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 関連項目 -\fBclone\fP(2), \fBfutex\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/seteuid.2 b/draft/man2/seteuid.2 deleted file mode 100644 index 2b7df3e1..00000000 --- a/draft/man2/seteuid.2 +++ /dev/null @@ -1,95 +0,0 @@ -.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" [should really be seteuid.3] -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SETEUID 2 2009\-10\-17 Linux "Linux Programmer's Manual" -.SH 名前 -seteuid, setegid \- 実効ユーザー ID や 実効グループ ID を設定する -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint seteuid(uid_t \fP\fIeuid\fP\fB);\fP -.br -\fBint setegid(gid_t \fP\fIegid\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBseteuid\fP(), \fBsetegid\fP(): -.RS 4 -_BSD_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600 -.RE -.ad -.SH 説明 -\fBseteuid\fP() は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユーザーのプロセスの場合、実効ユーザー ID -に設定できるのは、 実ユーザー ID・実効ユーザー ID・保存 set\-user\-ID のいずれかだけである。 - -.\" When -.\" .I euid -.\" equals \-1, nothing is changed. -.\" (This is an artifact of the implementation in glibc of seteuid() -.\" using setresuid(2).) -\fBsetegid\fP() は「ユーザー」ではなく「グループ」に対して全く同じことを行う。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.\" .TP -.\" .B EINVAL -.TP -\fBEPERM\fP -呼び出し元のプロセスに特権がなく、 \fIeuid\fP (\fIegid\fP) が実ユーザー (グループ) ID、または実効ユーザー (グループ) ID、 -保存 set\-user\-ID (保存 set\-group\-ID) のいずれでもではない (Linux においては、 \fBseteuid\fP() では -\fBCAP_SETUID\fP ケーパビリティ (capability) が、 \fBsetegid\fP() では \fBCAP_SETGID\fP -ケーパビリティがない場合に、特権がないと判断される)。 -.SH 準拠 -4.3BSD, POSIX.1\-2001. -.SH 注意 -実効ユーザー (グループ) ID を保存 set\-user\-ID (保存 set\-group\-ID) に 設定できるのは、Linux 1.1.37 -(1.1.38) 以降である。 全てのシステムにおいて \fB_POSIX_SAVED_IDS\fP をチェックすべきである。 -.LP -libc4, libc5, glibc 2.0 では、 \fBseteuid(\fP\fIeuid\fP\fB)\fP は \fBsetreuid(\-1,\fP\fI -euid\fP\fB)\fP と等価であり、保存 set\-user\-ID を変更するかもしれない。 glibc 2.1 では、 -\fBsetresuid(\-1,\fP\fI euid\fP\fB, \-1)\fP と等価であり、保存 set\-user\-ID 変更しない。 同様のことが -\fBsetegid\fP() にも言える。 - -POSIX.1 では、 \fBseteuid\fP() (\fBsetegid\fP()) で、 \fIeuid\fP (\fIegid\fP) として現在の実効ユーザ -(グループ) ID と同じ値を指定可能である 必要はないとされており、いくつかの実装では \fIeuid\fP (\fIegid\fP) として現在の実効ユーザ -(グループ) ID と同じ値を 指定することができない。 -.SH 関連項目 -\fBgeteuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2), -\fBcapabilities\fP(7), \fBcredentials\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setfsgid.2 b/draft/man2/setfsgid.2 index f06303b9..f4cdc7a6 100644 --- a/draft/man2/setfsgid.2 +++ b/draft/man2/setfsgid.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created 1995-08-06 Thomas K. Dyas .\" Modified 2000-07-01 aeb @@ -77,6 +79,6 @@ glibc の \fBsetfsgid\fP() のラッパー関数は .SH 関連項目 \fBkill\fP(2), \fBsetfsuid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setfsuid.2 b/draft/man2/setfsuid.2 index d710e8a6..e7802d16 100644 --- a/draft/man2/setfsuid.2 +++ b/draft/man2/setfsuid.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created 1995-08-06 Thomas K. Dyas .\" Modified 2000-07-01 aeb @@ -77,6 +79,6 @@ glibc の \fBsetfsuid\fP() のラッパー関数は .SH 関連項目 \fBkill\fP(2), \fBsetfsgid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setgid.2 b/draft/man2/setgid.2 index a06df1dd..0b615214 100644 --- a/draft/man2/setgid.2 +++ b/draft/man2/setgid.2 @@ -1,5 +1,6 @@ .\" Copyright (C), 1994, Graeme W. Wilford. (Wilf.) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Fri Jul 29th 12:56:44 BST 1994 Wilf. .\" Modified 1997-01-31 by Eric S. Raymond @@ -52,6 +54,8 @@ set\-user\-ID\-root でない set\-group\-ID プログラムにそのグルー \fBEPERM\fP 呼び出し元のプロセスに権限がなく (\fBCAP_SETGID\fP ケーパビリティがなく)、かつ \fIgid\fP が呼び出し元のプロセスの実グループID と保存セットグループID のどちらとも一致しない。 +.SH 準拠 +SVr4, POSIX.1\-2001. .SH 注意 元々の Linux の \fBsetgid\fP() システムコールは 16 ビットのグループ ID だけに対応していた。 @@ -59,12 +63,10 @@ set\-user\-ID\-root でない set\-group\-ID プログラムにそのグルー \fBsetgid32\fP() が追加された。 glibc の \fBsetgid\fP() のラッパー関数は カーネルバージョンによるこの違いを吸収している。 -.SH 準拠 -SVr4, POSIX.1\-2001. .SH 関連項目 \fBgetgid\fP(2), \fBsetegid\fP(2), \fBsetregid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setns.2 b/draft/man2/setns.2 deleted file mode 100644 index 03f136ae..00000000 --- a/draft/man2/setns.2 +++ /dev/null @@ -1,88 +0,0 @@ -.\" Copyright (C) 2011, Eric Biederman -.\" Licensed under the GPLv2 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SETNS 2 2012\-05\-04 Linux "Linux Programmer's Manual" -.SH 名前 -setns \- スレッドに名前空間を関連付けしなおす -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint setns(int \fP\fIfd\fP\fB, int \fP\fInstype\fP\fB);\fP -.fi -.SH 説明 -名前空間を参照するファイルディスクリプタを指定すると、 -呼び出したスレッドにその名前空間を関連付けしなおす。 - -\fIfd\fP 引き数は、 \fI/proc/[pid]/ns/\fP ディレクトリ内の名前空間エントリ -のいずれかを参照するファイルディスクリプタである。 -\fI/proc/[pid]/ns/\fP の詳細は \fBproc\fP(5) を参照。 -\fInstype\fP 引き数で指定された制限の範囲内で、 -呼び出したスレッドに \fIfd\fP に対応する名前空間を関連付けしなおす。 - -\fInstype\fP 引き数は、呼び出したスレッドがどのタイプの名前空間を -関連付けしなおすことができるかを指定する。 -この引き数には以下のいずれかの値を指定できる。 -.TP -\fB0\fP -どのタイプの名前空間も関連付けることができる。 -.TP -\fBCLONE_NEWIPC\fP -\fIfd\fP は IPC 名前空間を参照していなければならない。 -.TP -\fBCLONE_NEWNET\fP -\fIfd\fP はネットワーク名前空間を参照していなければならない。 -.TP -\fBCLONE_NEWUTS\fP -\fIfd\fP は UTS 名前空間を参照していなければならない。 -.PP -呼び出し側が \fIfd\fP がどのタイプの名前空間を参照しているかを知っている -(もしくは気にする必要がない) 場合には、 \fInstype\fP に 0 を指定すれば十分 -である。呼び出し側が \fIfd\fP がどのタイプの名前空間を参照しているかを -知っておらず、かつ、特定のタイプの名前空間であることを保証したい場合、 -\fInstype\fP に 0 以外の値を指定するとよい。 (ファイルディスクリプタが別の -プロセスによりオープンされ、例えば、UNIX ドメインソケット経由で呼び出し -側に渡された場合などでは、呼び出し側が \fIfd\fP がどのタイプの名前空間を -参照しているかを知らない可能性がある。) -.SH 返り値 -成功すると \fIsetns\fP() は 0 を返す。 -失敗すると、 \-1 が返され、 \fIerrno\fP にエラーを示す値が設定される。 -.SH エラー -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタではない。 -.TP -\fBEINVAL\fP -\fIfd\fP が \fInstype\fP で指定されたタイプと一致しない名前空間を参照している。 -または、指定された名前空間をそのスレッドに関連付けし直す際に問題 -があった。 -.TP -\fBENOMEM\fP -指定された名前空間に変更するのに必要なメモリが割り当てられない。 -.TP -\fBEPERM\fP -呼び出したスレッドがこの操作を行うのに必要な特権 (\fBCAP_SYS_ADMIN\fP) を -持っていなかった。 -.SH バージョン -\fBsetns\fP() システムコールはカーネル 3.0 で Linux に初めて登場した。 -ライブラリによるサポートは glibc バージョン 2.14 を追加された。 -.SH 準拠 -\fBsetns\fP() システムコールは Linux 固有である。 -.SH 注意 -新しいスレッドが \fBclone\fP(2) を使って作成された際に共有できる全ての属性を、 -\fBsetns\fP() を使って変更できるわけではない。 -.SH バグ -現在のところ、 PID 名前空間とマウント名前空間はサポートされていない -(\fBclone\fP(2) の \fBCLONE_NEWPID\fP と \fBCLONE_NEWNS\fP の説明を参照)。 -.SH 関連項目 -\fBclone\fP(2), \fBfork\fP(2), \fBvfork\fP(2), \fBproc\fP(5), \fBunix\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setpgid.2 b/draft/man2/setpgid.2 index e5b93a28..11d8388a 100644 --- a/draft/man2/setpgid.2 +++ b/draft/man2/setpgid.2 @@ -2,6 +2,7 @@ .\" and Copyright (C) 2007, Michael Kerrisk .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -29,6 +30,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)getpgrp.2 6.4 (Berkeley) 3/10/91 .\" @@ -183,6 +185,6 @@ control) の実装のための プロセスグループを作成するのに使 \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setresuid.2 b/draft/man2/setresuid.2 index aabcb9ad..c78dcba4 100644 --- a/draft/man2/setresuid.2 +++ b/draft/man2/setresuid.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1997 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified, 2003-05-26, Michael Kerrisk, .\"******************************************************************* @@ -84,6 +84,6 @@ glibc の \fBsetresuid\fP() と \fBsetresgid\fP() のラッパー関数は \fBgetresuid\fP(2), \fBgetuid\fP(2), \fBsetfsgid\fP(2), \fBsetfsuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setreuid.2 b/draft/man2/setreuid.2 index f54baec4..8f2e01ad 100644 --- a/draft/man2/setreuid.2 +++ b/draft/man2/setreuid.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)setregid.2 6.4 (Berkeley) 3/10/91 .\" @@ -114,6 +116,6 @@ glibc の \fBsetreuid\fP() と \fBsetregid\fP() のラッパー関数は \fBgetgid\fP(2), \fBgetuid\fP(2), \fBseteuid\fP(2), \fBsetgid\fP(2), \fBsetresuid\fP(2), \fBsetuid\fP(2), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setsid.2 b/draft/man2/setsid.2 deleted file mode 100644 index 1df25787..00000000 --- a/draft/man2/setsid.2 +++ /dev/null @@ -1,71 +0,0 @@ -.\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de) -.\" Sat Aug 27 20:43:50 MET DST 1994 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sun Sep 11 19:19:05 1994 -.\" Modified Mon Mar 25 10:19:00 1996 (merged a few -.\" tiny changes from a man page by Charles Livingston). -.\" Modified Sun Jul 21 14:45:46 1996 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SETSID 2 2008\-12\-03 Linux "Linux Programmer's Manual" -.SH 名前 -setsid \- セッション (session) を作成し、プロセスグループ ID を設定する -.SH 書式 -.ad l -\fB#include \fP -.sp -\fBpid_t setsid(void);\fP -.br -.ad b -.SH 説明 -\fBsetsid\fP() は呼び出したプロセスがプロセスグループ・リーダー (process group leader) -でなければ、新しいセッションを作成する。 呼び出したプロセスは新しいセッションのリーダー、新しいプロセスグループの -プロセスグループ・リーダーとなり、tty の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッション ID には、 -呼び出したプロセスの PID が設定される。呼び出したプロセスはこの 新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。 -.SH 返り値 -成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの場合は、 \fI(pid_t)\ \-1\fP が返され、 -\fIerror\fP にエラーを示す値が設定される。 -.SH エラー -.TP -\fBEPERM\fP -いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等しい。 これは、呼び出したプロセスが既にプロセスリーダーの場合には -\fBsetsid\fP() は失敗することを意味する。 -.SH 準拠 -SVr4, POSIX.1\-2001. -.SH 注意 -\fBfork\fP(2) で作成された子プロセスは、親プロセスのセッション ID を継承する。 \fBexecve\fP(2) の前後でセッション ID -は保存される。 - -プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その PID に等しいプロセスである。 \fBsetsid\fP() -を確実に成功させるためには、 \fBfork\fP(2) して \fBexit\fP(2) し、子プロセスで \fBsetsid\fP() を行なえば良い。 -.SH 関連項目 -\fBgetsid\fP(2), \fBsetpgid\fP(2), \fBsetpgrp\fP(2), \fBtcgetsid\fP(3), -\fBcredentials\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setuid.2 b/draft/man2/setuid.2 index 33ee8c05..6ab9ab8b 100644 --- a/draft/man2/setuid.2 +++ b/draft/man2/setuid.2 @@ -1,5 +1,6 @@ .\" Copyright (C), 1994, Graeme W. Wilford (Wilf). .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Fri Jul 29th 12:56:44 BST 1994 Wilf. .\" Changes inspired by patch from Richard Kettlewell @@ -88,6 +90,6 @@ glibc の \fBsetuid\fP() のラッパー関数は \fBgetuid\fP(2), \fBseteuid\fP(2), \fBsetfsuid\fP(2), \fBsetreuid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setup.2 b/draft/man2/setup.2 index fc102b94..044acd6b 100644 --- a/draft/man2/setup.2 +++ b/draft/man2/setup.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified Sun Jul 25 10:14:13 1993 by Rik Faith @@ -63,6 +63,6 @@ Linux 2.1.121 以降では、もはやこの関数は存在しない。 呼び出し手続きは変化してきた。 ある時は \fIsetup ()\fP は一つの引数 \fIvoid *BIOS\fP を取っており、またある時には \fIint magic\fP を一つの引数として取っていた。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/setxattr.2 b/draft/man2/setxattr.2 deleted file mode 100644 index 8dac2346..00000000 --- a/draft/man2/setxattr.2 +++ /dev/null @@ -1,99 +0,0 @@ -.\" -.\" Extended attributes system calls manual pages -.\" -.\" Copyright (C) Andreas Gruenbacher, February 2001 -.\" Copyright (C) Silicon Graphics Inc, September 2001 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SETXATTR 2 2001\-12\-31 Linux "Linux Programmer's Manual" -.SH 名前 -setxattr, lsetxattr, fsetxattr \- 拡張属性の値を設定する -.SH 書式 -.fam C -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint setxattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB const void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB, int \fP\fIflags\fP\fB);\fP -\fBint lsetxattr(const char\ *\fP\fIpath\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB const void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB, int \fP\fIflags\fP\fB);\fP -\fBint fsetxattr(int \fP\fIfd\fP\fB, const char\ *\fP\fIname\fP\fB,\fP -\fB const void\ *\fP\fIvalue\fP\fB, size_t \fP\fIsize\fP\fB, int \fP\fIflags\fP\fB);\fP -.fi -.fam T -.SH 説明 -拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた \fIname\fP:\fIvalue\fP の対である。 -これらは、システム上のすべての inode に関連付けられた通常の属性 (\fBstat\fP(2) が返すデータ) を拡張するものである。 -拡張属性のコンセプトは \fBattr\fP(5) に書かれている。 -.PP -\fBsetxattr\fP() は、ファイルシステム内の指定された \fIpath\fP に対応する、名前 \fIname\fP の拡張属性の値 \fIvalue\fP -を設定する。 \fIvalue\fP の \fIsize\fP は必ず指定しなければならない。 -.PP -\fBlsetxattr\fP() は \fBsetxattr\fP() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル -ではなく、リンクそのものの拡張属性を設定する点だけが異なる。 -.PP -\fBfsetxattr\fP() は \fBsetxattr\fP() と同じだが、 \fIpath\fP の代わりに \fIfd\fP -で参照されたオープン済みファイルの情報だけを設定する点が異なる (\fIfiledes\fP は \fBopen\fP(2) によって返される)。 -.PP -拡張属性の名前 は普通の NULL 終端された文字列である。 \fIname\fP には、名前空間を表す接頭辞 (prefix) が含まれる。 個々の -inode に対して、互いに独立な名前空間が複数あってもよい。 拡張属性の値 \fIvalue\fP は、ある一定の長さの任意のテキスト・データまたは -バイナリ・データの集合である。 -.PP -操作の意味を明確にするために \fIflags\fP 引き数を使用することができる。 \fBXATTR_CREATE\fP は属性の作成だけを行うことを指定する。 -指定された名前の属性がすでに存在する場合は失敗する。 \fBXATTR_REPLACE\fP は属性の置換だけを行うことを指定する。 -指定された名前の属性がまだ存在しない場合は失敗する。 デフォルトでは (フラグを指定しない場合)、拡張属性は必要な場合は作成され、 -属性がすでに存在する場合は属性値の置換を行う。 -.SH 返り値 -成功した場合、0 が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 -.PP -\fBXATTR_CREATE\fP が指定され、かつ属性がすでに存在する場合、 \fIerrno\fP に \fBEEXIST\fP がセットされる。 -\fBXATTR_REPLACE\fP が指定され、属性がまだ存在しない場合、 \fIerrno\fP に \fBENOATTR\fP がセットされる。 -.PP -拡張属性を記憶するのに十分なスペースが残っていない場合、 \fIerrno\fP に \fBENOSPC\fP または \fBEDQUOT\fP (quota -による制限が原因の場合) がセットされる。 -.PP -拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 \fIerrno\fP に \fBENOTSUP\fP がセットされる。 -.PP -\fBstat\fP(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。 -.SH バージョン -これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。 -.SH 準拠 -.\" .SH AUTHORS -.\" Andreas Gruenbacher, -.\" .RI < a.gruenbacher@computer.org > -.\" and the SGI XFS development team, -.\" .RI < linux-xfs@oss.sgi.com >. -.\" Please send any bug reports or comments to these addresses. -これらのシステムコールは Linux 独自である。 -.SH 関連項目 -\fBgetfattr\fP(1), \fBsetfattr\fP(1), \fBgetxattr\fP(2), \fBlistxattr\fP(2), \fBopen\fP(2), -\fBremovexattr\fP(2), \fBstat\fP(2), \fBattr\fP(5), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sgetmask.2 b/draft/man2/sgetmask.2 deleted file mode 100644 index 95c07a5b..00000000 --- a/draft/man2/sgetmask.2 +++ /dev/null @@ -1,62 +0,0 @@ -.\" t -.\" Copyright (c) 2007 by Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SGETMASK 2 2007\-07\-05 Linux "Linux Programmer's Manual" -.SH 名前 -sgetmask, ssetmask \- シグナルマスクの操作 (廃止予定) -.SH 書式 -\fBlong sgetmask(void);\fP -.sp -\fBlong ssetmask(long \fP\fInewmask\fP\fB);\fP -.SH 説明 -これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに \fBsigprocmask\fP(2) を使用すること。 - -\fBsgetmask\fP() は、呼び出し元プロセスのシグナルマスクを返す。 - -\fBssetmask\fP() は、呼び出し元プロセスのシグナルマスクを \fInewmask\fP で指定された値に設定し、変更前のシグナルマスクを返す。 - -これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである (この点が \fBsigprocmask\fP(2) で使用される -\fIsigset_t\fP と異なる)。 これらのマスクを作成したり検査するには \fBsigmask\fP(3) を使用すること。 -.SH 返り値 -\fBsgetmask\fP() は常に成功し、シグナルマスクを返す。 \fBssetmask\fP() は常に成功し、直前のシグナルマスクを返す。 -.SH エラー -これらのシステムコールは常に成功する。 -.SH 準拠 -これらのシステムコールは Linux 固有である。 -.SH 注意 -glibc はこれらのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使用すること。 - -これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシグナル) を扱えない。 - -\fBSIGSTOP\fP や \fBSIGKILL\fP をブロックすることはできない。 -.SH 関連項目 -\fBsigprocmask\fP(2), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/shmctl.2 b/draft/man2/shmctl.2 deleted file mode 100644 index 193d646b..00000000 --- a/draft/man2/shmctl.2 +++ /dev/null @@ -1,254 +0,0 @@ -.\" Copyright (c) 1993 Luigi P. Bai (lpb@softint.com) July 28, 1993 -.\" and Copyright 1993 Giorgio Ciucci -.\" and Copyright 2004, 2005 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-28, Rik Faith -.\" Modified 1993-11-28, Giorgio Ciucci -.\" Modified 1997-01-31, Eric S. Raymond -.\" Modified 2001-02-18, Andries Brouwer -.\" Modified 2002-01-05, 2004-05-27, 2004-06-17, -.\" Michael Kerrisk -.\" Modified 2004-10-11, aeb -.\" Modified, Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Updated shmid_ds structure definitions -.\" Added information on SHM_DEST and SHM_LOCKED flags -.\" Noted that CAP_IPC_LOCK is not required for SHM_UNLOCK -.\" since kernel 2.6.9 -.\" Modified, 2004-11-25, mtk, notes on 2.6.9 RLIMIT_MEMLOCK changes -.\" 2005-04-25, mtk -- noted aberrant Linux behavior w.r.t. new -.\" attaches to a segment that has already been marked for deletion. -.\" 2005-08-02, mtk: Added IPC_INFO, SHM_INFO, SHM_STAT descriptions. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHMCTL 2 2008\-08\-07 Linux "Linux Programmer's Manual" -.SH 名前 -shmctl \- 共有メモリ (shared memory) を制御する -.SH 書式 -.ad l -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint shmctl(int \fP\fIshmid\fP\fB, int \fP\fIcmd\fP\fB, struct shmid_ds *\fP\fIbuf\fP\fB);\fP -.ad b -.SH 説明 -\fBshmctl\fP() は、識別子が \fIshmid\fP の共有メモリ・セグメントに対して \fIcmd\fP で指示した制御命令を実行する。 -.PP -\fIbuf\fP 引き数は、 \fIshmid_ds\fP 構造体へのポインタである。 この構造体は \fI\fP -で以下のように定義されている -.PP -.in +4n -.nf -struct shmid_ds { - struct ipc_perm shm_perm; /* 所有権と許可 */ - size_t shm_segsz; /* セグメントのサイズ (バイト) */ - time_t shm_atime; /* 最後の付加 (attach) の時刻 */ - time_t shm_dtime; /* 最後の分離 (detach) の時刻 */ - time_t shm_ctime; /* 最後に変更が行われた時刻 */ - pid_t shm_cpid; /* 作成者 (creator) の PID */ - pid_t shm_lpid; /* 最後の shmat(2)/shmdt(2) の PID */ - shmatt_t shm_nattch; /* 現在付加されている数 */ - ... -}; -.fi -.in -.PP -\fIipc_perm\fP 構造体は \fI\fP で以下のように定義されている (強調されたフィールドは -\fBIPC_SET\fP を使って設定可能である): -.PP -.in +4n -.nf -struct ipc_perm { - key_t __key; /* shmget(2) に与えられるキー */ - uid_t \fBuid\fP; /* 所有者の実効 UID */ - gid_t \fBgid\fP; /* 所有者の実効 GID */ - uid_t cuid; /* 作成者の実効 UID */ - gid_t cgid; /* 作成者の実効 GID */ - unsigned short \fBmode\fP; /* \fB許可\fP + SHM_DEST と - SHM_LOCKED フラグ */ - unsigned short __seq; /* シーケンス番号 */ -}; -.fi -.in -.PP -\fIcmd\fP として有効な値は以下の通り: -.br -.TP 10 -\fBIPC_STAT\fP -\fIshmid\fP に関連づけられたカーネルデータ構造体の情報を \fIbuf\fP で指された \fIshmid_ds\fP 構造体にコピーする。 -呼び出し元は共有メモリ・セグメントに対する 読み込み許可を持たなければならない。 -.TP -\fBIPC_SET\fP -\fIbuf\fP によって指される \fIshmid_ds\fP 構造体のいくつかのメンバーの値を、 -この共有メモリ・セグメントに関連づけられたカーネルデータ構造体に書き込み、 \fIshm_ctime\fP メンバーも更新する。 -以下のフィールドは変更できる。 \fIshm_perm.uid\fP, \fIshm_perm.gid\fP, \fIshm_perm.mode\fP (の最下位 9 -ビット)。 呼び出したプロセスの実効 UID が所有者 (\fIshm_perm.uid\fP) または作成者 (\fIshm_perm.cuid\fP) -と一致するか、呼び出し元が特権を持たなければならない。 -.TP -\fBIPC_RMID\fP -セグメントに破棄済みのマークを付ける。 セグメントは、実際には最後プロセスがセグメントを分離した (関連する \fIshmid_ds\fP 構造体の -\fIshm_nattch\fP メンバーが 0 になった) 後でのみ破棄される。 呼び出し元は所有者か作成者であるか、特権を持たなければならない。 -セグメントに破棄のマークが付けられると、 関連するデータ構造体において \fIshm_perm.mode\fP フィールドの (標準ではない) -\fBSHM_DEST\fP フラグが設定される。 このデータ構造体は \fBIPC_STAT\fP で取得される。 -.PP -呼び出し元は最終的にはセグメントを忘れずに破棄\fIしなければならない\fP。 そうでなれば、フォールト (fault) されたページは メモリかスワップ -(swap) に残り続ける。 -.TP 10 -\fBIPC_INFO\fP (Linux 固有) -システム全体での共有メモリの制限とパラメータに関する情報を、 \fIbuf\fP が指す構造体に入れて返す。 この構造体は \fIshminfo\fP 型である -(そのためキャストが必要である)。 \fIshminfo\fP は \fB_GNU_SOURCE\fP 機能検査マクロが定義された場合に -\fI\fP で以下のように定義される: -.nf -.in +4n - -struct shminfo { - unsigned long shmmax; /* 最大セグメントサイズ */ - unsigned long shmmin; /* 最小セグメントサイズ。 - 常に 1 */ - unsigned long shmmni; /* 最大セグメント数 */ - unsigned long shmseg; /* プロセスが付加できる - セグメントの最大数。 - カーネル内では未使用 */ - unsigned long shmall; /* 共有メモリの最大ページ数。 - システム全体での値 */ -}; - -.in -.fi -設定 \fIshmmni\fP, \fIshmmax\fP, \fIshmall\fP は \fI/proc\fP にある同じ名前のファイル経由で変更可能である。 詳しくは -\fBproc\fP(5) を参照。 -.TP -\fBSHM_INFO\fP (Linux 固有) -共有メモリが消費しているシステム資源に関する情報を 格納した \fIshm_info\fP 構造体を返す。 この構造体は、 \fB_GNU_SOURCE\fP -機能検査マクロが定義された場合に \fI\fP で以下のように定義される: -.nf -.in +4n - -struct shm_info { - int used_ids; /* 現在存在するセグメント数 */ - unsigned long shm_tot; /* 共有メモリのページ総数 */ - unsigned long shm_rss; /* メモリ上にある (スワップされて - いない) 共有メモリページ数 */ - unsigned long shm_swp; /* スワップされている共有メモリ - ページ数 */ - unsigned long swap_attempts; - /* Linux 2.4 以降では未使用 */ - unsigned long swap_successes; - /* Linux 2.4 以降では未使用 */ -}; -.in -.fi -.TP -\fBSHM_STAT\fP (Linux 固有) -\fBIPC_STAT\fP と同じく \fIshmid_ds\fP 構造体を返す。 但し、 \fIshmid\fP -引き数は、セグメント識別子でã¯ãªãã€ã‚·ã‚¹ãƒ†ãƒ ä¸Šã®å…¨ã¦ã®å…±æœ‰ãƒ¡ãƒ¢ãƒª セグメントに関する情報を管理するカーネルの内部配列へのインデックス である。 -.PP -呼び出し元は、\fIcmd\fP に以下の値を指定することで、共有メモリ・セグメントが スワップされることを防止したり、許可したりできる: -.br -.TP 10 -\fBSHM_LOCK\fP (Linux 固有) -共有メモリ・セグメントをスワップすることを防止する。 ロックが有効になった後、呼び出し元は、 -存在することが要求された全てのページをフォールトさせなければならない。 セグメントがロックされると、 関連するデータ構造体において -\fIshm_perm.mode\fP フィールドの (標準的ではない) \fBSHM_LOCKED\fP フラグが設定される。 このデータ構造体は -\fBIPC_STAT\fP で取得される。 -.TP -\fBSHM_UNLOCK\fP (Linux 固有) -セグメントのロックを解除し、スワップ・アウトすることを可能にする。 -.PP -.\" There was some weirdness in 2.6.9: SHM_LOCK and SHM_UNLOCK could -.\" be applied to a segment, regardless of ownership of the segment. -.\" This was a botch-up in the move to RLIMIT_MEMLOCK, and was fixed -.\" in 2.6.10. MTK, May 2005 -2.6.10 より前のカーネルでは、特権プロセスだけが \fBSHM_LOCK\fP と \fBSHM_UNLOCK\fP を利用することができた。 2.6.10 -以降のカーネルでは、非特権プロセスであっても次の条件を満たせば これらの操作を利用することができる。その条件とは、プロセスの実効 UID -がそのセグメントの所有者もしくは作成者の UID と一致し、 (\fBSHM_LOCK\fP の場合には) ロックするメモリの合計が -\fBRLIMIT_MEMLOCK\fP リソース上限 (\fBsetrlimit\fP(2) 参照) の範囲内に入っていることである。 -.SH 返り値 -\fBIPC_INFO\fP と \fBSHM_INFO\fP 操作は、成功すると、全ての共有メモリセグメントに関する情報を -管理しているカーネルの内部配列の使用中エントリのインデックスの うち最大値を返す (この情報は、システムの全ての共有メモリセグメントに関する情報を -取得するために、 \fBSHM_STAT\fP 操作を繰り返し実行する際に使用できる)。 \fBSHM_STAT\fP 操作は、成功すると、 \fIshmid\fP -で指定されたインデックスを持つ共有メモリセグメントの識別子を返す。 他の操作は、成功の場合 0 を返す。 - -エラーの場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEACCES\fP -\fBIPC_STAT\fP または \fBSHM_STAT\fP が要求され、 \fIshm_perm.mode\fP が \fIshmid\fP -への読み込みアクセスを許しておらず、 かつ呼び出したプロセスが \fBCAP_IPC_OWNER\fP ケーパビリティ (capability) -を持っていない。 -.TP -\fBEFAULT\fP -\fIcmd\fP 引き数に \fBIPC_SET\fP か \fBIPC_STAT\fP が指定されたが \fIbuf\fP で指されているアドレスにアクセスできない。 -.TP -\fBEIDRM\fP -\fIshmid\fP が削除 (remove) された識別子 (identifier) を指している。 -.TP -\fBEINVAL\fP -\fIshmid\fP が有効な識別子でないか、 \fIcmd\fP が有効なコマンドでない。 もしくは、 \fBSHM_STAT\fP 操作の場合に、 \fIshmid\fP -で指定されたインデックス値が現在未使用の配列のスロットを参照していた。 -.TP -\fBENOMEM\fP -(2.6.9 以降のカーネルにおいて) \fBSHM_LOCK\fP が指定され、 ロックされる予定のセグメントのサイズ -(ロックされる共有メモリ・セグメントの合計バイト数) が、 呼び出したプロセスの実ユーザー ID についての制限を超えた。 この制限は -\fBRLIMIT_MEMLOCK\fP ソフト資源制限で定義される (\fBsetrlimit\fP(2) を参照)。 -.TP -\fBEOVERFLOW\fP -\fBIPC_STAT\fP が試みられ、GID や UID の値が \fIbuf\fP で指示される構造体に格納するには大き過ぎる。 -.TP -\fBEPERM\fP -\fBIPC_SET\fP か \fBIPC_RMID\fP が試みられ、 呼び出したプロセスの実効ユーザー ID が作成者 (\fIshm_perm.cuid\fP) -でも所有者 (\fIshm_perm.uid\fP) でもなく、プロセスが特権を持たない (Linux では \fBCAP_SYS_ADMIN\fP -ケーパビリティを持たない)。 - -または (2.6.9 より前のカーネルで) \fBSHM_LOCK\fP または \fBSHM_UNLOCK\fP が指定されているが、プロセスが特権を持たない -(Linux では \fBCAP_IPC_LOCK\fP ケーパビリティを持たない)。 (Linux 2.6.9 以降では、 -\fBRLIMIT_MEMLOCK\fP が 0 で呼び出し元が特権を持たない場合にも、このエラーが起こる。) -.SH 準拠 -.\" SVr4 documents additional error conditions EINVAL, -.\" ENOENT, ENOSPC, ENOMEM, EEXIST. Neither SVr4 nor SVID documents -.\" an EIDRM error condition. -SVr4, POSIX.1\-2001. -.SH 注意 -\fBIPC_INFO\fP, \fBSHM_STAT\fP, \fBSHM_INFO\fP 操作は、 \fBipcs\fP(1) -プログラムで割り当て済の資源に関する情報を提供するために 使用されている。将来、これらの操作は変更されたり、 /proc -ファイルシステムのインタフェースに移動されるかもしれない。 - -Linux では、 \fIshmctl(IPC_RMID)\fP を使ってすでに削除マークがつけられている共有メモリ・セグメントを あるプロセスが付加 -(attach) (\fBshmat\fP(2)) することを許可している。 この機能は他の UNIX の実装では利用できない。 -移植性を考慮したアプリケーションではこれに依存しないようにすべきである。 - -\fI構造体 shmid_ds\fP 内の多くのフィールドは、 Linux 2.2 では \fIshort\fP 型だったが、Linux 2.4 では -\fIlong\fP 型になった。 この利点を生かすには、glibc\-2.1.91 以降の環境下で 再コンパイルすれば十分である。 -カーネルは新しい形式の呼び出しと古い形式の呼び出しを \fIcmd\fP 内の \fBIPC_64\fP フラグで区別する。 -.SH 関連項目 -\fBmlock\fP(2), \fBsetrlimit\fP(2), \fBshmget\fP(2), \fBshmop\fP(2), \fBcapabilities\fP(7), -\fBshm_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/shmget.2 b/draft/man2/shmget.2 deleted file mode 100644 index 8c543ca8..00000000 --- a/draft/man2/shmget.2 +++ /dev/null @@ -1,176 +0,0 @@ -.\" Copyright (c) 1993 Luigi P. Bai (lpb@softint.com) July 28, 1993 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Wed Jul 28 10:57:35 1993, Rik Faith -.\" Modified Sun Nov 28 16:43:30 1993, Rik Faith -.\" with material from Giorgio Ciucci -.\" Portions Copyright 1993 Giorgio Ciucci -.\" Modified Tue Oct 22 22:03:17 1996 by Eric S. Raymond -.\" Modified, 8 Jan 2003, Michael Kerrisk, -.\" Removed EIDRM from errors - that can't happen... -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Added notes on /proc files -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHMGET 2 2006\-05\-02 Linux "Linux Programmer's Manual" -.SH 名前 -shmget \- 共有メモリ・セグメントを割り当てる -.SH 書式 -.ad l -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint shmget(key_t \fP\fIkey\fP\fB, size_t \fP\fIsize\fP\fB, int \fP\fIshmflg\fP\fB);\fP -.ad b -.SH 説明 -\fBshmget\fP() は \fIkey\fP 引き数に対応する共有メモリ・セグメントの識別子を返す。 \fIkey\fP の値が \fBIPC_PRIVATE\fP -の場合、もしくは \fIkey\fP に対応する共有メモリ・セグメントが存在せず、 \fIshmflg\fP に \fBIPC_CREAT\fP が指定されていた場合、 -新しい共有メモリ・セグメントを作成する。 作成される共有メモリ・セグメントは、 \fIsize\fP 引き数の値を \fBPAGE_SIZE\fP -の倍数へと切り上げた (round up) 大きさとなる。 -.PP -\fIshmflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP -に対応する共有メモリ・セグメントが既に存在すると、 \fBshmget\fP() は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される -(これは \fBopen\fP(2) に \fBO_CREAT | O_EXCL\fP を指定した場合の動作と同じである)。 -.PP -\fIshmflg\fP は以下の内容から構成される: -.TP 12 -\fBIPC_CREAT\fP -新しいセグメントを作成する。このフラグが指定されなかった場合、 \fBshmget\fP() は \fIkey\fP に対応するセグメントを探し、 -ユーザがそのセグメントにアクセスする許可があるかどうかをチェックする。 -.TP -\fBIPC_EXCL\fP -\fBIPC_CREAT\fP と共に使用し、セグメントが既に存在した場合には 失敗することを保証する。 -.TP -\fImode_flags\fP -(下位 9 ビット) 所有者、グループ、他人 (world) への許可を指定する。 これらのビットは \fBopen\fP(2) の \fImode\fP -引き数と同じ形式で同じ意味を持つ。 今のところ、システムは実行 (execute) 許可を参照しない。 -.TP -\fBSHM_HUGETLB\fP (Linux 2.6 以降) -"ヒュージページ (huge page)" を使うセグメントを割り当てる。 詳細な情報は、カーネル・ソースのファイル -\fIDocumentation/vm/hugetlbpage.txt\fP を参照。 -.TP -\fBSHM_NORESERVE\fP (Linux 2.6.15 以降) -.\" As at 2.6.17-rc2, this flag has no effect if SHM_HUGETLB was also -.\" specified. -このフラグは、 \fBmmap\fP(2) の \fBMAP_NORESERVE\fP フラグと同じ役割を果たす。 -このセグメントに対するスワップ空間の予約を行わない。 スワップ空間を予約した場合は、そのセグメントの変更が必ず成功することが -保証される。スワップ空間の予約を行わなかった場合は、物理メモリに空きが ないと書き込み時に \fBSIGSEGV\fP を受け取る可能性がある。 -\fBproc\fP(5) にある \fI/proc/sys/vm/overcommit_memory\fP ファイルに関する議論も参照のこと。 -.PP -共有メモリ・セグメントが新たに作成される際、 共有メモリ・セグメントの内容は 0 で初期化され、 関連情報を保持するデータ構造体 \fIshmid_ds\fP -は以下のように初期化される。 -.IP -\fIshm_perm.cuid\fP と \fIshm_perm.uid\fP に呼び出し元プロセスの実効 (effective) ユーザーID を設定する。 -.IP -\fIshm_perm.cgid\fP と \fIshm_perm.gid\fP に呼び出し元プロセスの実効グループID を設定する。 -.IP -\fIshm_perm.mode\fP の下位 9 ビットに \fIshmflg\fP の下位 9 ビットを設定する。 -.IP -\fIshm_segsz\fP に \fIsize\fP の値を設定する。 -.IP -\fIshm_lpid\fP, \fIshm_nattch\fP, \fIshm_atime\fP, \fIshm_dtime\fP に 0 を設定する。 -.IP -\fIshm_ctime\fP に現在の時刻を設定する。 -.PP -共有メモリ・セグメントが既に存在する場合、アクセス許可の検査と、 破壊 (destruction) マークがつけられていないかのチェックが行われる。 -.SH 返り値 -成功した場合、有効なセグメント識別子 \fIshmid\fP が返される。エラーの場合、 \-1 が返される。 -.SH エラー -失敗した場合は \fIerrno\fP が以下のどれかに設定される: -.TP -\fBEACCES\fP -ユーザーはその共有メモリ・セグメントへのアクセス許可を持たず、 \fBCAP_IPC_OWNER\fP ケーパビリティも持っていない。 -.TP -\fBEEXIST\fP -\fBIPC_CREAT | IPC_EXCL\fP が指定されていたが、そのセグメントが既に存在する。 -.TP -\fBEINVAL\fP -新しいセグメントを作成しようとした際に \fIsize\fP < \fBSHMMIN\fP または \fIsize\fP > \fBSHMMAX\fP -であった。 もしくは、指定されたキーに対応するセグメントが既に存在して、新しい セグメントを作成しようとはしなかったが、\fIsize\fP -が存在するセグメントの サイズよりも大きかった。 -.TP -\fBENFILE\fP -.\" [2.6.7] shmem_zero_setup()-->shmem_file_setup()-->get_empty_filp() -システム全体でオープンされているファイルの総数が上限に達した。 -.TP -\fBENOENT\fP -指定された \fIkey\fP に対応するセグメントが存在せず、 \fBIPC_CREAT\fP も指定されていなかった。 -.TP -\fBENOMEM\fP -セグメントの管理情報 (overhead) に割り当てるメモリがなかった。 -.TP -\fBENOSPC\fP -システム全体の共有メモリ・セグメント数の制限 (\fBSHMMNI\fP) に達した、または要求された \fIsize\fP のセグメントの割り当てが -システム全体の共有メモリサイズの制限 (\fBSHMALL\fP) を超過した。 -.TP -\fBEPERM\fP -\fBSHM_HUGETLB\fP フラグが指定されたが、呼び出し元には権限がなかった (\fBCAP_IPC_LOCK\fP ケーパビリティを持っていなかった)。 -.SH 準拠 -.\" SVr4 documents an additional error condition EEXIST. -SVr4, POSIX.1\-2001. - -\fBSHM_HUGETLB\fP は Linux での拡張であり、移植性はない。 -.SH 注意 -\fBIPC_PRIVATE\fP はフラグではなく \fIkey_t\fP 型である。 この特別な値が \fIkey\fP に使用された場合は、 \fBshmget\fP() -は \fIshmflg\fP の下位 9 ビットを除いた全てを無視し、 (成功すれば) 新しい共有メモリ・セグメントを作成する。 -.PP -\fBshmget\fP() コールに影響する共有メモリ・セグメント資源の制限は以下の通りである: -.TP -\fBSHMALL\fP -システム全体の共有メモリ・ページの最大数 (Linux では、この上限値は \fI/proc/sys/kernel/shmall\fP -経由で参照したり、変更したりできる)。 -.TP -\fBSHMMAX\fP -共有メモリ・セグメントのバイト単位の大きさの上限: 方針依存 (Linux では、この上限値は \fI/proc/sys/kernel/shmmax\fP -経由で参照したり、変更したりできる)。 -.TP -\fBSHMMIN\fP -共有メモリ・セグメントのバイト単位の大きさの下限: 実装依存 (現在は 1 バイトだが、実質的な最小サイズは \fBPAGE_SIZE\fP である)。 -.TP -\fBSHMMNI\fP -.\" Kernels between 2.4.x and 2.6.8 had an off-by-one error that meant -.\" that we could create one more segment than SHMMNI -- MTK -.\" This /proc file is not available in Linux 2.2 and earlier -- MTK -システム全体の共有メモリーの数の上限: 実装依存 (現在は 4096。Linux 2.3.99 より前では 128。 Linux では、この上限値は -\fI/proc/sys/kernel/shmmni\fP 経由で参照したり、変更したりできる)。 -.PP -プロセス当りの共有メモリ・セグメントの個数の最大値 (\fBSHMSEG\fP) に関する実装上の制限はない。 -.SS "Linux での注意" -バージョン 2.3.30 までは、Linux は 削除が予定されている共有メモリ・セグメントに対して \fBshmget\fP() が行われると -\fBEIDRM\fP を返していた。 -.SH バグ -\fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。 -.SH 関連項目 -\fBshmat\fP(2), \fBshmctl\fP(2), \fBshmdt\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7), -\fBshm_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/shmop.2 b/draft/man2/shmop.2 deleted file mode 100644 index a53b551e..00000000 --- a/draft/man2/shmop.2 +++ /dev/null @@ -1,160 +0,0 @@ -.\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Sun Nov 28 17:06:19 1993, Rik Faith (faith@cs.unc.edu) -.\" with material from Luigi P. Bai (lpb@softint.com) -.\" Portions Copyright 1993 Luigi P. Bai -.\" Modified Tue Oct 22 22:04:23 1996 by Eric S. Raymond -.\" Modified, 5 Jan 2002, Michael Kerrisk -.\" Modified, 19 Sep 2002, Michael Kerrisk -.\" Added SHM_REMAP flag description -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements -.\" Modified, 11 Nov 2004, Michael Kerrisk -.\" Language and formatting clean-ups -.\" Changed wording and placement of sentence regarding attachment -.\" of segments marked for destruction -.\" -.\" FIXME . Add an example program to this page. -.\" FIXME Linux 2.6.9 added SHM_EXEC, which should be documented -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHMOP 2 2008\-06\-03 Linux "Linux Programmer's Manual" -.SH 名前 -shmat, shmdt \- 共有メモリ (shared memory) の操作 -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP - -\fBvoid *shmat(int \fP\fIshmid\fP\fB, const void *\fP\fIshmaddr\fP\fB, int \fP\fIshmflg\fP\fB);\fP - -\fBint shmdt(const void *\fP\fIshmaddr\fP\fB);\fP -.fi -.SH 説明 -\fBshmat\fP() は \fIshmid\fP で指定された共有メモリ・セグメント (shared memory segment) を -コールしたプロセスのアドレス空間に付加 (attach) する。 付加するアドレスは \fIshmaddr\fP に以下のどれかの形式で指定する: -.LP -\fIshmaddr\fP が NULL ならば、システムはセグメントを付加するための 適切な (使用されていない) アドレスを選択する。 -.LP -\fIshmaddr\fP が NULL でなく \fBSHM_RND\fP が \fIshmflg\fP に指定されている場合は、 \fIshmaddr\fP を -\fBSHMLBA\fP の倍数へと切り捨てた (rounding down) のと等しいアドレスへ付加する。 その他の場合は \fIshmaddr\fP -は付加を行なうアドレスで、ページ境界を指している必要がある。 -.PP -\fBSHM_RDONLY\fP が \fIshmflg\fP に指定されていた場合は、 セグメントは読み込み専用に付加され、プロセスはそのセグメントへの -読み込み許可を持たなければならない。 そうでなければそのセグメントは読み込みと書き込みのために付加され、 -プロセスはそのセグメントに読み込みと書き込みの許可を持つ必要がある。 書き込み専用の共有メモリ・セグメントという概念は存在しない。 -.PP -(Linux 特有の) \fBSHM_REMAP\fP フラグが \fIshmflg\fP に指定された場合は、 -セグメントのマッピングを既存のマッピングに置き換える。 マッピングの範囲は、 \fIshmaddr\fP から始まりセグメントのサイズ分だけある (通常 -\fBEINVAL\fP エラーは、このアドレス範囲にマッピングが既に存在するために起る)。 このフラグを指定する場合は、 \fIshmaddr\fP が NULL -であってはならない。 -.PP -呼び出したプロセスの \fBbrk\fP(2) の値は付加によって変化しない。 そのセグメントはプロセスが終了 (exit) したら自動的に分離 -(detach) される。 同じセグメントをプロセスのアドレス空間に、読み込み専用および読み書き両用 として付加でき、また複数回付加することもできる。 -.PP -成功した \fBshmat\fP() コールは共有メモリ・セグメントに関連する \fIshmid_ds\fP 構造体 (\fBshmctl\fP(2) を参照) -のメンバーを以下のように更新する: -.IP -\fIshm_atime\fP には現在の時刻を設定する。 -.IP -\fIshm_lpid\fP には呼び出したプロセスのプロセス ID が設定される。 -.IP -\fIshm_nattch\fP を 1 増加させる。 -.PP -\fBshmdt\fP() は呼び出したプロセスのアドレス空間から \fIshmaddr\fP で指定されたアドレスに配置された共有メモリ・セグメントを分離 -(detach) する。 分離する共有メモリ・セグメントは、現在 \fIshmaddr\fP に付加されているものでなければならない。 \fIshmaddr\fP -は、それを付加した時に \fBshmat\fP() が返した値に等しくなければならない。 -.PP -成功した \fBshmdt\fP() コールはその共有メモリ・セグメントに関連する \fIshmid_ds\fP 構造体のメンバーを以下のように更新する: -.IP -\fIshm_dtime\fP には現在の時刻が設定される。 -.IP -\fIshm_lpid\fP には呼び出したプロセスのプロセス ID が設定される。 -.IP -\fIshm_nattch\fP を 1 減少させる。 もし 0 になり、削除マークがあった場合は そのセグメントは削除される。 -.PP -\fBfork\fP(2) した後、子プロセスは付加された共有メモリ・セグメントを継承する。 - -\fBexec\fP(2) した後、全ての付加された共有メモリ・セグメントはプロセスから分離される。 - -\fBexit\fP(2) において、全ての付加された共有メモリ・セグメントはプロセスから分離される。 -.SH 返り値 -\fBshmat\fP() は、成功した場合、 付加された共有メモリ・セグメントのアドレスを返す。 エラーの場合、 \fI(void\ *)\ \-1\fP -を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。 - -\fBshmdt\fP() は、成功すると 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。 -.SH エラー -\fBshmat\fP() が失敗した場合、 \fIerrno\fP に以下の値のどれかを設定して返す: -.TP -\fBEACCES\fP -呼び出したプロセスに要求された種類の付加に必要な許可がなく、 \fBCAP_IPC_OWNER\fP ケーパビリティ (capability) がない。 -.TP -\fBEINVAL\fP -\fIshmid\fP の値が不正である。 \fIshmaddr\fP の値が境界違反 (unaligned) (つまり、ページ境界に合っておらず、 -\fBSHM_RND\fP が指定されていない) または が不正である。 \fIshmaddr\fP へのセグメントの付加に失敗した。 または -\fBSHM_REMAP\fP が指定されているが、 \fIshmaddr\fP が NULL であった。 -.TP -\fBENOMEM\fP -ディスクリプター (descriptor) やページ・テーブルのためのメモリを 割り当てることができない。 -.PP -\fBshmdt\fP() が失敗した場合、 \fBEINVAL\fP は以下のようにセットされる: -.TP -\fBEINVAL\fP -.\" The following since 2.6.17-rc1: -\fIshmaddr\fP に付加された共有メモリ・セグメントが存在しない。 もしくは、 \fIshmaddr\fP がページ境界に合っていない。 -.SH 準拠 -.\" SVr4 documents an additional error condition EMFILE. -SVr4, POSIX.1\-2001. - -SVID 3 で (たぶんそれより前だと思うが) \fIshmaddr\fP 引き数の型は \fIchar *\fP から \fIconst void *\fP -に、\fIshmat\fP() の返り値の型は \fIchar *\fP から \fIvoid *\fP に変更された (Linux では libc4 と libc5 -のプロトタイプは \fIchar *\fP であり、glibc2 のプロトタイプは \fIvoid *\fP である)。 -.SH 注意 -共有メモリセグメントを付加する場合の移植性の高い方法としては、 \fIshmaddr\fP を NULL にして \fBshmat\fP() を使用するのがよい。 -このような方法で付加される共有メモリセグメントは、 プロセスが異なれば別のアドレスに付加される、という点に注意すること。 -よって共有メモリ内で管理されるポインタは、 絶対アドレスではなく、 (一般的にはセグメントの開始アドレスからの) 相対アドレスで作成するべきである。 -.PP -Linux では共有メモリセグメントに既に削除マークが付けられていても、 その共有メモリセグメントを付加することができる。 しかし -POSIX.1\-2001 ではこのような動作を指定しておらず、 他の多くの実装もこれをサポートしていない。 -.LP -以下のシステム・パラメーターは、 \fBshmat\fP() に影響する: -.TP -.\" FIXME A good explanation of the rationale for the existence -.\" of SHMLBA would be useful here -\fBSHMLBA\fP -.\" FIXME That last sentence isn't true for all Linux -.\" architectures (i.e., SHMLBA != PAGE_SIZE for some architectures) -.\" -- MTK, Nov 04 -セグメントの境界アドレスの最小倍数。ページ境界に合ってなければならない。 現在の実装では \fBSHMLBA\fP の値は \fBPAGE_SIZE\fP である。 -.PP -現在の実装では、プロセスごとの 共有メモリ・セグメントの最大数 (\fBSHMSEG\fP) に関する実装依存の制限はない。 -.SH 関連項目 -\fBbrk\fP(2), \fBmmap\fP(2), \fBshmctl\fP(2), \fBshmget\fP(2), \fBcapabilities\fP(7), -\fBshm_overview\fP(7), \fBsvipc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/shutdown.2 b/draft/man2/shutdown.2 deleted file mode 100644 index dd039ec0..00000000 --- a/draft/man2/shutdown.2 +++ /dev/null @@ -1,76 +0,0 @@ -.\" Copyright (c) 1983, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: shutdown.2,v 1.1.1.1 1999/03/21 22:52:23 freitag Exp $ -.\" -.\" Modified Sat Jul 24 09:57:55 1993 by Rik Faith -.\" Modified Tue Oct 22 22:04:51 1996 by Eric S. Raymond -.\" Modified 1998 by Andi Kleen -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHUTDOWN 2 2008\-12\-03 Linux "Linux Programmer's Manual" -.SH 名前 -shutdown \- 全二重接続の一部を閉じる -.SH 書式 -\fB#include \fP -.sp -\fBint shutdown(int \fP\fIsockfd\fP\fB, int \fP\fIhow\fP\fB);\fP -.SH 説明 -\fBshutdown\fP() は、 \fIsockfd\fP に関連づけられているソケットによる全二重接続 (full\-duplex connection) -の一部または全てを閉じる。 \fIhow\fP が \fBSHUT_RD\fP ならば、それ以降の受信を禁止する。 \fIhow\fP が \fBSHUT_WR\fP -ならば、それ以降の送信を禁止する。 \fIhow\fP が \fBSHUT_RDWR\fP ならば、それ以降の送受信を禁止する。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEBADF\fP -\fIsockfd\fP が有効なディスクリプターでない。 -.TP -\fBENOTCONN\fP -指定されたソケットは接続されていない。 -.TP -\fBENOTSOCK\fP -\fIsockfd\fP がソケットでなくファイルである。 -.SH 準拠 -POSIX.1\-2001, 4.4BSD (\fBshutdown\fP() 関数コールは 4.2BSD で初めて登場した)。 -.SH 注意 -\fBSHUT_RD\fP, \fBSHUT_WR\fP, \fBSHUT_RDWR\fP の各定数 (それぞれ 0, 1, 2 の値を持つ) は -glibc\-2.1.91 以降、 \fI\fP で定義されている。 -.SH 関連項目 -\fBconnect\fP(2), \fBsocket\fP(2), \fBsocket\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigaltstack.2 b/draft/man2/sigaltstack.2 index 40a30775..f4f281c5 100644 --- a/draft/man2/sigaltstack.2 +++ b/draft/man2/sigaltstack.2 @@ -1,6 +1,7 @@ .\" t .\" Copyright (c) 2001, Michael Kerrisk (mtk.manpages@gmail.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" aeb, various minor fixes .\"******************************************************************* @@ -165,6 +167,6 @@ if (sigaltstack(&ss, NULL) == \-1) \fBexecve\fP(2), \fBsetrlimit\fP(2), \fBsigaction\fP(2), \fBsiglongjmp\fP(3), \fBsigsetjmp\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/signal.2 b/draft/man2/signal.2 deleted file mode 100644 index 72d4363b..00000000 --- a/draft/man2/signal.2 +++ /dev/null @@ -1,151 +0,0 @@ -.\" Copyright (c) 2000 Andries Brouwer -.\" and Copyright (c) 2007 Michael Kerrisk -.\" and Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk -.\" -.\" based on work by Rik Faith -.\" and Mike Battersby . -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 2004-11-19, mtk: -.\" added pointer to sigaction.2 for details of ignoring SIGCHLD -.\" 2007-06-03, mtk: strengthened portability warning, and rewrote -.\" various sections. -.\" 2008-07-11, mtk: rewrote and expanded portability discussion. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGNAL 2 2012\-05\-05 Linux "Linux Programmer's Manual" -.SH 名前 -signal \- ANSI C シグナル操作 -.SH 書式 -\fB#include \fP -.sp -\fBtypedef void (*sighandler_t)(int);\fP -.sp -\fBsighandler_t signal(int \fP\fIsignum\fP\fB, sighandler_t \fP\fIsighandler\fP\fB);\fP -.SH 説明 -\fBsignal\fP() の動作は UNIX のバージョンにより異なる。 また、歴史的に見て Linux のバージョンによっても異なっている。 -\fBこのシステムコールの使用は避け、\fP 代わりに \fBsigaction\fP(2) を使用すること。 下記の「移植性」を参照。 - -\fBsignal\fP() はシグナル \fIsignum\fP の処理方法を \fIhandler\fP に設定する。 \fIhandler\fP には、 -\fBSIG_IGN\fP、 \fBSIG_DFL\fP、 プログラマが定義した関数 (「シグナル・ハンドラ」) のアドレスの いずれかを指定する。 - -シグナル \fIsignum\fP がプロセスに配送されると、以下のいずれかが発生する。 -.TP 3 -* -処理方法が \fBSIG_IGN\fP に設定されている場合、そのシグナルは無視される。 -.TP -* -処理方法が \fBSIG_DFL\fP に設定されている場合、シグナルに関連づけられた デフォルトの動作が行われる (\fBsignal\fP(7) 参照)。 -.TP -* -処理方法として関数が設定されている場合、 まず最初に処理方法が \fBSIG_DFL\fP にリセットされるかそのシグナルのブロックが実行された後、 -\fIsignum\fP を引き数として \fIhandler\fP が呼び出される。 ハンドラが起動される際にシグナルがブロックされた場合、 -ハンドラが返る際にそのシグナルのブロックが解除される。 -.PP -シグナル \fBSIGKILL\fP と \fBSIGSTOP\fP は捕捉できず、無視することもできない。 -.SH 返り値 -\fBsignal\fP() は、今までのシグナル・ハンドラの値を返す。エラーの場合は \fBSIG_ERR\fP を返す。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsignum\fP が不正である。 -.SH 準拠 -C89, C99, POSIX.1\-2001. -.SH 注意 -マルチスレッドプロセスにおける \fBsignal\fP() の結果は、指定されていない。 -.PP -POSIX では、 \fBkill\fP(2) や \fBraise\fP(3) で生成できないシグナル \fBSIGFPE\fP, \fBSIGILL\fP, -\fBSIGSEGV\fP を無視 (ignore) した場合、その後の動作は未定義である。 ゼロによる整数割り算の結果は未定義となる。 -アーキテクチャーによっては、このとき \fBSIGFPE\fP シグナルが生成される。 (同様に負の最大整数を \-1 で割ると \fBSIGFPE\fP -が生成されるかもしれない) このシグナルを無視すると無限ループに陥るかもしれない。 -.PP -\fBSIGCHLD\fP の動作として \fBSIG_IGN\fP を設定した場合の詳細な動作については、 \fBsigaction\fP(2) を参照すること。 -.PP -シグナル・ハンドラ内から安全に呼び出すことができる、 async\-signal\-safe functions (非同期シングルで安全な関数) の -リストについては \fBsignal\fP(7) を参照。 -.PP -.\" libc4 and libc5 define -.\" .IR SignalHandler ; -\fIsighandler_t\fP の使用は GNU 拡張であり、 \fB_GNU_SOURCE\fP が定義された -場合に公開される。glibc では \fB_BSD_SOURCE\fP が定義された場合には (BSD -由来の) \fIsig_t\fP も定義される。このような型を使用しないと、 -\fBsignal\fP() の宣言は読みにくいものとなる。 -.in +4n -.nf - -\fBvoid ( *\fP\fIsignal\fP\fB(int \fP\fIsignum\fP\fB, void (*\fP\fIhandler\fP\fB)(int)) ) (int);\fP -.fi -.in -.SS 移植性 -移植性のある \fBsignal\fP() の使い方は、シグナルの処理方法を \fBSIG_DFL\fP か \fBSIG_IGN\fP に設定する方法だけである。 -シグナル・ハンドラを設定するのに \fBsignal\fP() を使ったときの動作はシステムにより異なる (POSIX.1 -は明示的にこの違いを認めている)。 \fB移植性が必要なときはこのシステムコールを使用しないこと。\fP - -POSIX.1 は、 \fBsigaction\fP(2) を規定することで移植性に関する混乱を解決した。 \fBsigaction\fP(2) -はシグナル・ハンドラが起動される際の挙動を明示的に制御できる。 \fBsignal\fP() の代わりにこのインターフェイスを使うこと。 - -オリジナルの UNIX システムでは、 \fBsignal\fP() を使って設定されたハンドラがシグナルの配送により起動されると、 -そのシグナルの処理方法は \fBSIG_DFL\fP にリセットされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックしなかった。 -System V でも、 \fBsignal\fP() に対してこれらの挙動を規定している。 こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が -来るより前に、同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配送されると、同じシグナルが -ハンドラを繰り返し起動されることになる。 - -BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残念なことに、 \fBsignal\fP() -を使ってハンドラを設定する際に挙動が黙って変更される)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセットされず、 -ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされる。 - -Linux での状況は以下の通りである。 -.IP * 2 -カーネルの \fBsignal\fP() システムコールは System V 方式を提供している。 -.IP * -デフォルトでは、glibc 2 以降では、 \fBsignal\fP() ラッパー関数はカーネルのシステムコールを起動しない。 代わりに、ラッパー関数は -BSD 方式を示すフラグを使って \fBsigaction\fP(2) を呼び出す。 機能検査マクロ \fB_BSD_SOURCE\fP -を定義していれば、このデフォルトの動作となる。 デフォルトでは、 \fB_BSD_SOURCE\fP が定義される。 \fB_BSD_SOURCE\fP は -\fB_GNU_SOURCE\fP が定義された場合には暗黙のうちに定義され、 もちろん明示的に定義することもできる。 -.sp -.\" -.\" System V semantics are also provided if one uses the separate -.\" .BR sysv_signal (3) -.\" function. -glibc 2 以降では、機能検査マクロ \fB_BSD_SOURCE\fP が定義されていなければ、 \fBsignal\fP() は System V -方式となる。 (\fBgcc\fP(1) が標準指定モード (\fI\-std=xxx\fP or \fI\-ansi\fP) で起動された場合、もしくは -\fB_POSIX_SOURCE\fP, \fB_XOPEN_SOURCE\fP, \fB_SVID_SOURCE\fP -といった他の様々な機能検査マクロが定義された場合、 デフォルトの \fB_BSD_SOURCE\fP の暗黙の定義は行われない。 -\fBfeature_test_macros\fP(7) を参照のこと。) -.IP * -Linux の libc4 と libc5 の \fBsignal\fP() 関数は System V 方式である。 libc5 システムにおいて -\fI\fP のかわりに \fI\fP をインクルードすると、 -\fBsignal\fP() は \fB__bsd_signal\fP() に再定義され、 \fBsignal\fP() は BSD 方式となる。 -.SH 関連項目 -\fBkill\fP(1), \fBalarm\fP(2), \fBkill\fP(2), \fBkillpg\fP(2), \fBpause\fP(2), -\fBsigaction\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2), -\fBsigsuspend\fP(2), \fBbsd_signal\fP(3), \fBraise\fP(3), \fBsiginterrupt\fP(3), -\fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigvec\fP(3), \fBsysv_signal\fP(3), -\fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/signalfd.2 b/draft/man2/signalfd.2 index 7e17521d..068c7a41 100644 --- a/draft/man2/signalfd.2 +++ b/draft/man2/signalfd.2 @@ -1,6 +1,7 @@ .\" Copyright (C) 2008 Michael Kerrisk .\" starting from a version by Davide Libenzi .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or @@ -11,10 +12,10 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111-1307 USA +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -90,6 +91,8 @@ signalfd ファイルディスクリプタからの \fBread\fP(2) で返され .nf .\" ssi_trapno is unused on most arches +.\" FIXME Since Linux 2.6.37 there is 'uint16_t ssi_addr_lsb' +.\" which is not yet documented struct signalfd_siginfo { struct signalfd_siginfo { uint32_t ssi_signo; /* シグナル番号 */ @@ -260,6 +263,6 @@ main(int argc, char *argv[]) \fBsigprocmask\fP(2), \fBsigwaitinfo\fP(2), \fBtimerfd_create\fP(2), \fBsigsetops\fP(3), \fBsigwait\fP(3), \fBepoll\fP(7), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigpending.2 b/draft/man2/sigpending.2 index acb83d75..c95e2b95 100644 --- a/draft/man2/sigpending.2 +++ b/draft/man2/sigpending.2 @@ -2,6 +2,7 @@ .\" based on earlier work by faith@cs.unc.edu and .\" Mike Battersby .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2 .\" @@ -72,6 +74,6 @@ POSIX.1\-2001. \fBkill\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigprocmask\fP(2), \fBsigsuspend\fP(2), \fBsigsetops\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigprocmask.2 b/draft/man2/sigprocmask.2 index c1751200..d6334d18 100644 --- a/draft/man2/sigprocmask.2 +++ b/draft/man2/sigprocmask.2 @@ -2,6 +2,7 @@ .\" based on earlier work by faith@cs.unc.edu and .\" Mike Battersby .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2 .\" @@ -97,6 +99,6 @@ POSIX.1\-2001. \fBsigsuspend\fP(2), \fBpthread_sigmask\fP(3), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigreturn.2 b/draft/man2/sigreturn.2 index c9bdb48c..9bf45eb6 100644 --- a/draft/man2/sigreturn.2 +++ b/draft/man2/sigreturn.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created Sat Aug 21 1995 Thomas K. Dyas .\" Modified Tue Oct 22 22:09:03 1996 by Eric S. Raymond @@ -56,6 +58,6 @@ Linux カーネルは、 シグナル・ハンドラ用にスタック・フレ .SH 関連項目 \fBkill\fP(2), \fBsigaltstack\fP(2), \fBsignal\fP(2), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigsuspend.2 b/draft/man2/sigsuspend.2 index bc928ad3..69fc53d2 100644 --- a/draft/man2/sigsuspend.2 +++ b/draft/man2/sigsuspend.2 @@ -2,6 +2,7 @@ .\" based on earlier work by faith@cs.unc.edu and .\" Mike Battersby .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2005-09-15, mtk, Created new page by splitting off from sigaction.2 .\" @@ -79,6 +81,6 @@ POSIX.1\-2001. \fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigprocmask\fP(2), \fBsigwaitinfo\fP(2), \fBsigsetops\fP(3), \fBsigwait\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sigwaitinfo.2 b/draft/man2/sigwaitinfo.2 deleted file mode 100644 index 5bc90bba..00000000 --- a/draft/man2/sigwaitinfo.2 +++ /dev/null @@ -1,117 +0,0 @@ -.\" Copyright (c) 2002 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGWAITINFO 2 2012\-05\-02 Linux "Linux Programmer's Manual" -.SH 名前 -sigwaitinfo, sigtimedwait \- キューに入れられたシグナルを同期して待つ -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sigwaitinfo(const sigset_t *\fP\fIset\fP\fB, siginfo_t *\fP\fIinfo\fP\fB);\fP -.sp -\fBint sigtimedwait(const sigset_t *\fP\fIset\fP\fB, siginfo_t *\fP\fIinfo\fP\fB, \fP -\fB const struct timespec *\fP\fItimeout\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBsigwaitinfo\fP(), \fBsigtimedwait\fP(): _POSIX_C_SOURCE\ >=\ 199309L -.SH 説明 -\fBsigwaitinfo\fP() は \fIset\fP のうちのどれかのシグナルが配送されるまで、 呼び出しスレッドの実行を一時停止する -(呼び出しスレッドに対して \fIset\fP のうちのどれかのシグナルが既に待機中 (pending) である場合、 \fBsigwaitinfo\fP() -はそのシグナルの情報を返してすぐに戻る)。 - -\fBsigwaitinfo\fP() は配送されたシグナルを待機中のシグナルの集合から削除し、 関数の結果としてシグナル番号を返す。 \fIinfo\fP -引き数が NULL でない場合、配送されたシグナルの情報が入った \fIsiginfo_t\fP 型 (\fBsigaction\fP(2) を参照) -の構造体を返す。 -.PP -\fBsigwaitinfo\fP() で返されるシグナルは、通常の順番で配送される。 詳細は \fBsignal\fP(7) を参照すること。 -.PP -\fBsigtimedwait\fP() は、 \fBsigwaitinfo\fP() と次の点を除いて全く同じように -動作する。この関数にはもう 1 つの引き数 \fItimeout\fP があり、シグナル待ち -でスレッドが一時停止する最小時間を指定することができる(この時間はシステ -ムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により -少しだけ長くなる可能性がある)。この引き数の型は以下のとおりである: -.sp -.in +4n -.nf -struct timespec { - long tv_sec; /* 秒 */ - long tv_nsec; /* ナノ秒 */ -} -.fi -.in -.sp -この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: \fBsigtimedwait\fP() は、呼び出し側プロセスに対して -待機しているシグナルの情報を返して戻るか、 \fIset\fP のうちのどのシグナルも待機していない場合はエラーを返して戻る。 -.SH 返り値 -成功した場合、 \fBsigwaitinfo\fP() と \fBsigtimedwait\fP() はシグナル番号 (すなわち 0 より大きい数) を返す。 -失敗した場合、2 つの関数は \-1 を返し、 \fIerrno\fP はエラーを表す値に設定される。 -.SH エラー -.TP -\fBEAGAIN\fP -\fIset\fP のうちのどのシグナルも \fBsigtimedwait\fP() に指定された \fItimeout\fP の期間内に配送されなかった。 -.TP -\fBEINTR\fP -シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラは \fIset\fP にあるシグナル以外のものである)。 -\fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fItimeout\fP が不正である。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -通常の使用法では、呼び出し側プロセスはこれらの関数より先に \fBsigprocmask\fP(2) の呼び出すことにより \fIset\fP -に含まれるシグナルをブロックし (そのためにこれらのシグナルがこの後に続く \fBsigwaitinfo\fP() や \fBsigtimedwait\fP() -の呼び出しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに対するハンドラは設定しない。 マルチスレッドプログラムでは、 -\fBsigwaitinfo\fP() や \fBsigtimedwait\fP() を呼び出したスレッド以外のスレッドにそのシグナルが配送されないように、 -全てのスレッドで該当シグナルをブロックすべきである。 - -指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての処理待ちのシグナル集合と、プロセス全体宛ての -処理待ちのシグナル集合をあわせたものである (\fBsignal\fP(7) 参照)。 - -\fBSIGKILL\fP と \fBSIGSTOP\fP を待とうとした場合、黙って無視される。 - -一つのプロセス内の複数のスレッドが \fBsigwaitinfo\fP() や \fBsigtimedwait\fP() で同じシグナルを待って停止した場合、 -プロセス全体宛てのシグナルが配送されると、複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 -どのスレッドがシグナルを受信するかは決まっていない。 - -POSIX では \fBsigtimedwait\fP() の引き数 \fItimeout\fP の値を NULL にした場合の意味を未定義としている。 -\fBsigwaitinfo\fP() を呼び出したのと同じ意味としてもよいことになっており、 実際 Linux ではこのように動作する。 - -Linux では、 \fBsigwaitinfo\fP() は \fBsigtimedwait\fP() を用いて実装されたライブラリ関数である。 -.SH 関連項目 -\fBkill\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), -\fBsigprocmask\fP(2), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigwait\fP(3), -\fBsignal\fP(7), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/socket.2 b/draft/man2/socket.2 deleted file mode 100644 index de4e389f..00000000 --- a/draft/man2/socket.2 +++ /dev/null @@ -1,261 +0,0 @@ -.\" t -.\" Copyright (c) 1983, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id: socket.2,v 1.4 1999/05/13 11:33:42 freitag Exp $ -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1996-10-22 by Eric S. Raymond -.\" Modified 1998, 1999 by Andi Kleen -.\" Modified 2002-07-17 by Michael Kerrisk -.\" Modified 2004-06-17 by Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SOCKET 2 2009\-01\-19 Linux "Linux Programmer's Manual" -.SH 名前 -socket \- 通信のための端点(endpoint)を作成する -.SH 書式 -\fB#include \fP /* 「注意」参照 */ -.br -\fB#include \fP -.sp -\fBint socket(int \fP\fIdomain\fP\fB, int \fP\fItype\fP\fB, int \fP\fIprotocol\fP\fB);\fP -.SH 説明 -\fBsocket\fP() は通信のための端点(endpoint)を作成し、ディスクリプター(descriptor)を返す。 -.PP -\fIdomain\fP 引数は通信を行なうドメインを指定する; これはどの プロトコル・ファミリ(protocol -family)を通信に使用するかを指定する。 これらのファミリは \fI\fP に定義されている。 -現在、理解できるフォーマットは以下の通り。 -.TS -tab(:); -l l l. -名前:目的:マニュアル -T{ -\fBAF_UNIX\fP, \fBAF_LOCAL\fP -T}:T{ -ローカル通信 -T}:T{ -\fBunix\fP(7) -T} -T{ -\fBAF_INET\fP -T}:IPv4 インターネット・プロトコル:T{ -\fBip\fP(7) -T} -T{ -\fBAF_INET6\fP -T}:IPv6 インターネット・プロトコル:T{ -\fBipv6\fP(7) -T} -T{ -\fBAF_IPX\fP -T}:IPX \- Novell プロトコル: -T{ -\fBAF_NETLINK\fP -T}:T{ -カーネル・ユーザ・デバイス -T}:T{ -\fBnetlink\fP(7) -T} -T{ -\fBAF_X25\fP -T}:ITU\-T X.25 / ISO\-8208 プロトコル:T{ -\fBx25\fP(7) -T} -T{ -\fBAF_AX25\fP -T}:T{ -アマチュア無線 AX.25 プロトコル -T}: -T{ -\fBAF_ATMPVC\fP -T}:生の ATM PVC にアクセスする: -T{ -\fBAF_APPLETALK\fP -T}:アップルトーク:T{ -\fBddp\fP(7) -T} -T{ -\fBAF_PACKET\fP -T}:T{ -低レベルのパケットインターフェース -T}:T{ -\fBpacket\fP(7) -T} -.TE -.PP -ソケットは \fItype\fP で指定される型を持ち、それは通信方式(semantics)を指定する。 定義されている型は現在以下の通り。 -.TP 16 -\fBSOCK_STREAM\fP -順序性と信頼性があり、双方向の、接続された バイト・ストリーム(byte stream)を提供する。 -帯域外(out\-of\-band)データ転送メカニズムもサポートされる。 -.TP -\fBSOCK_DGRAM\fP -データグラム(接続、信頼性無し、固定最大長メッセージ) をサポートする。 -.TP -\fBSOCK_SEQPACKET\fP -固定最大長のデータグラム転送パスに基づいた順序性、信頼性のある 双方向の接続に基づいた通信を提供する。受け取り側ではそれぞれの入力 -システム・コールでパケット全体を読み取ることが要求される。 -.TP -\fBSOCK_RAW\fP -生のネットワーク・プロトコルへのアクセスを提供する。 -.TP -\fBSOCK_RDM\fP -信頼性はあるが、順序は保証しないデータグラム層を提供する。 -.TP -\fBSOCK_PACKET\fP -廃止されており新しいプログラムで使用してはいけない。 \fBpacket\fP(7) を参照すること -.PP -ある種のソケット型が全てのプロトコル・ファミリで実装されているわけではない。 例えば \fBSOCK_SEQPACKET\fP は \fBAF_INET\fP -には実装されていない。 -.PP -Linux 2.6.27 以降では、 \fItype\fP 引数は二つ目の目的にも使用される。 ソケットの型を指定するのに加えて、 -以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 \fBsocket\fP() の振舞いを変更することができる。 -.TP 16 -\fBSOCK_NONBLOCK\fP -新しく生成されるオープンファイル記述 (open file description) の \fBO_NONBLOCK\fP -ファイルステータスフラグをセットする。 このフラグを使うことで、 \fBO_NONBLOCK\fP をセットするために \fBfcntl\fP(2) -を追加で呼び出す必要がなくなる。 -.TP -\fBSOCK_CLOEXEC\fP -新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP) フラグをセットする。 -このフラグが役に立つ理由については、 \fBopen\fP(2) の \fBO_CLOEXEC\fP フラグの説明を参照のこと。 -.PP -\fIprotocol\fP はソケットによって使用される固有のプロトコルを指定する。通常それぞれの -ソケットは、与えられたプロトコル・ファミリの種類ごとに一つのプロトコルのみを サポートする。 その場合は \fIprotocol\fP に 0 を指定できる。 -しかし、多くのプロトコルが存在してもかまわない。 この場合にはこの方法により固有のプロトコルを指定する必要がある。 -使用されるプロトコル番号は通信の行なわれる\*(lq通信ドメイン\*(rqに 固有である; \fBprotocols\fP(5) を参照すること。 -プロトコル名をどうやってプロトコル番号に対応させるかについては \fBgetprotoent\fP(3) を参照すること。 -.PP -\fBSOCK_STREAM\fP 型のソケットはパイプのような全二重バイト・ストリームである。 これらはレコード境界を保存しない。 -ストリームは、ソケットがデータを送ったり受けたりする前に \fI接続された\fP 状態になってなければならない。他のソケットへの接続は -\fBconnect\fP(2) コールによって行なわれる。一度接続したらデータは \fBread\fP(2) と \fBwrite\fP(2) コールや -\fBsend\fP(2) と \fBrecv\fP(2) コールの変種を使用して転送できる。 セッションが完了したら \fBclose\fP(2) -が行なわれる。帯域外データの転送も \fBsend\fP(2) に記述されており、 受信も \fBrecv\fP(2) に記述されている。 -.PP -\fBSOCK_STREAM\fP を実装した通信プロトコルはデータに損失や重複がないことを保証する。 もし相手のプロトコルがバッファー空間を持つ -データの断片を適当な時間のうちに転送できなければ、 接続は断たれたとみなす。そのソケット \fBSO_KEEPALIVE\fP -が有効になっている場合、プロトコル独自の方法で接続の相手側がまだ 有効であるかをチェックする。 -もしプロセスが、壊れたストリームでデータを送受信しようとした場合には \fBSIGPIPE\fP シグナルが送られる; -これは通常のそのシグナルを扱っていないプロセスを 終了させる。 \fBSOCK_SEQPACKET\fP ソケットは \fBSOCK_STREAM\fP -ソケットと同じシステム・コールを使用する。 唯一の違いは \fBread\fP(2) コールが要求された量のデータのみを返し、到着したパケットの残りの部分を -捨ててしまうことである。同様に入ってくるデータグラムの全てのメッセージ境界は 保存される。 -.PP -\fBSOCK_DGRAM\fP と \fBSOCK_RAW\fP ソケットは \fBsendto\fP(2) -コールで指定された相手へデータグラムを送ることが許されている。 データグラムは一般に \fBrecvfrom\fP(2) で受けとり、 -このコールは次のデータグラムを送信者のアドレスと一緒に返す。 -.PP -\fBSOCK_PACKET\fP は古いソケット型で、生(raw)のパケットをデバイスドライバから 直接受信するためのものである。 今は代わりに -\fBpacket\fP(7) を用いること。 -.PP -\fBfcntl\fP(2) の \fBF_SETOWN\fP 操作を使って、シグナル \fBSIGURG\fP や \fBSIGPIPE\fP -を受けとるプロセス・グループを指定できる。 \fBSIGURG\fP シグナルは帯域外データが到着した時に、 \fBSIGPIPE\fP シグナルは -\fBSOCK_STREAM\fP 接続が予期せず切断された時に送られる。 また、 \fBF_SETOWN\fP 操作は、I/O や I/O イベントの非同期 -(asynchronous) 通知を \fBSIGIO\fP を経由で受け取るプロセスやプロセス・グループを設定するのにも使用できる。 \fBF_SETOWN\fP -を使用することは \fBFIOSETOWN\fP または \fBSIOCSPGRP\fP の引数で \fBioctl\fP(2) を使用することと等価である。 -.PP -ネットワークがプロトコル・モジュールにエラー状態を伝えた場合 (例えば、IP の ICMP メッセージを使用して)には、ソケットの -ペンディング・エラー・フラグが設定される。次にこのソケットを操作した 時にペンディングされていたエラー・コードが返される。プロトコルによっては -エラーについてのより詳しい情報を受け取るためにソケットごとのエラー・キューを 受け取ることが可能である。 \fBip\fP(7) の -\fBIP_RECVERR\fP を参照すること。 -.PP -ソケットの操作はソケット・レベル \fIoptions\fP によって制御される。 これらのオプションは \fI\fP -に定義されている。 \fBsetsockopt\fP(2) と \fBgetsockopt\fP(2) 関数はそれぞれオプションの設定と取得を行なう。 -.SH 返り値 -成功した場合、新しいソケットのファイル・ディスクリプターを返す。 エラーが発生した場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEACCES\fP -指定されたタイプまたはプロトコルのソケットを作成する許可が与えられていない。 -.TP -\fBEAFNOSUPPORT\fP -指定されたアドレスファミリーがサポートされていない。 -.TP -\fBEINVAL\fP -知らないプロトコル、または利用できないプロトコル・ファミリである。 -.TP -\fBEINVAL\fP -.\" Since Linux 2.6.27 -\fItype\fP に無効なフラグが指定されている。 -.TP -\fBEMFILE\fP -プロセスのファイルテーブルが溢れている。 -.TP -\fBENFILE\fP -オープンされたファイルの総数がシステム全体の上限に達していた。 -.TP -\fBENOBUFS\fP または \fBENOMEM\fP -十分なメモリがない。十分な資源が解放されるまではソケットを 作成することはできない。 -.TP -\fBEPROTONOSUPPORT\fP -このドメインでは指定されたプロトコルまたはプロトコル・タイプが サポートされていない。 -.PP -下位のプロトコル・モジュールから他のエラーが生成されるかもしれない。 -.SH 準拠 -4.4BSD, POSIX.1\-2001. - -フラグ \fBSOCK_NONBLOCK\fP, \fBSOCK_CLOEXEC\fP は Linux 固有である。 - -\fBsocket\fP() は 4.2BSD で登場した。一般に、(System V の変種を含めて) BSD のソケット層の互換性をサポートしている -BSD 以外のシステムへの、 または、BSD 以外のシステムからの移植ができる。 -.SH 注意 -POSIX.1\-2001 では \fI\fP のインクルードは必須とされておらず、 Linux -ではこのヘッダファイルは必要ではない。 しかし、歴史的には、いくつかの実装 (BSD ç³») でこのヘッダファイルが -必要であり、移植性が必要なアプリケーションではこのファイルを インクルードするのが賢明であろう。 - -4.x BSD において定数を使用する場合、プロトコル・ファミリーには -\fBPF_UNIX\fP, \fBPF_INET\fP 等を使用している。一方でアドレス・ファミリーには -\fBAF_UNIX\fP, \fBAF_INET\fP 等が使用されている。 -しかしながら BSD のマニュアルでは 「一般にプロトコル・ファミリーは -アドレス・ファミリーと同じものである。」 と保証している。 -それ以外の規格では全ての場所で AF_* が使用されている。 -.SH 例 -\fBsocket\fP() の利用例が \fBgetaddrinfo\fP(3) に記載されている。 -.SH 関連項目 -\fBaccept\fP(2), \fBbind\fP(2), \fBconnect\fP(2), \fBfcntl\fP(2), \fBgetpeername\fP(2), -\fBgetsockname\fP(2), \fBgetsockopt\fP(2), \fBioctl\fP(2), \fBlisten\fP(2), \fBread\fP(2), -\fBrecv\fP(2), \fBselect\fP(2), \fBsend\fP(2), \fBshutdown\fP(2), \fBsocketpair\fP(2), -\fBwrite\fP(2), \fBgetprotoent\fP(3), \fBip\fP(7), \fBsocket\fP(7), \fBtcp\fP(7), -\fBudp\fP(7), \fBunix\fP(7) -.PP -\(lqAn Introductory 4.3BSD Interprocess Communication Tutorial\(rq は \fIUNIX -Programmer's Supplementary Documents Volume 1\fP として再版された。 -.PP -\(lqBSD Interprocess Communication Tutorial\(rq は \fIUNIX Programmer's -Supplementary Documents Volume 1\fP として再版された。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/socketcall.2 b/draft/man2/socketcall.2 deleted file mode 100644 index 60899718..00000000 --- a/draft/man2/socketcall.2 +++ /dev/null @@ -1,55 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SOCKETCALL 2 2007\-06\-28 Linux "Linux Programmer's Manual" -.SH 名前 -socketcall \- ソケット・システムコール -.SH 書式 -\fBint socketcall(int \fP\fIcall\fP\fB, unsigned long *\fP\fIargs\fP\fB);\fP -.SH 説明 -\fBsocketcall\fP() はソケット・システムコールのための共通のカーネル・エントリ・ ポイント(kernel entry point)である。 -\fIcall\fP はどのソケット関数を呼び出すかを指定する。 \fIargs\fP は適切なコールに渡すための実際の引き数を含んでいるブロックを指す。 -.PP -ユーザー・プログラムは通常の名前を使用して適切な関数を呼び出すべきである。 標準ライブラリの実装者やカーネル・ハッカーのみが -\fBsocketcall\fP() について知る必要がある。 -.SH 準拠 -このコールは Linux 特有であり、移植を意図したプログラムで 使用してはいけない。 -.SH 注意 -ia64 などのいくつかのアーキテクチャでは、システムコール \fBsocketcall\fP() が存在しない。実際には、その代わりに -\fBsocket\fP(2), \fBaccept\fP(2), \fBbind\fP(2) などが独立したシステムコールとして実装されている。 -.SH 関連項目 -\fBaccept\fP(2), \fBbind\fP(2), \fBconnect\fP(2), \fBgetpeername\fP(2), -\fBgetsockname\fP(2), \fBgetsockopt\fP(2), \fBlisten\fP(2), \fBrecv\fP(2), -\fBrecvfrom\fP(2), \fBrecvmsg\fP(2), \fBsend\fP(2), \fBsendmsg\fP(2), \fBsendto\fP(2), -\fBsetsockopt\fP(2), \fBshutdown\fP(2), \fBsocket\fP(2), \fBsocketpair\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/socketpair.2 b/draft/man2/socketpair.2 index 4a442758..3172d858 100644 --- a/draft/man2/socketpair.2 +++ b/draft/man2/socketpair.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)socketpair.2 6.4 (Berkeley) 3/10/91 .\" @@ -96,6 +98,6 @@ POSIX.1\-2001 では \fI\fP のインクルードは必須とされ .SH 関連項目 \fBpipe\fP(2), \fBread\fP(2), \fBsocket\fP(2), \fBwrite\fP(2), \fBsocket\fP(7), \fBunix\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/splice.2 b/draft/man2/splice.2 deleted file mode 100644 index 1b7b7bb5..00000000 --- a/draft/man2/splice.2 +++ /dev/null @@ -1,148 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 2006 Jens Axboe -.\" and Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SPLICE 2 2012\-05\-04 Linux "Linux Programmer's Manual" -.SH 名前 -splice \- パイプとの間でデータを継ぎ合わせる -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP - -.\" Return type was long before glibc 2.7 -\fBssize_t splice(int \fP\fIfd_in\fP\fB, loff_t *\fP\fIoff_in\fP\fB, int \fP\fIfd_out\fP\fB,\fP -\fB loff_t *\fP\fIoff_out\fP\fB, size_t \fP\fIlen\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -\fBsplice\fP() は、カーネルアドレス空間とユーザアドレス空間との間のコピーを伴わずに、 2 つのファイルディスクリプタ間でデータの移動を行う。 -ファイルディスクリプタ \fIfd_in\fP からファイルディスクリプタ \fIfd_out\fP へ最大 \fIlen\fP バイトを転送する。 2 -つのファイルディスクリプタのうち一つは パイプを参照していなければならない。 - -\fIfd_in\fP がパイプを参照している場合、 \fIoff_in\fP は NULL でなければならない。 \fIfd_in\fP がパイプを参照しておらず、 -\fIoff_in\fP が NULL の場合、 \fIfd_in\fP の現在のファイルオフセットから始まるバイトを読み出す。 -現在のファイルオフセットは適切に調整される。 \fIfd_in\fP がパイプを参照しておらず、 \fIoff_in\fP が NULL でない場合、 -\fIoff_in\fP は \fIfd_in\fP からのデータ読み出しを開始する先頭オフセットを格納したバッファ へのポインタでなければならない。この場合、 -\fIfd_in\fP の現在のファイルオフセットは変更されない。 \fIfd_out\fP と \fIoff_out\fP に関しても同様である。 - -\fIflags\fP 引き数には、以下の値の 0 個以上をビット毎の論理和の形で指定する。 -.TP 1.9i -\fBSPLICE_F_MOVE\fP -ページのコピーでなく移動を試みる。 これはカーネルに対するヒントでしかない。 つまり、カーネルがパイプからページを移動できない場合や、 -パイプバッファがページ全部を参照していない場合は、 ページのコピーが行われることもある。 このフラグの最初の実装にはバグがあった。そのため、 Linux -2.6.21 以降ではこのフラグの操作はできないようになっている (ただし、 \fBsplice\fP() -コールでこのフラグを指定することは今も認められている)。 将来、正しい実装が行われることだろう。 -.TP -\fBSPLICE_F_NONBLOCK\fP -入出力時に停止 (block) しない。 このフラグを指定すると、 splice によるパイプ操作を非停止モード (nonblocking) で -行おうとするが、その場合でも \fBsplice\fP() は停止することもある。なぜなら、データのやり取りを行う ファイルディスクリプタは -(\fBO_NONBLOCK\fP フラグをセットされていない場合) 停止する可能性があるからである。 -.TP -\fBSPLICE_F_MORE\fP -この後の splice でさらに転送されるデータがあることを示す。 このフラグは \fIfd_out\fP がソケットを参照している場合に有用なヒントとなる -(\fBsend\fP(2) の \fBMSG_MORE\fP や \fBtcp\fP(7) の \fBTCP_CORK\fP の説明も参照)。 -.TP -\fBSPLICE_F_GIFT\fP -\fBsplice\fP() では使用しない。 \fBvmsplice\fP(2) 参照。 -.SH 返り値 -成功して完了すると、 \fBsplice\fP() はパイプから出し入れしたバイト数を返す。 返り値 0 はデータの転送が行わなかったことを示す。 -この場合、処理を停止 (block) しても無意味である。 なぜなら、 \fIfd_in\fP -が参照するパイプの書き込み側に接続されている者がいないからである。 - -エラーの場合、 \fBsplice\fP() は \-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEBADF\fP -ファイルディスクリプタの一方または両方が有効ではない、 もしくは適切な read\-write モードではない。 -.TP -\fBEINVAL\fP -.\" The append-mode error is given since 2.6.27; in earlier kernels, -.\" splice() in append mode was broken -対象のファイルシステムが splice に対応していない、 または対象のファイルが追記モードでオープンされている、 -またはディスクリプタのどちらもパイプを参照していない、 または seek できないデバイスに対してオフセットが指定された。 -.TP -\fBENOMEM\fP -メモリ不足。 -.TP -\fBESPIPE\fP -\fIoff_in\fP か \fIoff_out\fP のいずれかが NULL ではないが、対応するファイルディスクリプタが パイプを参照している。 -.SH バージョン -\fBsplice\fP() システムコールは Linux 2.6.17 で初めて登場した。 -ライブラリによるサポートは glibc バージョン 2.5 で追加された。 -.SH 準拠 -このシステムコールは Linux 固有である。 -.SH 注意 -3 つのシステムコール (\fBsplice\fP(), \fBvmsplice\fP(2), \fBtee\fP(2)) -を使うと、ユーザ空間プログラムは任意のカーネルバッファに対する 完全な制御ができる。カーネルバッファは、パイプに使用されているのと -同種のバッファを使ってカーネル内に実装されている。 大まかにいうと、これらのシステムコールは以下の仕事を行う: -.TP 1.2i -\fBsplice\fP() -バッファから任意のファイルディスクリプタや、その逆方向、 もしくはあるバッファから別のバッファへの、データ移動を行う。 -.TP -\fBtee\fP(2) -あるバッファから別のバッファへのデータ「コピー」を行う。 -.TP -\fBvmsplice\fP(2) -ユーザ空間からバッファへのデータ「コピー」を行う。 -.PP -.\" -.\" Linus: Now, imagine using the above in a media server, for example. -.\" Let's say that a year or two has passed, so that the video drivers -.\" have been updated to be able to do the splice thing, and what can -.\" you do? You can: -.\" -.\" - splice from the (mpeg or whatever - let's just assume that the video -.\" input is either digital or does the encoding on its own - like they -.\" pretty much all do) video input into a pipe (remember: no copies - the -.\" video input will just DMA directly into memory, and splice will just -.\" set up the pages in the pipe buffer) -.\" - tee that pipe to split it up -.\" - splice one end to a file (ie "save the compressed stream to disk") -.\" - splice the other end to a real-time video decoder window for your -.\" real-time viewing pleasure. -.\" -.\" Linus: Now, the advantage of splice()/tee() is that you can -.\" do zero-copy movement of data, and unlike sendfile() you can -.\" do it on _arbitrary_ data (and, as shown by "tee()", it's more -.\" than just sending the data to somebody else: you can duplicate -.\" the data and choose to forward it to two or more different -.\" users - for things like logging etc.). -.\" -ここではコピーの話をしているが、実際のコピーは一般的に回避される。 カーネルは、パイプ・バッファをカーネルメモリのページへのポインタ集合として -実装し、ページへの参照回数を管理することで、これを実現している。 カーネルは、対象となるページを参照する (出力バッファ用の) ポインタを -新規に作成することでバッファ内のページの「コピー」を作成し、 そのページの参照回数を増やす。つまり、ポインタだけがコピーされ、 -バッファのページはコピーされない。 -.SH 例 -\fBtee\fP(2) 参照。 -.SH 関連項目 -\fBsendfile\fP(2), \fBtee\fP(2), \fBvmsplice\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/spu_run.2 b/draft/man2/spu_run.2 deleted file mode 100644 index fcba2ca8..00000000 --- a/draft/man2/spu_run.2 +++ /dev/null @@ -1,191 +0,0 @@ -.\" Copyright (c) International Business Machines Corp., 2006 -.\" -.\" This program is free software; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See -.\" the GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111-1307 USA -.\" -.\" HISTORY: -.\" 2005-09-28, created by Arnd Bergmann -.\" 2006-06-16, revised by Eduardo M. Fleury -.\" 2007-07-10, some polishing by mtk -.\" 2007-09-28, updates for newer kernels, added example -.\" by Jeremy Kerr -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SPU_RUN 2 2007\-11\-25 Linux "Linux Programmer's Manual" -.SH 名前 -spu_run \- SPU コンテキストを実行する -.SH 書式 -.nf -\fB#include \fP - -\fBint spu_run(int \fP\fIfd\fP\fB, unsigned int *\fP\fInpc\fP\fB, unsigned int *\fP\fIevent\fP\fB);\fP -.fi -.SH 説明 -\fBspu_run\fP() システムコールは、Cell Broadband Engine アーキテクチャを実装した PowerPC マシンで -Synergistic Processor Units (SPU) にアクセスするために 使用される。 \fIfd\fP 引き数は、 -\fBspu_create\fP(2) が返すファイルディスクリプタで、 特定の SPU コンテキストを参照する。 そのコンテキストが物理 SPU -に割り当てられると、 \fInpc\fP で渡された命令ポインタ (instruction pointer) から実行が開始される。 - -SPU コードの実行は同期的 (synchronously) に行われる、つまり SPU が実行中は \fBspu_run\fP() は停止 (block) -する。 SPU コードの実行をメイン CPU や他の SPU と並行して行う必要がある場合は、 最初に、その SPU -コードを実行する新しいスレッドを、(例えば \fBpthread_create\fP(3) などを使って) 生成しなければならない。 - -\fBspu_run\fP() が返るときには、SPU のプログラムカウンタの現在値が \fInpc\fP に書き込まれる。 これにより、連続する -\fBspu_run\fP() の呼び出しで同じ \fInpc\fP ポインタを使うことができる。 - -\fIevent\fP 引き数には、拡張ステータスコード用のバッファを指定する。 \fBSPU_CREATE_EVENTS_ENABLED\fP フラグ付きで -SPU コンテキストが作成されると、 \fBspu_run\fP() が返る前に Linux カーネルによりこのバッファに -拡張ステータスコードが格納される。 - -ステータスコードには以下の定数が一つ以上入る。 -.TP -\fBSPE_EVENT_DMA_ALIGNMENT\fP -DMA (direct memory access) のアライメント・エラーが発生した。 -.TP -\fBSPE_EVENT_INVALID_DMA\fP -無効な MFC (Memory Flow Controller) DMA コマンドを行おうとした。 -.TP -\fBSPE_EVENT_SPE_DATA_STORAGE\fP -DMA ストレージ・エラーが発生した。 -.TP -\fBSPE_EVENT_SPE_ERROR\fP -不正な命令が実行された。 -.PP -NULL は \fIevent\fP 引き数として有効な値である。 この場合、イベントは呼び出し元のプロセスに報告されない。 -.SH 返り値 -成功すると、 \fBspu_run\fP() は \fIspu_status\fP レジスタの値を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP -を下記のエラーコードのいずれかに設定する。 - -\fIspu_status\fP レジスタの値は、ステータスコードと SPU の \fBstop\-and\-signal\fP 命令が返す 14 ビットのコードの -ビットマスクで構成される。 後者の 14 ビットのコードはオプションである。 ステータスコードのビットマスクは下記の通りである。 -.TP -\fB0x02\fP -SPU が \fBstop\-and\-signal\fP 命令で停止した。 -.TP -\fB0x04\fP -SPU が \fBhalt (停止)\fP 命令で止まった。 -.TP -\fB0x08\fP -SPU はチャンネルのウェイト中である。 -.TP -\fB0x10\fP -SPU はシングルステップモードであった。 -.TP -\fB0x20\fP -SPU が不正な命令を実行しようとした。 -.TP -\fB0x40\fP -SPU が不正なチャンネルにアクセスしようとした。 -.TP -\fB0x3fff0000\fP -この値のマスクを適用して得られたビット値には、 stop\-and\-signal 命令から返されたコードが入っている。 これらのビットは 0x02 -ビットがセットされている場合にのみ有効である。 -.PP -\fBspu_run\fP() がエラーを返さなかった場合、下位 8 ビットのうち 1 つ以上は 常にセットされる。 -.SH エラー -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタでない。 -.TP -\fBEFAULT\fP -\fInpc\fP が有効なポインタでない。または \fIevent\fP が NULL 以外で、しかも無効なポインタである。 -.TP -\fBEINTR\fP -\fBspu_run\fP() の実行中にシグナルが発生した。 \fBsignal\fP(7) 参照。 必要であれば、 \fInpc\fP -の値は新しいプログラムカウンタの値に更新される。 -.TP -\fBEINVAL\fP -\fIfd\fP が \fBspu_create\fP(2) が返した有効なファイルディスクリプタでない。 -.TP -\fBENOMEM\fP -Memory Flow Controller (MFC) DMA により発生したページフォールトを 処理するのに必要なメモリがなかった。 -.TP -\fBENOSYS\fP -機能が動作中のシステムで提供されていない。理由は、 ハードウェアで SPU が提供されていないか、 spufs -モジュールがロードされていないか、のどちらかである。 -.SH バージョン -\fBspu_run\fP() システムコールはカーネル 2.6.16 で Linux に追加された。 -.SH 準拠 -このシステムコールは Linux 固有であり、 PowerPC アーキテクチャでのみ実装されている。 -このシステムコールを使ったプログラムは移植性がない。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使うこと。ただし、 \fBspu_run\fP() -は より抽象度の高い SPU へのインタフェースを実装するライブラリから 利用されることを意図したものであり、通常のアプリケーションから -使用は意図されていない。推奨のライブラリについては -\fIhttp://www.bsc.es/projects/deepcomputing/linuxoncell/\fP を参照のこと。 -.SH 例 -以下は、簡単な 1 命令の SPU プログラムを \fBspu_run\fP() システムコールを使って実行させる例である。 - -.nf -#include -#include -#include -#include -#include -#include - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -int main(void) -{ - int context, fd, spu_status; - uint32_t instruction, npc; - - context = spu_create("/spu/example\-context", 0, 0755); - if (context == \-1) - handle_error("spu_create"); - - /* write a \(aqstop 0x1234\(aq instruction to the SPU\(aqs - * local store memory - */ - instruction = 0x00001234; - - fd = open("/spu/example\-context/mem", O_RDWR); - if (fd == \-1) - handle_error("open"); - write(fd, &instruction, sizeof(instruction)); - - /* set npc to the starting instruction address of the - * SPU program. Since we wrote the instruction at the - * start of the mem file, the entry point will be 0x0 - */ - npc = 0; - - spu_status = spu_run(context, &npc, NULL); - if (spu_status == \-1) - handle_error("open"); - - /* we should see a status code of 0x1234002: - * 0x00000002 (spu was stopped due to stop\-and\-signal) - * | 0x12340000 (the stop\-and\-signal code) - */ - printf("SPU Status: 0x%08x\en", spu_status); - - exit(EXIT_SUCCESS); -} -.fi -.\" .SH AUTHORS -.\" Arnd Bergmann , Jeremy Kerr -.SH 関連項目 -\fBclose\fP(2), \fBspu_create\fP(2), \fBcapabilities\fP(7), \fBspufs\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/stat.2 b/draft/man2/stat.2 deleted file mode 100644 index 518c643a..00000000 --- a/draft/man2/stat.2 +++ /dev/null @@ -1,463 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" Parts Copyright (c) 1995 Nicolai Langfeldt (janl@ifi.uio.no), 1/1/95 -.\" and Copyright (c) 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1995-05-18 by Todd Larason -.\" Modified 1997-01-31 by Eric S. Raymond -.\" Modified 1995-01-09 by Richard Kettlewell -.\" Modified 1998-05-13 by Michael Haardt -.\" Modified 1999-07-06 by aeb & Albert Cahalan -.\" Modified 2000-01-07 by aeb -.\" Modified 2004-06-23 by Michael Kerrisk -.\" 2007-06-08 mtk: Added example program -.\" 2007-07-05 mtk: Added details on underlying system call interfaces -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STAT 2 2012\-05\-07 Linux "Linux Programmer's Manual" -.SH 名前 -stat, fstat, lstat \- ファイルの状態を取得する -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint stat(const char *\fP\fIpath\fP\fB, struct stat *\fP\fIbuf\fP\fB);\fP -.br -\fBint fstat(int \fP\fIfd\fP\fB, struct stat *\fP\fIbuf\fP\fB);\fP -.br -\fBint lstat(const char *\fP\fIpath\fP\fB, struct stat *\fP\fIbuf\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.ad l -.PD 0 -.sp -\fBlstat\fP(): -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.br -|| /* glibc 2.10 以降: */ _POSIX_C_SOURCE\ >=\ 200112L -.RE -.PD -.ad -.SH 説明 -.PP -これらの関数はファイルについての情報を返す。 -ファイルそのものに対するアクセス許可は必要としないが、 -\(em\fBstat\fP() と \fBlstat\fP() の場合には \(em -そのファイルへ至る \fIpath\fP を構成する全てのディレクトリに対する -実行 (検索) 許可が必要である。 -.PP -\fBstat\fP() は \fIpath\fP で指定されたファイルの状態を取得して \fIbuf\fP へ格納する。 - -\fBlstat\fP() は \fBstat\fP() と同じであるが、 \fIpath\fP がシンボリックリンクの場合、リンクが参照しているファイルではなく、 -リンク自身の状態を取得する点が異なる。 - -\fBfstat\fP() は \fBstat\fP() と同じだが、 状態を取得するファイルをファイル・ディスクリプタ \fIfd\fP で指定する。 -.PP -これらのシステムコールはいずれも、結果を \fIstat\fP 構造体に入れて返す。 \fIstat\fP 構造体には以下のフィールドが含まれている: -.PP -.in +4n -.nf -struct stat { - dev_t st_dev; /* ファイルがあるデバイスの ID */ - ino_t st_ino; /* inode 番号 */ - mode_t st_mode; /* アクセス保護 */ - nlink_t st_nlink; /* ハードリンクの数 */ - uid_t st_uid; /* 所有者のユーザ ID */ - gid_t st_gid; /* 所有者のグループ ID */ - dev_t st_rdev; /* デバイス ID (特殊ファイルの場合) */ - off_t st_size; /* 全体のサイズ (バイト単位) */ - blksize_t st_blksize; /* ファイルシステム I/O での - ブロックサイズ */ - blkcnt_t st_blocks; /* 割り当てられた 512B のブロック数 */ - time_t st_atime; /* 最終アクセス時刻 */ - time_t st_mtime; /* 最終修正時刻 */ - time_t st_ctime; /* 最終状態変更時刻 */ -}; -.fi -.in -.PP -\fIst_dev\fP フィールドは、このファイルが存在するデバイスを示す (マクロ \fBmajor\fP(3), \fBminor\fP(3) -は、このフィールドのデバイス ID を分解するのに役立つだろう)。 - -\fIst_rdev\fP フィールドは、このファイル (inode) が表すデバイスを示す。 - -\fIst_size\fP フィールドは、(通常のファイルかシンボリックリンクの場合に) -ファイルの大きさをバイト単位で示す。 シンボリックリンクの大きさは、 -シンボリックリンクに含まれている パス名の長さ (終端の NULL バイトは含まない) -である。 - -\fIst_blocks\fP フィールドは、ファイルの大きさを 512 バイトのブロックサイズ単位で示す フィールドは、ファイルに割り当てされたブロック数を -512 バイト単位で示す。 (ファイルに穴があるような場合、この値は \fIst_size\fP/512 より小さくなることもある)。 - -\fIst_blksize\fP フィールドは、効率的にファイルシステム I/O ができる「好ましい」 ブロックサイズを示す -(もっと小さい単位でファイルに書き込みを行うと、 読み出し\-\-修正\-\-再書き込みといった非効率な動作になってしまうかもしれない)。 -.PP -全ての Linux のファイルシステムが全ての時間フィールドを 実装しているわけではない。 ファイルやディレクトリのアクセスが \fIst_atime\fP -フィールドを更新しないようなかたちでマウントできるファイルシステムもある。 (\fBmount\fP(8) の \fInoatime\fP, -\fInodiratime\fP, \fIrelatime\fP や \fBmount\fP(2) の関連する情報を参照)。 また、ファイルが \fBO_NOATIME\fP -付きでオープンされている場合には \fIst_atime\fP は更新されない。 \fBopen\fP(2) 参照。 - -\fIst_atime\fP フィールドはファイルアクセスがあった場合に変更される (例えば、 \fBexecve\fP(2), \fBmknod\fP(2), -\fBpipe\fP(2), \fButime\fP(2) を使用した場合や \fBread\fP(2) で 1 バイト以上読み込んだ場合など)。 -\fBmmap\fP(2) などの他のルーチンでは、 \fIst_atime\fP は更新されることもあれば、そうでない場合もある。 - -\fIst_mtime\fP フィールドは、ファイルが修正された場合に変更される (例えば、 \fBmknod\fP(2), \fBtruncate\fP(2), -\fButime\fP(2) を使用した場合や \fBwrite\fP(2) で 1 バイト以上書き込みをした場合など)。 さらに、ディレクトリの -\fIst_mtime\fP は、そのディレクトリで ファイルが作成されたり削除されたりすると変更される。 \fIst_mtime\fP フィールドは -所有者やグループやハード・リンク数やモードの変更では変更 \fIされない。\fP - -\fIst_ctime\fP フィールドは書き込みや inode 情報 (所有者、グループ、リンク数、モードなど) の 設定によって変更される。 -.PP -以下の POSIX マクロは、 \fIst_mode\fP フィールド で使用されるファイル種別のチェックのために定義されている : -.RS 4 -.TP 1.2i -\fBS_ISREG\fP(m) -通常のファイルか? -.TP -\fBS_ISDIR\fP(m) -ディレクトリか? -.TP -\fBS_ISCHR\fP(m) -キャラクター・デバイスか? -.TP -\fBS_ISBLK\fP(m) -ブロック・デバイスか? -.TP -\fBS_ISFIFO\fP(m) -FIFO (名前付きパイプ) か? -.TP -\fBS_ISLNK\fP(m) -シンボリックリンクか? (POSIX.1\-1996 にはない) -.TP -\fBS_ISSOCK\fP(m) -ソケットか? (POSIX.1\-1996 にはない) -.RE -.PP -以下のフラグが \fIst_mode\fP フィールド用に定義されている: -.in +4n -.TS -lB l l. -S_IFMT 0170000 ファイル種別を示すビット領域を表すビットマスク -S_IFSOCK 0140000 ソケット -S_IFLNK 0120000 シンボリックリンク -S_IFREG 0100000 通常のファイル -S_IFBLK 0060000 ブロック・デバイス -S_IFDIR 0040000 ディレクトリ -S_IFCHR 0020000 キャラクター・デバイス -S_IFIFO 0010000 FIFO -S_ISUID 0004000 set\-user\-ID bit -S_ISGID 0002000 set\-group\-ID bit (下記参照) -S_ISVTX 0001000 スティッキー・ビット (下記参照) -S_IRWXU 00700 ファイル所有者のアクセス許可用のビットマスク -S_IRUSR 00400 所有者の読み込み許可 -S_IWUSR 00200 所有者の書き込み許可 -S_IXUSR 00100 所有者の実行許可 -S_IRWXG 00070 グループのアクセス許可用のビットマスク -S_IRGRP 00040 グループの読み込み許可 -S_IWGRP 00020 グループの書き込み許可 -S_IXGRP 00010 グループの実行許可 -S_IRWXO 00007 他人 (others) のアクセス許可用のビットマスク -S_IROTH 00004 他人の読み込み許可 -S_IWOTH 00002 他人の書き込み許可 -S_IXOTH 00001 他人の実行許可 -.TE -.in -.P -set\-group\-ID bit (\fBS_ISGID\fP) にはいくつかの特殊な使用法がある: ディレクトリに設定した場合には、そのディレクトリが -BSD 方式で使用される ことを示す。つまり、そのディレクトリに作成されたファイルのグループID は 作成したプロセスの実効 (effective) -グループID ではなく、ディレクトリの グループID を継承する。また、そのディレクトリに作成されたディレクトリにも \fBS_ISGID\fP -ビットが設定される。グループ実行ビット (\fBS_IXGRP\fP) が設定されていないファイルに設定された場合は、 set\-group\-ID -ビットはファイル/レコードの 強制的な (mandatory) ロックを表す。 -.P -ディレクトリにスティッキービット (S_ISVTX) が設定された場合は、 そのディレクトリのファイルの名前を変更したり、削除したりできるのは、 -そのファイルの所有者か、そのディレクトリの所有者か、特権プロセス だけとなる。 -.SH 返り値 -成功した場合、0 が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 -.SH エラー -.TP -\fBEACCES\fP -\fIpath\fP が所属するディレクトリとその上位のディレクトリのいずれかに 対する検索許可がなかった (\fBpath_resolution\fP(7) -も参照のこと)。 -.TP -\fBEBADF\fP -\fIfd\fP が不正である。 -.TP -\fBEFAULT\fP -アドレスが間違っている。 -.TP -\fBELOOP\fP -パスを辿る際に解決すべきシンボリックリンクが多過ぎた。 -.TP -\fBENAMETOOLONG\fP -\fIpath\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fIpath\fP の構成要素が存在しないか、 \fIpath\fP が空文字列である。 -.TP -\fBENOMEM\fP -カーネルのメモリが足りない。 -.TP -\fBENOTDIR\fP -\fIpath\fP の前半部分 (prefix) の構成要素がディレクトリではない。 -.TP -\fBEOVERFLOW\fP -(\fBstat\fP()) \fIpath\fP が、ファイルサイズを \fIoff_t\fP 型で表現できないファイルを -参照している。このエラーが起こるのは、32 ビットプラットフォーム上で -\fI\-D_FILE_OFFSET_BITS=64\fP を指定せずにコンパイルされたアプリケーションが、 -ファイルサイズが \fI(1<<31)\-1\fP ビットを超えるファイルに対して \fBstat\fP() -を呼び出した場合である。 -.SH 準拠 -.\" SVr4 documents additional -.\" .BR fstat () -.\" error conditions EINTR, ENOLINK, and EOVERFLOW. SVr4 -.\" documents additional -.\" .BR stat () -.\" and -.\" .BR lstat () -.\" error conditions EINTR, EMULTIHOP, ENOLINK, and EOVERFLOW. -これらのシステムコールは SVr4, 4.3BSD, POSIX.1\-2001 に準拠している。 \fBstat\fP() と \fBfstat\fP() -コールは SVr4, SVID, POSIX, X/OPEN, 4.3BSD に準拠している。 \fBlstat\fP() コールは 4.3BSD と -SVr4 に準拠している。 - -POSIX.1\-2001 では、シンボリックリンクに対する \fBlstat\fP() で -有効な情報を返すように求められていたのは、 \fIstat\fP 構造体の \fIst_size\fP -と \fIst_mode\fP のファイル種別要素だけであった。 -POSIX.1\-2008 では規定が厳しくなり、 \fBlstat\fP() は \fIst_mode\fP の -アクセス許可ビット以外の全てのフィールドに有効な情報を返すことが -求められるようになっている。 - -\fIst_blocks\fP と \fIst_blksize\fP フィールドの使用はあまり移植性がない -(これらのフィールドは BSD によって導入された。 システムごとに解釈が -異なっており、 NFS マウントの場合には同じシステムでも異なる可能性がある)。 -\fI\fP から \fIblkcnt_t\fP の \fIblksize_t\fP 型定義を -読み込みたい場合は、(\fIどの\fPヘッダファイルをインクルードするよりも前に) -\fB_XOPEN_SOURCE\fP を 500 以上の値で定義すること。 -.LP -POSIX.1\-1990 には \fBS_IFMT\fP, \fBS_IFSOCK\fP, \fBS_IFLNK\fP, \fBS_IFREG\fP, -\fBS_IFBLK\fP, \fBS_IFDIR\fP, \fBS_IFCHR\fP, \fBS_IFIFO\fP, \fBS_ISVTX\fP 定数に関する -記述はなかったが、代わりに \fBS_ISDIR\fP() のようなマクロを使用するように -要求していた。 \fBS_IF*\fP 定数は POSIX.1\-2011 以降には存在する。 - -マクロ \fBS_ISLNK\fP() と \fBS_ISSOCK\fP() は POSIX.1\-1996 にはないが、 -POSIX.1\-2001 には両方とも存在する。 前者は SVID 4 に、後者は SUSv2 に -由来している。 -.LP -UNIX V7 (とその後のシステム) は \fBS_IREAD\fP, \fBS_IWRITE\fP, \fBS_IEXEC\fP を持っており、 -POSIX はその同義語として \fBS_IRUSR\fP, \fBS_IWUSR\fP, \fBS_IXUSR\fP を規定している。 -.SS 他のシステム -各種システムで使用されていた(いる)値: -.ad l -.TS -l l l l l. -16進 名前 ls 8進数 説明 -f000 S_IFMT 170000 ファイル種別フィールドのビットマスク -0000 000000 T{ -SCO では 使用不能 inode; BSD では不明なファイル種別; -SVID\-v2 と XPG2 では 0 と 0100000 の両方が通常のファイル -T} -1000 S_IFIFO p| 010000 FIFO (名前付きパイプ) -2000 S_IFCHR c 020000 キャラクタ特殊ファイル (V7) -3000 S_IFMPC 030000 多重化されたキャラクタ特殊ファイル (V7) -4000 S_IFDIR d/ 040000 ディレクトリ (V7) -5000 S_IFNAM 050000 T{ -XENIX の二つの副型を持つ名前付きの特殊ファイル -副型は \fIst_rdev\fP の値 1, 2 で区別される -T} -0001 S_INSEM s 000001 XENIX の IFNAM セマフォ副型 -0002 S_INSHD m 000002 XENIX の IFNAM 共有データ副型 -6000 S_IFBLK b 060000 ブロック特殊ファイル (V7) -7000 S_IFMPB 070000 多重化されたブロック特殊ファイル (V7) -8000 S_IFREG \- 100000 通常ファイル (V7) -9000 S_IFCMP 110000 VxFS 圧縮ファイル -9000 S_IFNWK n 110000 ネットワーク特殊ファイル (HP\-UX) -a000 S_IFLNK l@ 120000 シンボリックリンク (BSD) -b000 S_IFSHAD 130000 T{ -Solaris の ACL 用の隠し inode (ユーザ空間からは見えない) -T} -c000 S_IFSOCK s= 140000 ソケット (BSD; VxFS の "S_IFSOC") -d000 S_IFDOOR D> 150000 Solaris の door ファイル -e000 S_IFWHT w% 160000 BSD の空白ファイル (inode を使用しない) -0200 S_ISVTX 001000 T{ -スティッキービット: 使用後もスワップに残す (V7) -.br -予約 (SVID\-v2) -.br -ディレクトリ以外: ファイルをキャッシュしない (SunOS) -.br -ディレクトリの場合: 削除制限フラグ (SVID\-v4.2) -T} -0400 S_ISGID 002000 T{ -実行時の set\-group\-ID (V7) -.br -ディレクトリの場合: GID の伝搬に BSD 方式を使用する -T} -0400 S_ENFMT 002000 T{ -System V ファイルロックを強制する (S_ISGID と共有) -T} -0800 S_ISUID 004000 実行時の set\-user\-ID (V7) -0800 S_CDF 004000 T{ -ディレクトリがコンテキスト依存ファイル (HP\-UX) -T} -.TE -.ad - -スティッキー コマンドは Version 32V AT&T UNIX で登場した。 -.SH 注意 -.\" As at kernel 2.6.25, XFS and JFS support nanosecond timestamps, -.\" but ext2, ext3, and Reiserfs do not. -カーネル 2.5.48 以降では、 \fIstat\fP 構造体は 3 つのファイルのタイムスタンプ -関連のフィールドでナノ秒単位の精度に対応している。 glibc では、機能検査 -マクロ \fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が定義された場合に、各フィールドの -ナノ秒の情報を \fIst_atim.tv_nsec\fP という形式の名前で公開する。 -これらのフィールドは POSIX.1\-2008 で規定されており、 -バージョン 2.12 以降の glibc では、 -\fB_POSIX_C_SOURCE\fP が 200809L 以上の値で定義されるか、 -\fB_XOPEN_SOURCE\fP が 700 以上の値で定義された場合に、 -これらのフィールドが公開される。 -上記のマクロのいずれも定義されていない場合、ナノ秒の値は -\fIst_atimensec\fP という形式の名前で公開される。 -秒より細かいタイムスタンプをサポートしていないファイルシステムでは、 -ナノ秒のフィールドは 0 に設定される。 - -Linux では、 \fBlstat\fP() は一般には自動マウント動作 (automounter action) の -きっかけとならないが、 \fBstat\fP() はきっかけとなる (\fBfstatat\fP(2) を参照)。 - -\fI/proc\fP ディレクトリ以下にあるファイルのほとんどでは、 \fBstat\fP() を呼び出した際に、 \fIst_size\fP -フィールドにファイルサイズが返されない。 代わりに \fIst_size\fP フィールドには 0 が返される。 -.SS 背後のカーネル・インタフェース -.\" -.\" A note from Andries Brouwer, July 2007 -.\" -.\" > Is the story not rather more complicated for some calls like -.\" > stat(2)? -.\" -.\" Yes and no, mostly no. See /usr/include/sys/stat.h . -.\" -.\" The idea is here not so much that syscalls change, but that -.\" the definitions of struct stat and of the types dev_t and mode_t change. -.\" This means that libc (even if it does not call the kernel -.\" but only calls some internal function) must know what the -.\" format of dev_t or of struct stat is. -.\" The communication between the application and libc goes via -.\" the include file that defines a _STAT_VER and -.\" _MKNOD_VER describing the layout of the data that user space -.\" uses. Each (almost each) occurrence of stat() is replaced by -.\" an occurrence of xstat() where the first parameter of xstat() -.\" is this version number _STAT_VER. -.\" -.\" Now, also the definitions used by the kernel change. -.\" But glibc copes with this in the standard way, and the -.\" struct stat as returned by the kernel is repacked into -.\" the struct stat as expected by the application. -.\" Thus, _STAT_VER and this setup cater for the application-libc -.\" interface, rather than the libc-kernel interface. -.\" -.\" (Note that the details depend on gcc being used as c compiler.) -時間の経過とともに、 \fIstat\fP 構造体のサイズが大きくなり、この影響で \fBstat\fP() には 3つのバージョンが存在する: -\fIsys_stat\fP() (スロットは \fI__NR_oldstat\fP)、 \fIsys_newstat\fP() (スロットは -\fI__NR_stat\fP)、 \fIsys_stat64\fP() (カーネル 2.4 で導入; スロットは \fI__NR_stat64\fP). glibc -の \fBstat\fP() ラッパー関数はこれらの詳細をアプリケーションから隠蔽してくれる。 -具体的には、カーネルが提供しているシステムコールのうち最新のバージョンを 起動し、古いバイナリの場合には必要に応じて返された情報を再構成 -(repack) する。 \fBfstat\fP() と \fBlstat\fP() についても同様である。 -.SH 例 -以下のプログラムは \fBstat\fP() を呼び出し、返ってきた \fIstat\fP 構造体のフィールドのいくつかを表示する。 -.nf - -#include -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - struct stat sb; - - if (argc != 2) { - fprintf(stderr, "Usage: %s \en", argv[0]); - exit(EXIT_FAILURE); - } - - if (stat(argv[1], &sb) == \-1) { - perror("stat"); - exit(EXIT_FAILURE); - } - - printf("File type: "); - - switch (sb.st_mode & S_IFMT) { - case S_IFBLK: printf("block device\en"); break; - case S_IFCHR: printf("character device\en"); break; - case S_IFDIR: printf("directory\en"); break; - case S_IFIFO: printf("FIFO/pipe\en"); break; - case S_IFLNK: printf("symlink\en"); break; - case S_IFREG: printf("regular file\en"); break; - case S_IFSOCK: printf("socket\en"); break; - default: printf("unknown?\en"); break; - } - - printf("I\-node number: %ld\en", (long) sb.st_ino); - - printf("Mode: %lo (octal)\en", - (unsigned long) sb.st_mode); - - printf("Link count: %ld\en", (long) sb.st_nlink); - printf("Ownership: UID=%ld GID=%ld\en", - (long) sb.st_uid, (long) sb.st_gid); - - printf("Preferred I/O block size: %ld bytes\en", - (long) sb.st_blksize); - printf("File size: %lld bytes\en", - (long long) sb.st_size); - printf("Blocks allocated: %lld\en", - (long long) sb.st_blocks); - - printf("Last status change: %s", ctime(&sb.st_ctime)); - printf("Last file access: %s", ctime(&sb.st_atime)); - printf("Last file modification: %s", ctime(&sb.st_mtime)); - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBaccess\fP(2), \fBchmod\fP(2), \fBchown\fP(2), \fBfstatat\fP(2), \fBreadlink\fP(2), -\fButime\fP(2), \fBcapabilities\fP(7), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/statfs.2 b/draft/man2/statfs.2 index 686e9000..aa145e33 100644 --- a/draft/man2/statfs.2 +++ b/draft/man2/statfs.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 2003-08-17 by Walter Harms .\" Modified 2004-06-23 by Michael Kerrisk @@ -194,6 +196,6 @@ statfs\fP を返す (\fI\fP で定義されている)。 この構造 .SH 関連項目 \fBstat\fP(2), \fBstatvfs\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/stime.2 b/draft/man2/stime.2 index 89560927..2bfd7f06 100644 --- a/draft/man2/stime.2 +++ b/draft/man2/stime.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith @@ -63,6 +63,6 @@ SVr4. .SH 関連項目 \fBdate\fP(1), \fBsettimeofday\fP(2), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/swapon.2 b/draft/man2/swapon.2 index e7d3db5c..351ea7ba 100644 --- a/draft/man2/swapon.2 +++ b/draft/man2/swapon.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith @@ -128,6 +128,6 @@ path のファイルが有効なスワップの署名 (signature) を 含んで .SH 関連項目 \fBmkswap\fP(8), \fBswapoff\fP(8), \fBswapon\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/symlink.2 b/draft/man2/symlink.2 deleted file mode 100644 index 17ea09ec..00000000 --- a/draft/man2/symlink.2 +++ /dev/null @@ -1,130 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1996-04-26 by Nick Duffek -.\" Modified 1996-11-06 by Eric S. Raymond -.\" Modified 1997-01-31 by Eric S. Raymond -.\" Modified 2004-06-23 by Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYMLINK 2 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -symlink \- ファイルに新しい名前を付ける -.SH 書式 -\fB#include \fP -.sp -\fBint symlink(const char *\fP\fIoldpath\fP\fB, const char *\fP\fInewpath\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBsymlink\fP(): -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\ >=\ 200112L -.RE -.ad b -.SH 説明 -\fBsymlink\fP() は \fIoldpath\fP という文字列をファイルの内容として持つ \fInewpath\fP というシンボリックリンク -(symbolic link) を作成する。 - -シンボリックリンクは実行時に解釈され、 リンクの内容でパスを置き換えて、そのパスを辿ることで、 ファイルやディレクトリに到達する。 - -シンボリックリンクはパスの部分に \fI..\fP を含むかもしれない。これは (もしリンクの最初に使用された場合は) リンクの -存在するディレクトリの親ディレクトリが参照される。 - -シンボリックリンクは (ソフトリンク (soft link) とも呼ばれ) 存在するファイルを指しているかもしれないし、 -存在しないファイルを指しているかもしれない; 後者の場合は壊れたリンク (dangling link) とも呼ばれる。 - -シンボリックリンクの許可 (permission) は無意味である; リンクを追跡する場合には所有権 (ownership) は無視される。 -ただし、リンクの削除や名前の変更が要求され、かつリンクが存在する ディレクトリにスティッキービット (sticky bit) (\fBS_ISVTX\fP) -が設定されている場合には、所有権のチェックが行われる。 - -\fInewpath\fP が存在する場合には上書きは\fIされない\fP。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEACCES\fP -\fInewpath\fP を含んでいるディレクトリへの書き込みが拒否されたか、 \fInewpath\fP -に含まれているディレクトリのどれかに検索許可が与えられていない (\fBpath_resolution\fP(7) も参照すること)。 -.TP -\fBEEXIST\fP -\fInewpath\fP が既に存在する。 -.TP -\fBEFAULT\fP -\fIoldpath\fP や \fInewpath\fP がアクセス可能なアドレス空間の外を指している。 -.TP -\fBEIO\fP -I/O エラーが発生した。 -.TP -\fBELOOP\fP -\fInewpath\fP を解決する際に遭遇したシンボリックリンクが多過ぎる。 -.TP -\fBENAMETOOLONG\fP -\fIoldpath\fP または \fInewpath\fP が長過ぎる。 -.TP -\fBENOENT\fP -\fInewpath\fP に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 \fIoldpath\fP が空文字列である。 -.TP -\fBENOMEM\fP -十分なカーネルメモリーがない。 -.TP -\fBENOSPC\fP -そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための空きがない。 -.TP -\fBENOTDIR\fP -\fInewpath\fP に含まれるディレクトリ部分が、実際には、ディレクトリではない。 -.TP -\fBEPERM\fP -\fInewpath\fP を含んでいるファイルシステム (file system) が シンボリックリンクの作成をサポートしていない。 -.TP -\fBEROFS\fP -\fInewpath\fP が読み込み専用のファイルシステムに存在している。 -.SH 準拠 -.\" SVr4 documents additional error codes EDQUOT and ENOSYS. -.\" See -.\" .BR open (2) -.\" re multiple files with the same name, and NFS. -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -\fIoldpath\fP についてのチェックは行なわれない。 - -symlink によって参照される名前を削除すると (それが他にハードリンク (hard link) を持たなければ) 実際にファイルが削除される。 -この動作が望んだものでない場合は、 \fBlink\fP(2) を使用すること。 -.SH 関連項目 -\fBln\fP(1), \fBlchown\fP(2), \fBlink\fP(2), \fBlstat\fP(2), \fBopen\fP(2), \fBreadlink\fP(2), -\fBrename\fP(2), \fBsymlinkat\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7), -\fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/symlinkat.2 b/draft/man2/symlinkat.2 index 0380e421..e9e4f769 100644 --- a/draft/man2/symlinkat.2 +++ b/draft/man2/symlinkat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +88,6 @@ POSIX.1\-2008. .SH 関連項目 \fBopenat\fP(2), \fBsymlink\fP(2), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sync.2 b/draft/man2/sync.2 index 3f443135..0a702a0c 100644 --- a/draft/man2/sync.2 +++ b/draft/man2/sync.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" and Copyright (c) 2011 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified Sat Jul 24 12:02:47 1993 by Rik Faith @@ -104,6 +104,6 @@ libc4, libc5 と、2.2.1 までの glibc ではプロトタイプは "int sync(v .SH 関連項目 \fBbdflush\fP(2), \fBfdatasync\fP(2), \fBfsync\fP(2), \fBsync\fP(8), \fBupdate\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sync_file_range.2 b/draft/man2/sync_file_range.2 index 5e4f8b73..9cb94821 100644 --- a/draft/man2/sync_file_range.2 +++ b/draft/man2/sync_file_range.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 2006 Andrew Morton .\" and Copyright 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2006-07-05 Initial creation, Michael Kerrisk based on .\" Andrew Morton's comments in fs/sync.c @@ -116,7 +116,7 @@ I/O エラー。 .TP \fBESPIPE\fP .\" FIXME . (bug?) Actually, how can 'fd' refer to a symbolic link (S_ISLNK)? -.\" (In userspace at least) it isn't possible to obtain a file descriptor +.\" (In user space at least) it isn't possible to obtain a file descriptor .\" for a symbolic link. \fIfd\fP が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク 以外のものを指している。 .SH バージョン @@ -154,6 +154,6 @@ glibc のラッパー関数は \fBsync_file_range\fP() という名前で .SH 関連項目 \fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/syscall.2 b/draft/man2/syscall.2 deleted file mode 100644 index 2a27cdec..00000000 --- a/draft/man2/syscall.2 +++ /dev/null @@ -1,82 +0,0 @@ -.\" Copyright (c) 1980, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)syscall.2 8.1 (Berkeley) 6/16/93 -.\" -.\" -.\" 2002-03-20 Christoph Hellwig -.\" - adopted for Linux -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSCALL 2 2007\-07\-26 Linux "Linux Programmer's Manual" -.SH 名前 -syscall \- 間接システムコール -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -\fB#include \fP/* For SYS_xxx definitions */ - -\fBint syscall(int \fP\fInumber\fP\fB, ...);\fP -.fi -.SH 説明 -\fBsyscall\fP() は \fInumber\fP で指定されたアセンブリ言語インターフェースのシステムコールを、 指定された引き数をつけて実行する。 -システムコールのシンボル定数はヘッダファイル \fI\fP に書かれている。 -.SH 返り値 -返り値は呼び出されたシステムコールによって定義される。 一般に、返り値 0 は成功を表す。 \-1 はエラーを表し、エラーコードは \fIerrno\fP -に入れられる。 -.SH 注意 -\fBsyscall\fP() は 4BSD で最初に登場した。 -.SH 例 -.nf -#define _GNU_SOURCE -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - pid_t tid; - - tid = syscall(SYS_gettid); -} -.fi -.SH 関連項目 -\fB_syscall\fP(2), \fBintro\fP(2), \fBsyscalls\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/syscalls.2 b/draft/man2/syscalls.2 deleted file mode 100644 index 629f8daf..00000000 --- a/draft/man2/syscalls.2 +++ /dev/null @@ -1,654 +0,0 @@ -.\" Copyright (C) 2007 Michael Kerrisk -.\" with some input from Stepan Kasal -.\" -.\" Some content retained from an earlier version of this page: -.\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl) -.\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern -.\" -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSCALLS 2 2012\-03\-23 Linux "Linux Programmer's Manual" -.SH 名前 -syscalls \- Linux のシステムコール -.SH 書式 -Linux のシステムコール。 -.SH 説明 -システムコールは、アプリケーションと Linux カーネルとの間の 基本的なインタフェースである。 -.SS システムコールとライブラリのラッパー関数 -システムコールは一般には直接起動されず、 glibc (や他の何らかのライブラリ) 経由で起動される。 システムコールの直接起動については、詳細は -\fBintro\fP(2) を参照のこと。 いつもという訳ではないが、普通は、ラッパー関数の名前はその関数が起動する システムコールの名前と同じである。 -例えば、glibc には \fBtruncate\fP() という関数があり、この関数は "truncate" システムコールを起動する。 - -たいていの場合、glibc のラッパー関数はかなり簡単なもので、 システムコールを起動する前に引き数を適切なレジスタにコピーし、 -システムコールが返った後は \fIerrno\fP を適切に設定する以外は、ほとんど処理を行わない (これらは、ラッパー関数が提供されていない場合に -システムコールを起動するのに使用する \fBsyscall\fP(2) により実行される処理と同じである)。 [注意] -システムコールは失敗を示すのに負のエラー番号を呼び出し元に返す。 失敗が起こった際には、ラッパー関数は返されたエラー番号を反転して -(正の値に変換し)、それを \fIerrno\fP にコピーし、ラッパー関数の呼び出し元に \-1 を返す。 - -しかしながら、時には、ラッパー関数がシステムコールを起動する前に 何らかの追加の処理を行う場合がある。 例えば、現在、 二つの関連するシステムコール -\fBtruncate\fP(2) と \fBtruncate64\fP(2) があり、glibc のラッパー関数 \fBtruncate\fP() -は、カーネルがこれらのシステムコールのうちどちらを提供しているかをチェックし、 どちらを採用するかを決定する。 -.SS システムコールのリスト -以下は、ほとんどのプラットフォームに共通するシステムコールのリストである。 このリストで、 \fIKernel\fP の列は、Linux 2.2 -以降で登場したシステムコールが 登場したカーネルバージョンを示す。 以下に詳細な説明を記す。 -.IP * 3 -カーネルバージョンがない場合、そのシステムコールは カーネル 1.0 もしくはそれ以前に登場した。 -.IP * -システムコールに "1.2" と書かれている場合、 そのシステムコールがおそらくバージョン 1.1.x のカーネルで登場し、 安定版のカーネルでは -1.2 で初めて登場したことを意味する。 (バージョン 1.2 のカーネルは、カーネル 1.0.6 から分岐し、 バージョン 1.1.x -の不安定版のカーネル系列として開発された。) -.IP * -.\" Was kernel 2.0 started from a branch of 1.2.10? -.\" At least from the timestamps of the tarballs of -.\" of 1.2.10 and 1.3.0, that's how it looks, but in -.\" fact the diff doesn't seem very clear, the -.\" 1.3.0 .tar.bz is much bigger (2.0 MB) than the -.\" 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the -.\" timestamps of some files in 1.3.0 seem to be older -.\" than those in 1.2.10. All of this suggests -.\" that there might not have been a clean branch point. -システムコールに "2.0" と書かれている場合、 そのシステムコールがおそらくバージョン 1.3.x のカーネルで登場し、 安定版のカーネルでは -2.0 で初めて登場したことを意味する。 (バージョン 2.0 のカーネルは、バージョン 1.2.10 あたりのカーネル 1.2.x -から分岐し、バージョン 1.3.x の不安定版のカーネル系列として開発された。) -.IP * -システムコールに "2.2" と書かれている場合、 そのシステムコールがおそらくバージョン 2.1.x のカーネルで登場し、 安定版のカーネルでは -2.2.0 で初めて登場したことを意味する。 (バージョン 2.2 のカーネルは、カーネル 2.0.21 から分岐し、 バージョン 2.1.x -の不安定版のカーネル系列として開発された。) -.IP * -システムコールに "2.4" と書かれている場合、 そのシステムコールがおそらくバージョン 2.3.x のカーネルで登場し、 安定版のカーネルでは -2.4.0 で初めて登場したことを意味する。 (バージョン 2.4 のカーネルは、カーネル 2.2.8 から分岐し、 バージョン 2.3.x -の不安定版のカーネル系列として開発された。) -.IP * -システムコールに "2.6" と書かれている場合、 そのシステムコールがおそらくバージョン 2.5.x のカーネルで登場し、 安定版のカーネルでは -2.6.0 で初めて登場したことを意味する。 (バージョン 2.6 のカーネルは、カーネル 2.4.15 から分岐し、 バージョン 2.5.x -の不安定版のカーネル系列として開発された。) -.IP * -カーネル 2.6.0 から開発モデルは変更され、新しいシステムコールが -個々の 2.6.x のリリースでも登場するようになった。 -その場合、このリストでは、システムコールが登場した -厳密なバージョン番号が記載されている。この慣習は、カーネル 2.6.39 の -後継となるバージョン 3.x 系列のカーネルでも継続されている。 -.IP * -前の安定版カーネル系列から分岐した後に安定版カーネル系列にシステムコール が追加された場合、以前の安定版カーネル系列にそのシステムコールが 移植 -(backport) されることがある。 例えば、2.6.x で登場したシステムコールのいくつかは、 2.4.15 以降の 2.4.x リリースにも -backport された。 この場合、システムコールが登場したバージョンとして、 両方の安定版系列のバージョンが記載されている。 -.PP -.\" -.\" Looking at scripts/checksyscalls.sh in the kernel source is -.\" instructive about i386 specifics. -.\" -カーネル 3.1 で利用可能なシステムコールのリストを以下に示す -(それ以前のカーネルでだけ利用可能なものも少数だが含まれる): -.ad l -.TS -l l l ---- -l l l. -\fBSystem call\fP \fBKernel\fP \fBNotes\fP - -\fB_llseek\fP(2) 1.2 -\fB_newselect\fP(2) -\fB_sysctl\fP(2) -\fBaccept\fP(2) -\fBaccept4\fP(2) 2.6.28 -\fBaccess\fP(2) -\fBacct\fP(2) -\fBadd_key\fP(2) 2.6.11 -\fBadjtimex\fP(2) -\fBalarm\fP(2) -\fBalloc_hugepages\fP(2) 2.5.36 2.5.44 で削除 -\fBbdflush\fP(2) T{ -2.6 以降では非推奨 (何もしない) -T} -\fBbind\fP(2) -\fBbrk\fP(2) -\fBcacheflush\fP(2) 1.2 i386 にはない -\fBcapget\fP(2) 2.2 -\fBcapset\fP(2) 2.2 -\fBchdir\fP(2) -\fBchmod\fP(2) -\fBchown\fP(2) -\fBchown32\fP(2) 2.4 -\fBchroot\fP(2) -\fBclock_adjtime\fP(2) 2.6.39 -\fBclock_getres\fP(2) 2.6 -\fBclock_gettime\fP(2) 2.6 -\fBclock_nanosleep\fP(2) 2.6 -\fBclock_settime\fP(2) 2.6 -\fBclone\fP(2) -\fBclose\fP(2) -\fBconnect\fP(2) -\fBcreat\fP(2) -\fBcreate_module\fP(2) 2.6 で削除 -\fBdelete_module\fP(2) -\fBdup\fP(2) -\fBdup2\fP(2) -\fBdup3\fP(2) 2.6.27 -\fBepoll_create\fP(2) 2.6 -\fBepoll_create1\fP(2) 2.6.27 -\fBepoll_ctl\fP(2) 2.6 -\fBepoll_pwait\fP(2) 2.6.19 -\fBepoll_wait\fP(2) 2.6 -\fBeventfd\fP(2) 2.6.22 -\fBeventfd2\fP(2) 2.6.27 -\fBexecve\fP(2) -\fBexit\fP(2) -\fBexit_group\fP(2) 2.6 -\fBfaccessat\fP(2) 2.6.16 -\fBfadvise64\fP(2) 2.6 -.\" Implements \fBposix_fadvise\fP(2) -\fBfadvise64_64\fP(2) 2.6 -\fBfallocate\fP(2) 2.6.23 -\fBfanotify_init\fP(2) 2.6.37 -\fBfanotify_mark\fP(2) 2.6.37 -.\" The fanotify calls were added in Linux 2.6.36, -.\" but disabled while the API was finalized. -\fBfchdir\fP(2) -\fBfchmod\fP(2) -\fBfchmodat\fP(2) 2.6.16 -\fBfchown\fP(2) -\fBfchown32\fP(2) 2.4 -\fBfchownat\fP(2) 2.6.16 -\fBfcntl\fP(2) -\fBfcntl64\fP(2) 2.4 -\fBfdatasync\fP(2) -\fBfgetxattr\fP(2) 2.6; 2.4.18 -\fBflistxattr\fP(2) 2.6; 2.4.18 -\fBflock\fP(2) 2.0 -\fBfork\fP(2) -\fBfree_hugepages\fP(2) 2.5.36 2.5.44 で削除 -\fBfremovexattr\fP(2) 2.6; 2.4.18 -\fBfsetxattr\fP(2) 2.6; 2.4.18 -\fBfstat\fP(2) -\fBfstat64\fP(2) 2.4 -\fBfstatat64\fP(2) 2.6.16 -\fBfstatfs\fP(2) -\fBfstatfs64\fP(2) 2.6 -\fBfsync\fP(2) -\fBftruncate\fP(2) -\fBftruncate64\fP(2) 2.4 -\fBfutex\fP(2) 2.6 -\fBfutimesat\fP(2) 2.6.16 -\fBget_kernel_syms\fP(2) 2.6 で削除 -\fBget_mempolicy\fP(2) 2.6.6 -\fBget_robust_list\fP(2) 2.6.17 -\fBget_thread_area\fP(2) 2.6 -\fBgetcpu\fP(2) 2.6.19 -\fBgetcwd\fP(2) 2.2 -\fBgetdents\fP(2) 2.0 -\fBgetdents64\fP(2) 2.4 -\fBgetegid\fP(2) -\fBgetegid32\fP(2) 2.4 -\fBgeteuid\fP(2) -\fBgeteuid32\fP(2) 2.4 -\fBgetgid\fP(2) -\fBgetgid32\fP(2) 2.4 -\fBgetgroups\fP(2) -\fBgetgroups32\fP(2) 2.4 -\fBgetitimer\fP(2) -\fBgetpeername\fP(2) -\fBgetpagesize\fP(2) 2.0 i386 にはない -\fBgetpgid\fP(2) -\fBgetpgrp\fP(2) -\fBgetpid\fP(2) -\fBgetppid\fP(2) -\fBgetpriority\fP(2) -\fBgetresgid\fP(2) 2.2 -\fBgetresgid32\fP(2) 2.4 -\fBgetresuid\fP(2) 2.2 -\fBgetresuid32\fP(2) 2.4 -\fBgetrlimit\fP(2) -\fBgetrusage\fP(2) -\fBgetsid\fP(2) 2.0 -\fBgetsockname\fP(2) -\fBgetsockopt\fP(2) -\fBgettid\fP(2) 2.4.11 -\fBgettimeofday\fP(2) -\fBgetuid\fP(2) -\fBgetuid32\fP(2) 2.4 -.\" \fBgetunwind\fP(2) 2.4.8 ia64; DEPRECATED -\fBgetxattr\fP(2) 2.6; 2.4.18 -\fBinit_module\fP(2) -\fBinotify_add_watch\fP(2) 2.6.13 -\fBinotify_init\fP(2) 2.6.13 -\fBinotify_init1\fP(2) 2.6.27 -\fBinotify_rm_watch\fP(2) 2.6.13 -\fBio_cancel\fP(2) 2.6 -\fBio_destroy\fP(2) 2.6 -\fBio_getevents\fP(2) 2.6 -\fBio_setup\fP(2) 2.6 -\fBio_submit\fP(2) 2.6 -\fBioctl\fP(2) -\fBioperm\fP(2) -\fBiopl\fP(2) -\fBioprio_get\fP(2) 2.6.13 -\fBioprio_set\fP(2) 2.6.13 -\fBipc\fP(2) -.\" Implements System V IPC calls -\fBkexec_load\fP(2) 2.6.13 -.\" The entry in the syscall table was reserved starting in 2.6.7 -.\" Was named sys_kexec_load() from 2.6.7 to 2.6.16 -\fBkeyctl\fP(2) 2.6.11 -\fBkill\fP(2) -\fBlchown\fP(2) 2.2 -\fBlchown32\fP(2) 2.4 -\fBlgetxattr\fP(2) 2.6; 2.4.18 -\fBlink\fP(2) -\fBlinkat\fP(2) 2.6.16 -\fBlisten\fP(2) -\fBlistxattr\fP(2) 2.6; 2.4.18 -\fBllistxattr\fP(2) 2.6; 2.4.18 -\fBlookup_dcookie\fP(2) 2.6 -\fBlremovexattr\fP(2) 2.6; 2.4.18 -\fBlseek\fP(2) -\fBlsetxattr\fP(2) 2.6; 2.4.18 -\fBlstat\fP(2) -\fBlstat64\fP(2) 2.4 -\fBmadvise\fP(2) 2.4 -\fBmadvise1\fP(2) 2.4 -\fBmbind\fP(2) 2.6.6 -.\" \fBmemory_ordering\fP(2) ??? Sparc64 -\fBmigrate_pages\fP(2) 2.6.16 -\fBmincore\fP(2) 2.4 -\fBmkdir\fP(2) -\fBmkdirat\fP(2) 2.6.16 -\fBmknod\fP(2) -\fBmknodat\fP(2) 2.6.16 -\fBmlock\fP(2) -\fBmlockall\fP(2) -\fBmmap\fP(2) -\fBmmap2\fP(2) 2.4 -\fBmodify_ldt\fP(2) -\fBmount\fP(2) -\fBmove_pages\fP(2) 2.6.18 -\fBmprotect\fP(2) -\fBmq_getsetattr\fP(2) 2.6.6 -.\" Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3) -\fBmq_notify\fP(2) 2.6.6 -\fBmq_open\fP(2) 2.6.6 -\fBmq_timedreceive\fP(2) 2.6.6 -\fBmq_timedsend\fP(2) 2.6.6 -\fBmq_unlink\fP(2) -\fBmremap\fP(2) 2.0 -\fBmsgctl\fP(2) -\fBmsgget\fP(2) -\fBmsgrcv\fP(2) -\fBmsgsnd\fP(2) -\fBmsync\fP(2) 2.0 -.\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on -.\" PowerPC, but unimplemented? -\fBmunlock\fP(2) -\fBmunlockall\fP(2) -\fBmunmap\fP(2) -\fBname_to_handle_at\fP(2) 2.6.39 -\fBnanosleep\fP(2) 2.0 -\fBnfsservctl\fP(2) 2.2 3.1 で削除 -\fBnice\fP(2) -\fBoldfstat\fP(2) -\fBoldlstat\fP(2) -\fBoldolduname\fP(2) -\fBoldstat\fP(2) -\fBolduname\fP(2) -\fBopen\fP(2) -\fBopen_by_handle_at\fP(2) 2.6.39 -\fBopenat\fP(2) 2.6.16 -\fBpause\fP(2) -\fBpciconfig_iobase\fP(2) 2.2.15; 2.4 i386 にはない -.\" Alpha, PowerPC, ARM; not i386 -\fBpciconfig_read\fP(2) 2.0.26; 2.2 i386 にはない -.\" , PowerPC, ARM; not i386 -\fBpciconfig_write\fP(2) 2.0.26; 2.2 i386 にはない -.\" , PowerPC, ARM; not i386 -\fBperf_event_open\fP(2) 2.6.31 T{ -2.6.31 では perf_counter_open() という名前であった; 2.6.32 で名称変更 -T} -\fBpersonality\fP(2) 1.2 -.\" \fBperfctr\fP(2) ??? Sparc32, Sparc64 -.\" \fBperfmonctl\fP(2) ??? ia64 -\fBpipe\fP(2) -\fBpipe2\fP(2) 2.6.27 -\fBpivot_root\fP(2) 2.4 -\fBpoll\fP(2) 2.2 -\fBppoll\fP(2) 2.6.16 -\fBprctl\fP(2) 2.2 -\fBpread64\fP(2) T{ -2.2 で "pread" として追加; 2.6 で "pread64" に名称変更 -T} -\fBpreadv\fP(2) 2.6.30 -\fBprlimit\fP(2) 2.6.36 -\fBprocess_vm_readv(2)\fP 3.2 -\fBprocess_vm_writev(2)\fP 3.2 -\fBpselect6\fP(2) 2.6.16 -.\" Implements \fBpselect\fP(2) -\fBptrace\fP(2) -\fBpwrite64\fP(2) T{ -2.2 で "pwrite" として追加; 2.6 で "pwrite64" に名称変更 -T} -\fBpwritev\fP(2) 2.6.30 -\fBquery_module\fP(2) 2.2 2.6 で削除 -\fBquotactl\fP(2) -\fBread\fP(2) -\fBreadahead\fP(2) 2.4.13 -\fBreaddir\fP(2) -.\" Supersedes \fBgetdents\fP(2) -\fBreadlink\fP(2) -\fBreadlinkat\fP(2) 2.6.16 -\fBreadv\fP(2) 2.0 -\fBreboot\fP(2) -\fBrecv\fP(2) -\fBrecvfrom\fP(2) -\fBrecvmsg\fP(2) -\fBrecvmmsg\fP(2) 2.6.33 -\fBremap_file_pages\fP(2) 2.6 -\fBremovexattr\fP(2) 2.6; 2.4.18 -\fBrename\fP(2) -\fBrenameat\fP(2) 2.6.16 -\fBrequest_key\fP(2) 2.6.11 -\fBrestart_syscall\fP(2) 2.6 -\fBrmdir\fP(2) -\fBrt_sigaction\fP(2) 2.2 -\fBrt_sigpending\fP(2) 2.2 -\fBrt_sigprocmask\fP(2) 2.2 -\fBrt_sigqueueinfo\fP(2) 2.2 -\fBrt_sigreturn\fP(2) 2.2 -\fBrt_sigsuspend\fP(2) 2.2 -\fBrt_sigtimedwait\fP(2) 2.2 -\fBrt_tgsigqueueinfo\fP(2) 2.6.31 -\fBsched_get_priority_max\fP(2) 2.0 -\fBsched_get_priority_min\fP(2) 2.0 -\fBsched_getaffinity\fP(2) 2.6 -\fBsched_getparam\fP(2) 2.0 -\fBsched_getscheduler\fP(2) 2.0 -\fBsched_rr_get_interval\fP(2) 2.0 -\fBsched_setaffinity\fP(2) 2.6 -\fBsched_setparam\fP(2) 2.0 -\fBsched_setscheduler\fP(2) 2.0 -\fBsched_yield\fP(2) 2.0 -\fBselect\fP(2) -\fBsemctl\fP(2) -\fBsemget\fP(2) -\fBsemop\fP(2) -\fBsemtimedop\fP(2) 2.6; 2.4.22 -\fBsend\fP(2) -\fBsendfile\fP(2) 2.2 -\fBsendfile64\fP(2) 2.6; 2.4.19 -\fBsendmmsg\fP(2) 3.0 -\fBsendmsg\fP(2) -\fBsendto\fP(2) -\fBset_mempolicy\fP(2) 2.6.6 -\fBset_robust_list\fP(2) 2.6.17 -\fBset_thread_area\fP(2) 2.6 -\fBset_tid_address\fP(2) 2.6 -\fBset_zone_reclaim\fP(2) 2.6.13 T{ -2.6.16 で削除 (ユーザ空間に公開されたことはない) -T} -.\" See http://lkml.org/lkml/2005/8/1/83 -.\" "[PATCH] remove sys_set_zone_reclaim()" -\fBsetdomainname\fP(2) -\fBsetfsgid\fP(2) 1.2 -\fBsetfsgid32\fP(2) 2.4 -\fBsetfsuid\fP(2) 1.2 -\fBsetfsuid32\fP(2) 2.4 -\fBsetgid\fP(2) -\fBsetgid32\fP(2) 2.4 -\fBsetgroups\fP(2) -\fBsetgroups32\fP(2) 2.4 -\fBsethostname\fP(2) -\fBsetitimer\fP(2) -\fBsetns\fP(2) 3.0 -\fBsetpgid\fP(2) -\fBsetpriority\fP(2) -\fBsetregid\fP(2) -\fBsetregid32\fP(2) 2.4 -\fBsetresgid\fP(2) 2.2 -\fBsetresgid32\fP(2) 2.4 -\fBsetresuid\fP(2) 2.2 -\fBsetresuid32\fP(2) 2.4 -\fBsetreuid\fP(2) -\fBsetreuid32\fP(2) 2.4 -\fBsetrlimit\fP(2) -\fBsetsid\fP(2) -\fBsetsockopt\fP(2) -\fBsettimeofday\fP(2) -\fBsetuid\fP(2) -\fBsetuid32\fP(2) 2.4 -\fBsetup\fP(2) 2.2 で削除 -\fBsetxattr\fP(2) 2.6; 2.4.18 -\fBsgetmask\fP(2) -\fBshmat\fP(2) -\fBshmctl\fP(2) -\fBshmdt\fP(2) -\fBshmget\fP(2) -\fBshutdown\fP(2) -\fBsigaction\fP(2) -\fBsigaltstack\fP(2) 2.2 -\fBsignal\fP(2) -\fBsignalfd\fP(2) 2.6.22 -\fBsignalfd4\fP(2) 2.6.27 -\fBsigpending\fP(2) -\fBsigprocmask\fP(2) -\fBsigreturn\fP(2) -\fBsigsuspend\fP(2) -\fBsocket\fP(2) -\fBsocketcall\fP(2) -.\" Implements BSD socket calls -\fBsocketpair\fP(2) -\fBsplice\fP(2) 2.6.17 -\fBspu_create\fP(2) 2.6.16 PowerPC のみ -\fBspu_run\fP(2) 2.6.16 PowerPC のみ -\fBssetmask\fP(2) -\fBstat\fP(2) -\fBstat64\fP(2) 2.4 -\fBstatfs\fP(2) -\fBstatfs64\fP(2) 2.6 -\fBstime\fP(2) -\fBsubpage_prot\fP(2) 2.6.25 PowerPC で - CONFIG_PPC_64K_PAGES の場合 -\fBswapoff\fP(2) -\fBswapon\fP(2) -\fBsymlink\fP(2) -\fBsymlinkat\fP(2) 2.6.16 -\fBsync\fP(2) -\fBsync_file_range\fP(2) 2.6.17 -\fBsync_file_range2\fP(2) 2.6.22 T{ -アーキテクチャ固有の \fBsync_file_range\fP(2) の一種 -T} -.\" PowerPC, ARM, tile -.\" First appeared on ARM, as arm_sync_file_range(), but later renamed -.\" \fBsys_debug_setcontext\fP(2) ??? PowerPC if CONFIG_PPC32 -\fBsyncfs\fP(2) 2.6.39 -\fBsysfs\fP(2) 1.2 -\fBsysinfo\fP(2) -\fBsyslog\fP(2) -.\" glibc interface is \fBklogctl\fP(3) -\fBtee\fP(2) 2.6.17 -\fBtgkill\fP(2) 2.6 -\fBtime\fP(2) -\fBtimer_create\fP(2) 2.6 -\fBtimer_delete\fP(2) 2.6 -\fBtimer_getoverrun\fP(2) 2.6 -\fBtimer_gettime\fP(2) 2.6 -\fBtimer_settime\fP(2) 2.6 -\fBtimerfd_create\fP(2) 2.6.25 -\fBtimerfd_gettime\fP(2) 2.6.25 -\fBtimerfd_settime\fP(2) 2.6.25 -\fBtimes\fP(2) -\fBtkill\fP(2) 2.6; 2.4.22 -\fBtruncate\fP(2) -\fBtruncate64\fP(2) 2.4 -\fBugetrlimit\fP(2) 2.4 -\fBumask\fP(2) -\fBumount\fP(2) -.\" sys_oldumount() -- __NR_umount -\fBumount2\fP(2) 2.2 -.\" sys_umount() -- __NR_umount2 -\fBuname\fP(2) -\fBunlink\fP(2) -\fBunlinkat\fP(2) 2.6.16 -\fBunshare\fP(2) 2.6.16 -\fBuselib\fP(2) -\fBustat\fP(2) -\fButime\fP(2) -\fButimensat\fP(2) 2.6.22 -\fButimes\fP(2) 2.2 -\fBvfork\fP(2) -\fBvhangup\fP(2) -\fBvm86old\fP(2) -.\" Superseded by \fBvm86\fP(2) -\fBvmsplice\fP(2) 2.6.17 -\fBwait4\fP(2) -\fBwaitid\fP(2) 2.6.10 -\fBwaitpid\fP(2) -\fBwrite\fP(2) -\fBwritev\fP(2) 2.0 -.TE -.ad -.PP -i386 を含む多くのプラットフォームでは、ソケット関連のシステムコールは (glibc のラッパー関数を介してだが) すべて -\fBsocketcall\fP(2) 経由に多重されている。 同様に、System V IPC 関連のシステムコールは \fBipc\fP(2) -経由に多重されている。 - -.\" __NR_afs_syscall is 53 on Linux 2.6.22/i386 -.\" __NR_break is 17 on Linux 2.6.22/i386 -.\" __NR_ftime is 35 on Linux 2.6.22/i386 -.\" __NR_getpmsg is 188 on Linux 2.6.22/i386 -.\" __NR_gtty is 32 on Linux 2.6.22/i386 -.\" __NR_idle is 112 on Linux 2.6.22/i386 -.\" __NR_lock is 53 on Linux 2.6.22/i386 -.\" __NR_madvise1 is 219 on Linux 2.6.22/i386 -.\" __NR_mpx is 66 on Linux 2.6.22/i386 -.\" Slot has been reused -.\" __NR_prof is 44 on Linux 2.6.22/i386 -.\" __NR_profil is 98 on Linux 2.6.22/i386 -.\" __NR_putpmsg is 189 on Linux 2.6.22/i386 -.\" __NR_security is 223 on Linux 2.4/i386 -.\" __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present -.\" on a couple of 2.6 architectures -.\" __NR_stty is 31 on Linux 2.6.22/i386 -.\" The security call is for future use. -.\" __NR_tuxcall is 184 on x86_64, also on PPC and alpha -.\" __NR_ulimit is 58 on Linux 2.6.22/i386 -.\" __NR_vserver is 273 on Linux 2.6.22/i386 -以下のシステムコールは、システムコール・テーブルにスロットが予約されているが、 -標準のカーネルには実装されていない: -\fBafs_syscall\fP(2), \fBbreak\fP(2), \fBftime\fP(2), \fBgetpmsg\fP(2), \fBgtty\fP(2), -\fBidle\fP(2), \fBlock\fP(2), \fBmadvise1\fP(2), \fBmpx\fP(2), \fBphys\fP(2), \fBprof\fP(2), -\fBprofil\fP(2), \fBputpmsg\fP(2), \fBsecurity\fP(2), \fBstty\fP(2), \fBtuxcall\fP(2), -\fBulimit\fP(2), \fBvserver\fP(2) (\fBunimplemented\fP(2) も参照)。 -しかし、\fBftime\fP(3), \fBprofil\fP(3), \fBulimit\fP(3) はライブラリ・ルーチンとして -実装されている。 \fBphys\fP(2) 用の場所は 2.1.116 以降では \fBumount\fP(2) 用に -使用されている; 将来においても \fBphys\fP(2) は実装されない。 -\fBgetpmsg\fP(2) と \fBputpmsg\fP(2) は STREAMS 対応のパッチが適用された -カーネル用であり、標準のカーネルに登場することはないかもしれない。 -.SH 注意 -.PP -たいていは、 \fI/usr/include/asm/unistd.h\fP で定義されている番号 __NR_xxx のシステムコールのコードは、 -カーネル・ソースの \fIsys_xxx\fP() というルーチンに書かれている (i386 における実行テーブルは -\fI/usr/src/linux/arch/i386/kernel/entry.S\fP に書かれている)。 -しかしこれには多くの例外がある。古いシステムコールは新版に置き換えられて きたが、この置き換えはあまり体系立てて行われて来なかったからである。 -parisc, sparc, sparc64, alpha といったプロプリエタリ OS のエミュレーション -機能があるプラットフォームでは、多くの追加システムコールがある。 mips64 には、32 ビットシステムコールのフルセットも含まれている。 - -時間の経過とともに、いくつかのシステムコールではインタフェースの 変更が必要になってきた。 -こうした変更の理由の一つは、システムコールに渡される構造体やスカラー値 のサイズを増やす必要があることだった。 -これらの変更の結果、現在では、同様の処理を実行するが 引き数のサイズなどの詳細は異なる、一連のシステムコール群が いくつか存在する (例えば、 -\fBtruncate\fP(2) と \fBtruncate64\fP(2))。 (すでに述べたように、 -一般にはアプリケーションがこのことを意識することはない。 glibc のラッパー関数が、適切なシステムコールを起動し、古いバイナリに 対して ABI -レベルでの互換性を保持することを保証する処理を行っている。) 複数のバージョンが存在するシステムコールの例を以下に挙げる。 -.IP * 3 -.\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195 -.\" The stat system calls deal with three different data structures, -.\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64 -これまでに、 \fBstat\fP(2) には 3 種類の異なるバージョンが存在する。 \fIsys_stat\fP() (スロットは -\fI__NR_oldstat\fP)、 \fIsys_newstat\fP() (スロットは \fI__NR_stat\fP)、 \fIsys_stat64\fP() -(カーネル 2.4 で導入; スロットは \fI__NR_stat64\fP)。 3つのうち最後のものが最新である。 \fBlstat\fP(2) と -\fBfstat\fP(2) についても同様である。 -.IP * -また、 \fI__NR_oldolduname\fP, \fI__NR_olduname\fP, \fI__NR_uname\fP という定義は、それぞれ -\fIsys_olduname\fP(), \fIsys_uname\fP(), \fIsys_newuname\fP() というルーチンを参照している。 -.IP * -Linux 2.0 では、 \fBvm86\fP(2) の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ -\fIsys_vm86old\fP(), \fIsys_vm86\fP() という名前である。 -.IP * -Linux 2.4 では、 \fBgetrlimit\fP(2) の新バージョンが登場した。カーネルルーチンの 古いバージョン、新しいバージョンはそれぞれ -\fIsys_old_getrlimit\fP() (スロットは \fI__NR_getrlimit\fP), \fIsys_getrlimit\fP() -(スロットは \fI__NR_ugetrlimit\fP) という名前である。 -.IP * -.\" 64-bit off_t changes: ftruncate64, *stat64, -.\" fcntl64 (because of the flock structure), getdents64, *statfs64 -Linux 2.4 で、ユーザ ID とグループ ID のサイズが 16 ビットから 32 ビットに増えた。 -この変更に対応するため、いくつかのシステムコールが追加された (\fBchown32\fP(2), \fBgetuid32\fP(2), -\fBgetgroups32\fP(2), \fBsetresuid32\fP(2) など)。 これらのシステムコールが、末尾の "32" が付かない同名の -古いバージョンに代わって使われるようになった。 -.IP * -Linux 2.4 では、32 ビット・アーキテクチャ上のアプリケーションが 大きなファイル (つまり、32 ビットでは表現できないサイズや -ファイル・オフセットが必要なファイル) にアクセスできるようになった。 この変更に対応するため、ファイル・オフセットとサイズを扱う -システムコールの置き換えが必要となった。その結果、 \fBfcntl64\fP(2), \fBftruncate64\fP(2), -\fBgetdents64\fP(2), \fBstat64\fP(2), \fBstatfs64\fP(2) -と、ファイルディスクリプタやシンボリックリンクで同じ機能を持つ システムコールが追加された。 これらのシステムコールが、末尾の "64" -が付かない同名の 古いバージョンに代わって使われるようになった。 但し、"stat" 系のシステムコールはその限りではない。 - -64\-bit ファイルアクセスと 32\-bit UID のみを持つ 新しいプラットフォーム (alpha, ia64, s390x など) では、 -*64 や *32 という名前のシステムコールはない。 *64 や *32 というシステムコールが存在する場合、 *64 や *32 -がついていないシステムコールは廃止扱いである。 -.IP * -リアルタイムシグナル (\fBsignal\fP(7) 参照) への対応を追加するために、 \fIrt_sig*\fP 系のシステムコールがカーネル 2.2 -で追加された。 これらのシステムコールが、先頭に "rt_" が付かない同名の 古いバージョンに代わって使われるようになった。 -.IP * -.\" (used by libc 6) -.\" .PP -.\" Two system call numbers, -.\" .IR __NR__llseek -.\" and -.\" .IR __NR__sysctl -.\" have an additional underscore absent in -.\" .IR sys_llseek () -.\" and -.\" .IR sys_sysctl (). -.\" -.\" In kernel 2.1.81, -.\" .BR lchown (2) -.\" and -.\" .BR chown (2) -.\" were swapped; that is, -.\" .BR lchown (2) -.\" was added with the semantics that were then current for -.\" .BR chown (2), -.\" and the semantics of the latter call were changed to what -.\" they are today. -\fBselect\fP(2) と \fBmmap\fP(2) は 5つもしくはそれ以上の引き数を使用しており、 i386 では引き数の受け渡しに問題が生じる。 -そのため、他のアーキテクチャでは \fI__NR_select\fP と \fI__NR_mmap\fP に対応する \fIsys_select\fP() と -\fIsys_mmap\fP() が存在するが、i386 では代わりに \fIold_select\fP() と \fIold_mmap\fP() -というルーチンがある (これらのルーチンは引き数ブロックへのポインタを使用する)。 現在では 5つの引き数を渡すことはもはや問題ではなくなっており、 -\fI__NR__newselect\fP は \fIsys_select\fP() に直接対応するようになっている。 \fI__NR_mmap2\fP -についても同様である。 -.SH 関連項目 -\fBsyscall\fP(2), \fBunimplemented\fP(2), \fBlibc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sysctl.2 b/draft/man2/sysctl.2 deleted file mode 100644 index 51f5f265..00000000 --- a/draft/man2/sysctl.2 +++ /dev/null @@ -1,140 +0,0 @@ -.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Written 11 April 1996 by Andries Brouwer -.\" 960412: Added comments from Stephen Tweedie -.\" Modified Tue Oct 22 22:28:41 1996 by Eric S. Raymond -.\" Modified Mon Jan 5 20:31:04 1998 by aeb. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSCTL 2 2008\-11\-20 Linux "Linux Programmer's Manual" -.SH 名前 -sysctl \- システム・パラメーターを読み書きする -.SH 書式 -.nf -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint _sysctl(struct __sysctl_args *\fP\fIargs\fP\fB);\fP -.fi -.SH 説明 -\fBこのシステムコールを使用しないこと!\fP 「注意」の節を参照。 - -\fB_sysctl\fP() コールはカーネルパラメーターを読み書きする。例えば、 ホストネームや同時にオープンできるファイルの最大数など。 -引き数は以下の形式である。 -.PP -.in +4n -.nf -struct __sysctl_args { - int *name; /* integer vector describing variable */ - int nlen; /* length of this vector */ - void *oldval; /* 0 or address where to store old value */ - size_t *oldlenp; /* available room for old value, - overwritten by actual size of old value */ - void *newval; /* 0 or address of new value */ - size_t newlen; /* size of new value */ -}; -.fi -.in -.PP -このコールは \fI/proc/sys\fP の下のディレクトリ・ツリーに似た木構造(tree structure)を検索する。 -そして、要求された項目が見つかった場合は適切なルーチンを呼び出して 値を読んだり修正したりする。 -.SH 返り値 -成功した場合は \fB_sysctl\fP() は 0 を返す。失敗した場合、\-1 が返され、 \fIerrno\fP がそのエラーを示す値に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -\fIoldval\fP に NULL でない値を設定して、以前の値を要求しているのに、 \fIoldlenp\fP に空きがない。 -.TP -\fBENOTDIR\fP -\fIname\fP が見つからなかった。 -.TP -\fBEPERM\fP -「ディレクトリ」のどれかに検索許可がなかったか、 \fIoldval\fP が 0 でないのに読み込み許可がなかったか、 \fInewval\fP が 0 -でないのに書き込み許可がなかった。 -.SH 準拠 -このコールは Linux 特有であり、移植を意図したプログラムで使用しては いけない。 \fBsysctl\fP() コールは Linux のバージョン -1.3.57 から存在している。 これは 4.4BSD に由来している。Linux は \fI/proc/sys\fP -に写し(mirror)をもっており、項目の名前の付け方が Linux と 4.4BSD では 異っている。しかし \fBsysctl\fP() -関数の宣言は両方で同じである。 -.SH 注意 -glibc はこのシステムコールに対するラッパー関数を提供していない。 このシステムコールは呼び出すには \fBsyscall\fP(2) を使うこと。 - -.\" See http://lwn.net/Articles/247243/ -というよりは・・・このシステムコールを呼び出さないこと。 長い間このシステムコールの使用は非推奨とされており、 -「将来のバージョンのカーネルで削除されるようだ」と言われるほどである。 あなたのプログラムにこのシステムコールがあれば、すぐにでも削除すること。 -代わりに \fI/proc/sys\fP インターフェースを使用すること。 -.SH バグ -オブジェクトの名前は、カーネルのバージョンごとに異なっている。 このため、このシステム・コールはアプリケーションにとって 無価値なものとなっている。 -.PP -全ての可能な項目が正確に記述されているわけではない。 -.PP -今のところ \fI/proc/sys/kernel/ostype\fP に書き込むことでオペーレーティング・システムを変えることはできない。 -.SH 例 -.nf -#define _GNU_SOURCE -#include -#include -#include -#include -#include -#include - -int _sysctl(struct __sysctl_args *args ); - -#define OSNAMESZ 100 - -int -main(void) -{ - struct __sysctl_args args; - char osname[OSNAMESZ]; - size_t osnamelth; - int name[] = { CTL_KERN, KERN_OSTYPE }; - - memset(&args, 0, sizeof(struct __sysctl_args)); - args.name = name; - args.nlen = sizeof(name)/sizeof(name[0]); - args.oldval = osname; - args.oldlenp = &osnamelth; - - osnamelth = sizeof(osname); - - if (syscall(SYS__sysctl, &args) == \-1) { - perror("_sysctl"); - exit(EXIT_FAILURE); - } - printf("This machine is running %*s\en", osnamelth, osname); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBproc\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sysfs.2 b/draft/man2/sysfs.2 index f9816a50..076c56fb 100644 --- a/draft/man2/sysfs.2 +++ b/draft/man2/sysfs.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created Wed Aug 9 1995 Thomas K. Dyas .\" @@ -71,6 +73,6 @@ SVr4. .SH バグ libc または glibc のサポートは存在しない。 \fIbuf\fP の大きさがどれだけ必要かを推測する方法がない。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/sysinfo.2 b/draft/man2/sysinfo.2 index 81f3283b..db38b32d 100644 --- a/draft/man2/sysinfo.2 +++ b/draft/man2/sysinfo.2 @@ -1,11 +1,11 @@ -.\" -*- nroff -*- -.\" .\" Copyright (C) 1993 by Dan Miner (dminer@nyx.cs.du.edu) .\" +.\" %%%LICENSE_START(FREELY_REDISTRIBUTABLE) .\" Permission is granted to freely distribute or modify this file .\" for the purpose of improving Linux or its documentation efforts. .\" If you modify this file, please put a date stamp and HOW you .\" changed this file. Thanks. -DM +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 12:35:12 1993 by Rik Faith .\" Modified Tue Oct 22 22:29:51 1996 by Eric S. Raymond @@ -84,6 +84,6 @@ Linux カーネルは 0.98.pl6 から \fBsysinfo\fP() システムコールを .SH 関連項目 \fBproc\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/syslog.2 b/draft/man2/syslog.2 deleted file mode 100644 index 009e31bc..00000000 --- a/draft/man2/syslog.2 +++ /dev/null @@ -1,174 +0,0 @@ -.\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Written 11 June 1995 by Andries Brouwer -.\" 2008-02-15, Jeremy Kerr -.\" Add info on command type 10; add details on types 6, 7, 8, & 9. -.\" 2008-02-15, Michael Kerrisk -.\" Update LOG_BUF_LEN details; update RETURN VALUE section. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSLOG 2 2012\-05\-05 Linux "Linux Programmer's Manual" -.SH 名前 -syslog, klogctl \- カーネルのメッセージ・リング・バッファを読んだり消去したりする; console_loglevel の設定を行う -.SH 書式 -.nf -\fBint syslog(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP -\fB/* glibc ではラッパー関数は提供されていない */\fP -.sp -/* glibc のインタフェース */ -.br -\fB#include \fP -.sp -\fBint klogctl(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP -.fi -.SH 説明 -(\fBsyslogd\fP(8) と話す) C ライブラリ関数の \fBsyslog\fP() が必要な場合は、 -\fBsyslog\fP(3) を見ること。この名前のシステム・コールはカーネルの -\fIprintk\fP() バッファを制御するものであり、glibc ラッパー関数は -\fBklogctl\fP() と呼ばれている。 - -\fItype\fP 引き数はこの関数の動作を決定する。以下を指定できる。 - -.nf - 0 \-\- ログを閉じる。現在の実装では何もしない (NOP) 。 - 1 \-\- ログを開く。現在の実装では何もしない (NOP) 。 - 2 \-\- ログから読み出す。 - 3 \-\- リング・バッファに残っているメッセージをすべて読み出す。 - 4 \-\- リング・バッファに残っているメッセージをすべて読み出し、消去する。 - 5 \-\- リングバッファを消去する。 - 6 \-\- コンソールへの printk を無効にする。 - 7 \-\- コンソールへの printk を有効にする。 - 8 \-\- コンソールに表示されるメッセージのレベルを設定する。 - 9 \-\- ログバッファの未読の文字数を返す。 - 10 \-\- ログバッファのサイズを返す。 -.fi - -type 9 は Linux 2.4.10 で追加された。 -type 10 は Linux 2.6.6 で追加された。 - -バージョン 2.6.37 より前の Linux カーネルでは、 -コマンド種別 3 と 10 だけが非特権プロセスに対して許可されている。 -Linux 2.6.37 以降では、\fI/proc/sys/kernel/dmesg_restrict\fP が値 0 の場合に -コマンド種別 3 と 10 だけが非特権プロセスに対して許可される。 -Linux 2.6.37 より前では、「特権を持つ (privileged)」とは呼び出し者が -\fBCAP_SYS_ADMIN\fP ケーパビリティを持つことを意味する。 -Linux 2.6.37 以降では、「特権を持つ」とは呼び出し者が -\fBCAP_SYS_ADMIN\fP ケーパビリティか -(新しい) \fBCAP_SYSLOG\fP ケーパビリティのいずれかを持つことを意味する -(この目的で \fBCAP_SYS_ADMIN\fP ケーパビリティを使うのは今は非推奨である)。 -.SS "カーネル・ログ・バッファ (kernel log buffer)" -.\" Under "General setup" ==> "Kernel log buffer size" -.\" For 2.6, precisely the option seems to have appeared in 2.5.55. -カーネルは長さ \fBLOG_BUF_LEN\fP の巡回式のバッファを持っており、 それにはカーネル関数の \fBprintk\fP() -の引き数として与えられた メッセージが (そのログレベルにかかわらず) 格納される。 初期のカーネルでは \fBLOG_BUF_LEN\fP の値は 4096 -であった。 カーネル 1.3.54 からは 8192、 カーネル 2.1.113 からは 16384 になり、 カーネル 2.4.23 以降および -2.6 以降ではカーネルのコンパイル時に 値を設定できるようになっている。 最近のカーネルでは、コマンド 10 でバッファのサイズを問い合わせできる。 - -\fIsyslog(2,buf,len)\fP の呼び出しはカーネル・ログ・バッファが空でなくなるまで待って、 最大 \fIlen\fP バイトまで \fIbuf\fP -へと読み出し、読み込んだ バイト数を返す。ログから読まれたバイトはログ・バッファから消える: 情報は一度しか読むことができない。 -これはユーザーのプログラムが \fI/proc/kmsg\fP を読んだ時にカーネルによって実行される関数でもある。 - -\fIsyslog(3,buf,len)\fP の呼び出しはログ・バッファの最後の \fIlen\fP バイトを -(非破壊的に)読み出す、しかし、直近の「リング・バッファ消去」命令 (この命令はバッファを消去するわけではない) -以降にバッファに書き込まれた情報しか読み出せない。 返り値は読み込んだバイト数である。 - -\fIsyslog(4,buf,len)\fP 呼び出しは「リング・バッファ消去」命令も実行する以外は 機能 3 と完全に同じである。 - -\fIsyslog(5,dummy,dummy)\fP 呼び出しは「リング・バッファ消去」命令のみを実行する (呼び出しの書式で、 \fIbuf\fP や -\fIlen\fP が "dummy" と記載されている場合、その引き数の値が無視されることを表す)。 - -\fIsyslog(6,dummy,dummy)\fP 呼び出しはコンソールのログレベルを最小に設定し、 コンソールにメッセージが表示されないようにする。 - -\fIsyslog(7,dummy,dummy)\fP 呼び出しはコンソールのログレベルをデフォルトに設定し、 コンソールにメッセージが表示されるようにする。 - -\fIsyslog(8,dummy,level)\fP 呼び出しはコンソールのログレベルを \fIlevel\fP に設定する。 \fIlevel\fP は 1 以上 8 -以下の整数でなければならない。 詳細は \fBログレベル (loglevel)\fP の節を参照のこと。 - -\fIsyslog(9,dummy,dummy)\fP 呼び出しはカーネル・ログバッファにある現在読み出し可能なバイト数を返す。 - -\fIsyslog(10,dummy,dummy)\fP 呼び出しはカーネル・ログバッファの総量を返す。 -.SS "ログレベル (loglevel)" -カーネル・ルーチンの \fBprintk\fP() は、ログレベルが \fIconsole_loglevel\fP -変数より小さいときにのみ、コンソールにメッセージを表示する。 \fIconsole_loglevel\fP は最初 -\fBDEFAULT_CONSOLE_LOGLEVEL\fP (7) に設定されるが、起動時にカーネルの コマンド・ライン・オプションに "debug" -という単語が含まれている場合は 10 に設定され、カーネル・フォールトが発生した場合には 15 に設定される (但し、10 や 15 -という数字に意味はなく、8 と同等である)。 この変数は \fIsyslog(8,dummy,value)\fP. 呼び出しによって設定され、値の範囲は -1\-8 である。 \fIsyslog(type,dummy,dummy)\fP 呼び出しで \fItype\fP が 6 もしくは 7 の場合、 -console_loglevel は 1 (カーネル・パニックのみ)、 7 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。 - -メッセージの各行はそれぞれにログレベルを持つ。このログレベルは \fIDEFAULT_MESSAGE_LOGLEVEL \- 1\fP (6) であるが、 - (\fId\fP は 1\-7 の範囲の数字) で始まる行の ログレベルは \fId\fP である。 ログレベルの慣習的な意味は -\fI\fP に以下のように定義されている: - -.nf -#define KERN_EMERG "<0>" /* システムが使用不能 */ -#define KERN_ALERT "<1>" /* 直ちに対処が必要 */ -#define KERN_CRIT "<2>" /* 致命的な状態 */ -#define KERN_ERR "<3>" /* エラー状態 */ -#define KERN_WARNING "<4>" /* 警告状態 */ -#define KERN_NOTICE "<5>" /* 通常状態だが大事な情報 */ -#define KERN_INFO "<6>" /* 通知 */ -#define KERN_DEBUG "<7>" /* デバッグレベルの情報 */ -.fi -.SH 返り値 -\fItype\fP が 2, 3, 4 の場合、成功すると \fBsyslog\fP() は読み出したバイト数を返す。 \fItype\fP が 9 の場合、 -カーネル・ログバッファにある現在読み出し可能なバイト数を返す。 \fItype\fP が 10 の場合、 カーネル・ログバッファの総量を返す。 \fItype\fP -がそれ以外の値の場合、成功すると 0 が返される。 - -エラーの場合は、\-1\ が返り、 \fIerrno\fP にエラーを示す値が設定される。 -.SH エラー -.TP -\fBEINVAL\fP -不正な引き数 (具体的には、 \fItype\fP が正しくない、もしくは \fItype\fP が 2, 3, 4 の場合に \fIbuf\fP が NULL か -\fIlen\fP が 0 未満である、もしくは \fItype\fP が 8 の場合に \fIlevel\fP が 1 以上 8 以下の範囲に入っていない)。 -.TP -\fBENOSYS\fP -カーネルの設定オプション \fBCONFIG_PRINTK\fP を無効にしてカーネルがコンパイルされているため、 \fBsyslog\fP() -システムコールが利用できない。 -.TP -\fBEPERM\fP -十分な権限を持たないプロセス (正確にはケーパビリティ \fBCAP_SYS_ADMIN\fP も -\fBCAP_SYSLOG\fP も持たないプロセス) が console_loglevel を変更しようとしたか、 -カーネル・メッセージ・リングを消去しようとした。 -.TP -\fBERESTARTSYS\fP -システム・コールがシグナルによって割り込まれ、何も読み出せなかった。 (トレース中にしか発生することはない) -.SH 準拠 -このシステム・コールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 -.SH 注意 -.\" In libc4 and libc5 the number of this call was defined by -.\" .BR SYS_klog . -.\" In glibc 2.0 the syscall is baptized -.\" .BR klogctl (). -かなり初期の頃から、同じ名前を持つシステムコールとライブラリルーチンが -全く異なる別物であるのは不幸なことだと指摘されてきた。 -.SH 関連項目 -\fBsyslog\fP(3), \fBcapabilities\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/tee.2 b/draft/man2/tee.2 index c4acb5c9..e176852d 100644 --- a/draft/man2/tee.2 +++ b/draft/man2/tee.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006 Jens Axboe .\" and Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -151,6 +151,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBsplice\fP(2), \fBvmsplice\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/time.2 b/draft/man2/time.2 index 9bb3fc79..bb79919e 100644 --- a/draft/man2/time.2 +++ b/draft/man2/time.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified Sat Jul 24 14:13:40 1993 by Rik Faith @@ -66,6 +66,6 @@ POSIX.1 では、指定した時刻と紀元との間の秒数を近似する変 .SH 関連項目 \fBdate\fP(1), \fBgettimeofday\fP(2), \fBctime\fP(3), \fBftime\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/timerfd_create.2 b/draft/man2/timerfd_create.2 index 60a1358a..20bc5936 100644 --- a/draft/man2/timerfd_create.2 +++ b/draft/man2/timerfd_create.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 2008 Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or @@ -10,10 +11,10 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111-1307 USA +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" FIXME: Linux 3.0: timerfd_settime() adds a TFD_TIMER_CANCEL_ON_SET flag. .\" @@ -205,6 +206,10 @@ struct itimerspec { で提供されている。 .SH 準拠 これらのシステムコールは Linux 固有である。 +.SH バグ +.\" 2.6.29 +現在のところ、 \fBtimerfd_create\fP() が対応している clockid の種類は \fBtimer_create\fP(2) +よりも少ない。 .SH 例 以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 このプログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマーの満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) を、 @@ -362,15 +367,11 @@ main(int argc, char *argv[]) exit(EXIT_SUCCESS); } .fi -.SH バグ -.\" 2.6.29 -現在のところ、 \fBtimerfd_create\fP() が対応している clockid の種類は \fBtimer_create\fP(2) -よりも少ない。 .SH 関連項目 \fBeventfd\fP(2), \fBpoll\fP(2), \fBread\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2), \fBsignalfd\fP(2), \fBtimer_create\fP(2), \fBtimer_gettime\fP(2), \fBtimer_settime\fP(2), \fBepoll\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/times.2 b/draft/man2/times.2 deleted file mode 100644 index 2468d7b3..00000000 --- a/draft/man2/times.2 +++ /dev/null @@ -1,135 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by Michael Haardt (michael@moria.de) -.\" Modified Sat Jul 24 14:29:17 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified 961203 and 001211 and 010326 by aeb@cwi.nl -.\" Modified 001213 by Michael Haardt (michael@moria.de) -.\" Modified 13 Jun 02, Michael Kerrisk -.\" Added note on nonstandard behavior when SIGCHLD is ignored. -.\" Modified 2004-11-16, mtk, Noted that the nonconformance when -.\" SIGCHLD is being ignored is fixed in 2.6.9; other minor changes -.\" Modified 2004-12-08, mtk, in 2.6 times() return value changed -.\" 2005-04-13, mtk -.\" Added notes on nonstandard behavior: Linux allows 'buf' to -.\" be NULL, but POSIX.1 doesn't specify this and it's nonportable. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TIMES 2 2012\-04\-16 Linux "Linux Programmer's Manual" -.SH 名前 -times \- プロセス時間を取得する -.SH 書式 -\fB#include \fP -.sp -\fBclock_t times(struct tms *\fP\fIbuf\fP\fB);\fP -.SH 説明 -\fBtimes\fP() は現在のプロセス時間を \fIbuf\fP が指している \fBstruct tms\fP に格納する。 \fIstruct tms\fP は -\fI\fP で以下のように定義されている: -.sp -.in +4n -.nf -struct tms { - clock_t tms_utime; /* user time */ - clock_t tms_stime; /* system time */ - clock_t tms_cutime; /* user time of children */ - clock_t tms_cstime; /* system time of children */ -}; -.fi -.in -.LP -\fItms_utime\fP フィールドは、呼び出したプロセスが命令を実行するのに消費した CPU 時間である。 \fItms_stime\fP -フィールドは、呼び出したプロセスのために実行されたタスクで、 システムが消費した CPU 時間である。 \fItms_cutime\fP フィールドは、 -終了を待っている全ての子プロセスの \fItms_utime\fP と \fItms_cutime\fP の合計である。 \fItms_cstime\fP フィールドは、 -終了を待っている全ての子プロセスの \fItms_stime\fP と \fItms_cstime\fP の合計である。 -.LP -終了する子(及びその子孫)プロセスの時間は \fBwait\fP(2) や \fBwaitpid\fP(2) がプロセス ID を返した瞬間に加算される。 -つまり、子がまだ終了を待っていない状態では 孫プロセスの時間は決して現れない。 -.LP -全ての時間はクロック数で返される。 -.SH 返り値 -\fBtimes\fP() は過去のある時点から経過したクロック数 (clock tick) を返す。 この返り値は \fIclock_t\fP -型が取り得る範囲からオーバーフローするかもしれない。 エラーの場合、\fI(clock_t)\ \-1\fP が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -\fItms\fP がプロセスのアドレス空間の外を指している。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -一秒あたりのクロック数は以下で得ることができる。 -.in +4n - -sysconf(_SC_CLK_TCK); -.in -.PP -POSIX.1\-1996 では、\fBCLK_TCK\fP シンボル (\fI\fP で定義されている) -は古いものであると記述されている。 今ではこれは古いものである。 -.PP -.\" See the description of times() in XSH, which says: -.\" The times of a terminated child process are included... when wait() -.\" or waitpid() returns the process ID of this terminated child. -Linux 2.6.9 より前のバージョンでは、 \fBSIGCHLD\fP を \fBSIG_IGN\fP に設定すると 終了した子プロセスの回数は 自動的に -\fItms_cstime\fP と \fItms_cutime\fP フィールドに含まれる。 しかし、POSIX.1\-2001 では、この動作は呼び出し元が -\fBwait\fP(2) 関数群で子プロセスを待った場合にのみ起きるべきだとしている。 標準とは異なるこの動作は Linux 2.6.9 -以降で修正されている。 - -Linux では、 \fIbuf\fP 引数に NULL を指定することができ、その場合は \fBtimes\fP() は単に関数の結果を返す。 -しかし、POSIX はこの振る舞いは規定されておらず、 その他のほとんどの UNIX 実装は \fIbuf\fP の値として非 NULL の値を要求する。 -.LP -\fBclock\fP(3) も \fIclock_t\fP 型の値を返すが、この値は \fBtimes\fP() で使用されるクロック tick 数ではなく、 -\fBCLOCKS_PER_SEC\fP が単位である点に注意すること。 - -.\" .PP -.\" On older systems the number of clock ticks per second is given -.\" by the variable HZ. -Linux では、 \fBtimes\fP() の返り値を計算する起点となる「過去の任意の時点」は、カーネルのバージョン により異なる。 Linux 2.4 -以前では、この時点はシステムが起動した瞬間である。 Linux 2.6 以降では、この時点はシステム起動時刻の \fI(2^32/HZ) \- 300\fP -(および 4億2900万) 秒前である。 このようにカーネルバージョン (や UNIX の実装) により異なることと、 返り値が \fIclock_t\fP -の範囲をオーバーフローする可能性があるという事実を考慮すると、 移植性が必要なアプリケーションではこの値を使うのは避けるのが賢明であろう。 -経過時間を測りたい場合には、代わりに \fBgettimeofday\fP(2) を使用すること。 -.SS 歴史 -SVr1\-3 では \fIlong\fP を返し、構造体のメンバに \fItime_t\fP 型を使っていたが、紀元からの秒数ではなくクロック数を格納していた。 -V7 では構造体のメンバに \fIlong\fP 型を使っていた。まだ \fItime_t\fP 型がなかったからである。 -.SH バグ -.\" The problem is that a syscall return of -4095 to -1 -.\" is interpreted by glibc as an error, and the wrapper converts -.\" the return value to -1. -.\" http://marc.info/?l=linux-kernel&m=119447727031225&w=2 -.\" "compat_sys_times() bogus until jiffies >= 0" -.\" November 2007 -いくつかのアーキテクチャ (特に i386) における Linux のシステムコールの慣習の -制限により、Linux 2.6 では起動直後は (41秒と) タイムウィンドウが小さく、 -\fBtimes\fP() がエラーが起こったことを示す \-1 を間違って返すことがある。 返り値 -が \fIclock_t\fP が格納可能な最大値を超過した際にも同じ問題が起こり得る。 -.SH 関連項目 -\fBtime\fP(1), \fBgetrusage\fP(2), \fBwait\fP(2), \fBclock\fP(3), \fBsysconf\fP(3), -\fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/tkill.2 b/draft/man2/tkill.2 deleted file mode 100644 index 15bb24c2..00000000 --- a/draft/man2/tkill.2 +++ /dev/null @@ -1,81 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2008 Michael Kerrisk -.\" and Copyright 2003 Abhijit Menon-Sen -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2004-05-31, added tgkill, ahu, aeb -.\" 2008-01-15 mtk -- rewote DESCRIPTION -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TKILL 2 2011\-09\-18 Linux "Linux Programmer's Manual" -.SH 名前 -tkill, tgkill \- スレッドにシグナルを送る -.SH 書式 -.nf -\fBint tkill(int \fP\fItid\fP\fB, int \fP\fIsig\fP\fB);\fP -.sp -\fBint tgkill(int \fP\fItgid\fP\fB, int \fP\fItid\fP\fB, int \fP\fIsig\fP\fB);\fP -.fi -.SH 説明 -\fBtgkill\fP() はスレッド・グループ \fItgid\fP に属するスレッド ID が \fItid\fP のスレッドにシグナル \fIsig\fP を送る。 -(これに対し、 \fBkill\fP(2) は一つのプロセス (すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 -\fBkill\fP(2) で送信されたシグナルはプロセス内の任意のスレッドに配送される。) - -\fBtkill\fP() はもう使われなくなった \fBtgkill\fP() の先祖である。 \fBtkill\fP() ではシグナルの送り先のスレッド ID -しか指定できない。 そのため、スレッドが終了して、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送られる可能性がある。 -このシステムコールの使用は避けること。 - -\fItgid\fP に \-1 が指定された場合、 \fBtgkill\fP() は \fBtkill\fP() と等価である。 - -これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ内部での使用を意図したものである。 -.SH 返り値 -成功した場合、0 が返される。エラーが発生した場合、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEINVAL\fP -指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。 -.TP -\fBEPERM\fP -許可がなかった。どのような許可が必要かについては、 \fBkill\fP(2) を参照のこと。 -.TP -\fBESRCH\fP -指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。 -.SH バージョン -\fBtkill\fP() は Linux 2.4.19 / 2.5.4 以降でサポートされ、 \fBtgkill\fP() は Linux 2.5.75 -で追加された。 -.SH 準拠 -\fBtkill\fP() と \fBtgkill\fP() は Linux 固有であり、 移植を想定したプログラムでは使用すべきではない。 -.SH 注意 -スレッド・グループの説明については \fBclone\fP(2) の \fBCLONE_THREAD\fP の説明を参照のこと。 - -glibc はこれらのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 -.SH 関連項目 -\fBclone\fP(2), \fBgettid\fP(2), \fBkill\fP(2), \fBrt_sigqueueinfo\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/truncate.2 b/draft/man2/truncate.2 index 040a801a..da4bef9c 100644 --- a/draft/man2/truncate.2 +++ b/draft/man2/truncate.2 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)truncate.2 6.9 (Berkeley) 3/10/91 .\" @@ -191,6 +193,6 @@ glibc 2.12 のヘッダファイルにはバグがあり、 \fBftruncate\fP() .SH 関連項目 \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/umask.2 b/draft/man2/umask.2 index 95ea364c..6fecc63e 100644 --- a/draft/man2/umask.2 +++ b/draft/man2/umask.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 2006, 2008, Michael Kerrisk (mtk.manpages@gmail.com) .\" (A few fragments remain from an earlier (1992) version written in .\" 1992 by Drew Eckhardt .) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified Sat Jul 24 12:51:53 1993 by Rik Faith @@ -87,6 +87,6 @@ umask の設定は、そのプロセスが生成する POSIX IPC オブジェク .\" FIXME . eventually: .BR acl (5) \fBchmod\fP(2), \fBmkdir\fP(2), \fBopen\fP(2), \fBstat\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/umount.2 b/draft/man2/umount.2 index 8b7c752a..9aa855fe 100644 --- a/draft/man2/umount.2 +++ b/draft/man2/umount.2 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1993 Rickard E. Faith .\" and Copyright (C) 1994 Andries E. Brouwer .\" and Copyright (C) 2002, 2005 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2008-10-06, mtk: Created this as a new page by splitting .\" umount/umount2 material out of mount.2 @@ -77,7 +77,7 @@ Linux 2.1.116 から、 \fBumount2\fP() システムコールが追加された 成功した場合、0 が返される。 失敗した場合、 \-1 が返され、 \fIerrno\fP に適切な値がセットされる。 .SH エラー 以下に示すエラーは、ファイルシステムに依存しないものである。 それぞれのファイルシステムタイプには固有のエラーが存在する場合があり、 -独自の動作をすることもある。詳しくはカーネルのソースを見て欲しい。 +独自の動作をすることもある。詳しくは Linux カーネルのソースを見て欲しい。 .TP \fBEAGAIN\fP \fBMNT_EXPIRE\fP を指定した \fBumount2\fP() の呼び出しで、正常に未使用のファイルシステムに期限切れの印を つけることができた。 @@ -117,6 +117,6 @@ Linux 2.1.116 から、 \fBumount2\fP() システムコールが追加された .SH 関連項目 \fBmount\fP(2), \fBpath_resolution\fP(7), \fBmount\fP(8), \fBumount\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/uname.2 b/draft/man2/uname.2 deleted file mode 100644 index 7f90e3e9..00000000 --- a/draft/man2/uname.2 +++ /dev/null @@ -1,105 +0,0 @@ -.\" Copyright (C) 2001 Andries Brouwer . -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2007-07-05 mtk: Added details on underlying system call interfaces -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH UNAME 2 2008\-12\-03 Linux "Linux Programmer's Manual" -.SH 名前 -uname \- 現在稼働中のカーネルについての名前と情報を得る -.SH 書式 -\fB#include \fP -.sp -\fBint uname(struct utsname *\fP\fIbuf\fP\fB);\fP -.SH 説明 -\fBuname\fP() は \fIbuf\fP で指される構造体にシステム情報を返す。 \fIutsname\fP 構造体は -\fI\fP で以下のように定義されている。 -.in +4n -.nf - -struct utsname { - char sysname[]; /* OS の名前 (例: "Linux") */ - char nodename[]; /* 「実装時に定義された、何らかの - ネットワーク」におけるマシン名 */ - char release[]; /* OS のリリース (例: "2.6.28") */ - char version[]; /* OS のバージョン */ - char machine[]; /* ハードウェア識別子 */ -#ifdef _GNU_SOURCE - char domainname[]; /* NIS や YP のドメイン名 */ -#endif -}; - -.fi -.in -\fIstruct utsname\fP にある配列の長さは指定されていない (「注意」の節を参照)。 フィールドは NULL バイト -(\(aq\e0\(aq) で終端される。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -\fIbuf\fP が有効でない。 -.SH 準拠 -SVr4, POSIX.1\-2001. 4.3BSD には \fBuname\fP() コールがない。 -.PP -\fIdomainname\fP メンバー (NIS または YP ドメイン名) は GNU の拡張である。 -.SH 注意 -これはシステムコールであり、OS は名前・リリース・バージョンなどを たぶん分かっているだろう。 -さらにそれが稼働しているハードウェアも分かっているだろう。 よって構造体の 4 つのフィールドには意味がある。 一方、\fInodename\fP -フィールドには意味がない: このフィールドは現在のマシンの (定義されていない) どこかのネットワークにおける名前を与えるが、 -通常マシンは複数のネットワークに属し、複数の名前を持つ。 さらに、カーネルはこのような情報を知る術を持たないので、 -ここでの答えは前もって教えてやらなければならない。 これは追加フィールドである \fIdomainname\fP についても同様である。 -.LP -このため Linux ではシステムコール \fBsethostname\fP(2) と \fBsetdomainname\fP(2) が使われる。 -「\fBsethostname\fP(2) で設定されるホスト名は、 \fBuname\fP() で返される構造体の \fInodename\fP -フィールドと同じ文字列である」 と規定している標準規格はない (実際、256 バイトのホスト名と 8 バイトのノード名を許可しているシステムもある)。 -しかし、Linux では同じ文字列が返される。 \fBsetdomainname\fP(2) と \fIdomainname\fP -フィールドについても同じことが成り立つ。 -.LP -構造体のフィールドの長さはさまざまである。 OS やライブラリの中には、 ハードコードされた 9, 33, 65, 257 -などの値を使っているものもある。 また \fBSYS_NMLN\fP, \fB_SYS_NMLN\fP, \fBUTSLEN\fP, \fB_UTSNAME_LENGTH\fP -などを使っているシステムもある。 はっきり言って、これらの定数を使うのは悪い考え方であり、 sizeof(...) を使うべきである。 -インターネットホスト名で使う領域を持たせるために、 257 が選ばれることが多い。 -.LP -utsname の情報は、 \fI/proc/sys/kernel/\fP{\fIostype\fP, \fIhostname\fP, \fIosrelease\fP, -\fIversion\fP, \fIdomainname\fP} を使ってアクセスすることもできる。 -.SS 背後のカーネル・インタフェース -.LP -.\" That was back before Linux 1.0 -.\" That was also back before Linux 1.0 -時間の経過とともに、 \fIutsname\fP 構造体のサイズが大きくなり、この影響で \fBuname\fP() には 3つのバージョンが存在する: -\fIsys_olduname\fP() (スロットは \fI__NR_oldolduname\fP)、 \fIsys_uname\fP() (スロットは -\fI__NR_olduname\fP)、 \fIsys_newuname\fP() (スロットは \fI__NR_uname\fP)。 -\fIsys_olduname\fP() はすべてのフィールドが長さ 9 を使っていた。 \fIsys_uname\fP() は長さ 65 を使っていた。 -\fIsys_newuname\fP() も長さ 65 を使っているが、 \fIdomainname\fP フィールドが追加されている。 glibc の -\fBuname\fP() ラッパー関数は、これらの詳細をアプリケーションから隠蔽し、 -カーネルが提供しているシステムコールのうち最新のバージョンを起動する。 -.SH 関連項目 -\fBuname\fP(1), \fBgetdomainname\fP(2), \fBgethostname\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/unimplemented.2 b/draft/man2/unimplemented.2 index ee035b57..072702c0 100644 --- a/draft/man2/unimplemented.2 +++ b/draft/man2/unimplemented.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Updated, aeb, 980612 .\" @@ -29,15 +28,15 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH UNIMPLEMENTED 2 2007\-07\-05 Linux "Linux Programmer's Manual" +.TH UNIMPLEMENTED 2 2013\-02\-12 Linux "Linux Programmer's Manual" .SH 名前 -afs_syscall, break, ftime, getpmsg, gtty, lock, madvise1, mpx, prof, profil, -putpmsg, security, stty, tuxcall, ulimit, vserver \- -実装されていないシステム +afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, +isastream, lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, +stty, tuxcall, ulimit, vserver \- 実装されていないシステムコール .SH 書式 実装されていないシステムコール .SH 説明 -これらのシステムコールは Linux 2.6.22 カーネルでは実装されていない。 +これらのシステムコールは Linux カーネルでは実装されていない。 .SH 返り値 これらのシステムコールは常に \-1 を返し、 \fIerrno\fP に \fBENOSYS\fP を設定する。 .SH 注意 @@ -51,6 +50,6 @@ putpmsg, security, stty, tuxcall, ulimit, vserver \- .SH 関連項目 \fBsyscalls\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/unlink.2 b/draft/man2/unlink.2 index b2fdf6a3..3b2725a7 100644 --- a/draft/man2/unlink.2 +++ b/draft/man2/unlink.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Ian Jackson. .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-09-08 by Arnt Gulbrandsen @@ -120,6 +120,6 @@ NFS プロトコルに内在する問題により、まだ使用中のファイ \fBrmdir\fP(2), \fBunlinkat\fP(2), \fBmkfifo\fP(3), \fBremove\fP(3), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/unlinkat.2 b/draft/man2/unlinkat.2 index 1d6e8e9e..33ab5c54 100644 --- a/draft/man2/unlinkat.2 +++ b/draft/man2/unlinkat.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -101,6 +100,6 @@ POSIX.1\-2008. Solaris には、これと同じようなシステムコール .SH 関連項目 \fBopenat\fP(2), \fBrmdir\fP(2), \fBunlink\fP(2), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/unshare.2 b/draft/man2/unshare.2 deleted file mode 100644 index 75af6c74..00000000 --- a/draft/man2/unshare.2 +++ /dev/null @@ -1,162 +0,0 @@ -.\" Copyright (C) 2006, Janak Desai -.\" and Copyright (C) 2006, Michael Kerrisk -.\" Licensed under the GPL -.\" -.\" Patch Justification: -.\" unshare system call is needed to implement, using PAM, -.\" per-security_context and/or per-user namespace to provide -.\" polyinstantiated directories. Using unshare and bind mounts, a -.\" PAM module can create private namespace with appropriate -.\" directories(based on user's security context) bind mounted on -.\" public directories such as /tmp, thus providing an instance of -.\" /tmp that is based on user's security context. Without the -.\" unshare system call, namespace separation can only be achieved -.\" by clone, which would require porting and maintaining all commands -.\" such as login, and su, that establish a user session. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH UNSHARE 2 2010\-10\-30 Linux "Linux Programmer's Manual" -.SH 名前 -unshare \- プロセス実行コンテキストの一部を分離する -.SH 書式 -.nf -.\" Actually _BSD_SOURCE || _SVID_SOURCE -.\" FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749 -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint unshare(int \fP\fIflags\fP\fB);\fP -.fi -.SH 説明 -\fBunshare\fP() を使うと、プロセスは他のプロセスと現在共有している 実行コンテキストの一部を分離することができる。 -実行コンテキストの一部、たとえばマウント名前空間 (mount namespace) などは、新しいプロセスを \fBfork\fP(2) または -\fBvfork\fP(2) を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモリなどは、 \fBclone\fP(2) -を使ってプロセスを生成するときに、明示的に共有することを要求できる。 - -\fBunshare\fP() の主な利用法は、プロセスが新しいプロセスを生成することなく、 共有実行コンテキストを制御することである。 - -\fIflags\fP 引き数はビットマスクであり、 実行コンテキストのどの部分の共有を解除するかを表す。 この引き数は、以下の定数の 0 個以上の OR -で指定する: -.TP -\fBCLONE_FILES\fP -\fBclone\fP(2) \fBCLONE_FILES\fP フラグの効果を取り消す。 ファイルディスクリプタテーブルを共有させず、 -呼び出し元プロセスは他のプロセスとファイルディスクリプタを共有しなくなる。 -.TP -\fBCLONE_FS\fP -\fBclone\fP(2) \fBCLONE_FS\fP フラグの効果を取り消す。 ファイルシステム属性を共有させず、 -呼び出し元プロセスは他のプロセスとルートディレクトリ・ カレントディレクトリ・umask 属性を共有しなくなる。 \fBchroot\fP(2), -\fBchdir\fP(2), \fBumask\fP(2) に影響する。 -.TP -\fBCLONE_NEWIPC\fP (Linux 2.6.19 以降) -このフラグは \fBclone\fP(2) \fBCLONE_NEWIPC\fP フラグと同じ効果を持つ。 -System V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは -共有しない固有の System V IPC 名前空間のコピーを持つ。 このフラグを指定 -すると、 \fBCLONE_SYSVSEM\fP も暗黙のうちに指定される。 \fBCLONE_NEWIPC\fP を -使用するには \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 -.TP -\fBCLONE_NEWNET\fP (Linux 2.6.24 以降) -このフラグは \fBclone\fP(2) \fBCLONE_NEWNET\fP フラグと同じ効果を持つ。ネット -ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな -い固有のネットワーク名前空間のコピーを持つ。\fBCLONE_NEWNET\fP を使用する -には \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 -.TP -\fBCLONE_NEWNS\fP -.\" These flag name are inconsistent: -.\" CLONE_NEWNS does the same thing in clone(), but CLONE_VM, -.\" CLONE_FS, and CLONE_FILES reverse the action of the clone() -.\" flags of the same name. -このフラグは \fBclone\fP(2) \fBCLONE_NEWNS\fP フラグと同じ効果を持つ。 マウン -ト名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固 -有の名前空間のコピーを持つ。 このフラグを指定すると、 \fBCLONE_FS\fP も暗 -黙のうちに指定される。 \fBCLONE_NEWNS\fP を使用するには \fBCAP_SYS_ADMIN\fP -ケーパビリティが必要である。 -.TP -\fBCLONE_SYSVSEM\fP (Linux 2.6.26 以降) -このフラグは \fBclone\fP(2) \fBCLONE_SYSVSEM\fP フラグの効果を逆転させる。 -System V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ -セスとは共有しない固有のコピーを持つ。\fBCLONE_SYSVSEM\fP を使用するには -\fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 -.TP -\fBCLONE_NEWUTS\fP (Linux 2.6.19 以降) -.\" As at 2.6.16, the following forced implications also apply, -.\" although the relevant flags are not yet implemented. -.\" If CLONE_THREAD is set force CLONE_VM. -.\" If CLONE_VM is set, force CLONE_SIGHAND. -.\" CLONE_NEWNSIf CLONE_SIGHAND is set and signals are also being shared -.\" (i.e., current->signal->count > 1), force CLONE_THREAD. -.\" -.\" FIXME . CLONE_VM is not (yet, as at 2.6.16) implemented. -.\" .TP -.\" .B CLONE_VM -.\" Reverse the effect of the -.\" .BR clone (2) -.\" .B CLONE_VM -.\" flag. -.\" .RB ( CLONE_VM -.\" is also implicitly set by -.\" .BR vfork (2), -.\" and can be reversed using this -.\" .BR unshare () -.\" flag.) -.\" Unshare virtual memory, so that the calling process no -.\" longer shares its virtual address space with any other process. -このフラグは \fBclone\fP(2) \fBCLONE_NEWUTS\fP フラグと同じ効果を持つ。 UTS -IPC 名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しない -固有の UTS IPC 名前空間のコピーを持つ。 このフラグを指定すると、 -\fBCLONE_FS\fP も暗黙のうちに指定される。\fBCLONE_NEWUTS\fP を使用するには -\fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 -.PP -\fIflags\fP に 0 が指定された場合、 \fBunshare\fP() は何も行わないので、 -呼び出し元プロセスの実行コンテキストは、何も変更されない。 -.SH 返り値 -成功した場合は 0 が返される。 失敗した場合は \-1 が返されて、 \fIerrno\fP にはエラーを示す値が設定される。 -.SH エラー -.TP -\fBEINVAL\fP -\fIflags\fP に不正なビットが指定された。 -.TP -\fBENOMEM\fP -呼び出し元のコンテキストのうち共有を解除する必要がある部分をコピーするために、 十分なメモリが確保できなかった。 -.TP -\fBEPERM\fP -呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。 -.SH バージョン -\fBunshare\fP() システムコールは Linux カーネル 2.6.16 で追加された。 -.SH 準拠 -\fBunshare\fP() システムコールは Linux 固有である。 -.SH 注意 -.\" However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND -.\" was not specified when doing clone(); i.e., unsharing -.\" signal handlers is permitted if we are not actually -.\" sharing signal handlers. mtk -.\" FIXME . check future kernel versions (e.g., 2.6.17) -.\" to see if CLONE_VM gets implemented. -.\" However, as at 2.6.16, we can do unshare(CLONE_VM) if CLONE_VM -.\" was not specified when doing clone(); i.e., unsharing -.\" virtual memory is permitted if we are not actually -.\" sharing virtual memory. mtk -.\" -.\"9) Future Work -.\"-------------- -.\"The current implementation of unshare does not allow unsharing of -.\"signals and signal handlers. Signals are complex to begin with and -.\"to unshare signals and/or signal handlers of a currently running -.\"process is even more complex. If in the future there is a specific -.\"need to allow unsharing of signals and/or signal handlers, it can -.\"be incrementally added to unshare without affecting legacy -.\"applications using unshare. -.\" -\fBclone\fP(2) で新しいプロセスを生成したときに共有される全てのプロセス属性を、 \fBunshare\fP() -によって共有の解除ができるわけではない。 特に、カーネル 2.6.16 においては、 \fBunshare\fP() に \fBCLONE_SIGHAND\fP, -\fBCLONE_SYSVSEM\fP, \fBCLONE_THREAD\fP, \fBCLONE_VM\fP の効果を取り消すためのフラグが実装されていない。 -これらの機能は、必要であれば将来追加されるかもしれない。 -.SH 関連項目 -\fBclone\fP(2), \fBfork\fP(2), \fBvfork\fP(2), Documentation/unshare.txt -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/uselib.2 b/draft/man2/uselib.2 index 57217d28..9a42088f 100644 --- a/draft/man2/uselib.2 +++ b/draft/man2/uselib.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith @@ -78,6 +78,6 @@ glibc2 は、このシステムコールを使用しない。 \fBar\fP(1), \fBgcc\fP(1), \fBld\fP(1), \fBldd\fP(1), \fBmmap\fP(2), \fBopen\fP(2), \fBdlopen\fP(3), \fBcapabilities\fP(7), \fBld.so\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/ustat.2 b/draft/man2/ustat.2 index 35d05f69..aa7ae429 100644 --- a/draft/man2/ustat.2 +++ b/draft/man2/ustat.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995, Thomas K. Dyas .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created 1995-08-09 Thomas K. Dyas .\" Modified 1997-01-31 by Eric S. Raymond @@ -89,6 +91,6 @@ HP\-UX 版の構造体 \fIustat\fP には、その他にフィールド \fIf_blk .SH 関連項目 \fBstat\fP(2), \fBstatfs\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/utime.2 b/draft/man2/utime.2 index 84f8a615..93761b78 100644 --- a/draft/man2/utime.2 +++ b/draft/man2/utime.2 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith @@ -120,6 +120,6 @@ libc4 と libc5 では、 \fButimes\fP() は単に \fButime\fP() のラッパ \fBchattr\fP(1), \fBfutimesat\fP(2), \fBstat\fP(2), \fButimensat\fP(2), \fBfutimens\fP(3), \fBfutimes\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/vfork.2 b/draft/man2/vfork.2 deleted file mode 100644 index 8227645f..00000000 --- a/draft/man2/vfork.2 +++ /dev/null @@ -1,167 +0,0 @@ -.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl), 1 Nov 1999 -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 1999-11-10: Merged text taken from the page contributed by -.\" Reed H. Petty (rhp@draper.net) -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH VFORK 2 2012\-02\-08 Linux "Linux Programmer's Manual" -.SH 名前 -vfork \- 子プロセスを生成し親プロセスを停止させる -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBpid_t vfork(void);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBvfork\fP(): -.ad l -.RS 4 -.PD 0 -.TP 4 -glibc 2.12 以降: -.nf -_BSD_SOURCE || - (_XOPEN_SOURCE\ >=\ 500 || - _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) && - !(_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700) -.TP 4 -.fi -glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.PD -.RE -.ad b -.SH 説明 -.SS 規格の説明 -(POSIX.1 より引用) \fBvfork\fP() 関数は \fBfork\fP(2) と同じ働きをするが、 \fBvfork\fP() -で作成されたプロセスが \fBvfork\fP() からの返り値を格納している \fIpid_t\fP 型の変数以外を変更したり、 \fBvfork\fP() -を呼び出している関数から return したり、 \fB_exit\fP(2) や \fBexec\fP(3) -族の関数をコールする前に他の関数をコールした場合の動作が 未定義であるという点が異なる。 -.SS "LINUX での説明" -\fBvfork\fP() は \fBfork\fP(2) と全く同じように呼び出したプロセスの子プロセスを生成する。 詳しい説明と返り値、エラーについては -\fBfork\fP(2) を参照すること。 -.PP -\fBvfork\fP() は \fBclone\fP(2) の特殊な場合である。 親プロセスのページテーブルのコピーを行わずに新しいプロセスを -作成するために使用する。これは性能に敏感なアプリケーションにおいて 子プロセスを生成してすぐに \fBexecve\fP(2) する場合に有用かもしれない。 -.PP -\fBvfork\fP() は \fBfork\fP(2) と違い、子プロセスが終了するか、 -\fBexecve\fP(2) をコールするまで呼び出し元のスレッドを停止 (suspend) させる。 -子プロセスの終了は、\fB_exit\fP(2) の呼び出しによる通常終了、致命的なシグナルの -配送後の異常終了の二つのケースがある。 -この時点までは、子プロセスはスタックを含む全てのメモリを親プロセスと共有する。 -子プロセスは現在の関数から return してはならず、 -\fBexit\fP(3) もコールしてはならないが、\fB_exit\fP(2) ならばコールしてもよい。 - -\fBfork\fP(2) と同様に、 \fBvfork\fP() で作成された子プロセスは、 -(ファイルディスクリプタ、シグナル配送定義、カレントワーキングディレクトリなどの) -呼び出し元のプロセスの各種の属性を継承する。 -\fBvfork\fP() では、上で説明した仮想アドレス空間の扱いだけが異なる。 - -親プロセスへ送られたシグナルは、子プロセスが親プロセスのメモリを解放した後 -(すなわち、子プロセスが終了するか \fBexecve\fP(2) を呼んだ後) に到着する。 -.SS 歴史的な説明 -Linux において \fBfork\fP(2) は書き込み時コピー (copy\-on\-write) ページを使用して実装されている。 そのため -\fBfork\fP(2) を使用することによって被る損害は親プロセスのページ・テーブルを 複製するために必要な時間とメモリだけである。 -しかしながら、忌しき昔には \fBfork\fP(2) は呼び出したプロセスのデータ空間の全てのコピーしていたが、 -これはしばしば不必要であった。なぜなら、たいていはすぐ後に \fBexec\fP(3) を実行していたからである。 この場合の効率を上げるために BSD は -\fBvfork\fP() システムコールを導入して親プロセスのアドレス空間を完全にコピー するかわりに、 \fBexecve\fP(2) をコールするか -exit が起きるまで親プロセスのメモリと制御スレッド を借りるようにした。 親プロセスは子プロセスがその資源を使用している間は停止された。 -\fBvfork\fP() は使いにくいものであった: 例えば、親プロセスの変数を変更しな いようにするためにはどの変数がレジスタに保持されているかを知らな -ければならなかった。 -.SH 準拠 -4.3BSD; POSIX.1\-2001 (廃止予定とされている)。 -POSIX.1\-2008 では \fBvfork\fP() の規定が削除されている。 - -.\" In AIXv3.1 vfork is equivalent to fork. -\fBvfork\fP() コールは他のオペレーティング・システムの同名のコールと ちょっと似 -ているかもしれない。規格が \fBvfork\fP() に要求していることは、 \fBfork\fP(2) に要 -求していることよりは弱い。したがって、 両者を同じものとして実装しても、規格に -準拠していることになる。 特にプログラマーは、子プロセスが終了するか -\fBexecve\fP(2) を呼び出すまで親プロセスが停止していることや、メモリを共有するこ -とによる特殊な動作をあてにすべきではない。 -.SH 注意 -.PP -\fBvfork\fP() の動作は構造的な欠陥と考える人もいるだろうし、 -BSD のマニュアルには、「このシステムコールは妥当なシステム共有機構が実装さ -れた場合には削除される。ユーザは \fBvfork\fP() のメモリ共有機能に依存するべき -ではない。何故ならば、このシステムコール が削除された場合には、それは -\fBfork\fP(2) の同義語とされるからである。」と書かれている。しかしながら、 -最近のメモリ管理ハードウェアにより \fBfork\fP(2) と \fBvfork\fP() の間の性能差が -減ったとはいえ、 Linux や他のシステムで \fBvfork\fP() が残されているのには -いくつか理由がある: -.IP * 3 -性能に厳しいアプリケーションでは、 \fBvfork\fP() により得られる -小さな性能上のメリットが必要な場合がある。 -.IP * -.\" http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork -.\" http://developers.sun.com/solaris/articles/subprocess/subprocess.html -.\" http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html -\fBvfork\fP() はメモリ管理ユニット (MMU) を持たないシステムでも実装すること -ができるが、そのようなシステムで \fBfork\fP(2) を実装することはできない。 -(POSIX.1\-2008 では \fBvfork\fP() が標準から削除された。 -\fBposix_spawn\fP(3) 関数の POSIX の原理 (rationale) には、 -\fBfork\fP(2)+\fBexec\fP(3) と等価な機能を提供する \fBposix_spawn\fP(3) は、 -MMU を持たないシステムでも実装できるように設計されたとの注記がある。) -.SS "Linux での注意" -\fBpthread_atfork\fP(3) を使って設定された fork ハンドラは NPTL -スレッドライブラリコールを採用したマルチスレッドプログラムでは 呼び出されない。一方、LinuxThreads スレッドライブラリを使った -プログラムでは、fork ハンドラは呼び出される。 (Linux のスレッドライブラリの説明は \fBpthreads\fP(7) を参照。) - -\fBvfork\fP() の呼び出しは、以下の \fIflags\fP を指定して \fBclone\fP(2) を呼び出す -のと等価である。 - - CLONE_VM | CLONE_VFORK | SIGCHLD - -.SS 歴史 -.\" In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still -.\" present, but definitely on its way out'. -\fBvfork\fP() システムコールは 3.0BSD に現われた。 4.4BSD において \fBfork\fP(2) の同義語となったが、NetBSD -では再び導入された。 http://www.netbsd.org/Documentation/kernel/vfork.html を参照。 Linux -では 2.2.0\-pre6 あたりまでは \fBfork\fP(2) と等価であった。(i386 では) 2.2.0\-pre9 から -(他のアーキテクチャでは 少し遅れて) 独立したシステムコールとなった。 glibc でのサポートは glibc\-2.0.112 で追加された。 -.SH バグ -.PP -.\" -.\" As far as I can tell, the following is not true in 2.6.19: -.\" Currently (Linux 2.3.25), -.\" .BR strace (1) -.\" cannot follow -.\" .BR vfork () -.\" and requires a kernel patch. -シグナルの扱いの詳細は不明瞭でシステムごとに異っている。 BSD のマニュアルには、 「デッドロック状態になる可能性があるので \fBvfork\fP() -の途中の子プロセスに \fBSIGTTOU\fP や \fBSIGTTIN\fP シグナルを送信してはならない; さらに出力や \fIioctl\fP -は許されるが、入力を試みた場合には結果はファイル終端 (EOF) になる。」 と書かれている。 -.SH 関連項目 -\fBclone\fP(2), \fBexecve\fP(2), \fBfork\fP(2), \fBunshare\fP(2), \fBwait\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/vm86.2 b/draft/man2/vm86.2 deleted file mode 100644 index 4de972a4..00000000 --- a/draft/man2/vm86.2 +++ /dev/null @@ -1,67 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) -.\" Copyright 1997 Andries E. Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH VM86 2 2009\-02\-20 Linux "Linux Programmer's Manual" -.SH 名前 -vm86old, vm86 \- 仮想 8086 モードへ移行する -.SH 書式 -\fB#include \fP -.sp -\fBint vm86old(struct vm86_struct *\fP\fIinfo\fP\fB);\fP -.sp -\fBint vm86(unsigned long \fP\fIfn\fP\fB, struct vm86plus_struct *\fP\fIv86\fP\fB);\fP -.SH 説明 -\fBvm86\fP() システムコールは Linux 0.97p2 で導入された。 これは Linux 2.1.15 と 2.0.28 で -\fBvm86old\fP() に名前が変更され、 新しい \fBvm86\fP() が導入された。 \fIstruct vm86_struct\fP の定義は -1.1.8 と 1.1.9 で変更された。 -.LP -これらのコールによってプロセスは VM86 モード (Intel の文書では仮想 8086 モード) へと移行する。 これらのコールは -\fBdosemu\fP で使用される。 -.PP -VM86 モードはプロテクトモードタスクにおける リアルモードのエミュレーションである。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEFAULT\fP -この返り値は i386 固有のものであり、 ユーザー空間のデータを取得する際に問題があったことを示す。 -.TP -\fBENOSYS\fP -この返り値は、このコールが現在のアーキテクチャで実装されていないことを示す。 -.TP -\fBEPERM\fP -保存されたカーネルスタックが既に存在している。(これはカーネルが通常の 状態であるかをチェックしている。保存されたスタックは vm86 モードで -しか存在しない。) -.SH 準拠 -この関数は 32 ビット Intel プロセッサ上の Linux 特有の関数であり、 移植を意図したプログラムでは使用すべきでない。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/vmsplice.2 b/draft/man2/vmsplice.2 index 68c033b6..8e748a2b 100644 --- a/draft/man2/vmsplice.2 +++ b/draft/man2/vmsplice.2 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006 Jens Axboe .\" and Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -111,6 +111,6 @@ struct iovec { .SH 関連項目 \fBsplice\fP(2), \fBtee\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/wait.2 b/draft/man2/wait.2 deleted file mode 100644 index 946d996d..00000000 --- a/draft/man2/wait.2 +++ /dev/null @@ -1,375 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1993 by Thomas Koenig -.\" and Copyright (c) 2004 by Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" -.\" Modified Sat Jul 24 13:30:06 1993 by Rik Faith -.\" Modified Sun Aug 21 17:42:42 1994 by Rik Faith -.\" (Thanks to Koen Holtman ) -.\" Modified Wed May 17 15:54:12 1995 by Rik Faith -.\" To remove *'s from status in macros (Thanks to Michael Shields). -.\" Modified as suggested by Nick Duffek , aeb, 960426 -.\" Modified Mon Jun 23 14:09:52 1997 by aeb - add EINTR. -.\" Modified Thu Nov 26 02:12:45 1998 by aeb - add SIGCHLD stuff. -.\" Modified Mon Jul 24 21:37:38 2000 by David A. Wheeler -.\" - noted thread issues. -.\" Modified 26 Jun 01 by Michael Kerrisk -.\" Added __WCLONE, __WALL, and __WNOTHREAD descriptions -.\" Modified 2001-09-25, aeb -.\" Modified 26 Jun 01 by Michael Kerrisk, -.\" Updated notes on setting disposition of SIGCHLD to SIG_IGN -.\" 2004-11-11, mtk -.\" Added waitid(2); added WCONTINUED and WIFCONTINUED() -.\" Added text on SA_NOCLDSTOP -.\" Updated discussion of SA_NOCLDWAIT to reflect 2.6 behavior -.\" Much other text rewritten -.\" 2005-05-10, mtk, __W* flags can't be used with waitid() -.\" 2008-07-04, mtk, removed erroneous text about SA_NOCLDSTOP -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH WAIT 2 2010\-09\-26 Linux "Linux Programmer's Manual" -.SH 名前 -wait, waitpid, waitid \- プロセスの状態変化を待つ -.SH 書式 -\fB#include \fP -.br -\fB#include \fP -.sp -\fBpid_t wait(int *\fP\fIstatus\fP\fB);\fP - -\fBpid_t waitpid(pid_t \fP\fIpid\fP\fB, int *\fP\fIstatus\fP\fB, int \fP\fIoptions\fP\fB);\fP - -\fBint waitid(idtype_t \fP\fIidtype\fP\fB, id_t \fP\fIid\fP\fB, siginfo_t *\fP\fIinfop\fP\fB, -int \fP\fIoptions\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -.PD 0 -\fBwaitid\fP(): -.RS 4 -_SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.br -|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L -.RE -.PD -.ad -.SH 説明 -これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 -状態変化とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 シグナルによる子プロセスの再開。 -子プロセスが終了した場合は、wait を実行することで、 システムがその子プロセスに関連するリソースを解放できるようになる。 wait -が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続ける (下記の注意の章を参照のこと)。 - -子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰する。それ以外の場合は、子プロセスの状態変化が起こるか、 -シグナルハンドラによりシステムコールが中断されるまで、 停止 (block) する (後者は、 \fBsigaction\fP(2) の -\fBSA_RESTART\fP フラグによりシステムコールが自動的に再スタートするようになっていない 場合の動作である)。 -以下の説明では、状態変化が起こったがこれらのシステムコールのいずれかに よって待たれていない子プロセスを \fIwaitable\fP (待ち可能) と呼ぶ。 -.SS "wait() と waitpid()" -\fBwait\fP() システムコールは、子プロセスのいずれかが終了するまで 呼び出し元のプロセスの実行を一時停止する。 呼び出し -\fIwait(&status)\fP は以下と等価である: -.nf - - waitpid(\-1, &status, 0); -.fi - -\fBwaitpid\fP() システムコールは、 \fIpid\fP 引き数で指定した子プロセスの状態変化が起こるまで、 -呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 \fBwaitpid\fP() は子プロセスの終了だけを待つが、この動作は \fIoptions\fP -引き数により変更可能である。 - -\fIpid\fP に指定できる値は以下の通り: -.IP "< \-1" -プロセスグループID が \fIpid\fP の絶対値に等しい子プロセスのいずれかが終了するまでを待つ。 -.IP \-1 -子プロセスのどれかが終了するまで待つ。 -.IP 0 -プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。 -.IP "> 0" -プロセスID が \fIpid\fP に等しい子プロセスを待つ。 -.PP -\fIoptions\fP の値は次の定数の 0 個以上の論理和である: -.TP 12 -\fBWNOHANG\fP -状態変化が起こった子プロセスがない場合にすぐに復帰する。 -.TP -\fBWUNTRACED\fP -子プロセスが停止した場合にも復帰する (子プロセスが \fBptrace\fP(2) でトレースされている場合は除く)。 -このオプションが指定されていない場合でも、停止したプロセスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。 -.TP -\fBWCONTINUED\fP (Linux 2.6.10 以降) -停止した子プロセスが \fBSIGCONT\fP の配送により再開した場合にも復帰する。 -.PP -(Linux 専用オプションについては後述する) -.PP -\fIstatus\fP が NULL でなければ、 \fBwait\fP() や \fBwaitpid\fP() は \fIstatus\fP で指す \fIint\fP -に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 (これらのマクロの引き数には、 \fBwait\fP() や \fBwaitpid\fP() -が書き込んだ整数そのものを指定する。ポインタではない!) -.TP -\fBWIFEXITED(\fP\fIstatus\fP\fB)\fP -子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 \fBexit\fP(3) か \fB_exit\fP(2) が呼び出された場合、もしくは -main() から復帰した場合である。 -.TP -\fBWEXITSTATUS(\fP\fIstatus\fP\fB)\fP -子プロセスの終了ステータスを返す。 終了ステータスは \fIstatus\fP 引き数の下位 8ビットで構成されており、 \fBexit\fP(3) や -\fB_exit\fP(2) の呼び出し時に渡された値、もしくは main() の return 文の 引き数として指定された値である。 -このマクロを使用するのは \fBWIFEXITED\fP が真を返した場合だけにすべきである。 -.TP -\fBWIFSIGNALED(\fP\fIstatus\fP\fB)\fP -子プロセスがシグナルにより終了した場合に真を返す。 -.TP -\fBWTERMSIG(\fP\fIstatus\fP\fB)\fP -子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは \fBWIFSIGNALED\fP が真を返した場合だけにすべきである。 -.TP -\fBWCOREDUMP(\fP\fIstatus\fP\fB)\fP -子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは \fBWIFSIGNALED\fP が真を返した場合だけにすべきである。 -このマクロは POSIX.1\-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実装では利用できない。 必ず -#ifdef WCOREDUMP ... #endif で括って使用すること。 -.TP -\fBWIFSTOPPED(\fP\fIstatus\fP\fB)\fP -子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、システムコールが \fBWUNTRACED\fP -を指定して呼び出された場合か、子プロセスがトレースされている場合 (\fBptrace\fP(2) 参照) だけである。 -.TP -\fBWSTOPSIG(\fP\fIstatus\fP\fB)\fP -子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは \fBWIFSTOPPED\fP が 0 以外を返した場合だけにすべきである。 -.TP -\fBWIFCONTINUED(\fP\fIstatus\fP\fB)\fP -(Linux 2.6.10 以降) 子プロセスが \fBSIGCONT\fP の配送により再開した場合に真を返す。 -.SS waitid() -\fBwaitid\fP() システムコール (Linux 2.6.9 以降で利用可能) を使うと、 -子プロセスのどの状態変化を待つかについてより細かな制御ができる。 - -引き数 \fIidtype\fP と \fIid\fP でどの子プロセスを待つかを選択する: -.IP "\fIidtype\fP == \fBP_PID\fP" -プロセスID が \fIid\fP と一致する子プロセスを待つ。 -.IP "\fIidtype\fP == \fBP_PGID\fP" -プロセスグループID が \fIid\fP と一致する子プロセスを待つ。 -.IP "\fIidtype\fP == \fBP_ALL\fP" -子プロセス全部を対象に待つ。 \fIid\fP は無視される。 -.PP -子プロセスのどの状態変化を待つかは以下のフラグで指定する (\fIoptions\fP には 1個以上のフラグの論理和をとって指定する): -.TP 12 -\fBWEXITED\fP -子プロセスの終了を待つ。 -.TP -\fBWSTOPPED\fP -子プロセスがシグナルの配送により停止するのを待つ。 -.TP -\fBWCONTINUED\fP -(停止していた) 子プロセスが \fBSIGCONT\fP が配送されて再開するのを待つ。 -.PP -さらに以下のフラグを論理和の形で \fIoptions\fP に指定できる: -.TP 12 -\fBWNOHANG\fP -\fBwaitpid\fP() と同様。 -.TP -\fBWNOWAIT\fP -waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ子プロセスの状態情報をもう一度取得することができる。 -.PP -成功した場合には、 \fBwaitid\fP() は \fIinfop\fP が指す \fIsiginfo_t\fP 構造体の以下のフィールドを設定する: -.TP 12 -\fIsi_pid\fP -子プロセスのプロセスID。 -.TP -\fIsi_uid\fP -子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。 -.TP -\fIsi_signo\fP -常に \fBSIGCHLD\fP が設定される。 -.TP -\fIsi_status\fP -\fB_exit\fP(2) (か \fBexit\fP(3)) に指定された子プロセスの終了ステータス、もしくは -子プロセスの終了、停止、再開の原因となったシグナルが設定される。 このフィールドをどう解釈するかは、 \fIsi_code\fP -フィールドを参照して決めることができる。 -.TP -\fIsi_code\fP -以下のいずれかが設定される: \fBCLD_EXITED\fP (子プロセスが \fB_exit\fP(2) を呼び出した); \fBCLD_KILLED\fP -(シグナルにより子プロセスが kill された); \fBCLD_DUMPED\fP (シグナルにより子プロセスが kill され、コア・ダンプが行われた); -\fBCLD_STOPPED\fP (シグナルにより子プロセスが停止した); \fBCLD_TRAPPED\fP -(トレースされていた子プロセスがトラップを受信した); \fBCLD_CONTINUED\fP (\fBSIGCONT\fP により子プロセスが再開された)。 -.PP -.\" POSIX.1-2001 leaves this possibility unspecified; most -.\" implementations (including Linux) zero out the structure -.\" in this case, but at least one implementation (AIX 5.1) -.\" does not -- MTK Nov 04 -\fBWNOHANG\fP が \fIoptions\fP に指定されていて、 waitable 状態の子プロセスがなかった場合には、 \fBwaitid\fP() -はすぐに 0 を返す。このとき、 \fIinfop\fP が指す \fIsiginfo_t\fP 構造体の内容は不定である。 この場合を waitable -状態の子プロセスがあった場合と区別するには、 \fBwaitid\fP() を呼び出す前に \fIsi_pid\fP を 0 -にしておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックすればよい。 -.SH 返り値 -\fBwait\fP(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 \-1 を返す。 - -\fBwaitpid\fP(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 \fBWNOHANG\fP が指定されていて、 \fIpid\fP -で指示された子プロセスが一つ以上存在するが、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラーの場合 \-1 を返す。 - -.\" FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid() -.\" returns the PID of the child. Either this is a bug, or it is intended -.\" behavior that needs to be documented. See my Jan 2009 LKML mail -.\" "waitid() return value strangeness when infop is NULL". -\fBwaitid\fP(): 成功すると 0 を返す。 \fBWNOHANG\fP が指定されていて、 \fIpid\fP -で指示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの場合 \-1 を返す。 エラーの場合、これらのシステムコールはいずれも -\fIerrno\fP に適切な値を設定する。 -.SH エラー -.TP -\fBECHILD\fP -(\fBwait\fP() の場合) 呼び出し元プロセスには、wait を行っていない子プロセスはない。 -.TP -\fBECHILD\fP -(\fBwaitpid\fP() か \fBwaitid\fP() の場合) \fIpid\fP (\fBwaitpid\fP()) か \fIidtype\fP と -\fIid\fP (\fBwaitid\fP()) で指定したプロセスが存在しないか、呼び出し元プロセスの子プロセスでない (\fBSIGCHLD\fP の動作に -\fBSIG_IGN\fP を設定した場合には、自分自身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照すること)。 -.TP -\fBEINTR\fP -\fBWNOHANG\fP が設定されておらず、禁止 (block) されていないシグナルや \fBSIGCHLD\fP を受信した。 \fBsignal\fP(7) -参照。 -.TP -\fBEINVAL\fP -\fIoptions\fP 引き数が不正である。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが wait を実行して子プロセスについての情報を取得できるように、 -カーネルはゾンビプロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持する。 ゾンビプロセスは、 wait -によってシステムから削除されない限り、 カーネルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが -一杯になると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親プロセスの「ゾンビ」の 子プロセスは (もしあれば) -\fBinit\fP(8) の養子となる。 \fBinit\fP(8) は wait を自動的に実行し、ゾンビを削除する。 - -POSIX.1\-2001 では以下のように規定されている。 \fBSIGCHLD\fP の動作が \fBSIG_IGN\fP に設定されたか、 \fBSIGCHLD\fP -に対して \fBSA_NOCLDWAIT\fP フラグが設定された場合 (\fBsigaction\fP(2) 参照)、終了した子プロセスはゾンビにはならず、 -\fBwait\fP() や \fBwaitpid\fP() の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセスが全部終了した後 \fIerrno\fP -に \fBECHILD\fP を設定して失敗する。 (もともとの POSIX 標準は \fBSIGCHLD\fP に \fBSIG_IGN\fP -を設定した場合の振る舞いを未規定のままにしている。 \fBSIGCHLD\fP のデフォルトの動作が「無視」であるにもかかわらず、 \fBSIGCHLD\fP -の動作として \fBSIG_IGN\fP を明示的に設定した場合にはゾンビプロセスの子プロセスの扱いが 異なる点に注意すること。) Linux 2.6 -はこの仕様に準拠している。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: \fBSIGCHLD\fP が無視される状態で -\fBwait\fP() または \fBwaitpid\fP() が呼び出された場合、 \fBSIGCHLD\fP が無視されていないかのように振る舞う。 -つまり、呼び出しによって次の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返される。 -.SS "Linux での注意" -Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明確に区別できる構成要素ではない。スレッドは Linux 固有の -\fBclone\fP(2) システムコールを使用して生成されるプロセスに過ぎない。 移植性のある \fBpthread_create\fP(3) -コールのような他のルーチンは \fBclone\fP(2) を使用して実装されている; これらでは \fBwaitid\fP() を使うことはできない。 -Linux 2.4 より前では、スレッドは単に特殊なプロセスであったので、 例え同じスレッドグループであっても、 -あるスレッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しかし、POSIX ではこのような機能を規定しており、 Linux 2.4 -以降では、あるスレッドが同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができるようになった。 -そして将来はこれがデフォルトの動作になるであろう。 -.LP -\fBclone\fP(2) を用いて作られた子プロセスには、以下の Linux 固有の \fIoptions\fP が使用できる。 -.TP -\fB__WCLONE\fP -.\" since 0.99pl10 -"clone" な子プロセスだけを待つ。 指定されなかった場合は非 "clone" な子プロセスだけを待つ ("clone" -な子プロセスは、終了時に親プロセスへ全くシグナルを送らないか、 \fBSIGCHLD\fP 以外のシグナルを送る)。 このオプションは \fB__WALL\fP -も指定された場合は無視される。 -.TP -\fB__WALL\fP (Linux 2.4 以降) -.\" since patch-2.3.48 -"clone" であるかないかに関わらず、 全ての子プロセスを待つ。 -.TP -\fB__WNOTHREAD\fP (Linux 2.4 以降) -.\" since patch-2.4.0-test8 -同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前ではデフォルトであった。 -.SH 例 -.\" fork.2 refers to this example program. -以下のプログラムは、 \fBfork\fP(2) と \fBwaitpid\fP() の使用方法の例を示している。 このプログラムでは子プロセスを生成する。 -コマンドライン引き数が指定されなかったときは、 子プロセスは \fBpause\fP(2) を使ってその実行を一時停止し、ユーザがその子プロセスに -シグナルを送信できるようにする。 コマンドライン引き数が指定された場合は、 子プロセスは直ちに終了し、 -コマンドラインで指定された整数を終了ステータスとして使用する。 親プロセスは、 \fBwaitpid\fP() を使って子プロセスを監視し、 wait -のステータス値を上記の W*() マクロを使って解析するという ループを実行する。 - -以下のシェルのセッションはこのプログラムの使用例を示したものである。 -.in +4n -.nf - -$\fB ./a.out &\fP -Child PID is 32360 -[1] 32359 -$\fB kill \-STOP 32360\fP -stopped by signal 19 -$\fB kill \-CONT 32360\fP -continued -$\fB kill \-TERM 32360\fP -killed by signal 15 -[1]+ Done ./a.out -$ -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - pid_t cpid, w; - int status; - - cpid = fork(); - if (cpid == \-1) { - perror("fork"); - exit(EXIT_FAILURE); - } - - if (cpid == 0) { /* Code executed by child */ - printf("Child PID is %ld\en", (long) getpid()); - if (argc == 1) - pause(); /* Wait for signals */ - _exit(atoi(argv[1])); - - } else { /* Code executed by parent */ - do { - w = waitpid(cpid, &status, WUNTRACED | WCONTINUED); - if (w == \-1) { - perror("waitpid"); - exit(EXIT_FAILURE); - } - - if (WIFEXITED(status)) { - printf("exited, status=%d\en", WEXITSTATUS(status)); - } else if (WIFSIGNALED(status)) { - printf("killed by signal %d\en", WTERMSIG(status)); - } else if (WIFSTOPPED(status)) { - printf("stopped by signal %d\en", WSTOPSIG(status)); - } else if (WIFCONTINUED(status)) { - printf("continued\en"); - } - } while (!WIFEXITED(status) && !WIFSIGNALED(status)); - exit(EXIT_SUCCESS); - } -} -.fi -.SH 関連項目 -\fB_exit\fP(2), \fBclone\fP(2), \fBfork\fP(2), \fBkill\fP(2), \fBptrace\fP(2), -\fBsigaction\fP(2), \fBsignal\fP(2), \fBwait4\fP(2), \fBpthread_create\fP(3), -\fBcredentials\fP(7), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/wait4.2 b/draft/man2/wait4.2 deleted file mode 100644 index 0b2720c4..00000000 --- a/draft/man2/wait4.2 +++ /dev/null @@ -1,122 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" and Copyright (c) 2004 by Michael Kerrisk (mtk.manpages@gmail.com) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" -.\" Modified Sat Jul 24 13:32:44 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Mon Jun 23 14:09:52 1997 by aeb - add EINTR. -.\" Modified Tue Jul 7 12:26:42 1998 by aeb - changed return value wait3 -.\" Modified 2004-11-11, Michael Kerrisk -.\" Rewrote much of this page, and removed much duplicated text, -.\" replacing with pointers to wait.2 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH WAIT4 2 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -wait3, wait4 \- BSD スタイルでプロセスの状態変化を待つ -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -\fB#include \fP -.sp -\fBpid_t wait3(int *\fP\fIstatus\fP\fB, int \fP\fIoptions\fP\fB,\fP -\fB struct rusage *\fP\fIrusage\fP\fB);\fP -.sp -\fBpid_t wait4(pid_t \fP\fIpid\fP\fB, int *\fP\fIstatus\fP\fB, int \fP\fIoptions\fP\fB,\fP -\fB struct rusage *\fP\fIrusage\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBwait3\fP(): -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.RE -.br -\fBwait4\fP(): -.RS 4 -_BSD_SOURCE -.RE -.ad -.SH 説明 -システムコール \fBwait3\fP() と \fBwait4\fP() は \fBwaitpid\fP(2) -と同様の動作をする。それに加え、子プロセスのリソース使用状況の情報を \fIrusage\fP が指す構造体に入れて返す。 -.PP -\fIrusage\fP を使用する点を除けば、次の \fBwait3\fP() の呼び出し -.nf - - wait3(status, options, rusage); - -.fi -は以下と等価である。 -.nf - - waitpid(\-1, status, options); - -.fi -同様に、次の \fBwait4\fP() の呼び出し -.nf - - wait4(pid, status, options, rusage); - -.fi -は以下と等価である。 -.nf - - waitpid(pid, status, options); - -.fi -言い換えると、 \fBwait3\fP() は全ての子プロセスを対象に待つが、 \fBwait4\fP() では特定の子プロセス (複数可) -を選んで待つことができる。 -.PP -\fIrusage\fP が NULL でない場合、 \fIrusage\fP が指す \fIrusage 構造体\fP には子プロセスのアカウント情報が格納される。 -詳しくは \fBgetrusage\fP(2) を参照のこと。 -.SH 返り値 -\fBwaitpid\fP(2) と同様。 -.SH エラー -\fBwaitpid\fP(2) と同様。 -.SH 準拠 -4.3BSD. -.SH 注意 -現在では \fI\fP をインクルードする必要はないが、インクルードしておくと 移植性を高めることができる (実際には -\fI\fP で \fIrusage\fP 構造体が定義されているが、そのフィールドで使用されている -\fIstruct timeval\fP 型は \fI\fP で定義されている)。 - -Linux では、 \fBwait3\fP() はライブラリ関数であり、 \fBwait4\fP() システムコールを使って実装されている。 -.SH 関連項目 -\fBfork\fP(2), \fBgetrusage\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBwait\fP(2), -\fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/write.2 b/draft/man2/write.2 deleted file mode 100644 index 6fa6a515..00000000 --- a/draft/man2/write.2 +++ /dev/null @@ -1,137 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1992 Drew Eckhardt; -.\" 1993 Michael Haardt, Ian Jackson. -.\" and Copyright (C) 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Sat Jul 24 13:35:59 1993 by Rik Faith -.\" Modified Sun Nov 28 17:19:01 1993 by Rik Faith -.\" Modified Sat Jan 13 12:58:08 1996 by Michael Haardt -.\" -.\" Modified Sun Jul 21 18:59:33 1996 by Andries Brouwer -.\" 2001-12-13 added remark by Zack Weinberg -.\" 2007-06-18 mtk: -.\" Added details about seekable files and file offset. -.\" Noted that write() may write less than 'count' bytes, and -.\" gave some examples of why this might occur. -.\" Noted what happens if write() is interrupted by a signal. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH WRITE 2 2010\-08\-29 Linux "Linux Programmer's Manual" -.SH 名前 -write \- ファイルディスクリプタ (file descriptor) に書き込む -.SH 書式 -\fB#include \fP -.sp -\fBssize_t write(int \fP\fIfd\fP\fB, const void *\fP\fIbuf\fP\fB, size_t \fP\fIcount\fP\fB);\fP -.SH 説明 -\fBwrite\fP() は、 \fIbuf\fP が指すバッファから、ファイルディスクリプタ \fIfd\fP が参照するファイルへ、最大 \fIcount\fP -バイトを書き込む。 - -書き込まれるバイト数は \fIcount\fP よりも小さくなることがある。 例えば、書き込み対象の物理メディアに十分な領域がない場合、 リソース上限 -\fBRLIMIT_FSIZE\fP に達した場合 (\fBsetrlimit\fP(2) 参照)、 \fIcount\fP バイト未満の書き込みが行われた後で -呼び出しがシグナルハンドラにより割り込まれた場合、 などである。 (\fBpipe\fP(7) も参照のこと。) - -seek 可能なファイル (つまり \fBlseek\fP(2) が適用できるファイル、例えば通常のファイル) では、 -書き込みは現在のファイルオフセットから行われ、 ファイルオフセットは実際に書き込みが行われたバイト数分 加算される。ファイルが \fBO_APPEND\fP -で \fBopen\fP(2) された場合、ファイルオフセットは書き込み前に ファイルの末尾に設定される。 -ファイルオフセットの調整と書き込み操作はアトミックな処理として 実行される。 - -POSIX は \fBwrite\fP() が行なわれた後に実行した \fBread\fP(2) が 新しいデータを返すことを要求している。 -全てのファイルシステムが POSIX 準拠ではない点に注意すること。 -.SH 返り値 -成功した場合、書き込まれたバイト数が返される (ゼロは何も書き込まれなかったことを示す)。 エラーならば \-1 が返され、\fIerrno\fP -が適切に設定される。 - -\fIcount\fP が 0 で、 \fIfd\fP が通常のファイル (regular file) を参照している場合、 \fBwrite\fP() -は後述のエラーのいずれかを検出した場合、失敗を返すことがある。 エラーが検出されなかった場合は、 0 を返し、他に何の影響も与えない。 \fIcount\fP -が 0 で、 \fIfd\fP が通常のファイル以外のファイルを参照している場合、 その結果は規定されていない。 -.SH エラー -.TP -\fBEAGAIN\fP -ファイルディスクリプタ \fIfd\fP がソケット以外のファイルを参照していて、 非停止 (nonblocking) モード (\fBO_NONBLOCK\fP) -に設定されており、書き込みを行うと停止する状況にある。 -.TP -\fBEAGAIN\fP または \fBEWOULDBLOCK\fP -.\" Actually EAGAIN on Linux -ファイルディスクリプタ \fIfd\fP がソケットを参照していて、非停止 (nonblocking) モード (\fBO_NONBLOCK\fP) -に設定されており、書き込みを行うと停止する状況にある。 POSIX.1\-2001 は、この場合にどちらのエラーを返すことも認めており、 これら 2 -つの定数が同じ値を持つことも求めていない。 したがって、移植性が必要なアプリケーションでは、両方の可能性を 確認すべきである。 -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタでないか書き込みのためにオープン (open) されていない。 -.TP -\fBEDESTADDRREQ\fP -\fIfd\fP が、 \fBconnect\fP(2) を使って通信相手のアドレスが設定されていないデータグラムソケットを 参照している。 -.TP -\fBEFAULT\fP -\fIbuf\fP がアクセス可能なアドレス空間の外にある。 -.TP -\fBEFBIG\fP -実装定義の最大ファイルサイズまたはプロセスのファイルサイズ制限を 超えてファイルに書き込もうとした。 -または許可されたオフセット値の限界を超えた先の位置に 書き込もうとした。 -.TP -\fBEINTR\fP -何のデータも書かない間にシグナルにより割り込まれた (interrupt)。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fIfd\fP が書き込みが不適切なオブジェクトを参照している。 もしくは、ファイルが \fBO_DIRECT\fP フラグを指定してオープンされているが、 -\fIbuf\fP に指定されたアドレス、 \fIcount\fP に指定された値、 現在のファイルオフセットのいずれかの アラインメントが不適切である。 -.TP -\fBEIO\fP -inode の修正中に低レべル (low\-level) I/O エラーが発生した。 -.TP -\fBENOSPC\fP -\fIfd\fP によって参照されるファイルを含むデバイス (device) に十分な空きがない。 -.TP -\fBEPIPE\fP -\fIfd\fP がパイプ (pipe) かソケット (socket) に接続されており、 その反対側 (読み込み側) がクローズ (close) -されている。 これが発生した場合には、書き込みを行なうプロセスは \fBSIGPIPE\fP シグナル (signal)も受ける。 -(したがって、プログラムがこのシグナルを捕獲 (catch)、停止 (block)、無視 (ignore) した場合のみ、write -の返り値を参照できる。) -.PP -\fIfd\fP に接続されたオブジェクトによっては、他のエラーが起こるかもしれない。 -.SH 準拠 -.\" SVr4 documents additional error -.\" conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE. -SVr4, 4.3BSD, POSIX.1\-2001. - -SVr4 では write が割り込まれると、データが書き込まれる直前ではなく、 その時点で \fBEINTR\fP が返る。 -.SH 注意 -\fBwrite\fP() が成功して返ってきても、データがディスクに記録されたことを 保証するものではない。 -実際、データのためのスペースが確保されたことすら保証されないという バグっぽい実装もある。 これを確実にする唯一の方法は、 全てのデータを write -した後に \fBfsync\fP(2) を呼び出すことである。 - -\fBwrite\fP() が 1 バイトも書き込まないうちにシグナルハンドラにより割り込まれた場合、 \fBwrite\fP() はエラー \fBEINTR\fP -で失敗する。 1バイトでも書き込んだ後で割り込まれた場合には、 \fBwrite\fP() は成功し、書き込んだバイト数を返す。 -.SH 関連項目 -\fBclose\fP(2), \fBfcntl\fP(2), \fBfsync\fP(2), \fBioctl\fP(2), \fBlseek\fP(2), \fBopen\fP(2), -\fBpwrite\fP(2), \fBread\fP(2), \fBselect\fP(2), \fBwritev\fP(2), \fBfwrite\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/CPU_SET.3 b/draft/man3/CPU_SET.3 index 0f83c484..9cfa0af9 100644 --- a/draft/man3/CPU_SET.3 +++ b/draft/man3/CPU_SET.3 @@ -2,6 +2,7 @@ .\" and Copyright (C) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -252,6 +254,6 @@ main(int argc, char *argv[]) \fBsched_setaffinity\fP(2), \fBpthread_attr_setaffinity_np\fP(3), \fBpthread_setaffinity_np\fP(3), \fBcpuset\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/INFINITY.3 b/draft/man3/INFINITY.3 index 17a9eeb0..1742e069 100644 --- a/draft/man3/INFINITY.3 +++ b/draft/man3/INFINITY.3 @@ -1,5 +1,6 @@ .\" Copyright 2004 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -63,6 +65,6 @@ glibc システムではマクロ \fBHUGE_VAL\fP が常に使用可能である .SH 関連項目 \fBfpclassify\fP(3), \fBmath_error\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/MB_CUR_MAX.3 b/draft/man3/MB_CUR_MAX.3 index df804bd8..63e53817 100644 --- a/draft/man3/MB_CUR_MAX.3 +++ b/draft/man3/MB_CUR_MAX.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99, POSIX.1\-2001. \fBMB_LEN_MAX\fP(3), \fBmblen\fP(3), \fBmbstowcs\fP(3), \fBmbtowc\fP(3), \fBwcstombs\fP(3), \fBwctomb\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/MB_LEN_MAX.3 b/draft/man3/MB_LEN_MAX.3 index d9f1db1a..a5310f19 100644 --- a/draft/man3/MB_LEN_MAX.3 +++ b/draft/man3/MB_LEN_MAX.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBMB_CUR_MAX\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/__setfpucw.3 b/draft/man3/__setfpucw.3 deleted file mode 100644 index 6011cabb..00000000 --- a/draft/man3/__setfpucw.3 +++ /dev/null @@ -1,48 +0,0 @@ -.\" Written Sat Mar 8 10:35:08 MEZ 1997 by -.\" J. "MUFTI" Scheurich (mufti@csv.ica.uni-stuttgart.de) -.\" This page is licensed under the GNU General Public License -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH __SETFPUCW 3 1997\-03\-08 Linux "Linux Programmer's Manual" -.SH 名前 -__setfpucw \- i386 アーキテクチャにおける FPU のコントロールワードの設定 (obsolete) -.SH 書式 -\fB#include \fP -.sp -\fBvoid __setfpucw(unsigned short \fP\fIcontrol_word\fP\fB);\fP -.SH 説明 -\fB__setfpucw\fP() は、i386アーキテクチャにおいて \fIcontrol_word\fP を FPU (floating\-point -unit) のレジスタに転送する。 これは浮動小数点演算の精度、丸め方、 および浮動小数点例外を制御するのに使われる。 -.SH 準拠 -この関数は非標準で GNU 拡張である。 -.SH 注意 -glibc 2.1 以降では、この関数は存在しない。 新たな関数群が C99 から導入された。これらのプロトタイプは -\fI\fP に置かれている。 FPU の丸めモードの制御には \fIfegetround\fP, \fIfesetround\fP -などが、浮動小数点関連の環境には \fIfegetenv\fP, \fIfeholdexcept\fP, \fIfesetenv\fP, \fIfeupdateenv\fP -などが、 FPU 例外処理には \fIfeclearexcept\fP, \fIfegetexceptflag\fP, \fIferaiseexcept\fP, -\fIfesetexceptflag\fP, \fIfetestexcept\fP などが導入された。 -.PP -FPU のコントロールワードへどうしても直接アクセスする必要がある場合には、 \fI\fP の -\fB_FPU_GETCW\fP マクロと \fB_FPU_SETCW\fP マクロを用いることは可能である。 -.SH 例 -\fB__setfpucw(0x1372)\fP - -は、i386アーキテクチャにおける FPU のコントロールワードを、 -.br - \- 拡張精度 -.br - \- 最も近い整数へ丸める、中間の場合は偶数を選択する。 -.br - \- 桁溢れ、0で除算、及び無効値(NaN)ときに例外を発生に設定する。 -.SH 関連項目 -\fBfeclearexcept\fP(3) -.br -\fI\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/a64l.3 b/draft/man3/a64l.3 index 8a353a46..39e4c9cf 100644 --- a/draft/man3/a64l.3 +++ b/draft/man3/a64l.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\" Corrected, aeb, 2002-05-30 .\" @@ -62,6 +65,6 @@ POSIX.1\-2001. .\" .BR itoa (3), \fBuuencode\fP(1), \fBstrtoul\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/abort.3 b/draft/man3/abort.3 index 2df3dbd8..9c6e6536 100644 --- a/draft/man3/abort.3 +++ b/draft/man3/abort.3 @@ -1,6 +1,7 @@ .\" Copyright 2007 (C) Michael Kerrisk .\" some parts Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -60,6 +62,6 @@ SVr4, POSIX.1\-2001, 4.3BSD, C89, C99. .SH 関連項目 \fBgdb\fP(1), \fBsigaction\fP(2), \fBexit\fP(3), \fBlongjmp\fP(3), \fBraise\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/abs.3 b/draft/man3/abs.3 index 30d72334..60e48f66 100644 --- a/draft/man3/abs.3 +++ b/draft/man3/abs.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -89,6 +91,6 @@ GCC は \fBabs\fP() と \fBlabs\fP() をビルドイン関数として扱う .SH 関連項目 \fBcabs\fP(3), \fBceil\fP(3), \fBfabs\fP(3), \fBfloor\fP(3), \fBrint\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/acos.3 b/draft/man3/acos.3 index abf5e586..7dd7eee4 100644 --- a/draft/man3/acos.3 +++ b/draft/man3/acos.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -88,6 +90,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBasin\fP(3), \fBatan\fP(3), \fBatan2\fP(3), \fBcacos\fP(3), \fBcos\fP(3), \fBsin\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/acosh.3 b/draft/man3/acosh.3 index cc280a1a..23ddf449 100644 --- a/draft/man3/acosh.3 +++ b/draft/man3/acosh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -96,6 +98,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBasinh\fP(3), \fBatanh\fP(3), \fBcacosh\fP(3), \fBcosh\fP(3), \fBsinh\fP(3), \fBtanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/addseverity.3 b/draft/man3/addseverity.3 index fcafdf6f..c5e71d3c 100644 --- a/draft/man3/addseverity.3 +++ b/draft/man3/addseverity.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" adapted glibc info page .\" .\" polished a little, aeb @@ -43,6 +46,6 @@ System V システムで利用可能である。 .SH 関連項目 \fBfmtmsg\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/adjtime.3 b/draft/man3/adjtime.3 index ac689e93..1eddacdf 100644 --- a/draft/man3/adjtime.3 +++ b/draft/man3/adjtime.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2006 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +91,6 @@ struct timeval { .SH 関連項目 \fBadjtimex\fP(2), \fBgettimeofday\fP(2), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_cancel.3 b/draft/man3/aio_cancel.3 index 1cecb69b..ae9ef38f 100644 --- a/draft/man3/aio_cancel.3 +++ b/draft/man3/aio_cancel.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +90,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_error.3 b/draft/man3/aio_error.3 index 76024216..0f0078bd 100644 --- a/draft/man3/aio_error.3 +++ b/draft/man3/aio_error.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -67,6 +68,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_cancel\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_fsync.3 b/draft/man3/aio_fsync.3 index f0b0443b..a7c6d51f 100644 --- a/draft/man3/aio_fsync.3 +++ b/draft/man3/aio_fsync.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -76,6 +77,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7), \fBsigevent\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_init.3 b/draft/man3/aio_init.3 index 26f3c826..46cc0031 100644 --- a/draft/man3/aio_init.3 +++ b/draft/man3/aio_init.3 @@ -1,6 +1,7 @@ .\" t .\" Copyright (c) 2010 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +95,6 @@ The \fBaio_init\fP() 関数は glibc 2.1 以降で利用できる。 .SH 関連項目 \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_read.3 b/draft/man3/aio_read.3 index b5fec7cb..9263ed6f 100644 --- a/draft/man3/aio_read.3 +++ b/draft/man3/aio_read.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -102,6 +103,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_return.3 b/draft/man3/aio_return.3 index dec843d4..765083bd 100644 --- a/draft/man3/aio_return.3 +++ b/draft/man3/aio_return.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -64,6 +65,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_suspend.3 b/draft/man3/aio_suspend.3 index 415cd727..8026c7d0 100644 --- a/draft/man3/aio_suspend.3 +++ b/draft/man3/aio_suspend.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2010 Michael kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -92,6 +93,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/aio_write.3 b/draft/man3/aio_write.3 index 9c590af7..c8482966 100644 --- a/draft/man3/aio_write.3 +++ b/draft/man3/aio_write.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -35,8 +36,8 @@ aio_write \- 非同期で書き込む .sp \fI\-lrt\fP でリンクする。 .SH 説明 -\fBaio_write\fP() 関数は、\fIaiocbp\fP が指すバッファに記載された I/O リクエストを -キューに入れる。この関数は \fBwrite\fP(2) の非同期版である。 +\fBaio_write\fP() 関数は、\fIaiocbp\fP が指すバッファに記載された I/O リクエストをキューに入れる。この関数は +\fBwrite\fP(2) の非同期版である。 呼び出し write(fd, buf, count) @@ -101,6 +102,6 @@ POSIX.1\-2001, POSIX.1\-2008. \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/alloca.3 b/draft/man3/alloca.3 deleted file mode 100644 index 2eec653a..00000000 --- a/draft/man3/alloca.3 +++ /dev/null @@ -1,102 +0,0 @@ -.\" Copyright (c) 1980, 1991 Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)alloca.3 5.1 (Berkeley) 5/2/91 -.\" -.\" Converted Mon Nov 29 11:05:55 1993 by Rik Faith -.\" Modified Tue Oct 22 23:41:56 1996 by Eric S. Raymond -.\" Modified 2002-07-17, aeb -.\" 2008-01-24, mtk: -.\" Various rewrites and additions (notes on longjmp() and SIGSEGV). -.\" Weaken warning against use of alloca() (as per Debian bug 461100). -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ALLOCA 3 2008\-01\-24 GNU "Linux Programmer's Manual" -.SH 名前 -alloca \- 自動的に解放されるメモリを割り当てる -.SH 書式 -\fB#include \fP -.sp -\fBvoid *alloca(size_t \fP\fIsize\fP\fB);\fP -.SH 説明 -\fBalloca\fP() 関数は、 \fIsize\fP バイトの領域を呼出元のスタック・フレームに割り付ける。 この一時的な領域は、 \fBalloca\fP() -を呼び出した関数が呼出元に返るときに自動的に解放される。 -.SH 返り値 -\fBalloca\fP() 関数は、割り付けた領域の始まりを指すポインタを返す。 割り付けによってスタックオーバーフローが起った場合の -プログラムの動作は定義されていない。 -.SH 準拠 -この関数は POSIX.1\-2001 にはない。 - -32V, PWB, PWB.2, 3BSD, 4BSD に \fBalloca\fP() 関数が登場した証拠がある。 4.3BSD -には、マニュアルページがある。 Linux は、GNU 版を使っている。 この関数は POSIX.1\-2001 にはない。 -.SH 注意 -\fBalloca\fP() 関数は、機種とコンパイラに依存する。 特定のアプリケーションでは、この関数を使うと \fBmalloc\fP(3) と -\fBfree\fP(3) を組み合わせて使った場合に比べて効率を改善することができる。 特定の場合では、この関数を使うことで、 \fBlongjmp\fP(3) -や \fBsiglongjmp\fP(3) を使うアプリケーションでのメモリの開放を簡単にすることができる。 -それ以外の場合では、この関数の使用は推奨されない。 - -\fBalloca\fP() により割り当てられる空間はスタックフレームから割り当てらるので、 関数の戻り先が \fBlongjmp\fP(3) や -\fBsiglongjmp\fP(3) の呼び出しによりジャンプした場合には、 割り当てられた空間は自動的に解放される。 - -\fBalloca\fP() で割り当てられた空間を \fBfree\fP(3) しようとすることのないように! -.SS "GNU 版についての注意" -通常 \fBgcc\fP(1) は \fBalloca\fP() の呼び出しをインラインコードに変換する。 \fI\-ansi\fP, \fI\-std=c89\fP, -\fI\-std=c99\fP, \fI\-fno\-builtin\fP のいずれかのオプションが指定された場合、この変換は行われない (また -\fI\fP のインクルードも行われない)。 だだし、デフォルトでは glibc 版の -\fI\fP は \fI\fP -をインクルードしており、これには以下の行が含まれているので注意すること。 -.nf - - #define alloca(size) __builtin_alloca (size) - -.fi -独自版の __builtin_alloca (size) 関数があると厄介な結果になる。 -.LP -このコードはインライン化されているので、 この関数のアドレスを取得したり、 他のライブラリをリンクして動作を変更することはできない。 -.LP -通常このインラインコードはスタックポインタを移動する 1 つの命令 (instruction) から構成されており、 -スタックオーバーフローをチェックしない。 よって NULL エラーが返されることはない。 -.SH バグ -スタックフレームが拡張できなかった場合、エラー通知は行われない。 (しかしながら、割り当てに失敗した後で、プログラムが割り当てられなかった -空間にアクセスしようとした場合に \fBSIGSEGV\fP シグナルを受信することだろう。) - -多くのシステムにおいて、関数コールの引き数のリスト内では \fBalloca\fP() が使えない。 これは、 \fBalloca\fP() -によって予約されるスタック領域が、 関数引き数に使われるスタック領域の中に現れてしまうためである。 -.SH 関連項目 -\fBbrk\fP(2), \fBlongjmp\fP(3), \fBmalloc\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/argz_add.3 b/draft/man3/argz_add.3 index ae6b298a..fe0e8f50 100644 --- a/draft/man3/argz_add.3 +++ b/draft/man3/argz_add.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" based on the description in glibc source and infopages .\" .\" Corrections and additions, aeb @@ -110,6 +114,6 @@ NULL バイトで終端されていない argz vector を使用した場合、 s .SH 関連項目 \fBenvz_add\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/asin.3 b/draft/man3/asin.3 index d2601569..f2f34c96 100644 --- a/draft/man3/asin.3 +++ b/draft/man3/asin.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -91,6 +93,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBacos\fP(3), \fBatan\fP(3), \fBatan2\fP(3), \fBcasin\fP(3), \fBcos\fP(3), \fBsin\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/asinh.3 b/draft/man3/asinh.3 index 1a7b28d5..7ab9e544 100644 --- a/draft/man3/asinh.3 +++ b/draft/man3/asinh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -92,6 +94,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBacosh\fP(3), \fBatanh\fP(3), \fBcasinh\fP(3), \fBcosh\fP(3), \fBsinh\fP(3), \fBtanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/asprintf.3 b/draft/man3/asprintf.3 index f8fecff1..b7e24074 100644 --- a/draft/man3/asprintf.3 +++ b/draft/man3/asprintf.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Text fragments inspired by Martin Schulze . .\" @@ -52,6 +54,6 @@ asprintf, vasprintf \- 文字列を割り当ててそれに出力する .SH 関連項目 \fBfree\fP(3), \fBmalloc\fP(3), \fBprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/assert.3 b/draft/man3/assert.3 index a629155f..8714b253 100644 --- a/draft/man3/assert.3 +++ b/draft/man3/assert.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 21:42:42 1993 by Rik Faith .\" Modified Tue Oct 22 23:44:11 1996 by Eric S. Raymond .\"******************************************************************* @@ -57,6 +59,6 @@ POSIX.1\-2001, C89, C99. C89 では \fBexpression\fP は \fIint\fP .SH 関連項目 \fBabort\fP(3), \fBassert_perror\fP(3), \fBexit\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/assert_perror.3 b/draft/man3/assert_perror.3 index 6cd2950a..04bf3b7a 100644 --- a/draft/man3/assert_perror.3 +++ b/draft/man3/assert_perror.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" This replaces an earlier man page written by Walter Harms .\" . @@ -55,6 +57,6 @@ assert マクロの目的は、プログラマがプログラム中のバグを .SH 関連項目 \fBabort\fP(3), \fBassert\fP(3), \fBexit\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atan.3 b/draft/man3/atan.3 index f252be0a..f8cc7395 100644 --- a/draft/man3/atan.3 +++ b/draft/man3/atan.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -86,6 +88,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBacos\fP(3), \fBasin\fP(3), \fBatan2\fP(3), \fBcarg\fP(3), \fBcatan\fP(3), \fBcos\fP(3), \fBsin\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atan2.3 b/draft/man3/atan2.3 index ae2dc85f..fd0235a5 100644 --- a/draft/man3/atan2.3 +++ b/draft/man3/atan2.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -114,6 +116,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBacos\fP(3), \fBasin\fP(3), \fBatan\fP(3), \fBcarg\fP(3), \fBcos\fP(3), \fBsin\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atanh.3 b/draft/man3/atanh.3 index a77723b2..ed3948bd 100644 --- a/draft/man3/atanh.3 +++ b/draft/man3/atanh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -109,6 +111,6 @@ glibc 2.9 とそれ以前のバージョンでは、 極エラーが発生した .SH 関連項目 \fBacosh\fP(3), \fBasinh\fP(3), \fBcatanh\fP(3), \fBcosh\fP(3), \fBsinh\fP(3), \fBtanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atexit.3 b/draft/man3/atexit.3 deleted file mode 100644 index d474ff7a..00000000 --- a/draft/man3/atexit.3 +++ /dev/null @@ -1,120 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified 1993-03-29, David Metcalfe -.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu) -.\" Modified 2003-10-25, Walter Harms -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ATEXIT 3 2008\-12\-05 Linux "Linux Programmer's Manual" -.SH 名前 -atexit \- プロセスが正常終了した時に呼び出される関数を登録する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint atexit(void (*\fP\fIfunction\fP\fB)(void));\fP -.fi -.SH 説明 -\fBatexit\fP() 関数は、与えられた \fIfunction\fP を、 \fBexit\fP(3) やプログラムの \fImain\fP() -関数からの返りを通じて、プロセスが正常終了した時に呼び出される 関数として登録する。 ここで定義された関数は、登録した順番とは逆の順番で呼び出される。 -登録した関数に引き数は渡されない。 - -同じ関数を複数回登録してもよい。 登録された関数は登録 1 回につき 1 回呼び出される。 -.LP -POSIX.1\-2001 では、このような関数を少なくとも \fBATEXIT_MAX\fP 個 (32個) 登録できることを要求している。 -その実装でサポートされている実際の上限は \fBsysconf\fP(3) を使って取得できる。 -.LP -\fBfork\fP(2) で作成された場合、子プロセスは親プロセスの登録のコピーを継承する。 -\fBexec\fP(3) ファミリーの関数の場合、呼び出しに成功すると、 全ての登録が削除される。 -.SH 返り値 -\fBatexit\fP() 関数は、関数登録が成功した時には 0 を返す。 その他の場合には 0 以外の値を返す。 -.SH 準拠 -SVr4, 4.3BSD, C89, C99, POSIX.1\-2001. -.SH 注意 -\fBatexit\fP() (と \fBon_exit\fP(3)) を使って登録された関数は、 -シグナルの配送によりプロセスが異常終了した場合には呼び出されない。 - -登録された関数の一つが \fB_exit\fP(2) を呼び出した場合、残りの関数はどれも起動されず、 \fBexit\fP(3) -により実行される他のプロセス終了ステップは実行されない。 - -.\" This can happen on OpenBSD 4.2 for example, and is documented -.\" as occurring on FreeBSD as well. -.\" Glibc does "the Right Thing" -- invocation of the remaining -.\" exit handlers carries on as normal. -POSIX.1\-2001 では、 \fBatexit\fP() を使って登録された一つの関数内で、複数回 \fBexit\fP(3) -を呼び出した際の結果は未定義である。 (Linux ではないが) いくつかのシステムでは、この場合、 繰り返しが無限に起こることになる。 -移植性が必要なプログラムでは、 \fBatexit\fP() で登録された関数内で \fBexit\fP(3) を起動すべきではない。 - -\fBatexit\fP() と \fBon_exit\fP(3) は、同じリストに対して関数を登録する。 プロセスが正常に終了した際には、 -これらの二つの関数で登録された順序の逆順で、 登録された関数が起動される。 - -.\" In glibc, things seem to be handled okay -POSIX.1\-2001 では、 \fBatexit\fP() で登録された関数の実行を終了するために \fBlongjmp\fP(3) -が使用された場合の結果は未定義である。 -.SS "Linux での注意" -glibc 2.2.3 以降では、共有ライブラリがアンロードされるときに呼ばれる 関数を登録するために、共有ライブラリの中で \fBatexit\fP() -(と \fBon_exit\fP(3)) を使用することができる。 -.SH 例 -.nf -#include -#include -#include - -void -bye(void) -{ - printf("That was all, folks\en"); -} - -int -main(void) -{ - long a; - int i; - - a = sysconf(_SC_ATEXIT_MAX); - printf("ATEXIT_MAX = %ld\en", a); - - i = atexit(bye); - if (i != 0) { - fprintf(stderr, "cannot set exit function\en"); - exit(EXIT_FAILURE); - } - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fB_exit\fP(2), \fBexit\fP(3), \fBon_exit\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atof.3 b/draft/man3/atof.3 deleted file mode 100644 index 58555a27..00000000 --- a/draft/man3/atof.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Mon Mar 29 22:39:24 1993, David Metcalfe -.\" Modified Sat Jul 24 21:39:22 1993, Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ATOF 3 1993\-03\-29 GNU "Linux Programmer's Manual" -.SH 名前 -atof \- 文字列を double 型の数値に変換 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBdouble atof(const char *\fP\fInptr\fP\fB);\fP -.fi -.SH 説明 -\fBatof\fP() 関数は、\fInptr\fPによって指示される文字列のはじめの部分を \fIdouble\fP 型の数値に変換する。 この振る舞いは、 -\fBatof\fP() 関数がエラーを見つけないことを除いては、 -.sp -.in +4n -strtod(nptr, (char **) NULL); -.in -.sp -と同じである。 -.SH 返り値 -変換された値。 -.SH 準拠 -SVr4, POSIX.1\-2001, 4.3BSD, C89, C99. -.SH 関連項目 -\fBatoi\fP(3), \fBatol\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3), \fBstrtoul\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/atoi.3 b/draft/man3/atoi.3 deleted file mode 100644 index 3f80f090..00000000 --- a/draft/man3/atoi.3 +++ /dev/null @@ -1,91 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Mon Mar 29 22:39:41 1993, David Metcalfe -.\" Modified Sat Jul 24 21:38:42 1993, Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Dec 17 18:35:06 2000, Joseph S. Myers -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ATOI 3 2010\-09\-20 GNU "Linux Programmer's Manual" -.SH 名前 -atoi, atol, atoll, atoq \- 文字列を整数型に変換する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint atoi(const char *\fP\fInptr\fP\fB);\fP -.br -\fBlong atol(const char *\fP\fInptr\fP\fB);\fP -.br -\fBlong long atoll(const char *\fP\fInptr\fP\fB);\fP -.br -\fBlong long atoq(const char *\fP\fInptr\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBatoll\fP(): -.RS 4 -_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE -|| _POSIX_C_SOURCE\ >=\ 200112L; -.br -または \fIcc\ \-std=c99\fP -.RE -.ad -.SH 説明 -\fBatoi\fP() 関数は、\fInptr\fP によって指示される文字列のはじめの部分を \fIint\fP 型整数に変換する。 この振る舞いは、 -\fBatoi\fP() 関数がエラーを見つけない点以外は、 -.sp -.in +4n -strtol(nptr, (char **) NULL, 10); -.in -.sp -と同じである。 -.PP -\fBatol\fP() 関数と \fBatoll\fP() 関数は \fBatoi\fP() と同様の振る舞いをするが、 文字列のはじめの部分をそれぞれ -\fIlong\fP や \fIlong long\fP に変換する。 \fBatoq\fP() は \fBatoll\fP() の古い名前である。 -.SH 返り値 -変換された値。 -.SH 準拠 -SVr4, POSIX.1\-2001, 4.3BSD, C99. C89 と POSIX.1\-1996 には \fBatoi\fP() と -\fBatol\fP() だけが含まれている。 \fBatoq\fP() は GNU による拡張である。 -.SH 注意 -非標準である \fBatoq\fP() 関数は libc 4.6.27 や glibc 2 には含まれていないが、 libc5 と libc 4.7 -には存在している (ただし libc 5.4.44 までは \fI\fP のインライン関数のみである)。 -\fBatoll\fP() 関数は glibc 2 のバージョン 2.0.2 から存在しているが、 libc4 や libc5 には存在しない。 -.SH 関連項目 -\fBatof\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3), \fBstrtoul\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/backtrace.3 b/draft/man3/backtrace.3 index 8cdba953..14b373c2 100644 --- a/draft/man3/backtrace.3 +++ b/draft/man3/backtrace.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 2007 Michael Kerrisk .\" drawing on material by Justin Pryzby .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -19,6 +20,7 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END .\" .\" References: .\" glibc manual and source @@ -164,6 +166,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBgcc\fP(1), \fBld\fP(1), \fBdlopen\fP(3), \fBmalloc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/basename.3 b/draft/man3/basename.3 index 45fc8495..a3d3459c 100644 --- a/draft/man3/basename.3 +++ b/draft/man3/basename.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2000 by Michael Kerrisk (mtk.manpages@gmail.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Created, 14 Dec 2000 by Michael Kerrisk .\" .\"******************************************************************* @@ -113,6 +115,6 @@ printf("dirname=%s, basename=%s\en", dname, bname); .SH 関連項目 \fBbasename\fP(1), \fBdirname\fP(1) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bcmp.3 b/draft/man3/bcmp.3 index f8c3ba5a..7cadf2f7 100644 --- a/draft/man3/bcmp.3 +++ b/draft/man3/bcmp.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -52,6 +54,6 @@ bcmp \- バイト列を比較する \fBmemcmp\fP(3), \fBstrcasecmp\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), \fBstrncasecmp\fP(3), \fBstrncmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bcopy.3 b/draft/man3/bcopy.3 index 6f81e9a3..b1a90457 100644 --- a/draft/man3/bcopy.3 +++ b/draft/man3/bcopy.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -53,6 +55,6 @@ bcopy \- バイト列をコピーする .SH 関連項目 \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBmemmove\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bindresvport.3 b/draft/man3/bindresvport.3 index 5d5311fa..a32ac0ba 100644 --- a/draft/man3/bindresvport.3 +++ b/draft/man3/bindresvport.3 @@ -1,6 +1,8 @@ .\" Copyright (C) 2007, Michael Kerrisk .\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2007-05-31, mtk: Rewrite and substantial additional text. .\" 2008-12-03, mtk: Rewrote some pieces and fixed some errors @@ -72,6 +75,6 @@ POSIX.1\-2001 にはない。 BSD, Solaris およびその他の多くのシス .SH 関連項目 \fBbind\fP(2), \fBgetsockname\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bsd_signal.3 b/draft/man3/bsd_signal.3 index dc5b05c8..52b9b493 100644 --- a/draft/man3/bsd_signal.3 +++ b/draft/man3/bsd_signal.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -62,6 +64,6 @@ bsd_signal \- BSD 方式のシグナル処理 .SH 関連項目 \fBsigaction\fP(2), \fBsignal\fP(2), \fBsysv_signal\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bsearch.3 b/draft/man3/bsearch.3 index 9152d302..48fee26a 100644 --- a/draft/man3/bsearch.3 +++ b/draft/man3/bsearch.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -106,6 +108,6 @@ main(int argc, char **argv) .SH 関連項目 \fBhsearch\fP(3), \fBlsearch\fP(3), \fBqsort\fP(3), \fBtsearch\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bstring.3 b/draft/man3/bstring.3 index 8f80ed90..e10abd5b 100644 --- a/draft/man3/bstring.3 +++ b/draft/man3/bstring.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -74,6 +76,6 @@ memmove, memset \- バイト列の操作を行なう \fBmemcmp\fP(3), \fBmemcpy\fP(3), \fBmemfrob\fP(3), \fBmemmem\fP(3), \fBmemmove\fP(3), \fBmemset\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/btowc.3 b/draft/man3/btowc.3 index 6dd551ef..3f9e8c6d 100644 --- a/draft/man3/btowc.3 +++ b/draft/man3/btowc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -41,6 +43,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBmbrtowc\fP(3), \fBmbtowc\fP(3), \fBwctob\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/btree.3 b/draft/man3/btree.3 index 0c617778..87cf387d 100644 --- a/draft/man3/btree.3 +++ b/draft/man3/btree.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)btree.3 8.4 (Berkeley) 8/18/94 .\" @@ -156,16 +158,16 @@ than normal page fill factor. バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。 .SH 関連項目 \fBdbopen\fP(3), \fBhash\fP(3), \fBmpool\fP(3), \fBrecno\fP(3) -.sp + \fIThe Ubiquitous B\-tree\fP, Douglas Comer, ACM Comput. Surv. 11, 2 (June 1979), 121\-138. -.sp + \fIPrefix B\-trees\fP, Bayer and Unterauer, ACM Transactions on Database Systems, Vol. 2, 1 (March 1977), 11\-26. -.sp + \fIThe Art of Computer Programming Vol. 3: Sorting and Searching\fP, D.E. Knuth, 1968, pp 471\-480. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/byteorder.3 b/draft/man3/byteorder.3 index afbfb710..88b18393 100644 --- a/draft/man3/byteorder.3 +++ b/draft/man3/byteorder.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -70,6 +72,6 @@ POSIX.1\-2001. .SH 関連項目 \fBendian\fP(3), \fBgethostbyname\fP(3), \fBgetservent\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/bzero.3 b/draft/man3/bzero.3 index bd34ea79..3c8f6501 100644 --- a/draft/man3/bzero.3 +++ b/draft/man3/bzero.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -51,6 +53,6 @@ bzero \- 値 0 のバイトで埋める .SH 関連項目 \fBmemset\fP(3), \fBswab\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cabs.3 b/draft/man3/cabs.3 index 85efa531..33f95a1d 100644 --- a/draft/man3/cabs.3 +++ b/draft/man3/cabs.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -30,6 +33,6 @@ C99. .SH 関連項目 \fBabs\fP(3), \fBcimag\fP(3), \fBhypot\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cacos.3 b/draft/man3/cacos.3 index 8c8d6f21..15a6b320 100644 --- a/draft/man3/cacos.3 +++ b/draft/man3/cacos.3 @@ -1,6 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright (C) 2011 Michael Kerrisk +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -68,6 +71,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBccos\fP(3), \fBclog\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cacosh.3 b/draft/man3/cacosh.3 index a7fff563..d7c15999 100644 --- a/draft/man3/cacosh.3 +++ b/draft/man3/cacosh.3 @@ -1,6 +1,9 @@ .\" Copyright 2002 Walter Harms(walter.harms@informatik.uni-oldenburg.de) .\" and Copyright (C) 2011 Michael Kerrisk +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -66,6 +69,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBacosh\fP(3), \fBcabs\fP(3), \fBccosh\fP(3), \fBcimag\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/canonicalize_file_name.3 b/draft/man3/canonicalize_file_name.3 deleted file mode 100644 index 874097db..00000000 --- a/draft/man3/canonicalize_file_name.3 +++ /dev/null @@ -1,28 +0,0 @@ -.\" Copyright 2005 walter harms (walter.harms@informatik.uni-oldenburg.de) -.\" and Copyright 2005 Michael Kerrisk (mtk.manpages@gmail.com). -.\" Distributed under the GNU General Public License. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CANONICALIZE_FILE_NAME 3 2005\-07\-14 GNU "Linux Programmer's Manual" -.SH 名前 -canonicalize_file_name \- 正規化されたファイル名を返す -.SH 書式 -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -.br -\fB#include \fP -.sp -\fBchar *canonicalize_file_name(const char *\fP\fIpath\fP\fB);\fP -.SH 説明 -\fIcanonicalize_file_name(path)\fP は \fIrealpath(path,\ NULL)\fP と等価である。 -.SH 準拠 -この関数は GNU による拡張である。 -.SH 関連項目 -\fBrealpath\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/carg.3 b/draft/man3/carg.3 index 0c5f78fa..1468f79c 100644 --- a/draft/man3/carg.3 +++ b/draft/man3/carg.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -51,6 +54,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/casin.3 b/draft/man3/casin.3 index 19ff52d2..160684d5 100644 --- a/draft/man3/casin.3 +++ b/draft/man3/casin.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -34,6 +37,6 @@ C99. .SH 関連項目 \fBclog\fP(3), \fBcsin\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/casinh.3 b/draft/man3/casinh.3 index 9f3d3ad4..e2386c02 100644 --- a/draft/man3/casinh.3 +++ b/draft/man3/casinh.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -34,6 +37,6 @@ C99. .SH 関連項目 \fBasinh\fP(3), \fBcabs\fP(3), \fBcimag\fP(3), \fBcsinh\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/catan.3 b/draft/man3/catan.3 index 0354008b..e0dc616c 100644 --- a/draft/man3/catan.3 +++ b/draft/man3/catan.3 @@ -1,6 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright (C) 2011 Michael Kerrisk +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -68,6 +71,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBccos\fP(3), \fBclog\fP(3), \fBctan\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/catanh.3 b/draft/man3/catanh.3 index 98f6a451..22a7848f 100644 --- a/draft/man3/catanh.3 +++ b/draft/man3/catanh.3 @@ -1,6 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright (C) 2011 Michael Kerrisk +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -66,6 +69,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBatanh\fP(3), \fBcabs\fP(3), \fBcimag\fP(3), \fBctanh\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/catgets.3 b/draft/man3/catgets.3 deleted file mode 100644 index e7843ff9..00000000 --- a/draft/man3/catgets.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" Copyright 1993 Mitchum DSouza -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Updated, aeb, 980809 -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CATGETS 3 1998\-08\-09 "" "Linux Programmer's Manual" -.SH 名前 -catgets \- メッセージカタログからメッセージを取り出す -.SH 書式 -.nf -\fB#include \fP - -\fBchar *catgets(nl_catd \fP\fIcatalog\fP\fB, int \fP\fIset_number\fP\fB, int \fP\fImessage_number\fP\fB,\fP -\fB const char *\fP\fImessage\fP\fB);\fP -.fi -.SH 説明 -\fBcatgets\fP() は catalog で指定されたメッセージカタログから、 セット \fIset_number\fP のメッセージ -\fImessage_number\fP を読み取る。 \fIcatalog\fP は、 \fBcatopen\fP(3) の呼び出しによって得られたカタログ -ディスクリプタを指定する。 4番目の引数 \fImessage\fP は、指定のメッセージカタログが現在利用できない 場合に \fBcatgets\fP() -が返すデフォルトのメッセージを指す。 メッセージテキストは内部のバッファ領域に格納されており、 -保存や変更を行う場合にはアプリケーション側でコピーする必要がある。 返される文字列は常にヌル文字で終端される。 -.SH 返り値 -.LP -成功した場合、 \fBcatgets\fP() は内部のバッファ領域へのポインタを返す。 ここにはヌル文字で終端されたメッセージ文字列が格納されている。 -失敗した場合は \fImessage\fP を返す。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -これらの関数は libc.so.4.4.4c 以降でしか使えない。 Jan 1987 X/Open Portability Guide -では、エラーの時に 返される値により微妙な指定をしている。 \fIcatalog\fP で指定されたメッセージカタログが利用できない場合は -\fImessage\fP を返し、一方メッセージカタログはあるが指定したメッセージがない場合は 空の文字列が返される。 SUSv2 -ではこの二種類のエラーリターンは廃止され、 常に \fImessage\fP を返すことにしたようである。 -.SH 関連項目 -\fBcatopen\fP(3), \fBsetlocale\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/catopen.3 b/draft/man3/catopen.3 deleted file mode 100644 index 5800ebe0..00000000 --- a/draft/man3/catopen.3 +++ /dev/null @@ -1,95 +0,0 @@ -.\" Copyright 1993 Mitchum DSouza -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Thu Dec 13 22:51:19 2001 by Martin Schulze -.\" Modified 2001-12-14 aeb -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CATOPEN 3 2001\-12\-14 GNU "Linux Programmer's Manual" -.SH 名前 -catopen, catclose \- メッセージカタログのオープン/クローズ -.SH 書式 -\fB#include \fP -.sp -\fBnl_catd catopen(const char *\fP\fIname\fP\fB, int \fP\fIflag\fP\fB);\fP - -\fBint catclose(nl_catd \fP\fIcatalog\fP\fB);\fP -.SH 説明 -関数 \fBcatopen\fP() はメッセージカタログをオープンし、カタログディスクリプタを返す。 このディスクリプタは \fBcatclose\fP() -または \fBexecve\fP(2) が呼び出されるまで有効である。 カタログディスクリプタを実装するために ファイルディスクリプタを使用すると、 -\fBFD_CLOEXEC\fP フラグが設定される。 -.LP -引き数 \fIname\fP はオープンするメッセージカタログの名前を指定する。 \fIname\fP が絶対パスで指定されている場合 (すなわち -\(aq/\(aq を含んでいる場合)、 \fIname\fP はメッセージカタログへのパス名である。 それ以外の場合、環境変数 \fBNLSPATH\fP が -\fIname\fP とともに使用され \fB%N\fP を置き換える (\fBlocale\fP(7) 参照)。 プロセスが root 権限を持っているときに -\fBNLSPATH\fP が使われるかどうかは指定されていない。 \fBNLSPATH\fP 環境変数が存在しないか、 \fBNLSPATH\fP -で指定されたパスの中の どのパスにおいてもメッセージカタログをオープンできない場合、 実装で定義されているパスが使われる。 後者のデフォルトパスは、 -\fIflag\fP 引き数が \fBNL_CAT_LOCALE\fP の場合には \fBLC_MESSAGES\fP のロケール設定に依存し、 \fIflag\fP 引き数が -0 の場合には \fBLANG\fP 環境変数に依存する。 ロケールの \fBLC_MESSAGES\fP を変更すると、 -オープンされているカタログディスクリプタが無効になるかもしれない。 -.LP -\fBcatopen\fP() の \fIflag\fP 引き数は、使用される言語のソースを示すために使われる。 \fBNL_CAT_LOCALE\fP -に設定されると、 \fBLC_MESSAGES\fP の現在のロケール設定が使われる。 それ以外の場合は \fBLANG\fP 環境変数が使われる。 -.LP -関数 \fBcatclose\fP() は \fIcatalog\fP で指定されたメッセージカタログをクローズする。 これは、以降の \fIcatalog\fP -で指定されるメッセージカタログへの全ての参照を無効にする。 -.SH 返り値 -関数 \fBcatopen\fP() が成功すると、 \fInl_catd\fP 型のメッセージカタログディスクリプタを返す。 失敗した場合は -\fI(nl_catdv) \-1\fP を返し、 \fIerrno\fP を設定してエラーを示す。 ここで起こり得るエラーの値には、 \fBopen\fP(2) -の呼び出しの際に起こり得る全てのエラーの値が含まれる。 -.LP -関数 \fBcatclose\fP() は、成功した場合 0 を、失敗した場合 \-1 を返す。 -.SH 環境変数 -.TP -\fBLC_MESSAGES\fP -\fBLC_MESSAGES\fP ロケール設定のソースになることも可能なので、 \fIflag\fP が \fBNL_CAT_LOCALE\fP -に設定されている場合は、使用する言語を決定するのに使われる。 -.TP -\fBLANG\fP -\fIflag\fP が 0 の場合、使用する言語を決定する。 -.SH 準拠 -.\" In XPG 1987, Vol. 3 it says: -.\" .I "The flag argument of catopen is reserved for future use" -.\" .IR "and should be set to 0" . -POSIX.1\-2001. 定数 \fBMCLoadBySet\fP と \fBMCLoadAll\fP に対応するソースが何であるのかがはっきりしていない -(下記参照)。 -.SH 注意 -以上は POSIX.1\-2001 における説明である。 glibc では \fBNL_CAT_LOCALE\fP の値は 1 である (以下の -\fBMCLoadAll\fP と比較のこと)。 デフォルトのパスは場合によって様々であるが、通常は \fI/usr/share/locale\fP -以下のファイルが調べられる。 -.SS "Linux における注意" -これらの関数は libc.so.4.4.4c 以降で使用可能である。 linux の libc4 と libc5 においては、カタログディスクリプタ -\fInl_catd\fP は \fBmmap\fP(2) されたメモリの領域であってファイルディスクリプタではない。 \fBcatopen\fP() の -\fIflag\fP は、 \fBMCLoadBySet\fP (=0) か \fBMCLoadAll\fP (=1) のどちらかである。 -前者の場合、カタログのセットは必要時にロードされる。 後者の場合、最初の \fBcatopen\fP() -の呼び出しのときに全てのカタログがメモリ内にロードされる。 デフォルトのパスは場合によって様々であるが、通常は \fI/etc/locale\fP と -\fI/usr/share/locale\fP 以下のファイルが調べられる。 -.SH 関連項目 -\fBcatgets\fP(3), \fBsetlocale\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cbrt.3 b/draft/man3/cbrt.3 index a8f9786e..0f941437 100644 --- a/draft/man3/cbrt.3 +++ b/draft/man3/cbrt.3 @@ -1,5 +1,6 @@ .\" Copyright 1995 Jim Van Zandt .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" changed `square root' into `cube root' - aeb, 950919 .\" @@ -82,6 +84,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBpow\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ccos.3 b/draft/man3/ccos.3 index 4ac6b154..380a8a75 100644 --- a/draft/man3/ccos.3 +++ b/draft/man3/ccos.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcacos\fP(3), \fBcsin\fP(3), \fBctan\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ccosh.3 b/draft/man3/ccosh.3 index 984093c7..40aea34a 100644 --- a/draft/man3/ccosh.3 +++ b/draft/man3/ccosh.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcacosh\fP(3), \fBcsinh\fP(3), \fBctanh\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ceil.3 b/draft/man3/ceil.3 index ba7e1dc6..2133f09a 100644 --- a/draft/man3/ceil.3 +++ b/draft/man3/ceil.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -83,6 +85,6 @@ SUSv2 と POSIX.1\-2001 にはオーバーフローに関する記述があり \fBfloor\fP(3), \fBlrint\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBround\fP(3), \fBtrunc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cerf.3 b/draft/man3/cerf.3 index df23829a..afb9890b 100644 --- a/draft/man3/cerf.3 +++ b/draft/man3/cerf.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -37,6 +40,6 @@ cerf, cerff, cerfl, cerfc, cerfcf, cerfcl \- 複素数の誤差関数 .SH 関連項目 \fBerf\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cexp.3 b/draft/man3/cexp.3 index 23873480..9350d47a 100644 --- a/draft/man3/cexp.3 +++ b/draft/man3/cexp.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -34,6 +37,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcexp2\fP(3), \fBclog\fP(3), \fBcpow\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cexp2.3 b/draft/man3/cexp2.3 index 21bd958a..cef5de72 100644 --- a/draft/man3/cexp2.3 +++ b/draft/man3/cexp2.3 @@ -1,12 +1,15 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH CEXP2 3 2008\-08\-11 "" "Linux Programmer's Manual" +.TH CEXP2 3 2013\-02\-27 "" "Linux Programmer's Manual" .SH 名前 cexp2, cexp2f, cexp2l \- 複素数の 2 の累乗 .SH 書式 @@ -25,10 +28,10 @@ cexp2, cexp2f, cexp2l \- 複素数の 2 の累乗 これらの関数名は C99 で今後使用するために予約されている。 .SH 可用性 .\" But reserved in NAMESPACE. -バージョン 2.8 時点では、glibc にはまだ実装されていない。 +バージョン 2.17 時点では、glibc にはまだ実装されていない。 .SH 関連項目 \fBcabs\fP(3), \fBcexp\fP(3), \fBclog10\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cfree.3 b/draft/man3/cfree.3 index 9dc63eba..d41b1106 100644 --- a/draft/man3/cfree.3 +++ b/draft/man3/cfree.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -85,6 +86,6 @@ Specification, Edition 2 (Intel386 バイナリ互換仕様、第 2 版) に準 .SH 関連項目 \fBmalloc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cimag.3 b/draft/man3/cimag.3 index 85f7961d..2f486ce8 100644 --- a/draft/man3/cimag.3 +++ b/draft/man3/cimag.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -36,6 +39,6 @@ gcc では __imag__ を使うこともできるが、 これは GNU による拡 .SH 関連項目 \fBcabs\fP(3), \fBcreal\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/clearenv.3 b/draft/man3/clearenv.3 index 687f0d91..8c51db63 100644 --- a/draft/man3/clearenv.3 +++ b/draft/man3/clearenv.3 @@ -1,5 +1,6 @@ .\" Copyright 2001 John Levon .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Additions, aeb, 2001-10-17. .\"******************************************************************* @@ -70,6 +72,6 @@ DG/UX と Tru64 man ページには次のように記されている: \fIenvir .SH 関連項目 \fBgetenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBenviron\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/clock.3 b/draft/man3/clock.3 index 77868d51..b31531f8 100644 --- a/draft/man3/clock.3 +++ b/draft/man3/clock.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 21:27:01 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 14 Jun 2002, Michael Kerrisk .\" Added notes on differences from other UNIX systems with respect to @@ -63,6 +65,6 @@ C の標準規格ではプログラムの開始の時点ではどんな値が返 .SH 関連項目 \fBclock_gettime\fP(2), \fBgetrusage\fP(2), \fBtimes\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/clog.3 b/draft/man3/clog.3 index 1951d310..563f4e6d 100644 --- a/draft/man3/clog.3 +++ b/draft/man3/clog.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -37,6 +40,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcexp\fP(3), \fBclog10\fP(3), \fBclog2\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/clog10.3 b/draft/man3/clog10.3 index 68495930..f33e8ed6 100644 --- a/draft/man3/clog10.3 +++ b/draft/man3/clog10.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -33,6 +36,6 @@ clog10, clog10f, clog10l \- 底が 10 の複素数の対数 .SH 関連項目 \fBcabs\fP(3), \fBcexp\fP(3), \fBclog\fP(3), \fBclog2\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/clog2.3 b/draft/man3/clog2.3 index ab033a8b..c2b0617d 100644 --- a/draft/man3/clog2.3 +++ b/draft/man3/clog2.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -33,6 +36,6 @@ clog2, clog2f, clog2l \- 底が 2 の複素数の対数 .SH 関連項目 \fBcabs\fP(3), \fBcexp\fP(3), \fBclog\fP(3), \fBclog10\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/closedir.3 b/draft/man3/closedir.3 index 17eec7fe..1d95a04b 100644 --- a/draft/man3/closedir.3 +++ b/draft/man3/closedir.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -60,6 +62,6 @@ SVr4, POSIX.1\-2001, 4.3BSD. \fBclose\fP(2), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cmsg.3 b/draft/man3/cmsg.3 index 313d7af7..7957eaf9 100644 --- a/draft/man3/cmsg.3 +++ b/draft/man3/cmsg.3 @@ -1,8 +1,12 @@ .\" This man page is Copyright (C) 1999 Andi Kleen . +.\" +.\" %%%LICENSE_START(VERBATIM_ONE_PARA) .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. +.\" %%%LICENSE_END +.\" .\" $Id: cmsg.3,v 1.8 2000/12/20 18:10:31 ak Exp $ .\"******************************************************************* .\" @@ -139,6 +143,6 @@ msg.msg_controllen = cmsg\->cmsg_len; .PP RFC\ 2292 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/confstr.3 b/draft/man3/confstr.3 index 00fbc0c0..78ab2d94 100644 --- a/draft/man3/confstr.3 +++ b/draft/man3/confstr.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 19:53:02 1993 by Rik Faith (faith@cs.unc.edu) .\" FIXME Many more values for 'name' are supported, some of which .\" are documented under 'info confstr'. @@ -91,7 +93,7 @@ POSIX.1\-2001. char *pathbuf; size_t n; -n = confstr(_CS_PATH,NULL,(size_t) 0); +n = confstr(_CS_PATH, NULL, (size_t) 0); pathbuf = malloc(n); if (pathbuf == NULL) abort(); @@ -101,6 +103,6 @@ confstr(_CS_PATH, pathbuf, n); .SH 関連項目 \fBsh\fP(1), \fBexec\fP(3), \fBsystem\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/conj.3 b/draft/man3/conj.3 index 91413384..f48a36a7 100644 --- a/draft/man3/conj.3 +++ b/draft/man3/conj.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -34,6 +37,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcsqrt\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/copysign.3 b/draft/man3/copysign.3 index d288cc05..17eb7431 100644 --- a/draft/man3/copysign.3 +++ b/draft/man3/copysign.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -80,6 +82,6 @@ C99, POSIX.1\-2001. この関数は IEC 559 で定義されている (また IE .SH 関連項目 \fBsignbit\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cos.3 b/draft/man3/cos.3 index b77148ea..698084e6 100644 --- a/draft/man3/cos.3 +++ b/draft/man3/cos.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -88,6 +90,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD にも準拠し \fBacos\fP(3), \fBasin\fP(3), \fBatan\fP(3), \fBatan2\fP(3), \fBccos\fP(3), \fBsin\fP(3), \fBsincos\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cosh.3 b/draft/man3/cosh.3 index 1b097076..b5381f1a 100644 --- a/draft/man3/cosh.3 +++ b/draft/man3/cosh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -97,6 +99,6 @@ glibc バージョン 2.3.4 以前では、オーバーフローが発生した .SH 関連項目 \fBacosh\fP(3), \fBasinh\fP(3), \fBatanh\fP(3), \fBccos\fP(3), \fBsinh\fP(3), \fBtanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cpow.3 b/draft/man3/cpow.3 index 0a0a99b7..bb5bcaa3 100644 --- a/draft/man3/cpow.3 +++ b/draft/man3/cpow.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -31,6 +34,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBpow\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/cproj.3 b/draft/man3/cproj.3 index 34fb9d19..7f458162 100644 --- a/draft/man3/cproj.3 +++ b/draft/man3/cproj.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -33,6 +36,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/creal.3 b/draft/man3/creal.3 index 96729c07..bd1f9f11 100644 --- a/draft/man3/creal.3 +++ b/draft/man3/creal.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -36,6 +39,6 @@ gcc では __real__ を使うこともできるが、 これは GNU による拡 .SH 関連項目 \fBcabs\fP(3), \fBcimag\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/crypt.3 b/draft/man3/crypt.3 index fb2cf23f..48f2bb97 100644 --- a/draft/man3/crypt.3 +++ b/draft/man3/crypt.3 @@ -1,6 +1,7 @@ .\" Michael Haardt (michael@cantor.informatik.rwth.aachen.de) .\" Sat Sep 3 22:00:30 MET DST 1994 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Sun Feb 19 21:32:25 1995, faith@cs.unc.edu edited details away .\" @@ -175,6 +176,6 @@ SHA\-512 | 86 characters .SH 関連項目 \fBlogin\fP(1), \fBpasswd\fP(1), \fBencrypt\fP(3), \fBgetpass\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/csin.3 b/draft/man3/csin.3 index abeb0726..e44fc3f2 100644 --- a/draft/man3/csin.3 +++ b/draft/man3/csin.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcasin\fP(3), \fBccos\fP(3), \fBctan\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/csinh.3 b/draft/man3/csinh.3 index 6a8ed477..49528682 100644 --- a/draft/man3/csinh.3 +++ b/draft/man3/csinh.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcasinh\fP(3), \fBccosh\fP(3), \fBctanh\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/csqrt.3 b/draft/man3/csqrt.3 index 3261ec0f..4bf5ea8e 100644 --- a/draft/man3/csqrt.3 +++ b/draft/man3/csqrt.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -30,6 +33,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcexp\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ctan.3 b/draft/man3/ctan.3 index 4b25d4c1..a779be45 100644 --- a/draft/man3/ctan.3 +++ b/draft/man3/ctan.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcatan\fP(3), \fBccos\fP(3), \fBcsin\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ctanh.3 b/draft/man3/ctanh.3 index 21e35422..05ce26e8 100644 --- a/draft/man3/ctanh.3 +++ b/draft/man3/ctanh.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -32,6 +35,6 @@ C99. .SH 関連項目 \fBcabs\fP(3), \fBcatanh\fP(3), \fBccosh\fP(3), \fBcsinh\fP(3), \fBcomplex\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ctermid.3 b/draft/man3/ctermid.3 index d8610658..a9395734 100644 --- a/draft/man3/ctermid.3 +++ b/draft/man3/ctermid.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 19:51:06 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* .\" @@ -60,6 +62,6 @@ SVr4, POSIX.1\-2001. .SH 関連項目 \fBttyname\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ctime.3 b/draft/man3/ctime.3 index c8175606..23e3da94 100644 --- a/draft/man3/ctime.3 +++ b/draft/man3/ctime.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -211,6 +213,6 @@ POSIX.1\-2004 によると、 \fBlocaltime\fP() はあたかも \fBtzset\fP(3) \fBdifftime\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3), \fBtimegm\fP(3), \fBtzset\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/daemon.3 b/draft/man3/daemon.3 index 05dff7ad..8d25b8d0 100644 --- a/draft/man3/daemon.3 +++ b/draft/man3/daemon.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 .\" Added mentioning of glibc weirdness wrt unistd.h. 5/11/98, Al Viro @@ -71,6 +73,6 @@ POSIX.1\-2001 にはない。 同様の関数が BSD には見られる。 \fBda .SH 関連項目 \fBfork\fP(2), \fBsetsid\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dbopen.3 b/draft/man3/dbopen.3 index 2fe8d6d2..1dbcf85f 100644 --- a/draft/man3/dbopen.3 +++ b/draft/man3/dbopen.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94 .\" @@ -296,10 +298,10 @@ typedef \fIDBT\fP は \*(lqdata base thang\*(rqの略語であるが、これが どのアクセスメソッドも、同時アクセス、ロック、トランザクション の仕組みは備えていない。 .SH 関連項目 \fBbtree\fP(3), \fBhash\fP(3), \fBmpool\fP(3), \fBrecno\fP(3) -.sp + \fILIBTP: Portable, Modular Transactions for UNIX\fP, Margo Seltzer, Michael Olson, USENIX proceedings, Winter 1992. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/des_crypt.3 b/draft/man3/des_crypt.3 index a0e123e5..efff53c1 100644 --- a/draft/man3/des_crypt.3 +++ b/draft/man3/des_crypt.3 @@ -7,6 +7,10 @@ .\" Copyright Sun Microsystems, Inc (and is provided for unrestricted use, .\" see other Sun RPC sources). .\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) +.\" can be distributed under GPL. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -76,6 +80,6 @@ Code Book) モードで暗号化する。 このモードでは (個々の) デ .SH 関連項目 \fBdes\fP(1), \fBcrypt\fP(3), \fBxcrypt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/difftime.3 b/draft/man3/difftime.3 deleted file mode 100644 index c97cfe7c..00000000 --- a/draft/man3/difftime.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 19:48:17 1993 by Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DIFFTIME 3 2010\-02\-25 GNU "Linux Programmer's Manual" -.SH 名前 -difftime \- 時刻の間隔の計算 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBdouble difftime(time_t \fP\fItime1\fP\fB, time_t \fP\fItime0\fP\fB);\fP -.fi -.SH 説明 -関数 \fBdifftime\fP() は時刻 \fItime0\fP から 時刻 \fItime1\fP までの経過時間を \fIdouble\fP -型で返す。各々の時刻はカレンダー時間で指定する。 つまり、紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの -経過時間を秒単位で指定する。 -.SH 準拠 -SVr4, 4.3BSD, C89, C99. -.SH 注意 -POSIX システムでは \fItime_t\fP は数値型なので、引き算の際に起こる可能性のあるオーバーフローを 気にしない場合は、単純に -.RS -.nf - -#define difftime(t1,t0) (double)(t1 \- t0) - -.fi -.RE -と定義できる。 他のシステムでは、データ型 \fItime_t\fP に何か別のエンコーディングが使われていることがあり、 -その場合には直接引き算を行うことはできない。 -.SH 関連項目 -\fBdate\fP(1), \fBgettimeofday\fP(2), \fBtime\fP(2), \fBctime\fP(3), \fBgmtime\fP(3), -\fBlocaltime\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dirfd.3 b/draft/man3/dirfd.3 index 5c2d1490..c47fa636 100644 --- a/draft/man3/dirfd.3 +++ b/draft/man3/dirfd.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -80,6 +82,6 @@ POSIX.1\-2008. この関数は BSD 拡張であった。 4.3BSD\-Reno には存 \fBopen\fP(2), \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/div.3 b/draft/man3/div.3 index 0836b635..8c6e839b 100644 --- a/draft/man3/div.3 +++ b/draft/man3/div.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -89,6 +91,6 @@ SVr4, 4.3BSD, C89, C99. .SH 関連項目 \fBabs\fP(3), \fBremainder\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dl_iterate_phdr.3 b/draft/man3/dl_iterate_phdr.3 deleted file mode 100644 index 5745ce5e..00000000 --- a/draft/man3/dl_iterate_phdr.3 +++ /dev/null @@ -1,149 +0,0 @@ -.\" Copyright (c) 2003 by Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DL_ITERATE_PHDR 3 2007\-05\-18 GNU "Linux Programmer's Manual" -.SH 名前 -dl_iterate_phdr \- 共有オブジェクトのリストを辿る -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP - -\fBint dl_iterate_phdr(\fP - \fBint (*\fPcallback\fB) (struct dl_phdr_info *\fPinfo\fB,\fP - \fBsize_t\fP size\fB, void *\fPdata\fB),\fP - \fBvoid *\fPdata\fB);\fP -.fi -.SH 説明 -\fBdl_iterate_phdr\fP() 関数を使うと、アプリケーションは実行時に どの共有オブジェクトをロードしたかを見つけることができる。 - -\fBdl_iterate_phdr\fP() 関数はアプリケーションの共有オブジェクトのリストを辿り、 各オブジェクトに対して関数 \fIcallback\fP -を 1 回ずつ呼び出す。 これは全ての共有オブジェクトが処理されるか、 \fIcallback\fP が 0 以外の値を返すまで行われる。 - -各々の \fIcallback\fP 呼び出しは 3 つの引き数を受け取る: \fIinfo\fP は共有オブジェクトの情報を保持する構造体へのポインタである。 -\fIsize\fP は \fIinfo\fP で指される構造体のサイズである。 \fIdata\fP は呼び出し元プログラムから -\fBdl_iterate_phdr\fP() の呼び出しの (同じく \fIdata\fP という名前の) 第 2 引き数として渡される値のコピーである。 - -\fIinfo\fP 引き数は、以下のような型の構造体である。 - -.in +4n -.nf -struct dl_phdr_info { - ElfW(Addr) dlpi_addr; /* オブジェクトのベースアドレス */ - const char *dlpi_name; /* (null 文字で終端された) - オブジェクト名 */ - const ElfW(Phdr) *dlpi_phdr; /* このオブジェクトの - ELF プログラムヘッダの - 配列へのポインタ */ - ElfW(Half) dlpi_phnum; /* \fIdlpi_phdr\fP のアイテム数 */ -}; -.fi -.in - -(\fIElfW\fP() マクロ定義は引き数をハードウェアアーキテクチャに適した ELF データ型の名前に変換する。 たとえば、32 -ビットプラットフォームでは ElfW(Addr) はデータ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッダファイル -\fI\fP と \fI\fP にある。 - -\fIdlpi_addr\fP フィールドは共有オブジェクトのベースアドレス (つまり、共有オブジェクトの仮想メモリアドレスと、 ファイル -(このファイルから共有オブジェクトがロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 \fIdlpi_name\fP は null -文字で終端された文字列であり、 このパス名のファイルから共有オブジェクトがロードされる。 - -\fIdlpi_phdr\fP と \fIdlpi_phnum\fP フィールドの意味を理解するには、 ELF -共有オブジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対応するプログラムヘッダ (そのセグメントを説明する) -を持っていることを知っている必要がある。 \fIdlpi_phdr\fP フィールドは、この共有オブジェクトのプログラムヘッダの配列へのポインタである。 -\fIdlpi_phnum\fP は、この配列のサイズを表す。 - -これらのプログラムヘッダは以下のような形式の構造体である: -.in +4n -.nf - -typedef struct -{ - Elf32_Word p_type; /* セグメントの型 */ - Elf32_Off p_offset; /* セグメントのファイルオフセット */ - Elf32_Addr p_vaddr; /* セグメントの仮想アドレス */ - Elf32_Addr p_paddr; /* セグメントの物理アドレス */ - Elf32_Word p_filesz; /* ファイルにおけるセグメントサイズ */ - Elf32_Word p_memsz; /* メモリにおけるセグメントサイズ */ - Elf32_Word p_flags; /* セグメントフラグ */ - Elf32_Word p_align; /* セグメントの配置 (alignment) */ -} Elf32_Phdr; -.fi -.in - -特定のプログラムヘッダ \fIx\fP の仮想メモリにおける位置は、以下の式で計算できる点に注意すること: - -.nf - addr == info\->dlpi_addr + info\->dlpi_phdr[x].p_vaddr; -.fi -.SH 返り値 -\fBdl_iterate_phdr\fP() 関数は最後の \fIcallback\fP の呼び出しで返された値を返す。 -.SH バージョン -\fBdl_iterate_phdr\fP() は glibc のバージョン 2.2.4 以降でサポートされている。 -.SH 準拠 -\fBdl_iterate_phdr\fP() 関数は Linux 固有であり、移植を考えたアプリケーションでは避けるべきである。 -.SH 例 -以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 各共有オブジェクトについて、このプログラムは オブジェクトの ELF -セグメントがロードされた 仮想アドレスの一覧を表示する。 - -.nf -#define _GNU_SOURCE -#include -#include -#include - -static int -callback(struct dl_phdr_info *info, size_t size, void *data) -{ - int j; - - printf("name=%s (%d segments)\en", info\->dlpi_name, - info\->dlpi_phnum); - - for (j = 0; j < info\->dlpi_phnum; j++) - printf("\et\et header %2d: address=%10p\en", j, - (void *) (info\->dlpi_addr + info\->dlpi_phdr[j].p_vaddr)); - return 0; -} - -int -main(int argc, char *argv[]) -{ - dl_iterate_phdr(callback, NULL); - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBldd\fP(1), \fBobjdump\fP(1), \fBreadelf\fP(1), \fBdlopen\fP(3), \fBelf\fP(5), -\fBld.so\fP(8), オンラインのいろいろな場所で入手できる \fIExecutable and Linking Format -Specification\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dlopen.3 b/draft/man3/dlopen.3 deleted file mode 100644 index cdf16acc..00000000 --- a/draft/man3/dlopen.3 +++ /dev/null @@ -1,307 +0,0 @@ -.\" -*- nroff -*- -.\" Copyright 1995 Yggdrasil Computing, Incorporated. -.\" written by Adam J. Richter (adam@yggdrasil.com), -.\" with typesetting help from Daniel Quinlan (quinlan@yggdrasil.com). -.\" and Copyright 2003 Michael Kerrisk (mtk.manpages@gmail.com). -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" -.\" Modified by David A. Wheeler 2000-11-28. -.\" Applied patch by Terran Melconian, aeb, 2001-12-14. -.\" Modified by Hacksaw 2003-03-13. -.\" Modified by Matt Domsch, 2003-04-09: _init and _fini obsolete -.\" Modified by Michael Kerrisk 2003-05-16. -.\" Modified by Walter Harms: dladdr, dlvsym -.\" Modified by Petr Baudis , 2008-12-04: dladdr caveat -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DLOPEN 3 2008\-12\-06 Linux "Linux Programmer's Manual" -.SH 名前 -dlclose, dlerror, dlopen, dlsym \- 動的リンクを行うローダへの プログラミングインターフェース -.SH 書式 -\fB#include \fP -.sp -\fBvoid *dlopen(const char *\fP\fIfilename\fP\fB, int \fP\fIflag\fP\fB);\fP -.sp -\fBchar *dlerror(void);\fP -.sp -\fBvoid *dlsym(void *\fP\fIhandle\fP\fB, const char *\fP\fIsymbol\fP\fB);\fP -.sp -\fBint dlclose(void *\fP\fIhandle\fP\fB);\fP -.sp -\fI\-ldl\fP でリンクする。 -.SH 説明 -\fBdlopen\fP(), \fBdlsym\fP(), \fBdlclose\fP(), \fBdlerror\fP() の 4つの関数は、動的リンク (dynamic -linking) を行うローダへの インタフェースを実装したものである。 -.SS dlerror() -関数 \fBdlerror\fP() は、前回 \fBdlerror\fP() が呼び出された後に、 \fBdlopen\fP(), \fBdlsym\fP(), -\fBdlclose\fP() のいずれかで最後に発生したエラーについての説明メッセージを返す。 -初期化後または前回呼び出された後で、エラーが発生していなければ NULL を返す。 -.SS dlopen() -関数 \fBdlopen\fP() は、NULL 終端された文字列 \fIfilename\fP で指定されたファイル名の動的ライブラリ (dynamic -library) をロードし、 その動的ライブラリへの内部「ハンドル」を返す。 \fIfilename\fP が NULL -の場合、メイン・プログラムへのハンドルが返される。 \fIfilename\fP がスラッシュ ("/") -を含む場合、(相対か絶対かの)パス名として解釈される。 それ以外の場合、動的リンカは以下の手順でライブラリを検索する (詳細は \fBld.so\fP(8) -を参照): -.IP o 4 -(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれており、 DT_RUNPATH -タグが含まれていない場合、DT_RPATH タグに書かれている ディレクトリ・リストを検索する。 -.IP o -プログラムの開始時に環境変数 \fBLD_LIBRARY_PATH\fP にコロン区切りのディレクトリのリストが定義されていれば、 -この環境変数に定義されたディレクトリが検索される (セキュリティ上の理由で、この変数は set\-UID や set\-GID された -プログラムの場合は無視される)。 -.IP o -(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて -いる場合、そのタグに書かれているディレクトリ・リストを検索する。 -.IP o -キャッシュファイル \fI/etc/ld.so.cache\fP の中に \fIfilename\fP のエントリが入っているかをチェックする -(\fB/etc/ld.so.cache\fP は \fBldconfig\fP(8) によって管理されている)。 -.IP o -ディレクトリ \fI/lib\fP と \fI/usr/lib\fP をこの順番で検索する。 -.PP -そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラリも動的リンカが同じ検索ルールに基づいて 自動的にロードする -(それらのライブラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。 -.PP -\fIflag\fP には以下の 2 つの値のいずれかを含めなければならない: -.TP -\fBRTLD_LAZY\fP -lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボルを参照するコードが実行されるときにのみ -行われる。シンボルが一度も参照されなかった場合には、そのシンボルは 解決されないままとなる。 (lazy binding -は関数参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で直ちに解決される。) -.TP -\fBRTLD_NOW\fP -この値が指定されるか、環境変数 \fBLD_BIND_NOW\fP に空でない文字列が設定された場合、 ライブラリ中の未定義のシンボルを全て解決してから -\fBdlopen\fP() は復帰する。解決できなかったときにはエラーが返される。 -.PP -以下の値のうち 0 個以上を論理和 (OR) の形で \fIflag\fP に追加することもできる: -.TP -\fBRTLD_GLOBAL\fP -このライブラリで定義されているシンボルが、これより後でロードされる ライブラリのシンボル解決で利用できるようになる。 -.TP -\fBRTLD_LOCAL\fP -このフラグは \fBRTLD_GLOBAL\fP の反対の意味であり、どちらのフラグも指定されなかった場合は こちらがデフォルトとなる。 -このライブラリで定義されているシンボルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。 -.TP -\fBRTLD_NODELETE\fP (glibc 2.2 以降) -.\" (But it is present on Solaris.) -\fBdlclose\fP() 中にそのライブラリをアンロードしない。 そのため、同じライブラリをこれ以降に \fBdlopen\fP() -で再度ロードした場合に、ライブラリ内の静的変数は再初期化されない。 このフラグは POSIX.1\-2001 では規定されていない。 -.TP -\fBRTLD_NOLOAD\fP (glibc 2.2 以降) -.\" (But it is present on Solaris.) -.\" -そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれているかを検査するのに 利用できる (\fBdlopen\fP() -は、ライブラリが組み込まれていなければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返す)。 -また、すでにロードされているライブラリのフラグを昇格させるのにも 利用できる。例えば、過去に \fBRTLD_LOCAL\fP でロードしたライブラリを -\fBRTLD_NOLOAD\ |\ RTLD_GLOBAL\fP で再オープンすることができる。 このフラグは POSIX.1\-2001 -では規定されていない。 -.TP -\fBRTLD_DEEPBIND\fP (glibc 2.3.4 以降) -.\" Inimitably described by UD in -.\" http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html. -このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つまり、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる -同じ名前のグローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 このフラグは POSIX.1\-2001 では規定されていない。 -.PP -\fIfilename\fP が NULL ポインタである場合は、 返されるハンドルはメイン・プログラムのものになる。 このハンドルが \fBdlsym\fP() -に渡されると、シンボルの検索は、メイン・プログラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 \fBdlopen\fP() によって -\fBRTLD_GLOBAL\fP フラグ付きでロードされた全ての共有ライブラリ、の順序で行われる。 -.PP -オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるライブラリか、 \fBRTLD_GLOBAL\fP -フラグ付きで既にオープンされているライブラリを使って解決される。 実行ファイルが "\-rdynamic" フラグ ("\-\-export\-dynamic" -も同義) 付きでリンクされている場合は、実行ファイル中のグローバルシンボルも、 動的にロードされるライブラリ内の参照解決に用いられる。 -.PP -同じライブラリが \fBdlopen\fP() によって再度ロードされた場合には、同じファイルハンドルが返される。 dl -ライブラリはライブラリハンドルのリンク数を管理している。 したがって動的ライブラリは \fBdlclose\fP() が \fBdlopen\fP() -と同じ回数だけ呼び出されない限りアンロードされない。 \fB_init\fP() ルーチンは一度だけ呼び出される (\fB_init\fP() -が存在する場合のみ)。 \fBRTLD_NOW\fP が指定されて \fBdlopen\fP() が呼び出された場合、 \fBRTLD_LAZY\fP -で以前にロードされたライブラリのシンボル解決が実行されることがある。 -.PP -\fBdlopen\fP() は、何らかの理由で失敗すると NULL を返す。 -.SS dlsym() -関数 \fBdlsym\fP() は、 \fBdlopen\fP() が返した動的ライブラリの「ハンドル」と、 NULL -終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされたメモリのアドレスを返す。 -シンボルが、指定されたライブラリと、指定されたライブラリがロードされる際に \fBdlopen\fP() -が自動的にロードしてライブラリのいずれにも見つからない場合には、 \fBdlsym\fP() は NULL を返す (\fBdlsym\fP() -による検索は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際にはシンボルの値自体が NULL になることもある (そのため、 -\fBdlsym\fP() の返り値が NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認する正しい方法は以下の通りである: -\fBdlerror\fP() を呼び出して以前のエラー状態をクリアしてから、 \fBdlsym\fP() を呼び出す。その後でもう一度 -\fBdlerror\fP() を呼び出して、 \fBdlerror\fP() の返り値を変数に保存し、保存した値が NULL であるか判定する。 -.PP -\fBRTLD_DEFAULT\fP と \fBRTLD_NEXT\fP という二つの特別な擬似ハンドルがある。 \fBRTLD_DEFAULT\fP -は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシンボルが最初に現れるところを探す。 \fBRTLD_NEXT\fP -は、ライブラリ検索順序の中で現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、別の共有ライブラリの -関数へのラッパーを提供することができる。 -.SS dlclose() -関数 \fBdlclose\fP() は動的ライブラリのハンドル \fIhandle\fP の参照カウントを 1 減らす。参照カウントが 0 -になり、ロードされている 他のライブラリからそのライブラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。 -.LP -関数 \fBdlclose\fP() は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。 -.SS "廃止されたシンボル _init() と _fini()" -リンカは \fB_init\fP と \fB_fini\fP を特別なシンボルと解釈する。 ある動的ライブラリで \fB_init\fP() -という名前のルーチンがエクスポートされていれば、 そのコードは、ライブラリのロード後、かつ \fBdlopen\fP() が復帰する前に実行される。 -その動的ライブラリで \fB_fini\fP() という名前のルーチンがエクスポートされていれば、 -ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動ファイルに対するリンクを避ける必要がある場合、 \fBgcc\fP(1) -のコマンドラインに \fI\-nostartfiles\fP オプションを指定すればよい。 -.LP -.\" void _init(void) __attribute__((constructor)); -.\" void _fini(void) __attribute__((destructor)); -このルーチンや、gcc のオプション \fB\-nostartfiles\fP や \fB\-nostdlib\fP は使用しないことを推奨する。 -これらを使うと、望ましくない動作をすることがある。 なぜなら、(特別な措置が行われない限り) これらの constructor/destructor -ルーチンは実行されないからである。 -.LP -代わりに、ライブラリは \fB__attribute__((constructor))\fP や \fB__attribute__((destructor))\fP -の関数属性を使って必要なルーチンをエクスポートするのがよい。 これらについては gcc の info ページを参照のこと。 constructor -ルーチンは \fBdlopen\fP() が復帰する前に実行され、 destructor ルーチンは \fBdlclose\fP() が復帰する前に実行される。 -.SS "GNU での拡張: dladdr() と dlvsym()" -glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプは以下の通りである。 -.sp -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint dladdr(void *\fP\fIaddr\fP\fB, Dl_info *\fP\fIinfo\fP\fB);\fP -.sp -\fBvoid *dlvsym(void *\fP\fIhandle\fP\fB, char *\fP\fIsymbol\fP\fB, char *\fP\fIversion\fP\fB);\fP -.fi -.PP -関数 \fBdladdr\fP() は、関数のポインタを引き数にとり、関数の名前と関数が定義されている ファイルの解決を試みる。情報は \fIDl_info\fP -構造体に格納される。 -.sp -.in +4n -.nf -typedef struct { - const char *dli_fname; /* Pathname of shared object that - contains address */ - void *dli_fbase; /* Address at which shared object - is loaded */ - const char *dli_sname; /* Name of nearest symbol with address - lower than \fIaddr\fP */ - void *dli_saddr; /* Exact address of symbol named - in \fIdli_sname\fP */ -} Dl_info; -.fi -.in -.PP -\fIaddr\fP にマッチするシンボルが見つからなかった場合、 \fIdli_sname\fP と \fIdli_saddr\fP は NULL にセットされる。 -.PP -\fBdladdr\fP() は、エラー時には 0 を返し、成功した場合は 0 以外を返す。 -.PP -関数 \fBdlvsym\fP() は \fBdlsym\fP() と同じ動作をするが、バージョンの文字列を渡す引き数が 追加されている点が異なる -(\fBdlvsym\fP() はバージョン 2.1 以降の glibc で提供されている)。 -.SH 準拠 -POSIX.1\-2003 には \fBdlclose\fP(), \fBdlerror\fP(), \fBdlopen\fP(), \fBdlsym\fP(). -の記載がある。 -.SH 注意 -.\" .LP -.\" The string returned by -.\" .BR dlerror () -.\" should not be modified. -.\" Some systems give the prototype as -.\" .sp -.\" .in +5 -.\" .B "const char *dlerror(void);" -.\" .in -シンボル \fBRTLD_DEFAULT\fP と \fBRTLD_NEXT\fP は \fI\fP で定義されており、 -\fI\fP のインクルード前に \fB_GNU_SOURCE\fP が定義されている場合のみ有効となる。 - -glibc 2.2.3 以降では、 \fBatexit\fP(3) を使って、ライブラリがアンロードされる際に自動的に呼び出される 終了ハンドラ (exit -handler) を登録することができる。 -.SS 歴史 -dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には \fBdladdr\fP() もあったが、 \fBdlvsym\fP() -はなかった。 -.SH バグ -時として、 \fBdladdr\fP() に渡した関数ポインタは驚くような値になることがある。 いくつかのアーキテクチャ (特に i386 と -x86_64) では、 引き数として使用した関数が動的リンクライブラリで定義されるもので あったとしても、 \fIdli_fname\fP と -\fIdli_fbase\fP が \fBdladdr\fP() を呼び出したオブジェクトを参照した状態で終わっていることがある。 -.PP -問題は、関数ポインタの解決は今なおコンパイル時に行われるが、 そのポインタは元のオブジェクトの \fIplt\fP (Procedure Linkage -Table) セクションを指しているだけだという点にある (オブジェクト自体は、ダイナミックリンカによってシンボルの解決が行われた後に、 -関数の呼び出しを行う)。 これに対処する方法としては、 コードを position\-independent でコンパイルするという方法がある。 -そうすると、コンパイラはコンパイル時にポインタを用意することができず、 今日の \fBgcc\fP(1) では、実行時に \fBdladdr\fP() -に関数ポインタを渡す前に、 \fIgot\fP (Global Offset Table) から最終的なシンボルのアドレスをロードするだけの -コードが生成される。 -.SH 例 -math ライブラリをロードし、2.0 の余弦を表示する -.nf - -#include -#include -#include - -int -main(int argc, char **argv) -{ - void *handle; - double (*cosine)(double); - char *error; - - handle = dlopen("libm.so", RTLD_LAZY); - if (!handle) { - fprintf(stderr, "%s\en", dlerror()); - exit(EXIT_FAILURE); - } - - dlerror(); /* Clear any existing error */ - - /* Writing: cosine = (double (*)(double)) dlsym(handle, "cos"); - would seem more natural, but the C99 standard leaves - casting from "void *" to a function pointer undefined. - The assignment used below is the POSIX.1\-2003 (Technical - Corrigendum 1) workaround; see the Rationale for the - POSIX specification of dlsym(). */ - -.\" But in fact "gcc -O2 -Wall" will complain about the preceding cast. - *(void **) (&cosine) = dlsym(handle, "cos"); - - if ((error = dlerror()) != NULL) { - fprintf(stderr, "%s\en", error); - exit(EXIT_FAILURE); - } - - printf("%f\en", (*cosine)(2.0)); - dlclose(handle); - exit(EXIT_SUCCESS); -} -.fi -.PP -このプログラムを "foo.c" に書いたとすると、以下のコマンドでプログラムを ビルドできる。 -.in +4n -.LP - gcc \-rdynamic \-o foo foo.c \-ldl -.in -.PP -\fB_init\fP() と \fB_fini\fP() をエクスポートするライブラリの場合は 以下のようにしてコンパイルする必要がある。 例として -\fIbar.c\fP をコンパイルする場合: -.in +4n -.LP - gcc \-shared \-nostartfiles \-o bar bar.c -.in -.SH 関連項目 -\fBld\fP(1), \fBldd\fP(1), \fBdl_iterate_phdr\fP(3), \fBrtld\-audit\fP(7), \fBld.so\fP(8), -\fBldconfig\fP(8), ld.so info pages, gcc info pages, ld info pages -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dprintf.3 b/draft/man3/dprintf.3 index a1601c78..81cd2d8e 100644 --- a/draft/man3/dprintf.3 +++ b/draft/man3/dprintf.3 @@ -1,5 +1,7 @@ .\" Copyright (C) 2001 Andries Brouwer +.\" Text fragments inspired by Martin Schulze . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,8 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Text fragments inspired by Martin Schulze . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -86,6 +87,6 @@ _GNU_SOURCE .SH 関連項目 \fBprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/drand48.3 b/draft/man3/drand48.3 index da8dbf1b..475bd905 100644 --- a/draft/man3/drand48.3 +++ b/draft/man3/drand48.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -130,6 +132,6 @@ SVID 3 ではこれらの関数は時代遅れと宣言されている。 SVID 3 .SH 関連項目 \fBrand\fP(3), \fBrandom\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/drand48_r.3 b/draft/man3/drand48_r.3 index abba7ea7..1230253d 100644 --- a/draft/man3/drand48_r.3 +++ b/draft/man3/drand48_r.3 @@ -1,5 +1,6 @@ .\" Copyright 2003 Walter Harms, 2004 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Created 2004-10-31. Text taken from a page by Walter Harms, 2003-09-08 .\" @@ -93,6 +95,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 .SH 関連項目 \fBdrand48\fP(3), \fBrand\fP(3), \fBrandom\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/dysize.3 b/draft/man3/dysize.3 index 1570213b..84afab1a 100644 --- a/draft/man3/dysize.3 +++ b/draft/man3/dysize.3 @@ -1,5 +1,6 @@ .\" Copyright 2001 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" aeb: some corrections .\"******************************************************************* @@ -53,6 +55,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 .SH 関連項目 \fBstrftime\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ecvt.3 b/draft/man3/ecvt.3 index f38e9296..ac179121 100644 --- a/draft/man3/ecvt.3 +++ b/draft/man3/ecvt.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -89,6 +91,6 @@ Linux libc4 と libc5 では \fIndigits\fP の型は \fIsize_t\fP となって .SH 関連項目 \fBecvt_r\fP(3), \fBgcvt\fP(3), \fBqecvt\fP(3), \fBsetlocale\fP(3), \fBsprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ecvt_r.3 b/draft/man3/ecvt_r.3 index 425bc53c..a152d9fb 100644 --- a/draft/man3/ecvt_r.3 +++ b/draft/man3/ecvt_r.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" This replaces an earlier man page written by Walter Harms .\" . @@ -73,6 +75,6 @@ _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 .SH 関連項目 \fBecvt\fP(3), \fBqecvt\fP(3), \fBsprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/encrypt.3 b/draft/man3/encrypt.3 index fe475006..104d3bc2 100644 --- a/draft/man3/encrypt.3 +++ b/draft/man3/encrypt.3 @@ -1,6 +1,7 @@ .\" Copyright 2000 Nicolás Lichtmaier .\" Created 2000-07-22 00:52-0300 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,6 +17,11 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\" Modified 2002-07-23 19:21:35 CEST 2002 Walter Harms .\" .\" @@ -118,6 +124,6 @@ main(void) .\" .BR fcrypt (3) \fBcbc_crypt\fP(3), \fBcrypt\fP(3), \fBecb_crypt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/end.3 b/draft/man3/end.3 index 582b4f30..ae54a9c9 100644 --- a/draft/man3/end.3 +++ b/draft/man3/end.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +94,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBobjdump\fP(1), \fBreadelf\fP(1), \fBsbrk\fP(2), \fBelf\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/endian.3 b/draft/man3/endian.3 index 0fb17670..15885899 100644 --- a/draft/man3/endian.3 +++ b/draft/man3/endian.3 @@ -3,6 +3,7 @@ .\" a few pieces remain from an earlier version .\" Copyright (C) 2008, Nanno Langstraat .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +23,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -141,6 +143,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBbyteorder\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/envz_add.3 b/draft/man3/envz_add.3 index 4d027d35..94dd6cad 100644 --- a/draft/man3/envz_add.3 +++ b/draft/man3/envz_add.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" based on the description in glibc source and infopages .\" .\" Corrections and additions, aeb @@ -90,6 +94,6 @@ main(int argc, char *argv[], char *envp[]) .SH 関連項目 \fBargz_add\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/erf.3 b/draft/man3/erf.3 index ba602a77..70af3236 100644 --- a/draft/man3/erf.3 +++ b/draft/man3/erf.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -103,6 +105,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD にも準拠し .SH 関連項目 \fBcerf\fP(3), \fBerfc\fP(3), \fBexp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/erfc.3 b/draft/man3/erfc.3 index 361a498c..75a995b0 100644 --- a/draft/man3/erfc.3 +++ b/draft/man3/erfc.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -101,6 +103,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD にも準拠し .SH 関連項目 \fBcerf\fP(3), \fBerf\fP(3), \fBexp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/err.3 b/draft/man3/err.3 index 238ae1ad..c4fa46aa 100644 --- a/draft/man3/err.3 +++ b/draft/man3/err.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" From: @(#)err.3 8.1 (Berkeley) 6/9/93 .\" $FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.5 2001/08/17 15:42:32 ru Exp $ @@ -121,6 +123,6 @@ if ((fd = open(block_device, O_RDONLY, 0)) == \-1) .SH 関連項目 \fBerror\fP(3), \fBexit\fP(3), \fBperror\fP(3), \fBprintf\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/errno.3 b/draft/man3/errno.3 index 324c011a..f7976c75 100644 --- a/draft/man3/errno.3 +++ b/draft/man3/errno.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 5 Oct 2002, Modified by Michael Kerrisk .\" Updated for POSIX.1 2001 @@ -480,6 +481,6 @@ errno\fP のように) 定義するのが一般的であった。 \fBこのよ .SH 関連項目 \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/error.3 b/draft/man3/error.3 index edc72b17..4d10c47e 100644 --- a/draft/man3/error.3 +++ b/draft/man3/error.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 2006 Justin Pryzby .\" and Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -19,6 +20,7 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END .\" .\" References: .\" glibc manual and source @@ -81,6 +83,6 @@ error_print_progname \- glibc のエラー書き出し関数 \fBerr\fP(3), \fBerrno\fP(3), \fBexit\fP(3), \fBperror\fP(3), \fBprogram_invocation_name\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ether_aton.3 b/draft/man3/ether_aton.3 index aef38e0e..01d07926 100644 --- a/draft/man3/ether_aton.3 +++ b/draft/man3/ether_aton.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 2002 Ian Redfern (redferni@logica.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -99,6 +99,6 @@ glibc 2.2.5 での \fBether_line\fP() の実装はおかしい。 .SH 関連項目 \fBethers\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/euidaccess.3 b/draft/man3/euidaccess.3 deleted file mode 100644 index 1ff47038..00000000 --- a/draft/man3/euidaccess.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EUIDACCESS 3 2010\-11\-01 "" "Linux Programmer's Manual" -.SH 名前 -euidaccess, eaccess \- ファイルへのアクセス権を実効ユーザでチェックする -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP -.sp -\fBint euidaccess(const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB);\fP -\fBint eaccess(const char *\fP\fIpathname\fP\fB, int \fP\fImode\fP\fB);\fP -.fi -.SH 説明 -\fBaccess\fP(2) と同様、 \fBeuidaccess\fP() は引き数 \fIpathname\fP で指定されたファイルの許可 -(permission) と存在のチェックを行う。 \fBaccess\fP(2) はプロセスの実 (real) ユーザID / 実グループID -を用いてチェックを行うのに対し、 \fBeuidaccess\fP() は実効 (effective) ID を用いる。 - -\fImode\fP は \fBR_OK\fP, \fBW_OK\fP, \fBX_OK\fP, \fBF_OK\fP の一つ以上から構成されるマスクである。 \fBR_OK\fP, -\fBW_OK\fP, \fBX_OK\fP, \fBF_OK\fP は \fBaccess\fP(2) と同じ意味を持つ。 - -\fBeaccess\fP() は \fBeuidaccess\fP() の同義語であり、他のいくつかのシステムとの互換性のために提供されている。 -.SH 返り値 -成功した場合 (要求した全てについて許可が得られたら)、ゼロが返される。 エラーの場合 (\fImode\fP -の少なくとも一つのビットで要求した許可がなかった場合や、 他のエラーが起こった場合)、\-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -\fBaccess\fP(2) と同じ。 -.SH バージョン -\fBeaccess\fP() 関数は glibc のバージョン 2.4 で追加された。 -.SH 準拠 -.\" e.g., FreeBSD 6.1. -これらの関数は非標準である。 他のいくつかのシステムには \fBeaccess\fP() 関数がある。 -.SH 注意 -\fI警告\fP: -ある操作を実行する前にこの関数を使ってファイルに対するプロセスのアクセス許可を -確認してから、その情報に基づいて操作を行うと、競合条件が発生する可能性がある。 -これは二つの操作の間でファイルのアクセス許可が変化する場合があるからである。 -一般的には、必要な操作のみを行い、その際に発生したアクセス許可に関するエラーを -処理する方が安全である。 - -この関数は常にシンボリックリンクの展開を行う。 -シンボリックリンクのアクセス許可を確認する必要がある場合は、 -フラグ \fBAT_EACCESS\fP と \fBAT_SYMLINK_NOFOLLOW\fP を付けて -\fBfaccessat(2)\fP を使うこと。 -.SH 関連項目 -\fBaccess\fP(2), \fBchmod\fP(2), \fBchown\fP(2), \fBfaccessat\fP(2), \fBopen\fP(2), -\fBsetgid\fP(2), \fBsetuid\fP(2), \fBstat\fP(2), \fBcredentials\fP(7), -\fBpath_resolution\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/exec.3 b/draft/man3/exec.3 deleted file mode 100644 index 53496f80..00000000 --- a/draft/man3/exec.3 +++ /dev/null @@ -1,140 +0,0 @@ -.\" Copyright (c) 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)exec.3 6.4 (Berkeley) 4/19/91 -.\" -.\" Converted for Linux, Mon Nov 29 11:12:48 1993, faith@cs.unc.edu -.\" Updated more for Linux, Tue Jul 15 11:54:18 1997, pacman@cqc.com -.\" Modified, 24 Jun 2004, Michael Kerrisk -.\" Added note on casting NULL -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EXEC 3 2010\-09\-25 GNU "Linux Programmer's Manual" -.SH 名前 -execl, execlp, execle, execv, execvp, execvpe \- ファイルを実行する -.SH 書式 -\fB#include \fP -.sp -\fBextern char **environ;\fP -.sp -\fBint execl(const char *\fP\fIpath\fP\fB, const char *\fP\fIarg\fP\fB, ...);\fP -.br -\fBint execlp(const char *\fP\fIfile\fP\fB, const char *\fP\fIarg\fP\fB, ...);\fP -.br -\fBint execle(const char *\fP\fIpath\fP\fB, const char *\fP\fIarg\fP\fB,\fP -.br -\fB ..., char * const \fP\fIenvp\fP\fB[]);\fP -.br -\fBint execv(const char *\fP\fIpath\fP\fB, char *const \fP\fIargv\fP\fB[]);\fP -.br -\fBint execvp(const char *\fP\fIfile\fP\fB, char *const \fP\fIargv\fP\fB[]);\fP -.br -\fBint execvpe(const char *\fP\fIfile\fP\fB, char *const \fP\fIargv\fP\fB[],\fP -.br -\fB char *const \fP\fIenvp\fP\fB[]);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBexecvpe\fP(): _GNU_SOURCE -.SH 説明 -\fBexec\fP() ファミリーの関数は現在のプロセスイメージを新しいプロセスイメージで置き 換える。このマニュアルで説明されている関数は -\fBexecve\fP(2) のフロントエンドである。 (現在のプロセスイメージの置き換えについての詳細は \fBexecve\fP(2) -のマニュアルを参照) -.PP -これらの関数の最初の引き数は、実行されるファイルの名前である。 -.PP -関数 \fBexecl\fP(), \fBexeclp\fP(), \fBexecle\fP() の \fIconst char *arg\fP とそれに続く省略部分は -\fIarg0\fP, \fIarg1\fP, \&..., \fIargn\fP とみなされる。 これらには、実行されるプログラムで利用可能な引き数のリストを指定する -(引き数のリストは NULL で終端された文字列へのポインタから構成される)。 慣習として、最初の引き数は、実行されるファイル名 -へのポインタにする。引き数のリストは必ず NULL で終わらなければならず、これらの関数は可変長引き数関数なので、 このポインタは \fI(char *) -NULL\fP とキャストしなければならない。 -.PP -関数 \fBexecv\fP(), \fBexecvp\fP(), \fBexecvpe\fP() は、利用可能な引き数リスト (NULL で終端された文字列への -ポインタの配列) を新しいプログラムに渡す。 慣習として、最初の引き数は実行されるファイル名へ のポインタにする。ポインタの配列は必ず NULL -で終わらなければならない。 -.PP -関数 \fBexecle\fP(), \fBexecvpe\fP() では、呼び出し元が引き数 \fIenvp\fP -経由実行されるプログラムの環境を指定することができる。 \fIenvp\fP 引き数は、NULL で終端された文字列へのポインタの配列であり、 NULL -ポインタで終わらなければならない。 他の関数では、呼び出し元のプロセスの外部変数 \fBenviron\fP から新しいプロセス用の環境を与える。 -.SS "execlp() と execvp() の特別な動作" -.PP -関数 \fBexeclp\fP(), \fBexecvp\fP(), \fBexecvpe\fP() は、指定されたファイル名がスラッシュ (/) を含んでいない場合、 -シェルと同じ動作で実行可能なファイルを探索する。 ファイルの検索は、環境変数 \fBPATH\fP -で指定されたコロン区切りのディレクトリのパス名のリストを対象に行われる。 この変数が定義されていない場合、パス名のリストのデフォルト値として、 -カレントディレクトリの後ろに、 \fIconfstr(_CS_PATH)\fP が返すディレクトリのリストをつなげた値が使用される (この -\fBconfstr\fP(3) の呼び出しでは通常 "/bin:/usr/bin" が返される)。 - -指定されたファイル名がスラッシュを含む場合、 \fBPATH\fP は無視され、指定されたパス名のファイルが実行される。 - -さらに、いくつかのエラーは特別に処理される。 - -ファイルが実行ファイルでない場合 (このとき呼び出そうとした \fBexecve\fP(2) はエラー \fBEACCES\fP -で失敗する)、これらの関数は残りの検索パスの検索を続ける。 他にファイルが見つからなくなった場合 \fIerrno\fP に \fBEACCES\fP -を設定し復帰する。 - -ファイルのヘッダが実行形式として認識できない場合 (このとき呼び出そうとした \fBexecve\fP(2) はエラー \fBENOEXEC\fP -で失敗する)、これらの関数はそのファイルを最初の引き数としたシェル (\fI/bin/sh\fP) を実行する -(これにも失敗した場合、これ以上の検索は行われない)。 -.SH 返り値 -\fBexec\fP() 群の関数が復帰するのは、エラーが発生した場合のみである。 返り値は \-1 で、 \fIerrno\fP にエラーの内容がセットされる。 -.SH エラー -これら全ての関数は失敗する場合がある。その場合、 \fBexecve\fP(2) に対して規定されたエラーが \fIerrno\fP に設定される。 -.SH バージョン -\fBexecvpe\fP() 関数は glibc 2.11 で初めて登場した。 -.SH 準拠 -POSIX.1\-2001, POSIX.1\-2008. - -\fBexecvpe\fP() 関数は GNU による拡張である。 -.SH 注意 -Linux 以外のシステムには、 (環境変数 \fBPATH\fP が定義されていないときの) デフォルトのパスにおいて、カレント・ディレクトリが -\fI/bin\fP と \fI/usr/bin\fP の後ろに配置されるものもある。 これはトロイの木馬対策のためである。 Linux -では、デフォルトのパスに、昔ながらの「現在のディレクトリを 先に探索」というルールを使っている。 -.PP -ファイルを実行しようとしている間にエラーが発生した時の \fBexeclp\fP() と \fBexecvp\fP() -のふるまいについて歴史的な慣習はあるが、伝統的に文書として記載されておらず、 POSIX 標準でも規定されていない。BSD (またおそらく他のシステム) -では、 \fBETXTBSY\fP が発生した場合、自動的に中断 (sleep) し再試行を行う。 Linux -はそれをハードエラーとして取り扱い即座に復帰する。 -.PP -伝統的に、関数 \fBexeclp\fP() と \fBexecvp\fP() は、上で説明したエラーと、これら 2 つの関数自身が返す \fBENOMEM\fP と -\fBE2BIG\fP 以外の全てのエラーを無視していたが、 今では、上で説明した以外のエラーが発生した場合でも、 返ってくるよう変更された。 -.SH 関連項目 -\fBsh\fP(1), \fBexecve\fP(2), \fBfork\fP(2), \fBptrace\fP(2), \fBfexecve\fP(3), -\fBenviron\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/exit.3 b/draft/man3/exit.3 deleted file mode 100644 index 2cbecac2..00000000 --- a/draft/man3/exit.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" Copyright (C) 2001 Andries Brouwer . -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EXIT 3 2009\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -exit \- プロセスの正常終了 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBvoid exit(int \fP\fIstatus\fP\fB);\fP -.fi -.SH 説明 -\fBexit\fP() 関数は、プロセスを正常に終了させ、 \fIstatus & 0377\fP という値を親プロセスへ返す (\fBwait\fP(2) -を参照)。 -.LP -\fBatexit\fP(3) や \fBon_exit\fP(3) によって 登録された全ての関数は、それらが登録された順番と逆順にコールされる。 -(登録された関数の中で \fBatexit\fP(3) or \fBon_exit\fP(3) を使って exit -処理中に実行される追加の関数を登録することができる; 新規に登録された関数は、この後で実行される関数リストの先頭に 追加される。) -これらの関数の一つが返らなかった場合 (例えば、その関数が \fB_exit\fP(2) を呼び出したり、シグナルで自分自身を kill した場合)、 -残りの関数はどれも呼び出されず、それ以降の exit 処理 (特に \fBstdio\fP(3) ストリームのフラッシュなど) は中止される。 ある関数が -\fBatexit\fP(3) や \fBon_exit\fP(3) を使って複数回登録されていた場合、 その関数は登録されたのと同じ回数だけ呼び出される。 -.LP -オープン中の \fBstdio\fP(3) ストリームは全てフラッシュされて、クローズされる。 \fBtmpfile\fP(3) -によって作成されたファイルは削除される。 -.LP -C 標準では \fBEXIT_SUCCESS\fP と \fBEXIT_FAILURE\fP という 2つの定数が -定義されている。それぞれ正常終了と異常終了を示すもので、 \fBexit\fP() として渡すことができる。 -.SH 返り値 -\fBexit\fP() 関数は返らない。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001, C89, C99. -.SH 注意 -.LP -\fBatexit\fP(3) や \fBon_exit\fP(3) を使って登録された関数の中で \fBexit\fP() か \fBlongjmp\fP(3) -が呼び出された場合、 何が起こるかは未定義である。 -.LP -\fBEXIT_SUCCESS\fP と \fBEXIT_FAILURE\fP を使うと、0 や (1 や \-1 といった) 0 以外の値を使うのに比べて -(UNIX 以外の環境に) 移植するのがいくらか簡単になる。 特に VMS は別の方式を用いている。 -.LP -BSD は終了コードを標準化しようとしている; \fI\fP を参照すること。 -.LP -\fBexit\fP() の後、親プロセスに終了ステータスが渡されなければならない。 終了ステータスの渡し方には 3 つの場合がある。 親プロセスが -\fBSA_NOCLDWAIT\fP を設定した場合、 または \fBSIGCHLD\fP ハンドラを \fBSIG_IGN\fP に設定した場合、 -ステータスは破棄される。 親プロセスが子プロセスの終了を待っている場合、 親プロセスに終了ステータスが伝えられる。 どちらの場合でも exit -のプロセスは直ちに終了する。 「終了ステータスを関知せず終了も待たない」 ということを親プロセスが指示していない場合、 exit プロセスは -(終了ステータスを表す 1 バイトのみを保持する) 「ゾンビ」プロセスになる。 これにより、後から \fBwait\fP(2) 関数を呼び出すことで、 -親プロセスは終了ステータスを知ることができる。 -.LP -\fBSIGCHLD\fP シグナルのサポートが実装されている場合、 このシグナルは親プロセスに送られる。 親プロセスが \fBSA_NOCLDWAIT\fP -を設定した場合、 \fBSIGCHLD\fP シグナルが送られるかどうかは定義されていない。 -.LP -そのプロセスがセッションのリーダーで、 そのプロセスの制御端末がそのセッションの制御端末である場合、 -この制御端末のフォアグラウンドプロセスグループにある 各プロセスに \fBSIGHUP\fP シグナルが送られ、端末がセッションから切り離される。 -これにより新しい制御プロセスを取得することができる。 -.LP -プロセスが終了することにより、プロセスグループが孤立して、 そのグループのメンバーのうちのどれかが停止した場合、 プロセスグループの各プロセスに対して -\fBSIGHUP\fP シグナルが送られ、続いて \fBSIGCONT\fP シグナルが送られる。 孤立した (orphaned) プロセスグループの説明は -\fBsetpgid\fP(2) を参照。 -.SH 関連項目 -\fB_exit\fP(2), \fBsetpgid\fP(2), \fBwait\fP(2), \fBatexit\fP(3), \fBon_exit\fP(3), -\fBtmpfile\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/exp.3 b/draft/man3/exp.3 index cff1856a..dab19862 100644 --- a/draft/man3/exp.3 +++ b/draft/man3/exp.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -95,6 +97,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBcbrt\fP(3), \fBcexp\fP(3), \fBexp10\fP(3), \fBexp2\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/exp10.3 b/draft/man3/exp10.3 index e2a5926c..f378ff71 100644 --- a/draft/man3/exp10.3 +++ b/draft/man3/exp10.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -71,6 +73,6 @@ exp10, exp10f, exp10l \- 基数が 10 の指数関数 .SH 関連項目 \fBcbrt\fP(3), \fBexp\fP(3), \fBexp2\fP(3), \fBlog10\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/exp2.3 b/draft/man3/exp2.3 index 58ffac18..35e40a46 100644 --- a/draft/man3/exp2.3 +++ b/draft/man3/exp2.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -81,6 +83,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBcbrt\fP(3), \fBcexp2\fP(3), \fBexp\fP(3), \fBexp10\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/expm1.3 b/draft/man3/expm1.3 index d58d982d..dbbdb334 100644 --- a/draft/man3/expm1.3 +++ b/draft/man3/expm1.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 2002-07-27 Walter Harms .\" (walter.harms@informatik.uni-oldenburg.de) @@ -124,6 +126,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBexp\fP(3), \fBlog\fP(3), \fBlog1p\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fabs.3 b/draft/man3/fabs.3 index fb7b7e05..21504553 100644 --- a/draft/man3/fabs.3 +++ b/draft/man3/fabs.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -78,6 +80,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBabs\fP(3), \fBcabs\fP(3), \fBceil\fP(3), \fBfloor\fP(3), \fBlabs\fP(3), \fBrint\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fclose.3 b/draft/man3/fclose.3 deleted file mode 100644 index 1fc52107..00000000 --- a/draft/man3/fclose.3 +++ /dev/null @@ -1,83 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)fclose.3 6.7 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 15:19:14 1993, faith@cs.unc.edu -.\" -.\" Modified 2000-07-22 by Nicolás Lichtmaier -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FCLOSE 3 2009\-02\-23 GNU "Linux Programmer's Manual" -.SH 名前 -fclose \- ストリームを閉じる -.SH 書式 -\fB#include \fP -.sp -\fBint fclose(FILE *\fP\fIfp\fP\fB);\fP -.SH 説明 -\fBfclose\fP() 関数は、 \fIfp\fP が指すストリームを (バッファリングされて -いた全ての出力データを \fBfflush\fP(3) を用いて書き込んで) フラッシュし、 -対応するファイルディスクリプタをクローズする。 -.SH 返り値 -関数が正常に終了すると 0 が返される。 正常に終了しなかった場合には \fBEOF\fP が返され、 \fIerrno\fP がエラーを示すために設定される。 -どちらの場合も、そのストリームに対する (\fBfclose\fP() へのさらなる呼び出しを含む) それ以上のアクセスは 未定義の動作を生じさせる。 -.SH エラー -.TP -\fBEBADF\fP -.\" This error cannot occur unless you are mixing ANSI C stdio operations and -.\" low-level file operations on the same stream. If you do get this error, -.\" you must have closed the stream's low-level file descriptor using -.\" something like close(fileno(fp)). -\fIfp\fP の基となるファイルディスクリプタが不正である。 -.PP -\fBfclose\fP() 関数はこれ以外にも \fBclose\fP(2), \fBwrite\fP(2), \fBfflush\fP(3) -のルーチンで失敗することがある。その場合は \fIerrno\fP が、失敗したルーチンで設定された値に設定される。 -.SH 準拠 -C89, C99. -.SH 注意 -\fBfclose\fP() は C ライブラリで提供されたユーザー空間バッファをフラッシュするだけで ある点に注意すること。 -データを確実に物理的にディスクに記録するためには カーネルバッファも (\fBsync\fP(2) や \fBfsync\fP(2) を用いて) -フラッシュしなければならない。 -.SH 関連項目 -\fBclose\fP(2), \fBfcloseall\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBsetbuf\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fcloseall.3 b/draft/man3/fcloseall.3 index 361f4114..fd67f3e4 100644 --- a/draft/man3/fcloseall.3 +++ b/draft/man3/fcloseall.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2006 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -48,6 +49,6 @@ fcloseall \- 開いているすべてのストリームを閉じる .SH 関連項目 \fBclose\fP(2), \fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBsetbuf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fdim.3 b/draft/man3/fdim.3 index dd329334..4d87fb53 100644 --- a/draft/man3/fdim.3 +++ b/draft/man3/fdim.3 @@ -1,7 +1,10 @@ .\" Copyright 2003 Walter Harms, Andries Brouwer .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -64,6 +67,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfmax\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fenv.3 b/draft/man3/fenv.3 deleted file mode 100644 index e20d69da..00000000 --- a/draft/man3/fenv.3 +++ /dev/null @@ -1,197 +0,0 @@ -.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" 2000-08-14 added GNU additions from Andreas Jaeger -.\" 2000-12-05 some changes inspired by acahalan's remarks -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FENV 3 2010\-10\-31 Linux "Linux Programmer's Manual" -.SH 名前 -feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, -fetestexcept, fegetenv, fegetround, feholdexcept, fesetround, fesetenv, -feupdateenv, feenableexcept, fedisableexcept, fegetexcept \- 浮動小数点の丸めと例外の取り扱い -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint feclearexcept(int \fP\fIexcepts\fP\fB);\fP -.br -\fBint fegetexceptflag(fexcept_t *\fP\fIflagp\fP\fB, int \fP\fIexcepts\fP\fB);\fP -.br -\fBint feraiseexcept(int \fP\fIexcepts\fP\fB);\fP -.br -\fBint fesetexceptflag(const fexcept_t *\fP\fIflagp\fP\fB, int \fP\fIexcepts\fP\fB);\fP -.br -\fBint fetestexcept(int \fP\fIexcepts\fP\fB);\fP -.sp -\fBint fegetround(void);\fP -.br -\fBint fesetround(int \fP\fIrounding_mode\fP\fB);\fP -.sp -\fBint fegetenv(fenv_t *\fP\fIenvp\fP\fB);\fP -.br -\fBint feholdexcept(fenv_t *\fP\fIenvp\fP\fB);\fP -.br -\fBint fesetenv(const fenv_t *\fP\fIenvp\fP\fB);\fP -.br -\fBint feupdateenv(const fenv_t *\fP\fIenvp\fP\fB);\fP -.fi -.sp -\fI\-lm\fP でリンクする。 -.SH 説明 -これらの 11 個の関数は C99 で定義されており、 浮動小数点の丸めと例外 (オーバーフロー、ゼロによる除算など) の取り扱いを規定する。 -.SS 例外 -\fIdivide\-by\-zero\fP 例外は、有限の数値に対する演算が、 無限大の答えを生成するような場合に起こる。 -.LP -\fIoverflow\fP 例外は、結果が浮動小数点数値で表記されなければならないのに、 その絶対値が表現可能な浮動小数点数の (有限の) 最大値よりも -(ずっと) 大きくなってしまうような場合に起こる。 -.LP -\fIunderflow\fP 例外は、結果が浮動小数点数値で表記されなければならないのに、 その絶対値が正の正規化浮動小数点数の最小値よりも -小さくなってしまう (そして 非正規化数で表現した場合に非常に精度を失ってしまう) ような場合に起こる。 -.LP -\fIinexact\fP 例外は、丸め後の演算結果が、 無限精度の結果と異なるような場合に起こる。 \fIoverflow\fP 例外か \fIunderflow\fP -例外が起きたときには、常にこの例外も起こる。 -.LP -\fIinvalid\fP 例外は、演算結果がうまく定義できない結果を生じるような場合に起こる。 例えば 0/0、無限大 \- 無限大、sqrt(\-1) など。 -.SS 例外処理 -例外の表し方には 2 つの方法がある。 ひとつは、単一のビットで (例外があったかなかったかを) 表す方法で、 -これらのビットは整数のあるビット位置に対応し、ビットの対応付けは 実装依存である。もう一つは、内部構造体を使って表す方法で、 -この方法の方が例外に関するより多くの情報 (例えば例外が起こったコードのアドレスなど) が含まれる。 -.LP -\fBFE_DIVBYZERO\fP, \fBFE_INEXACT\fP, \fBFE_INVALID\fP, \fBFE_OVERFLOW\fP, -\fBFE_UNDERFLOW\fP の各マクロは、それぞれ対応する例外の処理を 実装がサポートしている場合に定義される。 -このとき対応するビットをそれぞれ定義することになるので、 例外処理関数の呼び出しを、例えば \fBFE_OVERFLOW\fP|\fBFE_UNDERFLOW\fP -という整数の引き数を用いて行うことができる。 他の例外もサポートされているかもしれない。 \fBFE_ALL_EXCEPT\fP -マクロは、サポートされている例外に対応するビットが全てセットされている (サポートされている例外全ての論理和である)。 -.PP -\fBfeclearexcept\fP() 関数は、引き数 \fIexcepts\fP のビット列で指定された例外をクリアする -(処理は実装でサポートされている例外についてのみ行われる)。 -.LP -\fBfegetexceptflag\fP() 関数は、引き数 \fIexcepts\fP で指定された例外フラグの状態を \fI*flagp\fP -が指す内部オブジェクトに保存する。 -.LP -\fBferaiseexcept\fP() 関数は、 \fIexcepts\fP のビット列で指定された例外のうち、 実装がサポートしているものを発生させる。 -.LP -\fBfesetexceptflag\fP() 関数は、 \fIexcepts\fP で指定された例外に対応するフラグの状態を \fI*flagp\fP -の値に設定する。 \fI*flagp\fP の値は、この関数を呼ぶ前に \fBfegetexceptflag\fP() -関数を呼び出して取得しておかなければならない (このとき、 \fBfegetexceptflag\fP() の最後の引き数には、 -\fBfesetexceptflag\fP() に渡す \fIexcepts\fP のすべてのビットを含む値を指定すること)。 -.LP -\fBfetestexcept\fP() 関数は、 \fIexcepts\fP 引き数でセットされているビットのうち、 現在設定されている例外に対応するビットが -1 になったワードを返す。 -.SS 丸めモード -丸めモードは、結果が仮数部だけで正確に表現できない際に、 浮動小数点操作の結果をどのように扱うかを決めるものである。 -さまざまな丸めモードを提供することができる: 最も近い値に丸める (デフォルト)、 (正の無限大に向かって) 大きくなる方向に丸める、 -(負の無限大に向かって) 小さくなる方向に丸める、 0 に向けて丸める、である。 - -\fBFE_TONEAREST\fP, \fBFE_UPWARD\fP, \fBFE_DOWNWARD\fP, \fBFE_TOWARDZERO\fP -の各マクロは、それぞれ対応する丸めの方向を 実装がサポートしている場合に定義される。 -.LP -\fBfegetround\fP() 関数は現在の丸めモードに対応するマクロを返す。 -.LP -\fBfesetround\fP() 関数は丸めモードを引き数に与えられた値にし、 成功したらゼロを返す。 - -C99 と POSIX.1\-2008 では \fBFLT_ROUNDS\fP という識別子が規定されており、 \fI\fP -で定義されている。この識別子は 浮動小数点数の加算についての実装定義された丸め動作を表し、 以下のいずれかの値を持つ。 -.IP \-1 -丸めモードは決められていない。 -.IP 0 -0 に向けて丸める。 -.IP 1 -最も近い数に丸める。 -.IP 2 -正の無限大に向けて丸める。 -.IP 3 -負の無限大に向けて丸める。 -.PP -他の値はマシン依存であり、標準的ではない丸めモードである。 -.PP -\fBFLT_ROUNDS\fP の値には、 \fBfesetround\fP() で設定された現在の丸めモードが反映されるべきである -(但し、「バグ」の節を参照)。 -.SS 浮動小数点関連の環境 -浮動小数点関連の環境の全体は、 制御モードや状態フラグも含め、 \fIfenv_t\fP 型の内部オブジェクト一つで取り扱うことができる。 -デフォルトの環境は、 (\fIconst fenv_t *\fP 型の) \fBFE_DFL_ENV\fP で示されるものである。 -これはプログラムの開始時に構築される環境であり、 ISO C では、丸めモードを最も近い値への丸め (\fBFE_TONEAREST\fP) -に設定し、すべての例外をクリアし、不停止 (nonstop) (例外が起きても継続する) モードとするように規定されている。 -.LP -\fBfegetenv\fP() 関数は、現在の浮動小数点環境を、オブジェクト \fI*envp\fP に保存する。 -.LP -\fBfeholdexcept\fP() 関数も同じ動作を行い、 さらに可能であれば、全ての例外フラグをクリアし、 nonstop (例外時にも実行を継続) -モードに設定する。 -.LP -\fBfesetenv\fP() 関数は、浮動小数点環境を、オブジェクト \fI*envp\fP から取り出した値に戻す。 -このオブジェクトは、有効であることが事前に分かっていなければならない。 例えば、 \fBfegetenv\fP() や \fBfeholdexcept\fP() -を呼び出した結果であるとか、 \fBFE_DFL_ENV\fP に等しいとかでなければならない。 この関数の呼び出しは例外を発生しない。 -.LP -\fBfeupdateenv\fP() 関数は、オブジェクト \fI*envp\fP が表現する浮動小数点環境をインストールする。 -ただし、現在発生している例外はクリアされない。 この関数を呼んだ後に立っている例外は、 関数を呼ぶ前の値と \fI*envp\fP の値とのビットごとの OR -を取ったものになる。 上記と同様に、オブジェクト \fI*envp\fP は、事前に有効であることが分かっていなければならない。 -.SH 返り値 -.\" Earlier seven of these functions were listed as returning void. -.\" This was corrected in Corrigendum 1 (ISO/IEC 9899:1999/Cor.1:2001(E)) -.\" of the C99 Standard. -これらの関数は、成功の場合 0 を返し、エラーが発生すると 0 以外を返す。 -.SH バージョン -これらの関数は glibc バージョン 2.1 で初めて登場した。 -.SH 準拠 -IEC 60559 (IEC 559:1989), ANSI/IEEE 854, C99, POSIX.1\-2001. -.SH 注意 -.SS "glibc での注意" -可能な場合には、GNU C Library はマクロ \fBFE_NOMASK_ENV\fP -を定義する。このマクロはすべての例外でトラップが生じるような環境を表す。 \fB#ifdef\fP を使ってこのマクロをテストできる。これは -\fB_GNU_SOURCE\fP が定義されている場合に限って定義される。 C99 標準は浮動小数点マスク (例えば特定のフラグでのトラップなど) -の各ビットの設定方法については定義していない。 バージョン 2.2 以降の glibc は、 \fBfeenableexcept\fP() 関数と -\fBfedisableexcept\fP() 関数をサポートしており、 各々の浮動小数点トラップを設定できるようになっている。 また -\fBfegetexcept\fP() によって状態の問い合わせもできるようになっている。 -.sp -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -.br -\fB#include \fP -.sp -\fBint feenableexcept(int \fP\fIexcepts\fP\fB);\fP -.br -\fBint fedisableexcept(int \fP\fIexcepts\fP\fB);\fP -.br -\fBint fegetexcept(void);\fP -.br -.fi -.LP -\fBfeenableexcept\fP() 関数と \fBfedisableexcept\fP() 関数は \fIexcepts\fP -によって表現される各例外のトラップを有効 (無効) にする。 成功した場合は直前に有効になっていた例外のセットを返す。 失敗した場合は \-1 を返す。 -\fBfegetexcept\fP() 関数は現在有効になっている例外全てからなるセットを返す。 -.SH バグ -.\" Aug 08, glibc 2.8 -.\" See http://gcc.gnu.org/ml/gcc/2002-02/msg01535.html -C99 の規定では、 \fBFLT_ROUNDS\fP の値には \fBfesetround\fP() -で設定された現在の丸めモードが反映されるべきであるとされている。 現在のところ、 このようになっておらず、 \fBFLT_ROUNDS\fP は常に値 1 -となる。 -.SH 関連項目 -\fBmath_error\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ferror.3 b/draft/man3/ferror.3 index b1479516..7d7ef10f 100644 --- a/draft/man3/ferror.3 +++ b/draft/man3/ferror.3 @@ -5,6 +5,7 @@ .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -32,6 +33,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)ferror.3 6.8 (Berkeley) 6/29/91 .\" @@ -83,6 +85,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 .SH 関連項目 \fBopen\fP(2), \fBfdopen\fP(3), \fBstdio\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fexecve.3 b/draft/man3/fexecve.3 index 22683372..b9169c63 100644 --- a/draft/man3/fexecve.3 +++ b/draft/man3/fexecve.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -81,6 +81,6 @@ Linux では、 \fBfexecve\fP() は \fBproc\fP(5) ファイルシステムを .SH 関連項目 \fBexecve\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fflush.3 b/draft/man3/fflush.3 deleted file mode 100644 index b6f19321..00000000 --- a/draft/man3/fflush.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)fflush.3 5.4 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu -.\" -.\" Modified 2000-07-22 by Nicolás Lichtmaier -.\" Modified 2001-10-16 by John Levon -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FFLUSH 3 2009\-09\-06 GNU "Linux Programmer's Manual" -.SH 名前 -fflush \- ストリームの内容を強制的に出力(フラッシュ)する -.SH 書式 -\fB#include \fP -.sp -\fBint fflush(FILE *\fP\fIstream\fP\fB);\fP -.SH 説明 -出力ストリームに関しては、 \fBfflush\fP() は、ユーザー空間でバッファリングされているすべてのデータを 指定された出力に書き出す -(フラッシュする)、 もしくはストリーム \fIstream\fP の下位にある書き込み関数を用いてこのストリームを更新する。 入力ストリームに関しては、 -\fBfflush\fP() は、対応するファイルから取得されたが、アプリケーションからは 読み出されていないバッファデータを全て破棄する。 -ストリームは開いた状態のままであり、 この関数によって何の影響も受けない。 -.PP -\fIstream\fP 引数が .BR NULL ならば、 \fBfflush\fP() は開いている\fIすべての\fP出力ストリームをフラッシュする。 -.PP -これらの処理をロックせずに行いたいときは、 \fBunlocked_stdio\fP(3) を参照のこと。 -.SH 返り値 -成功すると 0 が返される。 その他の場合には \fBEOF\fP が返され、 \fIerrno\fP が、エラーに対応した値に設定される。 -.SH エラー -.TP -\fBEBADF\fP -\fIStream\fP は開いているストリームではない。 あるいはストリームは書き込み用ではない。 -.PP -\fBfflush\fP() 関数は \fBwrite\fP(2) に関して規定されているエラーで失敗することもある。 この場合 \fIerrno\fP -もその値に設定される。 -.SH 準拠 -C89, C99, POSIX.1\-2001, POSIX.1\-2008. - -.\" Verified on: Solaris 8. -標準では、入力ストリームに対する動作は規定されていない。 他のほとんどの実装は Linux と同じ動作をする。 -.SH 注意 -\fBfflush\fP() は、 C ライブラリが与えているユーザー空間のバッファしかフラッシュしない。 -データが物理的にディスクに保存されることを保証したければ、 カーネルバッファもフラッシュしなければならない。 これには例えば \fBsync\fP(2) や -\fBfsync\fP(2) を用いる。 -.SH 関連項目 -\fBfsync\fP(2), \fBsync\fP(2), \fBwrite\fP(2), \fBfclose\fP(3), \fBfopen\fP(3), -\fBsetbuf\fP(3), \fBunlocked_stdio\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ffs.3 b/draft/man3/ffs.3 index 3737015f..b428d14c 100644 --- a/draft/man3/ffs.3 +++ b/draft/man3/ffs.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -87,6 +89,6 @@ BSD システムでは \fI\fP にプロトタイプがある。 .SH 関連項目 \fBmemchr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fgetgrent.3 b/draft/man3/fgetgrent.3 index 46b8383c..881e08c2 100644 --- a/draft/man3/fgetgrent.3 +++ b/draft/man3/fgetgrent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -77,6 +79,6 @@ SVr4. \fBendgrent\fP(3), \fBfgetgrent_r\fP(3), \fBfopen\fP(3), \fBgetgrent\fP(3), \fBgetgrgid\fP(3), \fBgetgrnam\fP(3), \fBputgrent\fP(3), \fBsetgrent\fP(3), \fBgroup\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fgetpwent.3 b/draft/man3/fgetpwent.3 index e1b458f1..8bb525a2 100644 --- a/draft/man3/fgetpwent.3 +++ b/draft/man3/fgetpwent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -87,6 +89,6 @@ SVr4. \fBendpwent\fP(3), \fBfgetpwent_r\fP(3), \fBfopen\fP(3), \fBgetpw\fP(3), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBputpwent\fP(3), \fBsetpwent\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fgetwc.3 b/draft/man3/fgetwc.3 index dbaf9215..317163c5 100644 --- a/draft/man3/fgetwc.3 +++ b/draft/man3/fgetwc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -56,6 +58,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfgetws\fP(3), \fBfputwc\fP(3), \fBungetwc\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fgetws.3 b/draft/man3/fgetws.3 index 4f04f0fe..6c869be1 100644 --- a/draft/man3/fgetws.3 +++ b/draft/man3/fgetws.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -49,6 +51,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfgetwc\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/finite.3 b/draft/man3/finite.3 index ae93fc98..e70aa12c 100644 --- a/draft/man3/finite.3 +++ b/draft/man3/finite.3 @@ -1,5 +1,6 @@ .\" Copyright 2004 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -104,6 +106,6 @@ _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 .SH 関連項目 \fBfpclassify\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/flockfile.3 b/draft/man3/flockfile.3 index 450d3c45..f442b7a5 100644 --- a/draft/man3/flockfile.3 +++ b/draft/man3/flockfile.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -86,6 +88,6 @@ POSIX.1\-2001. .SH 関連項目 \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/floor.3 b/draft/man3/floor.3 index 9d20dc8f..79c6ab83 100644 --- a/draft/man3/floor.3 +++ b/draft/man3/floor.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -79,6 +81,6 @@ SUSv2 と POSIX.1\-2001 にはオーバーフローに関する記述があり \fBceil\fP(3), \fBlrint\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBround\fP(3), \fBtrunc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fma.3 b/draft/man3/fma.3 index 598b2aae..0c0a0777 100644 --- a/draft/man3/fma.3 +++ b/draft/man3/fma.3 @@ -1,7 +1,11 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" -.\" Distributed under GPL, 2002-07-27 Walter Harms +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) +.\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Modified 2004-11-15, Added further text on FLT_ROUNDS .\" as suggested by AEB and Fabian Kreutz .\" @@ -98,6 +102,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBremainder\fP(3), \fBremquo\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fmax.3 b/draft/man3/fmax.3 index 7b9f37b7..5c935108 100644 --- a/draft/man3/fmax.3 +++ b/draft/man3/fmax.3 @@ -1,7 +1,10 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -51,6 +54,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfmin\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fmemopen.3 b/draft/man3/fmemopen.3 index 119b60a0..e408be01 100644 --- a/draft/man3/fmemopen.3 +++ b/draft/man3/fmemopen.3 @@ -1,6 +1,10 @@ .\" Copyright 2005 walter harms (walter.harms@informatik.uni-oldenburg.de), .\" and Copyright 2005, 2012 Michael Kerrisk +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under the GPL. +.\" %%%LICENSE_END +.\" .\" 2008-12-04, Petr Baudis : Document open_wmemstream() .\" .\"******************************************************************* @@ -206,6 +210,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBfopen\fP(3), \fBfopencookie\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fmin.3 b/draft/man3/fmin.3 index 1d897fb6..9ad011d7 100644 --- a/draft/man3/fmin.3 +++ b/draft/man3/fmin.3 @@ -1,7 +1,10 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -51,6 +54,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfmax\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fmod.3 b/draft/man3/fmod.3 index fbee175a..336e0f9e 100644 --- a/draft/man3/fmod.3 +++ b/draft/man3/fmod.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -99,6 +101,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBremainder\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fmtmsg.3 b/draft/man3/fmtmsg.3 index 3daa74d0..a5371a87 100644 --- a/draft/man3/fmtmsg.3 +++ b/draft/man3/fmtmsg.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" adapted glibc info page .\" .\" This should run as 'Guru Meditation' (amiga joke :) @@ -210,6 +214,6 @@ main(void) .SH 関連項目 \fBaddseverity\fP(3), \fBperror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fnmatch.3 b/draft/man3/fnmatch.3 index 444757e9..790f9229 100644 --- a/draft/man3/fnmatch.3 +++ b/draft/man3/fnmatch.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 19:35:54 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Mon Oct 16 00:16:29 2000 following Joseph S. Myers .\" @@ -73,6 +75,6 @@ POSIX.2. \fBFNM_FILE_NAME\fP, \fBFNM_LEADING_DIR\fP, \fBFNM_CASEFOLD\fP フラ .SH 関連項目 \fBsh\fP(1), \fBglob\fP(3), \fBscandir\fP(3), \fBwordexp\fP(3), \fBglob\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fopen.3 b/draft/man3/fopen.3 deleted file mode 100644 index 62dc3648..00000000 --- a/draft/man3/fopen.3 +++ /dev/null @@ -1,205 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)fopen.3 6.8 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu -.\" Modified, aeb, 960421, 970806 -.\" Modified, joey, aeb, 2002-01-03 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FOPEN 3 2012\-04\-22 GNU "Linux Programmer's Manual" -.SH 名前 -fopen, fdopen, freopen \- ストリームを開く関数 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBFILE *fopen(const char *\fP\fIpath\fP\fB, const char *\fP\fImode\fP\fB);\fP - -\fBFILE *fdopen(int \fP\fIfd\fP\fB, const char *\fP\fImode\fP\fB);\fP - -\fBFILE *freopen(const char *\fP\fIpath\fP\fB, const char *\fP\fImode\fP\fB, FILE *\fP\fIstream\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBfdopen\fP(): _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE -.SH 説明 -\fBfopen\fP() 関数は、 \fIpath\fP で指定された名前のファイルを開き、ストリームと結びつける。 -.PP -引数 \fImode\fP は、以下に続く文字のひとつから始まる文字列へのポインタであ -る (以下の述べる、追加の文字が後に続くこともある): -.TP -\fBr\fP -テキストファイルを読み出すために開く。 ストリームはファイルの先頭に位置される。 -.TP -\fBr+\fP -読み出しおよび書き込みするために開く。 ストリームはファイルの先頭に位置される。 -.TP -\fBw\fP -ファイルを書き込みのために開く。 ファイルが既に存在する場合には長さゼロに切り詰める。 ファイルがなかった場合には新たに作成する。 -ストリームはファイルの先頭に位置される。 -.TP -\fBw+\fP -読み出しおよび書き込みのために開く。 ファイルが存在していない場合には新たに作成する。 存在している場合には長さゼロに切り詰められる。 -ストリームはファイルの先頭に位置される。 -.TP -\fBa\fP -追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合には新たに作成する。 ストリームはファイルの最後に位置される。 -.TP -\fBa+\fP -読み出しおよび追加 (ファイルの最後に書き込む) のために開く。 ファイルが存在していない場合には新たに作成する。 -読み出しの初期ファイル位置はファイルの先頭であるが、 書き込みは常にファイルの最後に追加される。 -.PP -\fImode\fP 文字列には文字 \(aqb\(aq を追加指定することができ、 \fImode\fP 文字列の最後の文字として指定する。 上記のうち 2 -文字のモードの場合には 2 つの文字の間に指定することもできる。 これは C89 との互換性のためだけに用意された -ものであり、関数の実行に対してはいかなる影響も持たない。 すなわち、Linux を含む全ての POSIX 準拠システムでは、 この \(aqb\(aq -は無視される。 (その他のシステムではテキストファイルとバイナリファイルを別々に扱うものもあるので、 もしバイナリファイルの入出力を行い、 -そのプログラムが非 UNIX 環境へ移植されると予測するなら、 \(aqb\(aqを付けておくのは良い考えである) -.PP -\fImode\fP の glibc による拡張の詳細については下記の「注意」を参照。 -.PP -すべての生成されたファイルは、 \fBS_IRUSR\fP | \fBS_IWUSR\fP | \fBS_IRGRP\fP | \fBS_IWGRP\fP | -\fBS_IROTH\fP | \fBS_IWOTH\fP (0666) のモードを そのプロセスの umask 値によって修正したモードを持つ -(\fBumask\fP(2) を見よ)。 -.PP -読み出し/書き込みストリームに対しては任意の順序で読み書きを行うことができる。 ただし ANSI C では、 -(入力操作がファイルの末尾に到達した場合を除いて) 出力と入力の間にはファイルの位置決め関数を 挟まなければならないことになっていることに注意されたい -(この条件を満足しない場合には、読み込み操作は、 最後に書き込まれたものでなく、以前に書き込まれた 値を返すことを許されている)。 -したがって、このようなストリームでの読み書き操作の間には \fBfseek\fP(3) または \fBfgetpos\fP(3) 操作を挟んでおくと良いだろう -(Linux では本当に必要となることもときどきある)。 この操作は見かけ上何もしない操作 (no\-op) でも良い (例えば \fIfseek(..., -0L, SEEK_CUR)\fP を その副次的効果である同期のためだけに呼べば良い)。 -.PP -ファイルを追加モード (\fImode\fP の最初の文字を \fBa\fP にする) で開くと、 -このストリームに対する書き込み操作は全て (先に以下の呼び出しを行った -かのように) ファイルの末尾で行われる。 -.nf - - fseek(stream,0,SEEK_END); -.fi -.PP -\fBfdopen\fP() 関数は、既存のファイル記述子 \fIfd\fP にストリームを結びつける。 ストリームの \fImode\fP ("r", "r+", -"w", "w+", "a", "a+" のいずれか) は ファイル記述子のモードと互換のものでなければならない。 -新しいストリームのファイル位置指示子は \fIfd\fP に属している値に設定される。 error と end\-of\-file の各指示子はクリアされる。 -"w" および "w+" モードでのファイルの切り詰めは行われない。 ファイル記述子の複製は行なわれない。 \fBfdopen\fP() -で作成されたストリームが閉じられたときにファイル記述子も 閉じられる。 共有メモリのオブジェクトへ \fBfdopen\fP() -を行ったときの結果は定義されていない。 -.PP -\fBfreopen\fP() 関数は \fIpath\fP で名前が指定されたファイルを開き、 \fIstream\fP -で指定されたストリームに、そのファイルを結びつける。 もとのストリームは (もし存在する場合には) 閉じられる。 \fImode\fP 引数は -\fBfopen\fP() 関数と同じ形で使われる。 \fBfreopen\fP() 関数の主な用途は、標準テキストストリーム (\fIstderr\fP, -\fIstdin\fP, \fIstdout\fP) と対応付けられているファイルを変更することである。 -.SH 返り値 -\fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP() は成功すると \fIFILE\fP 型のポインタを返す。 失敗すると NULL -が返され、 \fIerrno\fP がエラーを示す値にセットされる。 -.SH エラー -.TP -\fBEINVAL\fP -\fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP() で与えられた \fImode\fP が不適切である。 -.PP -\fBfopen\fP(), \fBfdopen\fP(), \fBfreopen\fP() 関数は \fBmalloc\fP(3) -ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に \fIerrno\fP をセットする。 -.PP -\fBfopen\fP() 関数は \fBopen\fP(2) ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に \fIerrno\fP -をセットする。 -.PP -\fBfdopen\fP() 関数は \fBfcntl\fP(2) ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に -\fIerrno\fP をセットする。 -.PP -\fBfreopen\fP() 関数は \fBopen\fP(2), \fBfclose\fP(3), \fBfflush\fP(3) -各ルーチンで規定されているエラーでも失敗することがあり、 その時は対応する値に \fIerrno\fP をセットする。 -.SH 準拠 -\fBfopen\fP() 関数と \fBfreopen\fP() 関数は C89に準拠している。 \fBfdopen\fP() 関数は POSIX.1\-1990 -に準拠している。 -.SH 注意 -.SS "glibc での注意" -GNU C ライブラリでは、 \fImode\fP に指定できる文字列として、以下の拡張が行われている: -.TP -\fBc\fP (glibc 2.3.3 以降) -open 操作、それに続く read/write 操作の、 スレッドの取り消しポイント -(cancellation points) を作成しない。 -このフラグは \fBfdopen\fP() では無視される。 -.TP -\fBe\fP (glibc 2.7 以降) -\fBO_CLOEXEC\fP フラグを有効にしてファイルをオープンする。詳細は -\fBopen\fP(2) を参照。このフラグは \fBfdopen\fP() では無視される。 -.TP -\fBm\fP (glibc 2.3 以降) -.\" As at glibc 2.4: -I/O システムコール (\fBread\fP(2), \fBwrite\fP(2)) ではなく、 \fBmmap\fP(2) -を使ってファイルにアクセスしようとする。 \fBmmap\fP(2) を使おうとするのは、読み出し用にオープンするファイルについてだけである。 -.TP -\fBx\fP -.\" Since glibc 2.0? -.\" FIXME C11 specifies this flag -ファイルを排他的にオープンする (\fBopen\fP(2) の \fBO_EXCL\fP フラグと同様)。 ファイルがすでに存在する場合、 \fBfopen\fP() -は失敗し、 \fIerrno\fP に \fBEEXIST\fP がセットされる。 このフラグは \fBfdopen\fP() では無視される。 -.PP -上記の文字に加えて、 -\fBfopen\fP() と \fBfreopen\fP() では \fImode\fP に -以下の書式を 指定することができる。 - -\fB ,ccs=\fP\fIstring\fP - -指定された \fIstring\fP は、符号化文字集合の名前と解釈され、 -ストリームではワイド文字のストリームとして扱われる。 -内部変換関数で入出力時に文字集合 \fIstring\fP との変換が行われる。 -書式 \fB,ccs=\fP\fIstring\fP が指定されない場合は、 -ストリームをワイド文字のストリームとして扱うかは -最初のファイル操作時に決定される。 -最初のファイル操作がワイド文字操作であった場合は、 -そのストリームはワイド文字のストリームとして扱われ、 -符号化文字集合との変換を行う関数が読み込まれる。 -.SH バグ -.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12685 -\fImode\fP の個々のフラグ文字 ("ccs" 指定の前の文字) を解釈する際に、 -glibc の \fBfopen\fP() と \fBfreopen\fP() の実装では、 -\fImode\fP の確認を最大 7 文字しか行わないという制限がある -(バージョン 2.14 より前の glibc では最大 6 文字だが、 -6 文字では "rb+cmxe" などの指定を行うには不十分であった)。 -\fBfdopen\fP() の現在の実装では最大 5 文字の \fImode\fP しか解釈されない。 -.SH 関連項目 -\fBopen\fP(2), \fBfclose\fP(3), \fBfileno\fP(3), \fBfmemopen\fP(3), \fBfopencookie\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fpathconf.3 b/draft/man3/fpathconf.3 index 187cef37..5b7eebde 100644 --- a/draft/man3/fpathconf.3 +++ b/draft/man3/fpathconf.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,8 +20,24 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Wed Jul 28 11:12:26 1993 by Rik Faith (faith@cs.unc.edu) +.\" +.\" FIXME Probably all of the following should be documented: +.\" _PC_SYNC_IO, +.\" _PC_ASYNC_IO, +.\" _PC_PRIO_IO, +.\" _PC_SOCK_MAXBUF, +.\" _PC_FILESIZEBITS, +.\" _PC_REC_INCR_XFER_SIZE, +.\" _PC_REC_MAX_XFER_SIZE, +.\" _PC_REC_MIN_XFER_SIZE, +.\" _PC_REC_XFER_ALIGN, +.\" _PC_ALLOC_SIZE_MIN, +.\" _PC_SYMLINK_MAX, +.\" _PC_2_SYMLINKS +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -98,6 +115,6 @@ POSIX.1\-2001. .SH 関連項目 \fBgetconf\fP(1), \fBopen\fP(2), \fBstatfs\fP(2), \fBsysconf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fpclassify.3 b/draft/man3/fpclassify.3 index 31b5ae91..7dce8eb9 100644 --- a/draft/man3/fpclassify.3 +++ b/draft/man3/fpclassify.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) -.\" Distributed under GPL, 2002-07-27 Walter Harms +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) +.\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" This was done with the help of the glibc manual. .\" .\" 2004-10-31, aeb, corrected @@ -100,6 +104,6 @@ glibc 2.01 以前では、 \fBisinf\fP() は \fIx\fP が正の無限大か負 .SH 関連項目 \fBfinite\fP(3), \fBINFINITY\fP(3), \fBisgreater\fP(3), \fBsignbit\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fpurge.3 b/draft/man3/fpurge.3 index 6cfe1d85..ba8e7aa5 100644 --- a/draft/man3/fpurge.3 +++ b/draft/man3/fpurge.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -63,6 +65,6 @@ fpurge, __fpurge \- ストリームを一掃 (purge) する .\" .BR fclean (3), \fBfflush\fP(3), \fBsetbuf\fP(3), \fBstdio_ext\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fputwc.3 b/draft/man3/fputwc.3 index b5f02f17..0735d7a7 100644 --- a/draft/man3/fputwc.3 +++ b/draft/man3/fputwc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -55,6 +57,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfgetwc\fP(3), \fBfputws\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fputws.3 b/draft/man3/fputws.3 index 71518cc2..dc4cf75d 100644 --- a/draft/man3/fputws.3 +++ b/draft/man3/fputws.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -42,6 +44,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfputwc\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fread.3 b/draft/man3/fread.3 index 13168038..91b26b68 100644 --- a/draft/man3/fread.3 +++ b/draft/man3/fread.3 @@ -5,6 +5,7 @@ .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -32,6 +33,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)fread.3 6.6 (Berkeley) 6/29/91 .\" @@ -78,6 +80,6 @@ C89, POSIX.1\-2001. .SH 関連項目 \fBread\fP(2), \fBwrite\fP(2), \fBfeof\fP(3), \fBferror\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/frexp.3 b/draft/man3/frexp.3 index e0bb361e..7fd90479 100644 --- a/draft/man3/frexp.3 +++ b/draft/man3/frexp.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -113,6 +115,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBldexp\fP(3), \fBmodf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fseek.3 b/draft/man3/fseek.3 deleted file mode 100644 index 4e6b444f..00000000 --- a/draft/man3/fseek.3 +++ /dev/null @@ -1,107 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)fseek.3 6.11 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FSEEK 3 1993\-11\-29 GNU "Linux Programmer's Manual" -.SH 名前 -fgetpos, fseek, fsetpos, ftell, rewind \- ストリームの位置を変更する -.SH 書式 -\fB#include \fP -.sp -\fBint fseek(FILE *\fP\fIstream\fP\fB, long \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP - -\fBlong ftell(FILE *\fP\fIstream\fP\fB);\fP - -\fBvoid rewind(FILE *\fP\fIstream\fP\fB);\fP - -\fBint fgetpos(FILE *\fP\fIstream\fP\fB, fpos_t *\fP\fIpos\fP\fB);\fP -.br -\fBint fsetpos(FILE *\fP\fIstream\fP\fB, fpos_t *\fP\fIpos\fP\fB);\fP -.SH 説明 -\fBfseek\fP() 関数は \fIstream\fP によって指定されたストリームにおいて、ファイル位置表示子 (file position -indicator) をセットする。新たな位置 (バイト単位) は \fIwhence\fP で指定された位置に \fIoffset\fP -バイトを加えることによって与えられる。 \fIwhence\fP が \fBSEEK_SET\fP, \fBSEEK_CUR\fP, \fBSEEK_END\fP -のどれかになっている場合は、それぞれファイルの先頭、現在の位置表示子、 ファイルの末尾からのオフセットが取られる。 \fBfseek\fP() -関数の呼び出しが成功すると、ストリームの end\-of\-file 表示子は クリアされ、それまでに \fBungetc\fP(3) -関数で戻したデータはなかったことになる。 -.PP -\fBftell\fP() 関数は \fIstream\fP によって指定されたストリームにおける、ファイル位置表示子 の現時点での値を与える。 -.PP -\fBrewind\fP() 関数は \fIstream\fP によって指定されたストリームにおいて、ファイル位置表示子 -をファイルの先頭にセットする。この関数は以下と等価である。 -.PP -.RS -(void) fseek(stream, 0L, SEEK_SET) -.RE -.PP -ただし \fBrewind\fP() ではストリームに対するエラー表示子 (error indicator) も同時に クリアされる ( -\fBclearerr\fP(3) を見よ)。 -.PP -\fBfgetpos\fP() 関数と \fBfsetpos\fP() 関数は、それぞれ \fBftell\fP() と \fBfseek\fP() で -\fIwhence\fP に \fBSEEK_SET\fP を指定した場合と同様の機能を、異なるインターフェースで提供する。 \fBfgetpos\fP() -はファイルオフセットの現在の値を \fIpos\fP が参照するオブジェクトに保存し、 \fBfsetpos\fP() はファイルオフセットを \fIpos\fP -に設定する。 UNIX 以外のシステムにおいては、 \fIfpos_t\fP が構造体などの複雑なオブジェクトになっていて、これらのルーチンがテキス -トストリームでファイル位置を変更する方法のうち、移植性のある唯一のもの になっている場合もある。 -.SH 返り値 -\fBrewind\fP() は返り値を持たない。 \fBfgetpos\fP(), \fBfseek\fP(), \fBfsetpos\fP() は成功すると 0 -を返す。 \fBftell\fP() は現在のオフセットを返す。失敗した場合は返り値は \-1 となり、 \fIerrno\fP にエラーを示す値がセットされる。 -.SH エラー -.TP -\fBEBADF\fP -指定した \fIstream\fP がシークできない。 -.TP -\fBEINVAL\fP -\fBfseek\fP() 関数に対して与えた \fIwhence\fP 引数が \fBSEEK_SET\fP, \fBSEEK_END\fP, \fBSEEK_CUR\fP -以外の値であった。 -.PP -\fBfgetpos\fP(), \fBfseek\fP(), \fBfsetpos\fP(), \fBftell\fP() は、それぞれ \fBfflush\fP(3), -\fBfstat\fP(2), \fBlseek\fP(2), \fBmalloc\fP(3) などのルーチンを呼び出す際に失敗する可能性がある。この場合は -それぞれ対応した \fIerrno\fP が設定される。 -.SH 準拠 -C89, C99. -.SH 関連項目 -\fBlseek\fP(2), \fBfseeko\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fseeko.3 b/draft/man3/fseeko.3 index dea0112b..6f393a3c 100644 --- a/draft/man3/fseeko.3 +++ b/draft/man3/fseeko.3 @@ -1,5 +1,6 @@ .\" Copyright 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -64,6 +66,6 @@ SUSv2, POSIX.1\-2001. .SH 関連項目 \fBfseek\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ftime.3 b/draft/man3/ftime.3 index 4f726e55..db1d97ba 100644 --- a/draft/man3/ftime.3 +++ b/draft/man3/ftime.3 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 1993 Michael Haardt .\" (michael@moria.de) .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -20,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 14:23:14 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Oct 18 17:31:43 1998 by Andries Brouwer (aeb@cwi.nl) @@ -78,6 +77,6 @@ glibc 2.1.1 から再び正常になった。 .SH 関連項目 \fBgettimeofday\fP(2), \fBtime\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ftok.3 b/draft/man3/ftok.3 index 8c4c1eb0..919e8b3e 100644 --- a/draft/man3/ftok.3 +++ b/draft/man3/ftok.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 2001-11-28, by Michael Kerrisk, .\" Changed data type of proj_id; minor fixes @@ -67,6 +69,6 @@ libc4 と libc5 (および SunOS 4.x) では、 プロトタイプは以下の .SH 関連項目 \fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2), \fBstat\fP(2), \fBsvipc\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fts.3 b/draft/man3/fts.3 index f2e5ecd3..7dbb9d70 100644 --- a/draft/man3/fts.3 +++ b/draft/man3/fts.3 @@ -3,6 +3,7 @@ .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -30,6 +31,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" @@ -40,7 +42,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH FTS 3 2007\-12\-28 Linux "Linux Programmer's Manual" +.TH FTS 3 2012\-10\-25 Linux "Linux Programmer's Manual" .SH 名前 fts, fts_open, fts_read, fts_children, fts_set, fts_close \- ファイル階層をたどる .SH 書式 @@ -66,8 +68,8 @@ fts 関数群は、ファイル階層をたどるために提供されている つのファイルを記述する構造体へのポインタを返す。 \fBfts_children\fP() 関数は、階層中のディレクトリにあるファイルを記述する構造体の リンクリストへのポインタを返す。 一般にディレクトリは、 preorder (正方向:下の階層のディレクトリをたどる前) と postorder (逆方向:下の階層のディレクトリをすべてたどった後) という、 異なる方向で 2 回たどられる。ファイルは 1 回たどられる。 -ディレクトリ階層を「論理的に」(シンボリックリングを無視して) 移動することも、 物理的に (シンボリックリンクをたどって) 移動することも可能である。 -また、階層中の移動の道筋を指示すること・ 余分なものを取り除くこと・階層の一部を再びたどることが可能である。 +ディレクトリ階層を「論理的に」(シンボリックリングが指すファイルを見て) 辿ることも、 物理的に (シンボリックリンク自身を見て) +辿ることも可能である。 また、階層中の移動の道筋を指示すること・ 余分なものを取り除くこと・階層の一部を再びたどることが可能である。 .PP 2 つの構造体がインクルードファイル \fI\fP で定義されている (さらに typedef されている)。 1 つ目は、ファイル階層そのものを表現する \fIFTS\fP 構造体である。 2 つ目は、ファイル階層中のファイルを表現する \fIFTSENT\fP 構造体である。 @@ -353,6 +355,6 @@ preorder でたどられたディレクトリでない場合や 何も含んで .SH 関連項目 \fBfind\fP(1), \fBchdir\fP(2), \fBstat\fP(2), \fBftw\fP(3), \fBqsort\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ftw.3 b/draft/man3/ftw.3 index 1f85c21c..b576cdfe 100644 --- a/draft/man3/ftw.3 +++ b/draft/man3/ftw.3 @@ -3,6 +3,7 @@ .\" and copyright (c) 2006 Justin Pryzby .\" and copyright (c) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,9 +20,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sun Jul 25 11:02:22 1993 by Rik Faith (faith@cs.unc.edu) .\" 2006-05-24, Justin Pryzby @@ -257,6 +258,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBstat\fP(2), \fBfts\fP(3), \fBreaddir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/futimes.3 b/draft/man3/futimes.3 deleted file mode 100644 index d56d7841..00000000 --- a/draft/man3/futimes.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 2006, 2008, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FUTIMES 3 2008\-04\-07 Linux "Linux Programmer's Manual" -.SH 名前 -futimes, lutimes \- ファイルのタイムスタンプを変更する -.SH 書式 -.nf -\fB#include \fP - -\fBint futimes(int \fP\fIfd\fP\fB, const struct timeval \fP\fItv\fP\fB[2]);\fP - -\fBint lutimes(const char *\fP\fIfilename\fP\fB, const struct timeval \fP\fItv\fP\fB[2]);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBfutimes\fP(), \fBlutimes\fP(): _BSD_SOURCE -.SH 説明 -\fBfutimes\fP() は \fButimes\fP(2) と同じ方法でファイルのアクセス時刻と修正時刻を変更する。 -違いは、タイムスタンプを変更するファイルを、 パス名ではなく、ファイルディスクリプタ \fIfd\fP を用いて指定する点である。 - -\fBlutimes\fP() は \fButimes\fP(2) と同じ方法でファイルのアクセス時刻と修正時刻を変更する。 違いは、 \fIfilename\fP -がシンボリック・リンクを参照している場合に、リンクの展開を行わず、 代わりにシンボリック・リンクのタイムスタンプを変更する。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -エラーは \fButimes\fP(2) と同じだが、 \fBfutimes\fP() では以下のエラーが追加になっている: -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタでない。 -.TP -\fBENOSYS\fP -\fI/proc\fP ファイルシステムにアクセスできなかった。 -.SH バージョン -\fBfutimes\fP() は glibc 2.3 以降で利用可能である。 \fBlutimes\fP() は glibc 2.6 以降で利用可能であり、 -\fButimensat\fP(2) システムコールを使って実装されている。 \fButimensat\fP(2) はカーネル 2.6.22 -以降でサポートされている。 -.SH 準拠 -これらの関数はどの標準でも規定されていない。 Linux 以外では、これらは BSD でのみ利用可能である。 -.SH 関連項目 -\fButime\fP(2), \fButimensat\fP(2), \fBsymlink\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/fwide.3 b/draft/man3/fwide.3 index 3964bac2..07bd2ec1 100644 --- a/draft/man3/fwide.3 +++ b/draft/man3/fwide.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -68,6 +70,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfprintf\fP(3), \fBfwprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gamma.3 b/draft/man3/gamma.3 index 16aef2cc..bc2846d6 100644 --- a/draft/man3/gamma.3 +++ b/draft/man3/gamma.3 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\" Modified 2003-11-18, aeb: historical remarks .\" @@ -71,6 +74,6 @@ Gamma(|\fIx\fP|) の符号が extern int \fIsigngam\fP に格納されていた .SH 関連項目 \fBlgamma\fP(3), \fBsigngam\fP(3), \fBtgamma\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gcvt.3 b/draft/man3/gcvt.3 index c25060aa..82f14c7a 100644 --- a/draft/man3/gcvt.3 +++ b/draft/man3/gcvt.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -75,6 +77,6 @@ POSIX.1\-2001 では、 この関数は「過去の名残 (LEGACY)」と位置 .SH 関連項目 \fBecvt\fP(3), \fBfcvt\fP(3), \fBsprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/get_nprocs_conf.3 b/draft/man3/get_nprocs_conf.3 index eaec55f7..1806e813 100644 --- a/draft/man3/get_nprocs_conf.3 +++ b/draft/man3/get_nprocs_conf.3 @@ -1,7 +1,7 @@ - .\" Copyright (c) 2012, Petr Benas .\" and Copyright (c) 2012, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +21,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -79,6 +81,6 @@ main(int argc, char *argv[]) .fi .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getaddrinfo.3 b/draft/man3/getaddrinfo.3 index 74968a50..495f16b8 100644 --- a/draft/man3/getaddrinfo.3 +++ b/draft/man3/getaddrinfo.3 @@ -3,6 +3,7 @@ .\" A few pieces of an earlier version remain: .\" Copyright 2000, Sam Varshavchik .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +23,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References: RFC 2553 .\" @@ -43,7 +45,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH GETADDRINFO 3 2012\-04\-29 GNU "Linux Programmer's Manual" +.TH GETADDRINFO 3 2013\-01\-15 GNU "Linux Programmer's Manual" .SH 名前 getaddrinfo, freeaddrinfo, gai_strerror \- ネットワークのアドレスとサービスを変換する .SH 書式 @@ -76,9 +78,9 @@ _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE .\" .BR getipnodebyaddr (3), \fBgetaddrinfo\fP() は、(インターネットのホストとサービスを識別する) \fInode\fP と \fIservice\fP を渡すと、一つ以上の \fIaddrinfo\fP 構造体を返す。それぞれの \fIaddrinfo\fP 構造体には、 \fBbind\fP(2) や \fBconnect\fP(2) -を呼び出す際に指定できるインターネットアドレスが格納されている。 \fBgetaddrinfo\fP() 関数は、 \fBgetservbyname\fP(3) -と \fBgetservbyport\fP(3) の機能をまとめて一つのインターフェースにしたものであるが、 これらの関数と違い、 -\fBgetaddrinfo\fP() はリエントラントであり、 \fBgetaddrinfo\fP() を使うことでプログラムは IPv4 と IPv6 +を呼び出す際に指定できるインターネットアドレスが格納されている。 \fBgetaddrinfo\fP() 関数は、 \fBgethostbyname\fP(3) +と \fBgetservbyname\fP(3) の機能をまとめて一つのインターフェースにしたものであるが、 これらの関数と違い、 +\fBgetaddrinfo\fP() はリエントラントであり、 \fBgetaddrinfo\fP() を使うことでプログラムは IPv4 と IPv6 の違いに関する依存関係を なくすことができる。 .PP \fBgetaddrinfo\fP() が用いる \fIaddrinfo\fP 構造体は以下のフィールドを含む。 @@ -505,8 +507,8 @@ main(int argc, char *argv[]) .\" .BR getipnodebyaddr (3), .\" .BR getipnodebyname (3), \fBgetaddrinfo_a\fP(3), \fBgethostbyname\fP(3), \fBgetnameinfo\fP(3), \fBinet\fP(3), -\fBhostname\fP(7), \fBip\fP(7) +\fBgai.conf\fP(5), \fBhostname\fP(7), \fBip\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getcontext.3 b/draft/man3/getcontext.3 new file mode 100644 index 00000000..669c90aa --- /dev/null +++ b/draft/man3/getcontext.3 @@ -0,0 +1,107 @@ +.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl) +.\" +.\" %%%LICENSE_START(VERBATIM) +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" +.\"******************************************************************* +.\" +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH GETCONTEXT 3 2009\-03\-15 Linux "Linux Programmer's Manual" +.SH 名前 +getcontext, setcontext \- ユーザコンテキストを取得/設定する +.SH 書式 +\fB#include \fP +.sp +\fBint getcontext(ucontext_t *\fP\fIucp\fP\fB);\fP +.br +\fBint setcontext(const ucontext_t *\fP\fIucp\fP\fB);\fP +.SH 説明 +System V 的な環境では、 \fImcontext_t\fP および \fIucontext_t\fP という 2 つの型と、 +\fBgetcontext\fP(), \fBsetcontext\fP(), \fBmakecontext\fP(3), \fBswapcontext\fP(3) という +4 つの関数が \fI\fP で定義されており、あるプロセス内部で制御下にある複数のスレッド間で、 +ユーザレベルのコンテキスト切替えができるようになっている。 +.LP +\fImcontext_t\fP 型はマシン依存で、外部からは隠蔽されている。 \fIucontext_t\fP 型は構造体で、少なくとも以下の 4 +つのフィールドを持つ。 +.in +4 +.nf + +typedef struct ucontext { + struct ucontext *uc_link; + sigset_t uc_sigmask; + stack_t uc_stack; + mcontext_t uc_mcontext; + ... +} ucontext_t; + +.fi +.in +\fIsigset_t\fP と \fIstack_t\fP は \fI\fP で定義されている。 ここで \fIuc_link\fP は、 +現在のコンテキストが終了したとき、 続いて切り替わるコンテキストへのポインタである (現在のコンテキストが \fBmakecontext\fP(3) +で生成されたものの場合)。 \fIuc_sigmask\fP はこのコンテキストでブロックされている シグナル群である (\fBsigprocmask\fP(2) +を見よ)。 \fIuc_stack\fP はこのコンテキストが用いているスタックである (\fBsignalstack\fP(2) を見よ)。 +\fIuc_mcontext\fP は保存されているコンテキストの マシン特有の表現形式であり、 ここには呼び出したスレッドのマシンレジスタが格納される。 +.LP +\fBgetcontext\fP() 関数は、 ポインタ \fIucp\fP が指す構造体を、 現在アクティブなコンテキストに初期化する。 +.LP +\fBsetcontext\fP() 関数は、ポインタ \fIucp\fP が指すユーザコンテキストをリストアする。 呼び出しに成功すると返らない。 +このコンテキストは、以前に \fBgetcontext\fP() または \fBmakecontext\fP(3) で得られたものか、 +あるいはシグナルの第三引数として与えられたものになる。 +.LP +コンテキストが \fBgetcontext\fP() の呼び出しによって得られていたものの場合は、 +プログラムはこの呼び出しから返った直後からのように実行を継続する。 +.LP +コンテキストが \fBmakecontext\fP(3) の呼び出しによって得られていたものの場合は、 プログラムの実行はその +\fBmakecontext\fP(3) 呼び出しの第二引数で指定された関数 \fIfunc\fP を呼び出すかたちで継続する。 \fIfunc\fP から返ると、 +\fBmakecontext\fP(3) 呼び出しの第一引数で指定されていた \fIucp\fP 構造体の \fIuc_link\fP メンバで継続する。 このメンバが +NULL だった場合は、そのスレッドは終了する。 +.LP +コンテキストがシグナルハンドラの呼び出しによって得られていたものの場合は、 古い標準によれば +「プログラムの実行はシグナルによって割り込まれた命令の次の命令から継続される」。 しかしこの文は SUSv2 で削除されたので、 +現在の判断は「結果は定義されていない」である。 +.SH 返り値 +成功すると、 \fBgetcontext\fP() は 0 を返し、 \fBsetcontext\fP() は返らない。 失敗すると、両者とも \-1 +を返し、\fIerrno\fP をエラーに応じて設定する。 +.SH エラー +定義されていない。 +.SH 準拠 +SUSv2, POSIX.1\-2001. POSIX.1\-2008 では、移植性の問題から \fBgetcontext\fP() の仕様が削除された。 +代わりに、アプリケーションを POSIX スレッドを使って書き直すことが 推奨されている。 +.SH 注意 +このメカニズムの最古の実装は、 \fBsetjmp\fP(3)/\fBlongjmp\fP(3) 機構であった。 +これらにはシグナルコンテキストの取り扱いが定義されていなかったので、 次の段階では \fBsigsetjmp\fP(3)/\fBsiglongjmp\fP(3) +のペアが現われた。 現在の機構ではずっと細かな制御ができる。 一方 \fBgetcontext\fP() から返ったとき、 これが最初の呼び出しであったか、 +それとも \fBsetcontext\fP() 呼び出しからのものであるかを 区別する容易な方法がなくなってしまった。 +ユーザは「しおり」機構を自分で作らなければならない。 レジスタ変数は (レジスタはリストアされてしまうので) これをやってくれない。 +.LP +シグナルが発生すると、 現在のユーザコンテキストは保存され、 シグナルハンドラ用のコンテキストがカーネルによって生成される。 今後はハンドラに +\fBlongjmp\fP(3) を使わせないこと: この関数のコンテキスト下での動作は定義されていない。 代わりに \fBsiglongjmp\fP(3) か +\fBsetcontext\fP() を使うこと。 +.SH 関連項目 +\fBsigaction\fP(2), \fBsigaltstack\fP(2), \fBsigprocmask\fP(2), \fBlongjmp\fP(3), +\fBmakecontext\fP(3), \fBsigsetjmp\fP(3) +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getcwd.3 b/draft/man3/getcwd.3 deleted file mode 100644 index c992e1dc..00000000 --- a/draft/man3/getcwd.3 +++ /dev/null @@ -1,151 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Wed Jul 21 22:35:42 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified 18 Mar 1996 by Martin Schulze (joey@infodrom.north.de): -.\" Corrected description of getwd(). -.\" Modified Sat Aug 21 12:32:12 MET 1999 by aeb - applied fix by aj -.\" Modified Mon Dec 11 13:32:51 MET 2000 by aeb -.\" Modified Thu Apr 22 03:49:15 CEST 2002 by Roger Luethi -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETCWD 3 2010\-09\-20 GNU "Linux Programmer's Manual" -.SH 名前 -getcwd, getwd, get_current_dir_name \- カレントワーキングディレクトリ名の取得 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBchar *getcwd(char *\fP\fIbuf\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.sp -\fBchar *getwd(char *\fP\fIbuf\fP\fB);\fP -.sp -\fBchar *get_current_dir_name(void);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.sp -.in -\fBget_current_dir_name\fP(): -.RS -_GNU_SOURCE -.RE -.sp -\fBgetwd\fP(): -.ad l -.RS 4 -.PD 0 -.TP 4 -glibc 2.12 以降: -.nf -_BSD_SOURCE || - (_XOPEN_SOURCE\ >=\ 500 || - _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) && - !(_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700) -.TP 4 -.fi -glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.PD -.RE -.ad b -.SH 説明 -これらの関数は、呼び出したプロセスのカレントワーキングディレクトリの 絶対パス名 (absolute pathname) が入った文字列を返す。 -返される文字列は NULL で終端される。 パス名は関数の結果として返され、引数 \fIbuf\fP がある場合は \fIbuf\fP 経由でも返される。 - -\fBgetcwd\fP() 関数はカレントワーキングディレクトリの絶対パス名を \fIbuf\fP で示された \fIsize\fP 長の配列にコピーする。 -.PP -終端の NULL バイトも含めた、カレントワーキングディレクトリの 絶対パス名の長さが \fIsize\fP バイトを超えている場合は、返り値として NULL -が返り \fIerrno\fP に \fBERANGE\fP がセットされる。 アプリケーションはこのエラーをチェックし、 -必要に応じてより長いバッファを用意すべきである。 -.PP -POSIX.1\-2001 標準の拡張として、 Linux (libc4, libc5, glibc) では \fIbuf\fP が NULL の場合、 -\fBgetcwd\fP() は必要なバッファを \fBmalloc\fP(3) を用いて動的に割り当てる。 この場合、 \fIsize\fP が 0 -の場合を除き、バッファの長さは \fIsize\fP となる。 \fIsize\fP が 0 の場合には必要な大きさが確保される。 呼び出し側で、返されたバッファを -\fBfree\fP(3) すべきである。 - -\fBget_current_dir_name\fP() はカレントワーキングディレクトリの絶対パス名を収めるのに 十分な大きさの配列を -\fBmalloc\fP(3) で獲得する。環境変数 \fBPWD\fP が設定されておりその値が正しければ、その値が返される。 呼び出し側で、返されたバッファを -\fBfree\fP(3) すべきである。 - -\fBgetwd\fP() は \fBmalloc\fP(3) によるメモリ獲得を一切行なわない。 \fIbuf\fP 引数は少なくとも \fBPATH_MAX\fP -バイトの長さを持つ配列へのポインタである必要がある。 終端の NULL バイトも含めた、カレントワーキングディレクトリの 絶対パス名の長さが -\fBPATH_MAX\fP バイトを超えている場合、 NULL が返され、 \fIerrno\fP に \fBENAMETOOLONG\fP が設定される。 -(システムによっては、 \fBPATH_MAX\fP は必ずしもコンパイル時に決まる定数ではない点に注意すること。 -また、ファイルシステムに依存する場合もある。 \fBpathconf\fP(3) を参照。) 移植性とセキュリティ上の理由から、 \fBgetwd\fP() -の利用は推奨されない。 -.SH 返り値 -成功すると、これらの関数はカレントワーキングディレクトリの絶対パス名 が入った文字列へのポインタを返す。 \fBgetcwd\fP() と -\fBgetwd\fP() の場合、返り値は \fIbuf\fP と同じ値になる。 - -失敗した場合、これらの関数は NULL を返し、 \fIerrno\fP にエラーを示す値を設定する。 \fIbuf\fP が指す配列の内容は未定義である。 -.SH エラー -.TP -\fBEACCES\fP -ファイル名の構成要素に対する読み込みあるいは検索の権限がない。 -.TP -\fBEFAULT\fP -\fIbuf\fP が不正なアドレスを指している。 -.TP -\fBEINVAL\fP -\fIsize\fP 引数が 0 かつ、 \fIbuf\fP 引数が NULL ポインタでない。 -.TP -\fBEINVAL\fP -\fBgetwd\fP(): \fIbuf\fP が NULL である。 -.TP -\fBENAMETOOLONG\fP -\fBgetwd\fP(): 絶対パス名が入った NULL 終端された文字列の長さが \fBPATH_MAX\fP バイトを超えている。 -.TP -\fBENOENT\fP -カレントワーキングディレクトリが削除されている。 -.TP -\fBERANGE\fP -\fIsize\fP 引数の値がワーキングディレクトリの絶対パス名の長さより小さい。 長さには文字列の終端バイトも含まれる。 -より大きい配列を確保してもう一度実行する必要がある。 -.SH 準拠 -\fBgetcwd\fP() は POSIX.1\-2001 に準拠している。 POSIX.1\-2001 は、 \fIbuf\fP が NULL の場合の -\fBgetcwd\fP() の動作を規定しないままとしている。 - -\fBgetwd\fP() は POSIX.1\-2001 に存在しているが、「過去の名残(LEGACY)」とされている。 POSIX.1\-2008 では、 -\fBgetwd\fP() の仕様が削除されている。 代わりに \fBgetcwd\fP() を使うこと。 POSIX.1\-2001 は \fBgetwd\fP() -に関するエラーを定義していない。 - -\fBget_current_dir_name\fP() は GNU 拡張である。 -.SH 注意 -Linux では (2.1.92 以降)、 \fBgetcwd\fP() はシステムコールである。 古いシステムでは \fI/proc/self/cwd\fP -を参照する。 システムコールも proc ファイルシステムもない場合、 一般的な実装が呼び出される。 この場合においてのみ、(Linux では) -この関数は \fBEACCES\fP で失敗する可能性がある。 -.LP -これらの関数はしばしばカレントワーキングディレクトリの位置を保存し、 後で戻ってくるために利用される。 未使用のファイルディスクリプタが十分ある場合は、 -現在のディレクトリ (".") を開いて \fBfchdir\fP(2) を呼び出すほうが普通は高速で信頼性がある。 特に Linux -以外のプラットフォームの場合はそうである。 -.SH 関連項目 -\fBchdir\fP(2), \fBfchdir\fP(2), \fBopen\fP(2), \fBunlink\fP(2), \fBfree\fP(3), -\fBmalloc\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getdate.3 b/draft/man3/getdate.3 index c8623c58..75a11978 100644 --- a/draft/man3/getdate.3 +++ b/draft/man3/getdate.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified, 2001-12-26, aeb .\" 2008-09-07, mtk, Various rewrites; added an example program. @@ -225,6 +227,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBtime\fP(2), \fBlocaltime\fP(3), \fBsetlocale\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getdirentries.3 b/draft/man3/getdirentries.3 index 56f24963..32bc83e6 100644 --- a/draft/man3/getdirentries.3 +++ b/draft/man3/getdirentries.3 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" Portions extracted from /usr/include/dirent.h are: .\" Copyright 1991, 1992 Free Software Foundation .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -57,6 +57,6 @@ POSIX.1\-2001 にはない。 BSD に存在し、他にもいくつかのシス .SH 関連項目 \fBlseek\fP(2), \fBopen\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man2/vhangup.2 b/draft/man3/getdtablesize.3 similarity index 50% rename from draft/man2/vhangup.2 rename to draft/man3/getdtablesize.3 index 9c291d2b..78ac7516 100644 --- a/draft/man2/vhangup.2 +++ b/draft/man3/getdtablesize.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,44 +20,60 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" Modified, 27 May 2004, Michael Kerrisk -.\" Added notes on capability requirements +.\" %%%LICENSE_END +.\" +.\" Modified 2002-04-15 by Roger Luethi and aeb .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH VHANGUP 2 2007\-07\-26 Linux "Linux Programmer's Manual" +.TH GETDTABLESIZE 3 2013\-02\-05 Linux "Linux Programmer's Manual" .SH 名前 -vhangup \- 現在の tty を仮想的に (virtualy) ハングアップ (hangup) させる +getdtablesize \- ディスクリプタ・テーブルのサイズを取得する .SH 書式 \fB#include \fP .sp -\fBint vhangup(void);\fP +\fBint getdtablesize(void);\fP .sp .in -4n glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .in .sp +\fBgetdtablesize\fP(): .ad l -\fBvhangup\fP(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500) +.RS 4 +.PD 0 +.TP 4 +glibc 2.12 以降: +.nf +_BSD_SOURCE || + !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600) +.TP 4 +.fi +glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED +.PD +.RE .ad b .SH 説明 -\fBvhangup\fP() は現在の端末 (terminal) でハングアップをシミュレートする。 このコールは他のユーザーがログインした時に綺麗 -(clean) な tty を 得ることができるよう手配する。 +\fBgetdtablesize\fP() は 1 つのプロセスのオープンできるファイル数の最大値を返す。 +返り値はファイルディスクリプタの取り得る最大値より 1 大きい値である。 .SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 +プロセス毎にオープンできるファイル数の現在の制限値。 .SH エラー -.TP -\fBEPERM\fP -呼び出し元プロセスに \fBvhangup\fP() を呼び出すための十分な特権がない。 \fBCAP_SYS_TTY_CONFIG\fP ケーパビリティ -(capability) が必要である。 +Linux では、 \fBgetdtablesize\fP() は \fBgetrlimit\fP(2) で説明されているエラーを返すことがある。 +下記の「注意」を参照のこと。 .SH 準拠 -このコールは Linux 特有であり、移植を意図したプログラムで 使用してはいけない。 +SVr4, 4.4BSD (\fBgetdtablesize\fP() 関数は 4.2BSD で最初に現われた)。 これは POSIX.1\-2001 +で規定されていないので、 移植性のあるアプリケーションはこの呼び出しの代わりに \fIsysconf(_SC_OPEN_MAX)\fP を使うべきである。 +.SH 注意 +\fBgetdtablesize\fP() は libc のライブラリ関数として実装されている。glibc 版は \fBgetrlimit\fP(2) +を呼び出して、現在の \fBRLIMIT_NOFILE\fP を返す。 呼び出しに失敗した場合は \fBOPEN_MAX\fP を返す。 libc4 と libc5 +では \fBOPEN_MAX\fP (Linux 0.98.4 以降では 256 に設定されている) を返す。 .SH 関連項目 -\fBcapabilities\fP(7), \fBinit\fP(8) +\fBclose\fP(2), \fBdup\fP(2), \fBgetrlimit\fP(2), \fBopen\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getenv.3 b/draft/man3/getenv.3 deleted file mode 100644 index 4990d0ef..00000000 --- a/draft/man3/getenv.3 +++ /dev/null @@ -1,66 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" and Copyright (C) 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's "POSIX Programmer's Guide" (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 19:30:29 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Fri Feb 14 21:47:50 1997 by Andries Brouwer (aeb@cwi.nl) -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETENV 3 2008\-03\-17 GNU "Linux Programmer's Manual" -.SH 名前 -getenv \- 環境変数を得る -.SH 書式 -.nf -\fB#include \fP -.sp -\fBchar *getenv(const char *\fP\fIname\fP\fB);\fP -.fi -.SH 説明 -関数 \fBgetenv\fP() は、環境リストから名前が \fIname\fP の環境変数を検索し、対応する \fIvalue\fP 文字列へのポインタを返す。 -.SH 返り値 -関数 \fBgetenv\fP() は、環境における値 value へのポインタを返す。 \fIname\fP にマッチする環境変数が存在しないときには NULL -を返す。 -.SH 準拠 -SVr4, POSIX.1\-2001, 4.3BSD, C89, C99. -.SH 注意 -環境リストの文字列は \fIname=value\fP という形式をしている。 - -通常の実装では、 \fBgetenv\fP() は環境リスト内の文字列へのポインタを返す。 呼び出し元はこの文字列を変更しないように注意しなければならない。 -この文字列を変更すると、そのプロセスの環境を変化させることになるからである。 - -\fBgetenv\fP() の実装はリエントラント (再入可能) であることを要求されていない。 \fBgetenv\fP() -の返り値により参照される文字列は静的に割り当てられてもよく、 文字列の内容は後続の \fBgetenv\fP(), \fBputenv\fP(3), -\fBsetenv\fP(3), \fBunsetenv\fP(3) の呼び出しにより変更されることがある。 -.SH 関連項目 -\fBclearenv\fP(3), \fBputenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBenviron\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getfsent.3 b/draft/man3/getfsent.3 index f0a1d1ff..c1a25318 100644 --- a/draft/man3/getfsent.3 +++ b/draft/man3/getfsent.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Inspired by a page written by Walter Harms. .\" @@ -95,6 +97,6 @@ Linux ではブロックスペシャルデバイスを複数の場所にマウ .SH 関連項目 \fBgetmntent\fP(3), \fBfstab\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getgrent.3 b/draft/man3/getgrent.3 index fad60e0b..955280a6 100644 --- a/draft/man3/getgrent.3 +++ b/draft/man3/getgrent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -125,6 +127,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. \fBfgetgrent\fP(3), \fBgetgrent_r\fP(3), \fBgetgrgid\fP(3), \fBgetgrnam\fP(3) \fBgetgrouplist\fP(3), \fBputgrent\fP(3), \fBgroup\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getgrent_r.3 b/draft/man3/getgrent_r.3 index 60f8f743..c4585c2d 100644 --- a/draft/man3/getgrent_r.3 +++ b/draft/man3/getgrent_r.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -151,6 +152,6 @@ main(void) \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetgrgid\fP(3), \fBgetgrnam\fP(3), \fBputgrent\fP(3), \fBgroup\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getgrnam.3 b/draft/man3/getgrnam.3 index 9262de59..de47adae 100644 --- a/draft/man3/getgrnam.3 +++ b/draft/man3/getgrnam.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -161,6 +163,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. \fBendgrent\fP(3), \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgetpwnam\fP(3), \fBsetgrent\fP(3), \fBgroup\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getgrouplist.3 b/draft/man3/getgrouplist.3 index 47e2904d..0c9de1cc 100644 --- a/draft/man3/getgrouplist.3 +++ b/draft/man3/getgrouplist.3 @@ -1,6 +1,10 @@ .\" Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" A few pieces remain from an earlier version written in +.\" 2002 by Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,9 +24,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" A few pieces remain from an earlier version written in -.\" 2002 by Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -147,6 +149,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBgetgroups\fP(2), \fBsetgroups\fP(2), \fBgetgrent\fP(3), \fBgroup\fP(5), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gethostbyname.3 b/draft/man3/gethostbyname.3 index 57baad68..1dcecee8 100644 --- a/draft/man3/gethostbyname.3 +++ b/draft/man3/gethostbyname.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -259,6 +261,6 @@ NULL になる。 これらの関数は、成功した場合 0 を返し、失 \fBinet_pton\fP(3), \fBresolver\fP(3), \fBhosts\fP(5), \fBnsswitch.conf\fP(5), \fBhostname\fP(7), \fBnamed\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gethostid.3 b/draft/man3/gethostid.3 index cb251846..781f0c16 100644 --- a/draft/man3/gethostid.3 +++ b/draft/man3/gethostid.3 @@ -1,7 +1,9 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" Updated with additions from Mitchum DSouza +.\" Portions Copyright 1993 Mitchum DSouza +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,9 +23,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Updated with additions from Mitchum DSouza -.\" Portions Copyright 1993 Mitchum DSouza +.\" %%%LICENSE_END .\" .\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond .\"******************************************************************* @@ -92,6 +92,6 @@ glibc の実装では、ホスト ID を保存したファイルを オープン .SH 関連項目 \fBhostid\fP(1), \fBgethostbyname\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getipnodebyname.3 b/draft/man3/getipnodebyname.3 index c4c75b45..31f980b1 100644 --- a/draft/man3/getipnodebyname.3 +++ b/draft/man3/getipnodebyname.3 @@ -1,5 +1,6 @@ .\" Copyright 2000 Sam Varshavchik .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References: RFC 2553 .\"******************************************************************* @@ -152,6 +154,6 @@ RFC\ 2553. .SH 関連項目 \fBgetaddrinfo\fP(3), \fBgetnameinfo\fP(3), \fBinet_ntop\fP(3), \fBinet_pton\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getline.3 b/draft/man3/getline.3 index 1133526c..3c28dc34 100644 --- a/draft/man3/getline.3 +++ b/draft/man3/getline.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2001 John Levon .\" Based in part on GNU libc documentation .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +21,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -115,6 +117,6 @@ main(void) .SH 関連項目 \fBread\fP(2), \fBfgets\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBgets\fP(3), \fBscanf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getloadavg.3 b/draft/man3/getloadavg.3 index 1643056d..ca558143 100644 --- a/draft/man3/getloadavg.3 +++ b/draft/man3/getloadavg.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_3_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -24,6 +25,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)getloadavg.3 8.1 (Berkeley) 6/4/93 .\" @@ -63,6 +65,6 @@ POSIX.1\-2001 にはない。 BSD 系と Solaris に存在する。 .SH 関連項目 \fBuptime\fP(1), \fBproc\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getlogin.3 b/draft/man3/getlogin.3 deleted file mode 100644 index e2b8239f..00000000 --- a/draft/man3/getlogin.3 +++ /dev/null @@ -1,136 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright 1995 James R. Van Zandt -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Changed Tue Sep 19 01:49:29 1995, aeb: moved from man2 to man3 -.\" added ref to /etc/utmp, added BUGS section, etc. -.\" modified 2003 Walter Harms, aeb - added getlogin_r, note on stdin use -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETLOGIN 3 2008\-06\-29 GNU "Linux Programmer's Manual" -.SH 名前 -getlogin, getlogin_r, cuserid \- ユーザー名を取得する -.SH 書式 -\fB#include \fP -.sp -\fBchar *getlogin(void);\fP -.br -\fBint getlogin_r(char *\fP\fIbuf\fP\fB, size_t \fP\fIbufsize\fP\fB);\fP -.sp -\fB#include \fP -.sp -\fBchar *cuserid(char *\fP\fIstring\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBgetlogin_r\fP(): _REENTRANT || _POSIX_C_SOURCE\ >=\ 199506L -.br -\fBcuserid\fP(): _XOPEN_SOURCE -.SH 説明 -\fBgetlogin\fP() は、現在のプロセスの制御端末にログインしているユーザー名の文字列への ポインタを返す。ユーザー名が決定できない場合は -NULL ポインタを返す。 文字列は静的領域に割り当てられており、この後でこの関数や \fBcuserid\fP() -が呼び出された際に上書きされることがある。 -.PP -\fBgetlogin_r\fP() は、上記の同じユーザ名を、大きさ \fIbufsize\fP の配列 \fIbuf\fP に入れて返す。 -.PP -\fBcuserid\fP() は、現在のプロセスの実効ユーザーID に対応するユーザー名の 文字列へのポインタを返す。 \fIstring\fP が NULL -ポインタ以外の場合、\fIstring\fP は少なくとも \fBL_cuserid\fP 文字を保持できる配列でなければならない。 \fIstring\fP が -NULL ポインタの場合には、静的領域に置かれた文字列への ポインタが返される。この文字列は静的領域に割り当てられており、後で この関数や -\fBgetlogin\fP() が呼び出された際に上書きされることがある。 -.PP -マクロ \fBL_cuserid\fP は integer の定数で、ユーザー名を保持するために 必要な配列の長さを示す。 \fBL_cuserid\fP は -\fBstdio.h\fP で宣言されて いる。 -.PP -これらの関数を使うと、プログラムを実行しているユーザー (\fBcuserid\fP()) や このセッションにログインしているユーザー -(\fBgetlogin\fP()) を明確に特定することができる (ただし set\-user\-ID プログラムでは、状況が違うこともある)。 -.PP -たいていの目的では、ユーザーの特定には環境変数 \fBLOGNAME\fP を調べ るほうが便利である。LOGNAME 変数はユーザーが自由に設定できるので -より柔軟な対応が可能になる。 -.SH 返り値 -\fBgetlogin\fP() は成功した場合はユーザ名へのポインタを返し、失敗した場合は NULL を返す。 \fBgetlogin_r\fP() -は成功すると 0 を返し、失敗すると 0 以外を返す。 -.SH エラー -POSIX では以下のエラーが規定されている: -.TP -\fBEMFILE\fP -呼び出し元プロセスがオープンしているファイル数がすでにプロセスあたりの 上限に達している。 -.TP -\fBENFILE\fP -システム全体でオープンしているファイル数がすでに上限に達している。 -.TP -\fBENXIO\fP -呼び出し元プロセスには制御端末がない。 -.TP -\fBERANGE\fP -(getlogin_r) (終端の NULL バイトも含めた) ユーザ名の長さが \fIbufsize\fP よりも長い。 -.LP -Linux/glibc には以下のエラーもある。 -.TP -\fBENOENT\fP -utmp ファイルに対応するエントリがなかった。 -.TP -\fBENOMEM\fP -passwd 構造体を割り当てるのに十分なメモリがない。 -.TP -\fBENOTTY\fP -標準入力が端末を参照していない (「バグ」の節を参照)。 -.SH ファイル -.TP -\fI/etc/passwd\fP -パスワードデータベースのファイル -.TP -\fI/var/run/utmp\fP -(伝統的には \fI/etc/utmp\fP が使われている; libc の中には \fI/var/adm/utmp\fP を使うものもある) -.SH 準拠 -\fBgetlogin\fP() と \fBgetlogin_r\fP() は POSIX.1\-2001 で規定されている。 - -System V にも \fBcuserid\fP() があるが、 これは実効ユーザー ID ではなく、実ユーザー ID を使用する。 -\fBcuserid\fP() 関数は 1988 年版の POSIX には含まれていたが、 1990 年版では削除された。 SUSv2 -に存在したが、POSIX.1\-2001 で削除された。 -.LP -OpenBSD には \fBgetlogin\fP() と \fBsetlogin\fP() があり、 セッションに対応したユーザ名がある。制御端末がない -セッションの場合であっても、対応するユーザ名がある。 -.SH バグ -残念ながら、 \fBgetlogin\fP() をだますのはそれほど難しいことではない。別のプログラムが utmp ファイルを -壊してしまうと、全く動作しないこともある。またログイン名の最初の 8 文字 しか返さないことも多い。またプログラムを制御している tty に -現在ログインしているユーザーは、プログラムを実行した ユーザーでない場合もある。 セキュリティの絡む用途には \fBgetlogin\fP() -を用いるべきではない。 -.LP -glibc は POSIX 仕様には従っておらず、 \fI/dev/tty\fP ではなく \fI標準入力 (stdin)\fP を使う。これはバグである。 -(SunOS 5.8 や HP\-UX 11.11 や FreeBSD 4.8 といった他の最近のシステムはいずれも、 \fI標準入力\fP -がリダイレクトされた場合でもログイン名を返す。) -.LP -\fBcuserid\fP() が何を行っているのか、実際のところを知っている者は誰もいない; 移植性が求められるプログラムでは \fBcuserid\fP() -は使うべきではない。 というかどんなプログラムでも使うべきではない: 代わりに \fIgetpwuid(geteuid())\fP を用いるべきである -(これが意図していることならば、だが)。 \fBcuserid\fP() は「使わない」こと。 -.SH 関連項目 -\fBgeteuid\fP(2), \fBgetuid\fP(2), \fButmp\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getmntent.3 b/draft/man3/getmntent.3 index 1b4d0aae..f6c3b9b0 100644 --- a/draft/man3/getmntent.3 +++ b/draft/man3/getmntent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -130,6 +132,6 @@ System V にも \fBgetmntent\fP() 関数はあるが、 呼び出し手順が .SH 関連項目 \fBfopen\fP(3), \fBfstab\fP(5), \fBmount\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getnameinfo.3 b/draft/man3/getnameinfo.3 index 749ec80f..5a01cda0 100644 --- a/draft/man3/getnameinfo.3 +++ b/draft/man3/getnameinfo.3 @@ -1,4 +1,7 @@ +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain. +.\" %%%LICENSE_END +.\" .\" Almost all details are from RFC 2553. .\" .\" 2004-12-14, mtk, Added EAI_OVERFLOW error @@ -9,7 +12,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH GETNAMEINFO 3 2009\-12\-03 GNU "Linux Programmer's Manual" +.TH GETNAMEINFO 3 2013\-01\-15 GNU "Linux Programmer's Manual" .SH 名前 getnameinfo \- アドレスから名前への変換をプロトコルに依存しないかたちで行う .SH 書式 @@ -67,7 +70,7 @@ _POSIX_SOURCE .TP \fBNI_NUMERICSERV\fP 指定すると、数値形式のサービス名 (例えばポート番号) が返される (指定しなくても、サービス名が決定できない場合は数値形式が返ることがある)。 -.SS "国際化ドメイン名のための getaddrinfo() の拡張" +.SS "国際化ドメイン名のための getnameinfo() の拡張" .PP glibc 2.3.4 から、 \fBgetnameinfo\fP() に拡張が行われ、ホスト名と 国際化ドメイン名 (Internationalized Domain Name; IDN) 形式との間で 透過的な変換ができるようになっている (IDN 形式については RFC 3490 の @@ -186,19 +189,21 @@ else \fBsocket\fP(2), \fBgetaddrinfo\fP(3), \fBgethostbyaddr\fP(3), \fBgetservbyname\fP(3), \fBgetservbyport\fP(3), \fBinet_ntop\fP(3), \fBhosts\fP(5), \fBservices\fP(5), \fBhostname\fP(7), \fBnamed\fP(8) -.LP + R. Gilligan, S. Thomson, J. Bound and W. Stevens, \fIBasic Socket Interface Extensions for IPv6\fP, RFC\ 2553, March 1999. -.LP + Tatsuya Jinmei and Atsushi Onoe, \fIAn Extension of Format for IPv6 Scoped -Addresses\fP, internet draft, work in progress. -ftp://ftp.ietf.org/internet\-drafts/draft\-ietf\-ipngwg\-scopedaddr\-format\-02.txt -.LP +Addresses\fP, internet draft, work in progress +.UR ftp://ftp.ietf.org\:/internet\-drafts\:/draft\-ietf\-ipngwg\-scopedaddr\-format\-02.txt +.UE . + Craig Metz, \fIProtocol Independence Using the Sockets API\fP, Proceedings of -the freenix track: 2000 USENIX annual technical conference, June 2000. +the freenix track: 2000 USENIX annual technical conference, June 2000 .ad l -http://www.usenix.org/publications/library/proceedings/usenix2000/freenix/metzprotocol.html +.UR http://www.usenix.org\:/publications\:/library\:/proceedings\:/usenix2000\:/freenix\:/metzprotocol.html +.UE . .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getnetent.3 b/draft/man3/getnetent.3 index 996a0a3b..1dadf760 100644 --- a/draft/man3/getnetent.3 +++ b/draft/man3/getnetent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -106,6 +108,6 @@ struct netent { .br RFC\ 1101 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getnetent_r.3 b/draft/man3/getnetent_r.3 index 3065830b..2413192a 100644 --- a/draft/man3/getnetent_r.3 +++ b/draft/man3/getnetent_r.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -111,6 +113,6 @@ _BSD_SOURCE || _SVID_SOURCE .SH 関連項目 \fBgetnetent\fP(3), \fBnetworks\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getopt.3 b/draft/man3/getopt.3 index e419fe5d..4f8e50fe 100644 --- a/draft/man3/getopt.3 +++ b/draft/man3/getopt.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 19:27:50 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Mon Aug 30 22:02:34 1995 by Jim Van Zandt .\" longindex is a pointer, has_arg can take 3 values, using consistent @@ -342,6 +344,6 @@ main(int argc, char **argv) { .SH 関連項目 \fBgetsubopt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpass.3 b/draft/man3/getpass.3 deleted file mode 100644 index 428853fd..00000000 --- a/draft/man3/getpass.3 +++ /dev/null @@ -1,104 +0,0 @@ -.\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETPASS 3 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -getpass \- パスワードを取得する -.SH 書式 -\fB#include \fP -.sp -\fBchar *getpass( const char *\fP\fIprompt\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBgetpass\fP(): -.ad l -.RS 4 -.PD 0 -.TP 4 -glibc 2.2.2 以降: -.nf -_BSD_SOURCE || - (_XOPEN_SOURCE\ >=\ 500 || - _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) && - !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600) -.TP 4 -.fi -glibc 2.2.2 より前: なし -.PD -.RE -.ad b -.SH 説明 -この関数は obsolete である。用いないこと。 -.PP -\fBgetpass\fP() 関数は \fI/dev/tty\fP (プロセスの制御端末) をオープンし、文字列 \fIprompt\fP を出力する。そして -echo をオフにし、一行 (「パスワード」) を読み込み、端末の状態を元に戻して、再び \fI/dev/tty\fP をクローズする。 -.SH 返り値 -\fBgetpass\fP() 関数は入力されたパスワード (の最初の \fBPASS_MAX\fP バイトまで) が書きこまれた、 -スタティックなバッファーへのポインターを返す。 末尾の改行は含まれない。この文字列は NULL バイト (\(aq\e0\(aq) で終端される。 -このバッファーは、以降の関数コールで上書きされるかもしれない。 エラーが起こると、端末の状態を復元し、 \fIerrno\fP を適切な値に設定して、NULL -を返す。 -.SH エラー -この関数は以下のような場合に失敗しうる。 -.TP -\fBENXIO\fP -プロセスが制御端末を持っていない。 -.SH ファイル -.\" .SH HISTORY -.\" A -.\" .BR getpass () -.\" function appeared in Version 7 AT&T UNIX. -\fI/dev/tty\fP -.SH 準拠 -SUSv2 には存在するが、過去の名残 (LEGACY) と位置付けられている。 POSIX.1\-2001 で削除された。 -.SH 注意 -libc4 と libc5 では、 \fIprompt\fP は \fI/dev/tty\fP にではなく \fIstderr\fP に出力された。さらに、 -\fI/dev/tty\fP がオープンできない場合は、パスワードは \fIstdin\fP から読み込まれた。 スタティックなバッファーの長さは 128 -バイトだったので、 パスワードの最初の 127 文字だけが返された。 パスワードを読んでいる途中には、シグナルの発行 (\fBSIGINT\fP, -\fBSIGQUIT\fP, \fBSIGSTOP\fP, \fBSIGSTOP\fP) は無効にされ、 それぞれに対応する文字 (通常は Ctrl\-C, -Ctrl\-\e, Ctrl\-Z, Ctrl\-Y) はそのままパスワードの一部として渡された。 libc 5.4.19 からは行編集が無効にされ、 -したがってバックスペースなどもパスワードの一部とみなされるようになった。 -.PP -glibc2 では、 \fI/dev/tty\fP がオープンできない場合は \fIprompt\fP は \fIstderr\fP に書き出され、パスワードは -\fIstdin\fP から読み込まれた。 パスワードの長さには制限はなく、 行編集も無効にはされなかった。 -.PP -SUSv2 によれば、 \fBPASS_MAX\fP の値が 8 以下の場合は、この値は \fI\fP -で定義されていなければならない。 いずれの場合でもこの値は \fIsysconf(_SC_PASS_MAX)\fP によって取得できる。 -しかし、POSIX.2 は定数 \fBPASS_MAX\fP, \fB_SC_PASS_MAX\fP と関数 \fBgetpass\fP() を取り下げた。 libc4 -と libc5 では、 \fBPASS_MAX\fP と \fB_SC_PASS_MAX\fP は一度もサポートされたことはない。 glibc2 は -\fB_SC_PASS_MAX\fP を受付け、 \fBBUFSIZE\fP (例えば 8192) を返す。 -.SH バグ -この関数を呼び出したプロセスは、 できる限り早くそのパスワードを消去 (ゼロクリア) し、 クリアテキストのパスワードが -そのプロセスのアドレス空間で見えないようにすべきである。 -.SH 関連項目 -\fBcrypt\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getprotoent.3 b/draft/man3/getprotoent.3 index 6c2d3894..2189f4cc 100644 --- a/draft/man3/getprotoent.3 +++ b/draft/man3/getprotoent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -99,6 +101,6 @@ struct protoent { .SH 関連項目 \fBgetnetent\fP(3), \fBgetprotoent_r\fP(3), \fBgetservent\fP(3), \fBprotocols\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getprotoent_r.3 b/draft/man3/getprotoent_r.3 index a2664952..259623b8 100644 --- a/draft/man3/getprotoent_r.3 +++ b/draft/man3/getprotoent_r.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -200,6 +202,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBgetprotoent\fP(3), \fBprotocols\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpt.3 b/draft/man3/getpt.3 index 85a17ce3..aab07407 100644 --- a/draft/man3/getpt.3 +++ b/draft/man3/getpt.3 @@ -1,6 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. .\" This man page was written by Jeremy Phelps . +.\" +.\" %%%LICENSE_START(FREELY_REDISTRIBUTABLE) .\" Redistribute and modify at will. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -38,6 +40,6 @@ getpt \- 擬似端末マスタ (PTM) をオープンする \fBgrantpt\fP(3), \fBposix_openpt\fP(3), \fBptsname\fP(3), \fBunlockpt\fP(3), \fBptmx\fP(4), \fBpty\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpw.3 b/draft/man3/getpw.3 index 31c20adf..fdb27e78 100644 --- a/draft/man3/getpw.3 +++ b/draft/man3/getpw.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -93,6 +95,6 @@ SVr2 \fBendpwent\fP(3), \fBfgetpwent\fP(3), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBputpwent\fP(3), \fBsetpwent\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpwent.3 b/draft/man3/getpwent.3 index 9511f159..aca92b04 100644 --- a/draft/man3/getpwent.3 +++ b/draft/man3/getpwent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -123,6 +125,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. \fIpw_gecos\fP フィールドは POSIX では規 \fBfgetpwent\fP(3), \fBgetpw\fP(3), \fBgetpwent_r\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBputpwent\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpwent_r.3 b/draft/man3/getpwent_r.3 index e8db4f9d..fa0e0c71 100644 --- a/draft/man3/getpwent_r.3 +++ b/draft/man3/getpwent_r.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -149,6 +150,6 @@ main(void) \fBfgetpwent\fP(3), \fBgetpw\fP(3), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBputpwent\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getpwnam.3 b/draft/man3/getpwnam.3 index 8396a440..5c24d9fe 100644 --- a/draft/man3/getpwnam.3 +++ b/draft/man3/getpwnam.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -226,6 +228,6 @@ main(int argc, char *argv[]) \fBendpwent\fP(3), \fBfgetpwent\fP(3), \fBgetgrnam\fP(3), \fBgetpw\fP(3), \fBgetpwent\fP(3), \fBgetspnam\fP(3), \fBputpwent\fP(3), \fBsetpwent\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getrpcent.3 b/draft/man3/getrpcent.3 index f03bd842..69f50bb3 100644 --- a/draft/man3/getrpcent.3 +++ b/draft/man3/getrpcent.3 @@ -1,5 +1,9 @@ .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) .\" +.\" %%%LICENSE_START(BSD_ONELINE_CDROM) +.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) +.\" %%%LICENSE_END +.\" .\" @(#)getrpcent.3n 2.2 88/08/02 4.0 RPCSRC; from 1.11 88/03/14 SMI .\"******************************************************************* .\" @@ -26,8 +30,8 @@ getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent \- RPC .fi .SH 説明 .LP -\fBgetrpcent\fP(), \fBgetrpcbyname\fP(), \fBgetrpcbynumber\fP() -はそれぞれ以下の構造体へのポインタを返す。 この構造体は RPC プログラム番号データベース の各行のフィールドを含んでいる。 +\fBgetrpcent\fP(), \fBgetrpcbyname\fP(), \fBgetrpcbynumber\fP() はそれぞれ以下の構造体へのポインタを返す。 +この構造体は RPC プログラム番号データベース の各行のフィールドを含んでいる。 .in +4n .nf @@ -52,14 +56,14 @@ RPC プログラムの別名のリスト。ゼロで終端されている。 このサービスの RPC プログラム番号。 .RE .LP -\fBgetrpcent\fP() はファイルの次のエントリを読み込む。 必要ならばデータベースへの接続がオープンされる。 +\fBgetrpcent\fP() はファイルの次のエントリを読み込む。必要ならばデータベースへの接続がオープンされる。 .LP \fBsetrpcent\fP() はデータベースへの接続をオープンし、 次の読み込みエントリを先頭のエントリに設定する。 \fIstayopen\fP が 0 でない場合、 一つ一つの \fBgetrpc*\fP() 関数の呼び出し間でデータベースへの接続をクローズしない。 .LP \fBendrpcent\fP() はデータベースへの接続をクローズする。 .LP -\fBgetrpcbyname\fP() と \fBgetrpcbynumber\fP() はファイルの最初から一致する RPC プログラム名かプログラム番号が +\fBgetrpcbyname\fP() と \fBgetrpcbynumber\fP() はファイルの最初から一致する RPC プログラム名かプログラム番号が 見つかるか、ファイルの最後 (end\-of\-file) に到達するまで、順番に 探していく。 .SH 返り値 成功すると、 \fBgetrpcent\fP(), \fBgetrpcbyname\fP(), \fBgetrpcbynumber\fP() は、静的に割り当てられた @@ -75,6 +79,6 @@ POSIX.1\-2001 にはない。 BSD 系、Solaris や他の多くのシステム .SH 関連項目 \fBgetrpcent_r\fP(3), \fBrpc\fP(5), \fBrpcinfo\fP(8), \fBypserv\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getrpcent_r.3 b/draft/man3/getrpcent_r.3 index a719a3ec..1a2b2188 100644 --- a/draft/man3/getrpcent_r.3 +++ b/draft/man3/getrpcent_r.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -103,6 +105,6 @@ _BSD_SOURCE || _SVID_SOURCE .SH 関連項目 \fBgetrpcent\fP(3), \fBrpc\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getrpcport.3 b/draft/man3/getrpcport.3 index 60ae9407..cb7f1b6d 100644 --- a/draft/man3/getrpcport.3 +++ b/draft/man3/getrpcport.3 @@ -1,5 +1,9 @@ .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) .\" +.\" %%%LICENSE_START(BSD_ONELINE_CDROM) +.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) +.\" %%%LICENSE_END +.\" .\" @(#)getrpcport.3r 2.2 88/08/02 4.0 RPCSRC; from 1.12 88/02/26 SMI .\"******************************************************************* .\" @@ -22,6 +26,6 @@ getrpcport \- RPC ポート番号を取得する .SH 準拠 POSIX.1\-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gets.3 b/draft/man3/gets.3 index 6d8a6355..b836de6c 100644 --- a/draft/man3/gets.3 +++ b/draft/man3/gets.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Wed Jul 28 11:12:07 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Fri Sep 8 15:48:13 1995 by Andries Brouwer (aeb@cwi.nl) .\"******************************************************************* @@ -97,6 +99,6 @@ glibc バージョン 2.16 以降では、機能検査マシン \fB_ISOC11_SOURC \fBputs\fP(3), \fBscanf\fP(3), \fBungetwc\fP(3), \fBunlocked_stdio\fP(3), \fBfeature_test_macros\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getservent.3 b/draft/man3/getservent.3 index 2c184728..152a0c1f 100644 --- a/draft/man3/getservent.3 +++ b/draft/man3/getservent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -108,6 +110,6 @@ struct servent { .SH 関連項目 \fBgetnetent\fP(3), \fBgetprotoent\fP(3), \fBgetservent_r\fP(3), \fBservices\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getservent_r.3 b/draft/man3/getservent_r.3 index 5055189e..efe52bf9 100644 --- a/draft/man3/getservent_r.3 +++ b/draft/man3/getservent_r.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -205,6 +207,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBgetservent\fP(3), \fBservices\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getspnam.3 b/draft/man3/getspnam.3 index 36d7cb0b..0a2383c0 100644 --- a/draft/man3/getspnam.3 +++ b/draft/man3/getspnam.3 @@ -1,14 +1,16 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) and .\" Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH GETSPNAM 3 2010\-02\-25 GNU "Linux Programmer's Manual" +.TH GETSPNAM 3 2013\-01\-22 GNU "Linux Programmer's Manual" .SH 名前 getspnam, getspnam_r, getspent, getspent_r, setspent, endspent,fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf \- shadow @@ -132,7 +134,8 @@ struct spwd { char *sp_namp; /* ログイン名 */ char *sp_pwdp; /* 暗号化されたパスワード */ long sp_lstchg; /* 最終更新日 - (1970\-01\-01 00:00:00 +0000 (UTC)) からの日数) */ + (1970\-01\-01 00:00:00 +0000 (UTC) + からの日数) */ long sp_min; /* 変更が出来るようになるまでの最短日数 */ long sp_max; /* 変更をしなくてもよい最長日数 */ long sp_warn; /* パスワードが期限切れになる前に @@ -140,7 +143,8 @@ struct spwd { long sp_inact; /* パスワードが期限切れになってから アカウントが無効になるまでの日数 */ long sp_expire; /* アカウントが無効になる日付 - (1970\-01\-01 00:00:00 +0000 (UTC)) からの日数) */ + (1970\-01\-01 00:00:00 +0000 (UTC) + からの日数) */ unsigned long sp_flag; /* 予約フィールド */ }; .fi @@ -154,6 +158,9 @@ struct spwd { リエントラント版の関数は、成功した場合に 0 を返す。 エラーの場合は、エラー番号が返される。 .SH エラー .TP +\fBEACCES\fP +呼び出し元が shadow パスワードファイルにアクセスする許可を持っていない。 +.TP \fBERANGE\fP 与えられたバッファが小さすぎる。 .SH ファイル @@ -172,6 +179,6 @@ API が提供されている。 .SH 関連項目 \fBgetgrnam\fP(3), \fBgetpwnam\fP(3), \fBgetpwnam_r\fP(3), \fBshadow\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getsubopt.3 b/draft/man3/getsubopt.3 index 2bf1c046..d1af2b66 100644 --- a/draft/man3/getsubopt.3 +++ b/draft/man3/getsubopt.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 2007 Michael Kerrisk .\" and Copyright (C) 2007 Justin Pryzby .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -19,6 +20,7 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -176,6 +178,6 @@ int main(int argc, char **argv) .SH 関連項目 \fBgetopt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getttyent.3 b/draft/man3/getttyent.3 deleted file mode 100644 index 0c9f089a..00000000 --- a/draft/man3/getttyent.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) -.\" Distributed under GPL -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETTTYENT 3 2002\-07\-18 GNU "Linux Programmer's Manual" -.SH 名前 -getttyent, getttynam, setttyent, endttyent \- ttys ファイルのエントリを取得する -.SH 書式 -\fB#include \fP -.sp -\fBstruct ttyent *getttyent(void);\fP -.sp -\fBstruct ttyent *getttynam(const char *\fP\fIname\fP\fB);\fP -.sp -\fBint setttyent(void);\fP -.sp -\fBint endttyent(void);\fP -.SH 説明 -これらの関数はファイル \fB_PATH_TTYS\fP (例えば \fI/etc/ttys\fP) へのインタフェースを提供する。 - -関数 \fBsetttyent\fP() はファイルをオープンする。 また既にオープンされている場合は、巻き戻す。 - -関数 \fBendttyent\fP() はファイルをクローズする。 - -関数 \fBgetttynam\fP() は指定された端末名についてファイルを検索する。 この関数は (以下で説明されている) \fIttyent\fP -構造体へのポインタを返す。 - -関数 \fBgetttyent\fP() は (もし必要であれば) ファイル \fB_PATH_TTYS\fP をオープンし、最初のエントリを返す。 -ファイルが既にオープンされている場合は、次のエントリを返す。 \fIttyent\fP 構造体は以下の通りである。 -.in +4n -.nf - -struct ttyent { - char *ty_name; /* 端末デバイス名 */ - char *ty_getty; /* 実行するコマンド。通常は getty */ - char *ty_type; /* termcap のための端末タイプ */ - int ty_status; /* 状態フラグ */ - char *ty_window; /* ウィンドウマネージャを起動するコマンド */ - char *ty_comment; /* コメントフィールド */ -}; -.fi -.in - -\fIty_status\fP は以下のいずれか値をとることができる。 -.br -.nf - -#define TTY_ON 0x01 /* ログインを有効にする (ty_getty プログラムを開始する) */ -#define TTY_SECURE 0x02 /* ユーザ ID 0 でのログインを許可する */ -.fi -.SH 準拠 -POSIX.1\-2001 にはない。 BSD 系に存在し、おそらく他のシステムにもあるだろう。 -.SH 注意 -Linux では、ファイル \fI/etc/ttys\fP と上で説明した関数は使われていない。 -.SH 関連項目 -\fBttyname\fP(3), \fBttyslot\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getumask.3 b/draft/man3/getumask.3 index b59ed157..78437f8e 100644 --- a/draft/man3/getumask.3 +++ b/draft/man3/getumask.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" This replaces an earlier man page written by Walter Harms .\" . @@ -61,6 +63,6 @@ mode_t getumask(void) .SH 関連項目 \fBumask\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getusershell.3 b/draft/man3/getusershell.3 index 187e6576..9792a0a9 100644 --- a/draft/man3/getusershell.3 +++ b/draft/man3/getusershell.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -74,6 +76,6 @@ _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500) .SH 関連項目 \fBshells\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getutent.3 b/draft/man3/getutent.3 deleted file mode 100644 index bebe10e3..00000000 --- a/draft/man3/getutent.3 +++ /dev/null @@ -1,215 +0,0 @@ -.\" Copyright 1995 Mark D. Roth (roth@uiuc.edu) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Solaris manpages -.\" -.\" Modified Thu Jul 25 14:43:46 MET DST 1996 by Michael Haardt -.\" -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GETUTENT 3 2008\-06\-29 "" "Linux Programmer's Manual" -.SH 名前 -getutent, getutid, getutline, pututline, setutent, endutent, utmpname \- utmp -ファイルのエントリにアクセスする -.SH 書式 -\fB#include \fP -.sp -\fBstruct utmp *getutent(void);\fP -.br -\fBstruct utmp *getutid(struct utmp *\fP\fIut\fP\fB);\fP -.br -\fBstruct utmp *getutline(struct utmp *\fP\fIut\fP\fB);\fP -.sp -\fBstruct utmp *pututline(struct utmp *\fP\fIut\fP\fB);\fP -.sp -\fBvoid setutent(void);\fP -.br -\fBvoid endutent(void);\fP -.sp -\fBint utmpname(const char *\fP\fIfile\fP\fB);\fP -.SH 説明 -新しいアプリケーションでは、これらの関数の "utmpx" 版を使用すべきである。 これらは POSIX.1 で規定されている。「準拠」の節を参照。 - -\fButmpname\fP() は、他の utmp 関数がアクセスする (utmp フォーマットの) ファイルの名前を指定する。他の関数を使う前に -\fButmpname\fP() を使って ファイル名の指定を行わなかった場合は、 \fI\fP で 定義されている -\fB_PATH_UTMP\fP がファイル名とみなされる。 -.PP -\fBsetutent\fP() は、ファイルポインタを utmp ファイルの先頭に移動する。 -一般的には、他の関数を使う前にこの関数を呼び出しておくと良いだろう。 -.PP -\fBendutent\fP() は utmp ファイルをクローズする。ユーザーコードで -他の関数を使ってこのファイルにアクセスを行った時は、最後にこの関数を 呼び出すべきである。 -.PP -\fBgetutent\fP() は utmp ファイルの現在のファイル位置から一行読み込み、 行の各フィールドの内容を収めた構造体へのポインタを返す。 -この構造体の定義は \fButmp\fP(5) に書かれている。 -.PP -\fBgetutid\fP() は、 utmp ファイル中の現在の位置から順方向 (末尾に向かう方向) へ \fIut\fP に基く検索を行う。 -\fIut\fP\->ut_type が \fBRUN_LVL\fP, \fBBOOT_TIME\fP, \fBNEW_TIME\fP, \fBOLD_TIME\fP の -いずれかなら、 \fBgetutid\fP() は \fBut_type\fP フィールドが \fIut\fP\->ut_type -に一致する最初のエントリを探す。 \fIut\fP\->ut_type が \fBINIT_PROCESS\fP, \fBLOGIN_PROCESS\fP, -\fBUSER_PROCESS\fP, \fBDEAD_PROCESS\fP のいずれかなら、 \fBgetutid\fP() は \fIut_id\fP フィールドが -\fIut\fP\->ut_id に 一致する最初のエントリを探す。 -.PP -\fBgetutline\fP() は、 utmp ファイルの現在の位置から末尾に向かって検索を行う。 \fIut_type\fP が -\fBUSER_PROCESS\fP または \fBLOGIN_PROCESS\fP で、 \fIut_line\fP フィールドが \fIut\fP\->ut_line -にマッチする最初の行を返す。 -.PP -\fBpututline\fP() は \fIutmp\fP 構造体 \fIut\fP の内容を utmp ファイルに書き出す。 \fBpututline\fP() は -\fBgetutid\fP() を用いて、新たなエントリを 挿入するのにふさわしい場所を探す。 \fIut\fP を挿入するふさわしい場所が -見つからない場合は、新たなエントリをファイルの末尾に追加する。 -.SH 返り値 -\fBgetutent\fP(), \fBgetutid\fP(), \fBgetutline\fP() は、成功すると \fIstruct utmp\fP -へのポインタを返す。 失敗すると NULL を返す (レコードが見つからなかった場合も失敗となる)。 この \fIstruct utmp\fP -は静的な記憶領域に確保され、次にこれらの関数を 呼び出した際に上書きされるかもしれない。 - -\fBpututline\fP() は成功すると \fIut\fP を返す。失敗すると NULL を返す。 - -\fButmpname\fP() は、新しい名前の格納に成功すると 0 を返し、失敗すると \-1 を返す。 -.SH エラー -.TP -\fBENOMEM\fP -メモリ不足。 -.TP -\fBESRCH\fP -レコードが見つからなかった。 -.PP -関数 \fBsetutent\fP(), \fBpututline\fP(), \fBgetut*\fP() は \fBopen\fP(2) -に書かれている理由でも失敗することがある。 -.SH ファイル -/var/run/utmp 現在ログイン中のユーザーのデータベース -.br -/var/log/wtmp 過去のユーザーログインのデータベース -.SH 準拠 -XPG2, SVr4. -.LP -XPG2 と SVID 2 では、 \fBpututline\fP() 関数は値を返さないとされており、 (AIX, HP\-UX, Linux libc5 -などの) 多くのシステムではそうなっている。 HP\-UX では、上述の \fBpututline\fP() と同じプロトタイプを持つ 新しい関数 -\fB_pututline\fP() が導入されている (この関数は Linux libc5 にもある)。 -.LP -現在では、Linux 以外のシステムでは、これらの関数は全て廃止されている。 SUSv1 の後に出てきた POSIX.1\-2001 -では、もはやこれらの関数はなく、 代わりに以下のものを使う。 -.sp -\fB#include \fP -.sp -\fBstruct utmpx *getutxent(void);\fP -.br -\fBstruct utmpx *getutxid(const struct utmpx *);\fP -.br -\fBstruct utmpx *getutxline(const struct utmpx *);\fP -.br -\fBstruct utmpx *pututxline(const struct utmpx *);\fP -.br -\fBvoid setutxent(void);\fP -.br -\fBvoid endutxent(void);\fP -.PP -これらの関数は glibc により提供されており、 "x" がない関数と同じ処理を行うが、 \fIstruct utmpx\fP を使用する。 Linux -では、この構造体の定義は \fIstruct utmp\fP と同じになっている。 完全を期すために、glibc では \fButmpxname\fP() -も提供している。この関数は POSIX.1 では規定されていない。 -.PP -Linux 以外のシステムでは、 \fIutmpx\fP 構造体は \fIutmp\fP 構造体の上位集合 (superset) になっていて、 -追加のフィールドがあったり、既存のフィールドのサイズが大きくなっていたり するものもある。複数のファイルが使用されている場合もあり、多くの場合 -\fI/var/*/utmpx\fP と \fI/var/*/wtmpx\fP というファイルが使われる。 -.LP -一方、 Linux glibc では複数の \fIutmpx\fP ファイル は使われていない。 -\fIutmp\fP 構造体が十分に大きいからである。 -上記の名前に "x" が付いた関数は "x" が付いていない対応する関数の別名と -なっている (例えば \fIgetutxent\fP() は \fIgetutent\fP() の別名である)。 -.SH 注意 -.SS "glibc での注意" -上記の関数群はスレッド・セーフではない。 glibc にはリエントラント版 (reentrant) が追加されている。 -.sp -.nf -\fB#define _GNU_SOURCE\fP /* or _SVID_SOURCE or _BSD_SOURCE; -\& \fBfeature_test_macros(7)\fP 参照 */ -\fB#include \fP -.sp -\fBint getutent_r(struct utmp *\fP\fIubuf\fP\fB, struct utmp **\fP\fIubufp\fP\fB);\fP -.sp -\fBint getutid_r(struct utmp *\fP\fIut\fP\fB,\fP -\fB struct utmp *\fP\fIubuf\fP\fB, struct utmp **\fP\fIubufp\fP\fB);\fP -.sp -\fBint getutline_r(struct utmp *\fP\fIut\fP\fB,\fP -\fB struct utmp *\fP\fIubuf\fP\fB, struct utmp **\fP\fIubufp\fP\fB);\fP -.fi -.sp -これらの関数は GNU での拡張であり、末尾の _r をとった名前の関数と 同様の機能を持つ。 \fIubuf\fP -パラメータは結果を格納する場所を指定する。 成功すると 0 を返し、結果へのポインタを \fI*ubufp\fP に書き込む。エラーの場合 \-1 を返す。 -上記の関数に対応する utmpx 版は存在しない (POSIX.1 ではこれらの関数を規定されていない)。 -.SH 例 -以下の例では、 utmp のレコードの追加・削除を行っている。このコードは、 擬似端末 (pseudo terminal) -から実行されることを想定している。 実際のアプリケーションでは \fBgetpwuid\fP(3) と \fBttyname\fP(3) -の戻り値を検査するべきである。 -.PP -.nf -#include -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - struct utmp entry; - - system("echo before adding entry:;who"); - - entry.ut_type = USER_PROCESS; - entry.ut_pid = getpid(); - strcpy(entry.ut_line, ttyname(STDIN_FILENO) + strlen("/dev/")); - /* only correct for ptys named /dev/tty[pqr][0\-9a\-z] */ - strcpy(entry.ut_id, ttyname(STDIN_FILENO) + strlen("/dev/tty")); - time(&entry.ut_time); - strcpy(entry.ut_user, getpwuid(getuid())\->pw_name); - memset(entry.ut_host, 0, UT_HOSTSIZE); - entry.ut_addr = 0; - setutent(); - pututline(&entry); - - system("echo after adding entry:;who"); - - entry.ut_type = DEAD_PROCESS; - memset(entry.ut_line, 0, UT_LINESIZE); - entry.ut_time = 0; - memset(entry.ut_user, 0, UT_NAMESIZE); - setutent(); - pututline(&entry); - - system("echo after removing entry:;who"); - - endutent(); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBgetutmp\fP(3), \fButmp\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getutmp.3 b/draft/man3/getutmp.3 index de3185f6..b6969a5e 100644 --- a/draft/man3/getutmp.3 +++ b/draft/man3/getutmp.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -60,6 +62,6 @@ Linux では、これらの構造体は同じフィールドを持っており .SH 関連項目 \fBgetutent\fP(3), \fButmp\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getw.3 b/draft/man3/getw.3 index c35a3033..63381253 100644 --- a/draft/man3/getw.3 +++ b/draft/man3/getw.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1995 by Jim Van Zandt .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -73,6 +75,6 @@ SVr4, SUSv2. POSIX.1\-2001 には存在しない。 .SH 関連項目 \fBferror\fP(3), \fBfread\fP(3), \fBfwrite\fP(3), \fBgetc\fP(3), \fBputc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/getwchar.3 b/draft/man3/getwchar.3 index 724f7973..353a3bbe 100644 --- a/draft/man3/getwchar.3 +++ b/draft/man3/getwchar.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ C99. .SH 関連項目 \fBfgetwc\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/glob.3 b/draft/man3/glob.3 index 7cfbb60d..d82bb1d3 100644 --- a/draft/man3/glob.3 +++ b/draft/man3/glob.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Wed Jul 28 11:12:17 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Mon May 13 23:08:50 1996 by Martin Schulze (joey@linux.de) .\" Modified 11 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk) @@ -194,6 +196,6 @@ execvp("ls", &globbuf.gl_pathv[0]); \fBls\fP(1), \fBsh\fP(1), \fBstat\fP(2), \fBexec\fP(3), \fBfnmatch\fP(3), \fBmalloc\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBwordexp\fP(3), \fBglob\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gnu_get_libc_version.3 b/draft/man3/gnu_get_libc_version.3 deleted file mode 100644 index f9b797a8..00000000 --- a/draft/man3/gnu_get_libc_version.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk -.\" -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH GNU_GET_LIBC_VERSION 3 2010\-09\-10 Linux "Linux Programmer's Manual" -.SH 名前 -gnu_get_libc_version, gnu_get_libc_release \- glibc のバージョンと リリース状態を取得する -.SH 書式 -.nf -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -\fB#include \fP - -\fBconst char *gnu_get_libc_version(void);\fP -\fBconst char *gnu_get_libc_release(void);\fP -.fi -.SH 説明 -\fBgnu_get_libc_version\fP() 関数は、システムで利用可能な glibc のバージョンを特定する文字列を返す。 - -\fBgnu_get_libc_release\fP() 関数は、システムで利用可能な glibc バージョンのリリース状態を示す 文字列を返す。 -\fIstable\fP といった文字列が返される。 -.SH バージョン -これらの関数は glibc バージョン 2.1 で初めて登場した。 -.SH 準拠 -これらの関数は glibc 固有である。 -.SH 例 -下記のプログラムを実行すると、次のような出力が得られる。 -.in +4n -.nf - -$\fB ./a.out\fP -GNU libc version: 2.8 -GNU libc release: stable -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - printf("GNU libc version: %s\en", gnu_get_libc_version()); - printf("GNU libc release: %s\en", gnu_get_libc_release()); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBconfstr\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/grantpt.3 b/draft/man3/grantpt.3 index 32be4a0e..7b174b47 100644 --- a/draft/man3/grantpt.3 +++ b/draft/man3/grantpt.3 @@ -1,5 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain. - aeb +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -47,6 +48,6 @@ devpts では、このような補助バイナリを必要としない。 \fBopen\fP(2), \fBposix_openpt\fP(3), \fBptsname\fP(3), \fBunlockpt\fP(3), \fBpts\fP(4), \fBpty\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/gsignal.3 b/draft/man3/gsignal.3 index c0427f98..89a1db6d 100644 --- a/draft/man3/gsignal.3 +++ b/draft/man3/gsignal.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" This replaces an earlier man page written by Walter Harms .\" . @@ -65,6 +67,6 @@ Linux ではこれらの関数を使用しないこと。 過去に間違いが .SH 関連項目 \fBkill\fP(2), \fBsignal\fP(2), \fBraise\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/hash.3 b/draft/man3/hash.3 index f792a162..ff4ad044 100644 --- a/draft/man3/hash.3 +++ b/draft/man3/hash.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)hash.3 8.6 (Berkeley) 8/18/94 .\" @@ -117,13 +119,13 @@ hash 関数が指定されると、 \fIhash_open\fP はデータベースが作 バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。 .SH 関連項目 \fBbtree\fP(3), \fBdbopen\fP(3), \fBmpool\fP(3), \fBrecno\fP(3) -.sp + \fIDynamic Hash Tables\fP, Per\-Ake Larson, Communications of the ACM, April 1988. -.sp + \fIA New Hash Package for UNIX\fP, Margo Seltzer, USENIX Proceedings, Winter 1991. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/hsearch.3 b/draft/man3/hsearch.3 index 09b6e655..65620e05 100644 --- a/draft/man3/hsearch.3 +++ b/draft/man3/hsearch.3 @@ -1,8 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. .\" Copyright 1993 Ulrich Drepper (drepper@karlsruhe.gmd.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" References consulted: .\" SunOS 4.1.1 man pages @@ -200,6 +200,6 @@ int main() .SH 関連項目 \fBbsearch\fP(3), \fBlsearch\fP(3), \fBmalloc\fP(3), \fBtsearch\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/hypot.3 b/draft/man3/hypot.3 index 808aa537..bae835cc 100644 --- a/draft/man3/hypot.3 +++ b/draft/man3/hypot.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -113,6 +115,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD にも準拠し .SH 関連項目 \fBcabs\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iconv.3 b/draft/man3/iconv.3 index 0770c539..567013a8 100644 --- a/draft/man3/iconv.3 +++ b/draft/man3/iconv.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -109,6 +111,6 @@ POSIX.1\-2001. .SH 関連項目 \fBiconv_close\fP(3), \fBiconv_open\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iconv_close.3 b/draft/man3/iconv_close.3 index e70ca93a..1176f3a1 100644 --- a/draft/man3/iconv_close.3 +++ b/draft/man3/iconv_close.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -35,6 +37,6 @@ UNIX98, POSIX.1\-2001. .SH 関連項目 \fBiconv\fP(3), \fBiconv_open\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iconv_open.3 b/draft/man3/iconv_open.3 index 799672f8..740a64dc 100644 --- a/draft/man3/iconv_open.3 +++ b/draft/man3/iconv_open.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -63,6 +65,6 @@ UNIX98, POSIX.1\-2001. .SH 関連項目 \fBiconv\fP(1), \fBiconv\fP(3), \fBiconv_close\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ilogb.3 b/draft/man3/ilogb.3 index e707ed3a..cb7c7f14 100644 --- a/draft/man3/ilogb.3 +++ b/draft/man3/ilogb.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Inspired by a page by Walter Harms created 2002-08-10 .\" @@ -118,6 +120,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBlog\fP(3), \fBlogb\fP(3), \fBsignificand\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/index.3 b/draft/man3/index.3 index a832e973..0a093fbb 100644 --- a/draft/man3/index.3 +++ b/draft/man3/index.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -58,6 +60,6 @@ index, rindex \- 文字列中の文字の位置を示す \fBmemchr\fP(3), \fBstrchr\fP(3), \fBstring\fP(3), \fBstrpbrk\fP(3), \fBstrrchr\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/inet.3 b/draft/man3/inet.3 index 1533de8b..f63ee867 100644 --- a/draft/man3/inet.3 +++ b/draft/man3/inet.3 @@ -1,9 +1,8 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -44,7 +44,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH INET 3 2008\-06\-19 GNU "Linux Programmer's Manual" +.TH INET 3 2013\-02\-10 GNU "Linux Programmer's Manual" .SH 名前 inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof \- インターネットアドレス操作ルーチン @@ -187,7 +187,7 @@ main(int argc, char *argv[]) } if (inet_aton(argv[1], &addr) == 0) { - perror("inet_aton"); + fprintf(stderr, "Invalid address\en"); exit(EXIT_FAILURE); } @@ -200,6 +200,6 @@ main(int argc, char *argv[]) \fBgetnetent\fP(3), \fBinet_ntop\fP(3), \fBinet_pton\fP(3), \fBhosts\fP(5), \fBnetworks\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/inet_ntop.3 b/draft/man3/inet_ntop.3 index 2d092815..92a6e1e0 100644 --- a/draft/man3/inet_ntop.3 +++ b/draft/man3/inet_ntop.3 @@ -1,5 +1,6 @@ .\" Copyright 2000 Sam Varshavchik .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References: RFC 2553 .\"******************************************************************* @@ -76,6 +78,6 @@ glibc 2.2 以降では \fIsocklen_t\fP となっている。 .SH 関連項目 \fBgetnameinfo\fP(3), \fBinet\fP(3), \fBinet_pton\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/inet_pton.3 b/draft/man3/inet_pton.3 index 49b412e7..20130df2 100644 --- a/draft/man3/inet_pton.3 +++ b/draft/man3/inet_pton.3 @@ -1,6 +1,7 @@ .\" Copyright 2000 Sam Varshavchik .\" and Copyright (c) 2008 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References: RFC 2553 .\"******************************************************************* @@ -140,6 +142,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBgetaddrinfo\fP(3), \fBinet\fP(3), \fBinet_ntop\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/infnan.3 b/draft/man3/infnan.3 index 3f1cd3e8..44049e15 100644 --- a/draft/man3/infnan.3 +++ b/draft/man3/infnan.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -65,6 +67,6 @@ infnan \- 無限大と無効値 (NaN) を取扱う .SH 注意 この廃止された (obsolete) 関数は、 libc4 と libc5 で提供されていたが、 glibc2 では提供されていない。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/initgroups.3 b/draft/man3/initgroups.3 index 5056add6..efb6f707 100644 --- a/draft/man3/initgroups.3 +++ b/draft/man3/initgroups.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -72,6 +74,6 @@ SVr4, 4.3BSD. .SH 関連項目 \fBgetgroups\fP(2), \fBsetgroups\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/insque.3 b/draft/man3/insque.3 index a1c3d7cf..8faf1b71 100644 --- a/draft/man3/insque.3 +++ b/draft/man3/insque.3 @@ -2,6 +2,7 @@ .\" $Id: insque.3,v 1.2 1996/10/30 21:03:39 meem Exp meem $ .\" and Copyright (c) 2010, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code (5.4.7) @@ -216,6 +218,6 @@ main(int argc, char *argv[]) } .fi .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/intro.3 b/draft/man3/intro.3 index 11fa6b5a..6849c1b9 100644 --- a/draft/man3/intro.3 +++ b/draft/man3/intro.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2007-10-23 mtk, Nearly a complete rewrite of the earlier page. .\"******************************************************************* @@ -78,6 +80,6 @@ intro \- ライブラリ関数の紹介 \fBenviron\fP(7), \fBfeature_test_macros\fP(7), \fBlibc\fP(7), \fBmath_error\fP(7), \fBpath_resolution\fP(7), \fBpthreads\fP(7), \fBsignal\fP(7), \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/isalpha.3 b/draft/man3/isalpha.3 index 7aefd1ca..75c0c17c 100644 --- a/draft/man3/isalpha.3 +++ b/draft/man3/isalpha.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 19:10:00 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Aug 21 17:51:50 1994 by Rik Faith (faith@cs.unc.edu) @@ -146,6 +147,6 @@ C99, 4.3BSD. C89 では、これらの関数のうち \fBisascii\fP() と \fBi \fBsetlocale\fP(3), \fBtoascii\fP(3), \fBtolower\fP(3), \fBtoupper\fP(3), \fBascii\fP(7), \fBlocale\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/isatty.3 b/draft/man3/isatty.3 index 1c3153ea..42266d4e 100644 --- a/draft/man3/isatty.3 +++ b/draft/man3/isatty.3 @@ -1,6 +1,7 @@ .\" Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -53,6 +55,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. .SH 関連項目 \fBfstat\fP(2), \fBttyname\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/isgreater.3 b/draft/man3/isgreater.3 index 46b0b4d5..6d6c87b4 100644 --- a/draft/man3/isgreater.3 +++ b/draft/man3/isgreater.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" 2002-07-27 Walter Harms .\" this was done with the help of the glibc manual .\" @@ -86,6 +90,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfpclassify\fP(3), \fBisnan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswalnum.3 b/draft/man3/iswalnum.3 index eb449b86..fca77a60 100644 --- a/draft/man3/iswalnum.3 +++ b/draft/man3/iswalnum.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -54,6 +56,6 @@ C99. .SH 関連項目 \fBisalnum\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswalpha.3 b/draft/man3/iswalpha.3 index 58cdc95b..1c7fbce1 100644 --- a/draft/man3/iswalpha.3 +++ b/draft/man3/iswalpha.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -55,6 +57,6 @@ C99. .SH 関連項目 \fBisalpha\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswblank.3 b/draft/man3/iswblank.3 index c34da77d..21b0569d 100644 --- a/draft/man3/iswblank.3 +++ b/draft/man3/iswblank.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -59,6 +61,6 @@ POSIX.1\-2001. .SH 関連項目 \fBisblank\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswcntrl.3 b/draft/man3/iswcntrl.3 index 107800dd..bc1749dd 100644 --- a/draft/man3/iswcntrl.3 +++ b/draft/man3/iswcntrl.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ C99. .SH 関連項目 \fBiscntrl\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswctype.3 b/draft/man3/iswctype.3 index f71be8ca..205de76d 100644 --- a/draft/man3/iswctype.3 +++ b/draft/man3/iswctype.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ C99. \fBiswpunct\fP(3), \fBiswspace\fP(3), \fBiswupper\fP(3), \fBiswxdigit\fP(3), \fBwctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswdigit.3 b/draft/man3/iswdigit.3 index de5a242e..7fd3f4f0 100644 --- a/draft/man3/iswdigit.3 +++ b/draft/man3/iswdigit.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -53,6 +55,6 @@ C99. .SH 関連項目 \fBisdigit\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswgraph.3 b/draft/man3/iswgraph.3 index 171032da..81a89e93 100644 --- a/draft/man3/iswgraph.3 +++ b/draft/man3/iswgraph.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -51,6 +53,6 @@ C99. .SH 関連項目 \fBisgraph\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswlower.3 b/draft/man3/iswlower.3 index 646aa849..0c39fb3d 100644 --- a/draft/man3/iswlower.3 +++ b/draft/man3/iswlower.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -58,6 +60,6 @@ case)・ タイトル文字 (title case) という 3 つの "case" が含まれ .SH 関連項目 \fBislower\fP(3), \fBiswctype\fP(3), \fBtowlower\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswprint.3 b/draft/man3/iswprint.3 index 95260f2c..f3e668e6 100644 --- a/draft/man3/iswprint.3 +++ b/draft/man3/iswprint.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -42,6 +44,6 @@ C99. .SH 関連項目 \fBisprint\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswpunct.3 b/draft/man3/iswpunct.3 index 198f68e0..7eed4354 100644 --- a/draft/man3/iswpunct.3 +++ b/draft/man3/iswpunct.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -52,6 +54,6 @@ C99. .SH 関連項目 \fBispunct\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswspace.3 b/draft/man3/iswspace.3 index ecbaa33b..67773e1a 100644 --- a/draft/man3/iswspace.3 +++ b/draft/man3/iswspace.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -49,6 +51,6 @@ C99. .SH 関連項目 \fBisspace\fP(3), \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswupper.3 b/draft/man3/iswupper.3 index 4c2103b6..e86833e7 100644 --- a/draft/man3/iswupper.3 +++ b/draft/man3/iswupper.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -58,6 +60,6 @@ case)・ タイトル文字 (title case) という 3 つの "case" が含まれ .SH 関連項目 \fBisupper\fP(3), \fBiswctype\fP(3), \fBtowupper\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/iswxdigit.3 b/draft/man3/iswxdigit.3 index 9dcd0b57..350e74ea 100644 --- a/draft/man3/iswxdigit.3 +++ b/draft/man3/iswxdigit.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -51,6 +53,6 @@ C99. .SH 関連項目 \fBiswctype\fP(3), \fBisxdigit\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/j0.3 b/draft/man3/j0.3 index 0134ad02..3c71f52e 100644 --- a/draft/man3/j0.3 +++ b/draft/man3/j0.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -114,6 +116,6 @@ _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 600 .SH 関連項目 \fBy0\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/key_setsecret.3 b/draft/man3/key_setsecret.3 index 2ae011d8..18d4cc88 100644 --- a/draft/man3/key_setsecret.3 +++ b/draft/man3/key_setsecret.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" I had no way the check the functions out .\" be careful .\"******************************************************************* @@ -50,6 +54,6 @@ DES である。 .SH 関連項目 \fBcrypt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ldexp.3 b/draft/man3/ldexp.3 index c2d6fcf7..8f84abed 100644 --- a/draft/man3/ldexp.3 +++ b/draft/man3/ldexp.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -93,6 +95,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBfrexp\fP(3), \fBmodf\fP(3), \fBscalbln\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lgamma.3 b/draft/man3/lgamma.3 index f278b114..8682dc8a 100644 --- a/draft/man3/lgamma.3 +++ b/draft/man3/lgamma.3 @@ -1,9 +1,13 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) -.\" Distributed under GPL -.\" based on glibc infopages .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) +.\" Distributed under GPL +.\" %%%LICENSE_END +.\" +.\" based on glibc infopages +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -110,6 +114,6 @@ glibc 2.9 とそれ以前のバージョンでは、 極エラーが発生した .SH 関連項目 \fBtgamma\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lio_listio.3 b/draft/man3/lio_listio.3 index 92a48c0d..1871b5ad 100644 --- a/draft/man3/lio_listio.3 +++ b/draft/man3/lio_listio.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2010, Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -144,6 +145,6 @@ I/O 操作の実行中は制御ブロックを変更してはならない。デ \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBaio\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/localeconv.3 b/draft/man3/localeconv.3 index a62b6425..d3386493 100644 --- a/draft/man3/localeconv.3 +++ b/draft/man3/localeconv.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 19:01:20 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* .\" @@ -48,6 +50,6 @@ C89, C99 \fBlocale\fP(1), \fBlocaledef\fP(1), \fBisalpha\fP(3), \fBnl_langinfo\fP(3), \fBsetlocale\fP(3), \fBstrcoll\fP(3), \fBstrftime\fP(3), \fBlocale\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lockf.3 b/draft/man3/lockf.3 deleted file mode 100644 index 43be724b..00000000 --- a/draft/man3/lockf.3 +++ /dev/null @@ -1,107 +0,0 @@ -.\" Copyright 1997 Nicolás Lichtmaier -.\" Created Thu Aug 7 00:44:00 ART 1997 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" Added section stuff, aeb, 2002-04-22. -.\" Corrected include file, drepper, 2003-06-15. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LOCKF 3 2011\-09\-11 GNU "Linux Programmer's Manual" -.SH 名前 -lockf \- オープンされたファイルに対する POSIX ロックの適用・テスト・解除を行う -.SH 書式 -\fB#include \fP -.sp -\fBint lockf(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, off_t \fP\fIlen\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBlockf\fP(): -.ad l -.RS 4 -_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.RE -.ad -.SH 説明 -オープンされたファイルのセクションに対して、 POSIX ロックの適用・テスト・解除をする。 ファイルは \fIfd\fP で指定される。 \fIfd\fP -は書き込みのためにオープンしたファイルディスクリプタである。 アクションは \fIcmd\fP で指定される。 \fIpos\fP を現在のファイル位置とすると、 -\fIlen\fP が正の場合、セクションはバイト位置 \fIpos\fP..\fIpos\fP+\fIlen\fP\-1 となり、 \fIlen\fP -が負の場合、セクションはバイト位置 \fIpos\fP\-\fIlen\fP..\fIpos\fP\-1 となる。 \fIlen\fP が 0 -の場合、セクションは現在のファイル位置から無限大までとなる (つまり現在の、あるいは変更された場合は将来の、ファイル終端位置まで)。 -どの場合においても、セクションは以前のファイル終端よりも拡大されうる。 -.LP -Linux では、 \fBlockf\fP() は単に \fBfcntl\fP(2) のロックへのインターフェースである。 多くの他のシステムで -\fBlockf\fP() はこのように実装されているが、 POSIX.1\-2001 では \fBlockf\fP() と \fBfcntl\fP(2) -のロックとの関係は規定されていない。 おそらく、移植性が必要なアプリケーションでは、 \fBlockf\fP() と \fBfcntl\fP(2) -のロックを混ぜて呼び出すのは避けるべきであろう。 -.LP -有効なオプションを以下に挙げる。 -.TP -\fBF_LOCK\fP -ファイルの指定されたセクションに排他ロックを設定する。 そのセクション (の一部) が既にロックされていた場合、 -前のロックが解除されるまで関数の呼び出しがブロックされる。 このセクションが前にロックされているセクションと重なった場合、 2 -つのセクションは結合される。 ロックを保持しているプロセスが、 そのファイルのファイルディスクリプタをクローズすると、 ファイルロックは解放される。 -子プロセスはロックを継承しない。 -.TP -\fBF_TLOCK\fP -\fBF_LOCK\fP と同様であるが、ファイルが既にロックされている場合、 関数の呼び出しはブロックを行わずにエラーを返す。 -.TP -\fBF_ULOCK\fP -ファイルの指定されたセクションのロックを解除する。 これによりロックされたセクションが 2 つに分割されるかもしれない。 -.TP -\fBF_TEST\fP -次のようにロックのテストをする。 指定されたセクションがロックされていないか、 このプロセスによりロックされている場合、0 を返す。 -他のプロセスがロックを保持している場合、\-1 を返し、 \fIerrno\fP を \fBEAGAIN\fP (いくつかの他のシステムでは \fBEACCES\fP) -に設定する。 -.SH 返り値 -成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 -.SH エラー -.TP -\fBEACCES\fP か \fBEAGAIN\fP -ロックされたファイルに対して、 \fBF_TLOCK\fP または \fBF_TEST\fP が指定されている。 -または、ファイルが他のプロセスによりメモリーマップされており、 指定された操作が禁止されている。 -.TP -\fBEBADF\fP -\fIfd\fP がオープンされたファイルのディスクリプタではない。 または、 \fIcmd\fP が \fBF_LOCK\fP か \fBF_TLOCK\fP で、 -\fIfd\fP が書き込み可能なファイルディスクリプタでない。 -.TP -\fBEDEADLK\fP -コマンドが \fBT_LOCK\fP であり、このロック操作を行うとデッドロックが発生してしまう。 -.TP -\fBEINVAL\fP -\fIfd\fP に無効な操作が指定された。 -.TP -\fBENOLCK\fP -非常に多くのセグメントロックが開かれ、ロックテーブルが一杯である。 -.SH 準拠 -SVr4, POSIX.1\-2001. -.SH 関連項目 -\fBfcntl\fP(2), \fBflock\fP(2) -.br -カーネルソースの \fIDocumentation/filesystems\fP ディレクトリにある \fIlocks.txt\fP と -\fImandatory\-locking.txt\fP (以前のカーネルでは、これらのファイルは \fIDocumentation\fP ディレクトリ直下にあり、 -\fImandatory\-locking.txt\fP は \fImandatory.txt\fP という名前であった。) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/log.3 b/draft/man3/log.3 index 9344c4d2..b8a94cfd 100644 --- a/draft/man3/log.3 +++ b/draft/man3/log.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -99,6 +101,6 @@ glibc 2.5 以前では、 NaN に対して \fBlog\fP() をとると、間違っ .SH 関連項目 \fBcbrt\fP(3), \fBclog\fP(3), \fBlog10\fP(3), \fBlog1p\fP(3), \fBlog2\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/log10.3 b/draft/man3/log10.3 index ca3c2fa4..e867ac9a 100644 --- a/draft/man3/log10.3 +++ b/draft/man3/log10.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -80,6 +82,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBcbrt\fP(3), \fBclog10\fP(3), \fBexp10\fP(3), \fBlog\fP(3), \fBlog2\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/log1p.3 b/draft/man3/log1p.3 index 5a63992a..17e061f0 100644 --- a/draft/man3/log1p.3 +++ b/draft/man3/log1p.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified 2002-07-27 by Walter Harms .\" (walter.harms@informatik.uni-oldenburg.de) @@ -114,6 +116,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBexp\fP(3), \fBexpm1\fP(3), \fBlog\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/log2.3 b/draft/man3/log2.3 index 21f0db52..40357b8a 100644 --- a/draft/man3/log2.3 +++ b/draft/man3/log2.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -81,6 +83,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD にも準拠し .SH 関連項目 \fBcbrt\fP(3), \fBclog2\fP(3), \fBlog\fP(3), \fBlog10\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/logb.3 b/draft/man3/logb.3 index 0e265e8d..e25e027a 100644 --- a/draft/man3/logb.3 +++ b/draft/man3/logb.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Inspired by a page by Walter Harms created 2002-08-10 .\" @@ -104,6 +106,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBilogb\fP(3), \fBlog\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/login.3 b/draft/man3/login.3 deleted file mode 100644 index a087769f..00000000 --- a/draft/man3/login.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" -.\" Derived from text written by Martin Schulze (or taken from glibc.info) -.\" and text written by Paul Thompson - both copyright 2002. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LOGIN 3 2004\-05\-06 GNU "Linux Programmer's Manual" -.SH 名前 -login, logout \- utmp と wtmp エントリを書き込む -.SH 書式 -\fB#include \fP -.sp -\fBvoid login(const struct utmp *\fP\fIut\fP\fB);\fP -.sp -\fBint logout(const char *\fP\fIut_line\fP\fB);\fP -.sp -\fI\-lutil\fP でリンクする。 -.SH 説明 -utmp ファイルは現在システムを使用しているユーザを記録する。 wtmp ファイルはすべてのログインとログアウトを記録する。 \fButmp\fP(5) -を参照すること。 -.LP -関数 \fBlogin\fP() は与えられた \fIstruct utmp\fP \fIut\fP を utmp と wtmp ファイルの両方に書き込む。 -.LP -関数 \fBlogout\fP() は utmp ファイルにあるエントリをクリアする。 -.SS "GNU 版の詳細" -より正確には、 \fBlogin\fP() は引き数 \fIut\fP 構造体をとり、(もし存在するならば) フィールド \fIut\->ut_type\fP を -\fBUSER_PROCESS\fP という値にし、(もし存在するならば) フィールド \fIut\->ut_pid\fP を呼び出し元プロセスのプロセス -ID の値にする。 次にフィールド \fIut\->ut_line\fP の値を設定しようとする。 -この関数は、標準入力・標準出力・標準エラー出力の中から 端末 (tty) である最初のものをとり、 対応するパス名から先頭の \fI/dev/\fP -を引いたものを このフィールドに格納して、この構造体を utmp ファイルに書き込む。 一方、端末名が見つからない場合は、このフィールドは "???" -とされて、 この構造体は utmp ファイルに書き込まれない。 その後にこの構造体は wtmp ファイルに書き込まれる。 -.LP -\fBlogout\fP() 関数は utmp ファイルから \fIut_line\fP 引き数にマッチするエントリを探す。 レコードが見つかった場合、 -\fIut_name\fP と \fIut_host\fP フィールドをクリアして、 \fIut_tv\fP タイムスタンプフィールドを更新し、 (もし存在するならば) -\fIut_type\fP フィールドを \fBDEAD_PROCESS\fP に更新する。 -.SH 返り値 -エントリをデータベースに書き込むのに成功した場合、 \fBlogout\fP() 関数は 1 を返す。 またエラーが起こった場合、0 を返す。 -.SH ファイル -.TP -\fI/var/run/utmp\fP -ユーザアカウントデータベース。 \fI\fP における \fB_PATH_UTMP\fP で設定されている。 -.TP -\fI/var/log/wtmp\fP -ユーザアカウントログファイル。 \fI\fP における \fB_PATH_WTMP\fP で設定されている。 -.SH 準拠 -POSIX.1\-2001 にはない。 BSD 系に存在する。 -.SH 注意 -\fIstruct utmp\fP のメンバ \fIut_user\fP は、BSD では \fIut_name\fP という名前である点に注意すること。 そのため -\fIut_name\fP は \fI\fP において \fIut_user\fP のエイリアスとして定義されている。 -.SH 関連項目 -\fBgetutent\fP(3), \fButmp\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/longjmp.3 b/draft/man3/longjmp.3 index 66f8dc32..10dd3aaf 100644 --- a/draft/man3/longjmp.3 +++ b/draft/man3/longjmp.3 @@ -1,5 +1,6 @@ .\" Written by Michael Haardt, Fri Nov 25 14:51:42 MET 1994 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Added siglongjmp, Sun Mar 2 22:03:05 EST 1997, jrv@vanzandt.mv.com .\" Modifications, Sun Feb 26 14:39:45 1995, faith@cs.unc.edu @@ -83,6 +84,6 @@ POSIX では、 \fBlongjmp\fP() がシグナルコンテキスト (signal contex .SH 関連項目 \fBsetjmp\fP(3), \fBsigsetjmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lrint.3 b/draft/man3/lrint.3 index e3fb7405..8a64ac63 100644 --- a/draft/man3/lrint.3 +++ b/draft/man3/lrint.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +95,6 @@ C99, POSIX.1\-2001. \fBceil\fP(3), \fBfloor\fP(3), \fBlround\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBround\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lround.3 b/draft/man3/lround.3 index 04cff6b8..bf61dc26 100644 --- a/draft/man3/lround.3 +++ b/draft/man3/lround.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -95,6 +97,6 @@ C99, POSIX.1\-2001. \fBceil\fP(3), \fBfloor\fP(3), \fBlrint\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBround\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lsearch.3 b/draft/man3/lsearch.3 index f63ffd53..ceaffb8b 100644 --- a/draft/man3/lsearch.3 +++ b/draft/man3/lsearch.3 @@ -1,6 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. .\" Copyright 1995 Jim Van Zandt .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Corrected prototype and include, aeb, 990927 .\"******************************************************************* @@ -59,6 +60,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. libc には libc\-4.6.27 以降で実装されて .SH 関連項目 \fBbsearch\fP(3), \fBhsearch\fP(3), \fBtsearch\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/lseek64.3 b/draft/man3/lseek64.3 index bd019600..f7536bb3 100644 --- a/draft/man3/lseek64.3 +++ b/draft/man3/lseek64.3 @@ -1,5 +1,6 @@ .\" Copyright 2004 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -118,6 +120,6 @@ lseek64 \- ファイルの 64 ビットの読み書きオフセットの位置 .SH 関連項目 \fBllseek\fP(2), \fBlseek\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/makecontext.3 b/draft/man3/makecontext.3 index 2962953e..6f465104 100644 --- a/draft/man3/makecontext.3 +++ b/draft/man3/makecontext.3 @@ -2,6 +2,7 @@ .\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END +.\" .\" 2006-08-02, mtk, Added example program .\" .\"******************************************************************* @@ -28,7 +31,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH MAKECONTEXT 3 2009\-03\-31 GNU "Linux Programmer's Manual" +.TH MAKECONTEXT 3 2013\-02\-12 GNU "Linux Programmer's Manual" .SH 名前 makecontext, swapcontext \- ユーザコンテキストを操作する .SH 書式 @@ -40,18 +43,18 @@ makecontext, swapcontext \- ユーザコンテキストを操作する \fBint swapcontext(ucontext_t *\fP\fIoucp\fP\fB, ucontext_t *\fP\fIucp\fP\fB);\fP .SH 説明 System V 的な環境では、 \fBmcontext_t\fP および \fBucontext_t\fP という 2 つの型と、 -\fBgetcontext\fP(2), \fBsetcontext\fP(2), \fBmakecontext\fP(), \fBswapcontext\fP() という +\fBgetcontext\fP(3), \fBsetcontext\fP(3), \fBmakecontext\fP(), \fBswapcontext\fP() という 4 つの関数が \fI\fP で定義されており、あるプロセス内部で制御下にある複数のスレッド間で、 ユーザレベルのコンテキスト切替えができるようになっている。 .LP -これらの型と、最初の 2 つの関数については、 \fBgetcontext\fP(2) を参照のこと。 +これらの型と、最初の 2 つの関数については、 \fBgetcontext\fP(3) を参照のこと。 .LP \fBmakecontext\fP() 関数は、ポインタ \fIucp\fP が指すコンテキストを変更する (\fIucp\fP は以前の -\fBgetcontext\fP(2) 呼び出しで得られたものである)。 \fBmakecontext\fP() +\fBgetcontext\fP(3) 呼び出しで得られたものである)。 \fBmakecontext\fP() を起動する前には、呼び出し者は、このコンテキスト用に 新しいスタックを確保し、そのアドレスを \fIucp\->uc_stack\fP に代入し、 さらに後継のコンテキストを定義し、そのアドレスを \fIucp\->uc_link\fP に 代入しなければならない。 -このコンテキストが将来 (\fBsetcontext\fP(2) または \fBswapcontext\fP() によって) 有効にされると、関数 +このコンテキストが将来 (\fBsetcontext\fP(3) または \fBswapcontext\fP() によって) 有効にされると、関数 \fIfunc\fP が呼ばれ、 引き数として \fIargc\fP 以降の整数 (\fIint\fP) 引き数の列が渡される。 呼び出し者は \fIargc\fP にこれらの引き数の個数を指定しなければならない。 この関数が戻ると、後継のコンテキストが有効になる。 後継コンテキストのポインタが NULL の場合、そのスレッドが終了する。 @@ -84,7 +87,7 @@ SUSv2, POSIX.1\-2001. POSIX.1\-2008 では、移植性の問題から \fBmakeco 引き数としてポインタを渡すことができるようになっている。 .SH 例 .PP -以下のサンプル・プログラムは、 \fBgetcontext\fP(2), \fBmakecontext\fP(), \fBswapcontext\fP() +以下のサンプル・プログラムは、 \fBgetcontext\fP(3), \fBmakecontext\fP(), \fBswapcontext\fP() の使用方法の例を示すものである。 このプログラムを実行すると、以下のような出力が得られる: .in +4n .nf @@ -162,9 +165,9 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 -\fBgetcontext\fP(2), \fBsigaction\fP(2), \fBsigaltstack\fP(2), \fBsigprocmask\fP(2), +\fBsigaction\fP(2), \fBsigaltstack\fP(2), \fBsigprocmask\fP(2), \fBgetcontext\fP(3), \fBsigsetjmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/makedev.3 b/draft/man3/makedev.3 index fc2aaecd..71eb638f 100644 --- a/draft/man3/makedev.3 +++ b/draft/man3/makedev.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -38,7 +40,6 @@ makedev, major, minor \- デバイス番号の操作 \fBunsigned int major(dev_t \fP\fIdev\fP\fB);\fP \fBunsigned int minor(dev_t \fP\fIdev\fP\fB);\fP - .fi .SH 説明 デバイス ID は、メジャー ID とマイナー ID の二つの部分から構成される。 @@ -67,6 +68,6 @@ glibc 2.3.3 以降では、これらは GNU 固有の 3 つの関数 .SH 関連項目 \fBmknod\fP(2), \fBstat\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/malloc.3 b/draft/man3/malloc.3 deleted file mode 100644 index e0798689..00000000 --- a/draft/man3/malloc.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Sat Jul 24 19:00:59 1993 by Rik Faith (faith@cs.unc.edu) -.\" Clarification concerning realloc, iwj10@cus.cam.ac.uk (Ian Jackson), 950701 -.\" Documented MALLOC_CHECK_, Wolfram Gloger (wmglo@dent.med.uni-muenchen.de) -.\" 2007-09-15 mtk: added notes on malloc()'s use of sbrk() and mmap(). -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MALLOC 3 2012\-05\-10 GNU "Linux Programmer's Manual" -.SH 名前 -malloc, free, calloc, realloc \- 動的なメモリの割り当てと解放を行う -.SH 書式 -.nf -\fB#include \fP -.sp -\fBvoid *malloc(size_t \fP\fIsize\fP\fB);\fP -\fBvoid free(void \fP\fI*ptr\fP\fB);\fP -\fBvoid *calloc(size_t \fP\fInmemb\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBvoid *realloc(void \fP\fI*ptr\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.fi -.SH 説明 -.PP -.\" glibc does this: -\fBmalloc\fP() 関数は \fIsize\fP バイトを割り当て、 割り当てられたメモリに対する -ポインタを返す。\fIメモリの内容は初期化されない\fP。 \fIsize\fP が 0 の場合、 -\fBmalloc\fP() は NULL または \fBfree\fP() に後で渡しても問題の起こらない -一意なポインタ値を返す。 -.PP -\fBfree\fP() 関数はポインタ \fIptr\fP が指すメモリ空間を解放する。このポインタは、 -以前に呼び出された \fBmalloc\fP(), \fBcalloc\fP(), \fBrealloc\fP() のいずれかが返した値で -なければならない。これ以外のポインタを指定したり、すでに \fIfree(ptr)\fP が実行 -されていたりした場合の動作は定義されていない。 -\fIptr\fP が NULL の場合には、何の動作も行われない。 -.PP -.\" glibc does this: -\fBcalloc\fP() 関数は \fIsize\fP バイトの要素 \fInmemb\fP 個からなる配列にメモリを -割り当て、割り当てられたメモリに対するポインタを返す。 メモリの内容は数値ゼロ -(全ビットが 0 のバイト) にセットされる。 \fInmemb\fP か \fIsize\fP が 0 の場合、 -\fBcalloc\fP() は NULL または \fBfree\fP() に後で渡しても問題の起こらない一意な -ポインタ値を返す。 -.PP -\fBrealloc\fP() は、ポインタ \fIptr\fP が示すメモリブロックのサイズを \fIsize\fP バイト -に変更する。領域の先頭から、新旧のサイズの小さい方の位置までの範囲の内容は -変更されない。新しいサイズが前のサイズよりも大きい場合、追加されたメモリは -初期化 \fIされない\fP。 -\fIptr\fP が NULL の場合には \fImalloc(size)\fP と等価である。 -\fIsize\fP が 0 で \fIptr\fP が NULL でない場合には、 \fIfree(ptr)\fP と等価である。 -\fIptr\fP が NULL 以外の場合、 \fIptr\fP は以前に呼び出された \fBmalloc\fP(), \fBcalloc\fP(), -\fBrealloc\fP() のいずれかが返した値でなければならない。 -\fIptr\fP が指す領域が移動されていた場合は \fIfree(ptr)\fP が実行される。 -.SH 返り値 -関数 \fBcalloc\fP() と \fBmalloc\fP() は、割り当てられたメモリへのポインタを返す。 -割り当てられたメモリは、あらゆる種類の変数に対応できるようにアラインメントされる。 -エラーの場合、これらの関数は NULL を返す。 -\fIsize\fP が 0 で呼び出した \fBmalloc\fP() や、\fInmemb\fP か \fIsize\fP が 0 で呼び出した -\fBcalloc\fP() が成功した場合にも NULL が返される。 -.PP -\fBfree\fP() 関数は値を返さない。 -.PP -\fBrealloc\fP() 関数は新たに割り当てられたメモリへのポインタを返す。 -これはあらゆる種類の変数に対応できるようにアラインメントされており、 -\fIptr\fP とは異なることもある。割り当て要求に失敗した場合は NULL が返る。 -\fIsize\fP が 0 の場合には、NULL もしくは \fBfree\fP() に渡すことができるポインタが返る。 -\fBrealloc\fP() が失敗した場合には、元のブロックは変更されない。 -つまり、解放されたり移動されたりはしない。 -.SH 準拠 -C89, C99. -.SH 注意 -デフォルトでは、Linux は楽観的メモリ配置戦略を用いている。つまり、 -\fBmalloc\fP() が NULL でない値を返しても、そのメモリが実際に利用可能であること -が保証されない。システムがメモリ不足状態になったとき、メモリ不足解決器 (OOM -killer) によって一つまたは複数のプロセスが削除される。 -詳しい情報は、\fBproc\fP(5) の \fI/proc/sys/vm/overcommit_memory\fP と -\fIproc/sys/vm/oom_adj\fP、およびカーネルのソースファイルの -\fIDocumentation/vm/overcommit\-accounting\fP を参照のこと。 - -通常、 \fBmalloc\fP() は、ヒープからメモリを割り当て、必要に応じてヒープのサイズを \fBsbrk\fP(2) を使って調節する。 -\fBMMAP_THRESHOLD\fP バイトよりも大きなメモリブロックを割り当てる場合、 glibc の \fBmalloc\fP() 実装は -\fBmmap\fP(2) を使ってプライベートな無名マッピング (anonymous mapping) として メモリを割り当てる。 デフォルトでは -\fBMMAP_THRESHOLD\fP は 128 kB だが、 \fBmallopt\fP(3) を使って調整できる。 \fBmmap\fP(2) -を使って行われたメモリ割り当ては \fBRLIMIT_DATA\fP リソース上限の影響を受けない (\fBgetrlimit\fP(2) 参照)。 - -マルチスレッドアプリケーションでのデータ破損を回避するため、内部では mutexを -使用して、これらの関数で利用されるメモリ管理用のデータ構造を保護している。 -複数のスレッドが同時にメモリの確保や解放を行うようなマルチスレッドアプリケー -ションでは、これらの mutex の衝突が起こり得る。マルチスレッドアプリケーション -でのメモリ割り当て処理にスケーラビリティを持たせるために、glibc では mutex の -衝突が検出された際には追加の \fIメモリ割り当て領域\fP を作成する。 -追加領域の各々は、(\fBbrk\fP(2) や \fBmmap\fP(2) を使って) システムにより内部的に -割り当てられた大きな領域で、それぞれ独自の mutex により管理されている。 - -UNIX 98 標準では、 \fBmalloc\fP(), \fBcalloc\fP(), \fBrealloc\fP() は実行に失敗したときに \fIerrno\fP を -\fBENOMEM\fP に設定することになっている。 Glibc ではこれが守られていることを仮定している (またこれらのルーチンの glibc -バージョンはこのことを守っている)。 個人的に別の malloc の実装を使っていて、その malloc が\fIerrno\fP -を設定しない場合には、失敗した際に \fIerrno\fP にエラーの理由を設定しないライブラリルーチンがあるかもしれない。 -.LP -\fBmalloc\fP(), \fBcalloc\fP(), \fBrealloc\fP(), \fBfree\fP() における事故は、 ほとんどの場合はヒープの破壊 -(corruption) が原因である。 例えば、割り当てられた領域をオーバーフローする、 同じポインタに二度 free する、などがこれにあたる。 -.PP -Linux libc の新しいバージョン (5.4.23 より後) と glibc (2.x) には、 -環境変数で動作を調整できる \fBmalloc\fP() 実装が含まれている。 -詳細は \fBmallopt\fP(3) を参照のこと。 -.SH 関連項目 -.\" http://g.oswego.edu/dl/html/malloc.html -.\" A Memory Allocator - by Doug Lea -.\" -.\" http://www.bozemanpass.com/info/linux/malloc/Linux_Heap_Contention.html -.\" Linux Heap, Contention in free() - David Boreham -.\" -.\" http://www.citi.umich.edu/projects/linux-scalability/reports/malloc.html -.\" malloc() Performance in a Multithreaded Linux Environment - -.\" Check Lever, David Boreham -.\" -\fBbrk\fP(2), \fBmmap\fP(2), \fBalloca\fP(3), \fBmalloc_get_state\fP(3), -\fBmalloc_info\fP(3), \fBmalloc_trim\fP(3), \fBmalloc_usable_size\fP(3), -\fBmallopt\fP(3), \fBmcheck\fP(3), \fBmtrace\fP(3), \fBposix_memalign\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/matherr.3 b/draft/man3/matherr.3 index b31c317c..67f659b8 100644 --- a/draft/man3/matherr.3 +++ b/draft/man3/matherr.3 @@ -2,6 +2,7 @@ .\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -355,6 +357,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBfenv\fP(3), \fBmath_error\fP(7), \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mblen.3 b/draft/man3/mblen.3 index 4c323d20..c4bbea7c 100644 --- a/draft/man3/mblen.3 +++ b/draft/man3/mblen.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -52,6 +54,6 @@ C99. .SH 関連項目 \fBmbrlen\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbrlen.3 b/draft/man3/mbrlen.3 index 13a389d0..fd291bb4 100644 --- a/draft/man3/mbrlen.3 +++ b/draft/man3/mbrlen.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -49,6 +51,6 @@ C99. .SH 関連項目 \fBmbrtowc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbrtowc.3 b/draft/man3/mbrtowc.3 index 7f4dc38d..7232d88f 100644 --- a/draft/man3/mbrtowc.3 +++ b/draft/man3/mbrtowc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -67,6 +69,6 @@ C99. .SH 関連項目 \fBmbsrtowcs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbsinit.3 b/draft/man3/mbsinit.3 index 75012e64..90646b14 100644 --- a/draft/man3/mbsinit.3 +++ b/draft/man3/mbsinit.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -61,6 +63,6 @@ C99. .SH 関連項目 \fBmbsrtowcs\fP(3), \fBwcsrtombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbsnrtowcs.3 b/draft/man3/mbsnrtowcs.3 index b2dd296d..bab6bd31 100644 --- a/draft/man3/mbsnrtowcs.3 +++ b/draft/man3/mbsnrtowcs.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -82,6 +84,6 @@ POSIX.1\-2008. .SH 関連項目 \fBiconv\fP(3), \fBmbsrtowcs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbsrtowcs.3 b/draft/man3/mbsrtowcs.3 index ead279a8..4238528e 100644 --- a/draft/man3/mbsrtowcs.3 +++ b/draft/man3/mbsrtowcs.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -63,6 +65,6 @@ C99. .SH 関連項目 \fBiconv\fP(3), \fBmbsnrtowcs\fP(3), \fBmbstowcs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbstowcs.3 b/draft/man3/mbstowcs.3 deleted file mode 100644 index 9c9f6c44..00000000 --- a/draft/man3/mbstowcs.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" Copyright (c) Bruno Haible -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" References consulted: -.\" GNU glibc-2 source code and manual -.\" Dinkumware C library reference http://www.dinkumware.com/ -.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html -.\" ISO/IEC 9899:1999 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MBSTOWCS 3 2011\-09\-28 GNU "Linux Programmer's Manual" -.SH 名前 -mbstowcs \- マルチバイト文字列をワイド文字列に変換する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBsize_t mbstowcs(wchar_t *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP -.fi -.SH 説明 -\fIdest\fP が NULL ポインターでなければ \fBmbstowcs\fP() 関数は マルチバイト文字列 \fI*src\fP を \fIdest\fP -から始まるワイド文字列に 変換する。\fIdest\fP には最大で \fIn\fP 文字のワイド文字が 書き込まれる。変換は初期状態で開始され、 -以下の三つのいずれかの条件で停止する: -.IP 1. 3 -不正なマルチバイト列に遭遇した。この場合には \fI(size_t)\ \-1\fP を返す。 -.IP 2. -\fIn\fP 文字の L\(aq\e0\(aq 以外のワイド文字を \fIdest\fP に格納した場合。 この場合は \fI*src\fP -が次に変換されるマルチバイト列を指すようにして、 \fIdest\fP に書き込まれたワイド文字の数を返す。しかしこの指している 場所のシフト状態は失われる。 -.IP 3. -マルチバイト文字列が終端の NULL ワイド文字 (\(aq\e0\(aq) まで含めて完全に 変換された場合。この場合は終端の NULL -ワイド文字を除いて \fIdest\fP に書き込まれた文字数を返す。 -.PP -プログラマーは \fIdest\fP に最低でも \fIn\fP ワイド文字を書き込むこ とができる空間があることを保証しなければならない。 -.PP -\fIdest\fP が NULL の場合、\fIn\fP は無視され、上記と同様の変換が 行われるが、変換されたワイド文字はメモリに書き込まれず、変換先の上限 -が存在しない。 -.PP -上記の 2. の場合を避けるためにプログラマーは \fIn\fP が \fImbstowcs(NULL,src,0)+1\fP 以上であることを保証すべきである。 -.SH 返り値 -\fBmbstowcs\fP() 関数はワイド文字列に変換完了したワイド文字の数を返す。 -終端のナルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には \fI(size_t)\ \-1\fP を返す。 -.SH 準拠 -C99. -.SH 注意 -\fBmbstowcs\fP() の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。 -.PP -\fBmbsrtowcs\fP(3) 関数は同じ機能のより良いインターフェースを提供する。 -.SH 関連項目 -\fBmbsrtowcs\fP(3), \fBwcstombs(3)\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mbtowc.3 b/draft/man3/mbtowc.3 index b04aa7a0..3747a9bb 100644 --- a/draft/man3/mbtowc.3 +++ b/draft/man3/mbtowc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -56,6 +58,6 @@ C99. .SH 関連項目 \fBMB_CUR_MAX\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memccpy.3 b/draft/man3/memccpy.3 index 1678db2f..bbbb6849 100644 --- a/draft/man3/memccpy.3 +++ b/draft/man3/memccpy.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -52,6 +54,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. .SH 関連項目 \fBbcopy\fP(3), \fBmemcpy\fP(3), \fBmemmove\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memchr.3 b/draft/man3/memchr.3 index 20f9e6f2..c6c442c4 100644 --- a/draft/man3/memchr.3 +++ b/draft/man3/memchr.3 @@ -2,6 +2,7 @@ .\" and Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Mon Apr 12 12:49:57 1993, David Metcalfe .\" Modified Sat Jul 24 18:56:22 1993, Rik Faith (faith@cs.unc.edu) @@ -92,6 +94,6 @@ char *p = rawmemchr(s,\ \(aq\e0\(aq); \fBffs\fP(3), \fBindex\fP(3), \fBrindex\fP(3), \fBstrchr\fP(3), \fBstrpbrk\fP(3), \fBstrrchr\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBwmemchr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memcmp.3 b/draft/man3/memcmp.3 deleted file mode 100644 index ed6a3b76..00000000 --- a/draft/man3/memcmp.3 +++ /dev/null @@ -1,56 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 18:55:27 1993 by Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MEMCMP 3 2011\-09\-14 "" "Linux Programmer's Manual" -.SH 名前 -memcmp \- メモリ領域を比較する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint memcmp(const void *\fP\fIs1\fP\fB, const void *\fP\fIs2\fP\fB, size_t \fP\fIn\fP\fB);\fP -.fi -.SH 説明 -\fBmemcmp\fP() 関数は、メモリ領域 \fIs1\fP と\fIs2\fP の最初の \fIn\fP バイトを比較する (各バイトは \fIunsigned -char\fP として解釈される)。 \fIs1\fP が \fIs2\fP より小さいか、同じか、あるいは大きいかによって それぞれ、負の整数、0、正の整数を返す。 -.SH 返り値 -\fBmemcmp\fP() 関数は、\fIs1\fP の最初の \fIn\fP バイトが \fIs2\fP の最初の \fIn\fP バイトよりも -小さいか、同じか、あるいは大きいかによってそれぞれ、負の整数、0、 正の整数を返す。 -.SH 準拠 -SVr4, 4.3BSD, C89, C99, POSIX.1\-2001. -.SH 関連項目 -\fBbcmp\fP(3), \fBstrcasecmp\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), -\fBstrncasecmp\fP(3), \fBstrncmp\fP(3), \fBwmemcmp\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memcpy.3 b/draft/man3/memcpy.3 index 7cc6012e..46ffb3f9 100644 --- a/draft/man3/memcpy.3 +++ b/draft/man3/memcpy.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -50,6 +52,6 @@ SVr4, 4.3BSD, C89, C99, POSIX.1\-2001. \fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemmove\fP(3), \fBmempcpy\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3), \fBwmemcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memfrob.3 b/draft/man3/memfrob.3 index 429cb24f..592d9383 100644 --- a/draft/man3/memfrob.3 +++ b/draft/man3/memfrob.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -54,6 +56,6 @@ memfrob \- メモリエリアの操作 (暗号化) .SH 関連項目 \fBstrfry\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memmem.3 b/draft/man3/memmem.3 index be13b730..199fc6c8 100644 --- a/draft/man3/memmem.3 +++ b/draft/man3/memmem.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -59,6 +61,6 @@ Linux のライブラリに関していうと、 libc 5.0.9 と それ以前の .SH 関連項目 \fBstrstr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memmove.3 b/draft/man3/memmove.3 index a958207d..b43f487e 100644 --- a/draft/man3/memmove.3 +++ b/draft/man3/memmove.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -51,6 +53,6 @@ SVr4, 4.3BSD, C89, C99, POSIX.1\-2001. \fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBstrcpy\fP(3), \fBstrncpy\fP(3), \fBwmemmove\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mempcpy.3 b/draft/man3/mempcpy.3 index 892b6983..1156bf3f 100644 --- a/draft/man3/mempcpy.3 +++ b/draft/man3/mempcpy.3 @@ -1,5 +1,9 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Heavily based on glibc infopages, copyright Free Software Foundation .\" .\" aeb, 2003, polished a little @@ -52,6 +56,6 @@ combine (void *o1, size_t s1, void *o2, size_t s2) .SH 関連項目 \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBmemmove\fP(3), \fBwmemcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/memset.3 b/draft/man3/memset.3 index 80770259..ee9b60cc 100644 --- a/draft/man3/memset.3 +++ b/draft/man3/memset.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -48,6 +50,6 @@ SVr4, 4.3BSD, C89, C99, POSIX.1\-2001. .SH 関連項目 \fBbzero\fP(3), \fBswab\fP(3), \fBwmemset\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mkdtemp.3 b/draft/man3/mkdtemp.3 index 7fbcad35..b266ed81 100644 --- a/draft/man3/mkdtemp.3 +++ b/draft/man3/mkdtemp.3 @@ -2,6 +2,7 @@ .\" Based on mkstemp(3), Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and GNU libc documentation .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -77,6 +79,6 @@ POSIX.1\-2008. この関数は BSD に存在する。 \fBmkdir\fP(2), \fBmkstemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mkfifo.3 b/draft/man3/mkfifo.3 deleted file mode 100644 index 2e0b429c..00000000 --- a/draft/man3/mkfifo.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1995 James R. Van Zandt -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" changed section from 2 to 3, aeb, 950919 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MKFIFO 3 2008\-06\-12 GNU "Linux Programmer's Manual" -.SH 名前 -mkfifo \- FIFOスペシャルファイル(名前付きパイプ)を作成する -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBint mkfifo(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP -.fi -.SH 説明 -\fBmkfifo\fP() は名前 \fIpathname\fP を持つFIFOスペシャルファイルを作成 する。FIFOの許可モードは \fImode\fP -で指定され、プロセスの \fBumask\fP によって通常の方式で変更を受ける: 作成されたファイルの許可 モードは \fB(\fP\fImode\fP\fB & -~umask)\fP となる。 -.PP -FIFOスペシャルファイルはパイプに似ているが、作成のされ方のみが異なって いる。FIFOスペシャルファイルは名前のない通信路ではなく、 -\fBmkfifo\fP() の呼び出しによりファイルシステムの中に加えられる。 -.PP -ひとたびこのようにしてFIFOスペシャルファイルが作成されると、通常のファ イルと同じように、どのプロセスからでも読み出し、書き込み用にこれをオー -プンすることができる。ただし、これに対する全ての入出力操作に先立って その両端がオープンされている必要がある。FIFOを読み出し用にオープンする -と、通常他のプロセスによって同じFIFOが書き込み用にオープンされるまでブ ロックされ、逆の場合も同様である。 -FIFOスペシャルファイルをブロックせずに扱う方法については \fBfifo\fP(7) を参照のこと。 -.SH 返り値 -成功した場合 \fBmkfifo\fP() は 0 を返す。 エラーの場合 \-1 を返す (また \fIerrno\fP が適切に設定される)。 -.SH エラー -.TP -\fBEACCES\fP -\fIpathname\fP の中のディレクトリの一つに対し検索(実行)許可がない。 -.TP -\fBEEXIST\fP -\fIpathname\fP がすでに存在する。 これには \fIpathname\fP がシンボリックリンクである場合も含まれる -(シンボリックリンクがリンク切れか (dangling) どうかは関係ない)。 -.TP -\fBENAMETOOLONG\fP -\fIpathname\fP の長さが \fBPATH_MAX\fP を超えているか、個々のファイル 名部分の長さが \fBNAME_MAX\fP -を超えている。GNUシステムにおいては、ファ イル名の全体の長さに対しては制限は課せられていないが、ファイルシステム -によっては各部分の長さに制限のある可能性がある。 -.TP -\fBENOENT\fP -\fIpathname\fP 中のディレクトリ部分が存在しない、 もしくはリンク先の無いシンボリックリンクである。 -.TP -\fBENOSPC\fP -ディレクトリまたはファイルシステムに新規ファイルを作成する余地がない。 -.TP -\fBENOTDIR\fP -\fIpathname\fP 中のディレクトリ要素が、実際にはディレクトリでない。 -.TP -\fBEROFS\fP -\fIpathname\fP が読み取り専用のファイルシステムを指している。 -.SH 準拠 -POSIX.1\-2001. -.SH 関連項目 -\fBmkfifo\fP(1), \fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBstat\fP(2), \fBumask\fP(2), -\fBwrite\fP(2), \fBmkfifoat\fP(3), \fBfifo\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mkfifoat.3 b/draft/man3/mkfifoat.3 index 6a6f8b8f..0208db0c 100644 --- a/draft/man3/mkfifoat.3 +++ b/draft/man3/mkfifoat.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" .\"******************************************************************* @@ -89,6 +89,6 @@ POSIX.1\-2008. .SH 関連項目 \fBopenat\fP(2), \fBmkfifo\fP(3), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mkstemp.3 b/draft/man3/mkstemp.3 deleted file mode 100644 index 06b88383..00000000 --- a/draft/man3/mkstemp.3 +++ /dev/null @@ -1,141 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" and Copyright (C) 2008, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 18:48:48 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified 980310, aeb -.\" Modified 990328, aeb -.\" 2008-06-19, mtk, Added mkostemp(); various other changes -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MKSTEMP 3 2012\-04\-21 GNU "Linux Programmer's Manual" -.SH 名前 -mkstemp, mkostemp, mkstemps, mkostemps \- 他と重ならない名前を持つ一時ファイルを作成する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint mkstemp(char *\fP\fItemplate\fP\fB);\fP -.sp -\fBint mkostemp(char *\fP\fItemplate\fP\fB, int \fP\fIflags\fP\fB);\fP -.sp -\fBint mkstemps(char *\fP\fItemplate\fP\fB, int \fP\fIsuffixlen\fP\fB);\fP -.sp -\fBint mkostemps(char *\fP\fItemplate\fP\fB, int \fP\fIsuffixlen\fP\fB, int \fP\fIflags\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBmkstemp\fP(): -.ad l -.RS 4 -.PD 0 -_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.br -|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200112L -.PD -.RE -.ad b -.PP -\fBmkostemp\fP(): _GNU_SOURCE -.br -\fBmkstemps\fP(): _BSD_SOURCE || _SVID_SOURCE -.br -\fBmkostemps\fP(): _GNU_SOURCE -.SH 説明 -関数 \fBmkstemp\fP() は引数 \fItemplate\fP から他と重ならない一時ファイル名を生成し、 そのファイルの作成とオープンを行い、 -そのファイルに対するオープン済みのファイルディスクリプタを返す。 - -引数 \fItemplate\fP で指示する文字列の後ろの 6 文字は XXXXXX である必要がある。 -この部分がファイル名を他と重ならないようにする文字で置き換えられる。 \fItemplate\fP は書き換えられるため、文字列定数ではなく文字配列として -宣言するようにしなければならない。 - -ファイルは許可モード 0600 で作成され、所有者のみが読み書き可能である (glibc バージョン 2.06 以前では、ファイルは許可モード 0666 -で作成され、 全てのユーザが読み書き可能であった)。 返されるファイルディスクリプタで、このファイルへの読み書き両方のアクセスが 可能である。 -呼び出し者がそのファイルを作成するプロセスであることを保証するために、 ファイルは \fBopen\fP(2) の \fBO_EXCL\fP -フラグ付きでオープンされる。 - -\fBmkostemp\fP() 関数は \fBmkstemp\fP() と同様だが、\fBopen\fP(2) に渡される -フラグ O_APPEND\fB,\fP \fBO_SYNC\fP など) を \fIflags\fP で指定できる点が異なる - -\fBmkstemps\fP() 関数は \fBmkstemp\fP() と同様だが、 \fItemplate\fP 内の文字列に長さ -が \fIsuffixlen\fP 文字の接尾辞 (suffix) が含まれる点が異なる。 -したがって、 \fItemplate\fP は \fIprefixXXXXXXsuffix\fP の形式となる。 -文字列 XXXXXX の部分は \fBmkstemp\fP() により更新される。 - -\fBmkostemps\fP() と \fBmkstemps\fP() の関係は、 -\fBmkostemp\fP() と \fBmkstemp\fP() の関係と同じである。 -.SH 返り値 -成功すると、これらの関数は一時ファイルのファイルディスクリプタを返す。 エラーの場合は、\-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEEXIST\fP -すでに同じ名前を持つファイルが存在した。 \fItemplate\fP の内容は不定である。 -.TP -\fBEINVAL\fP -\fBmkstemp\fP() と \fBmkostemp\fP() の場合: -\fItemplate\fP の最後の 6 文字が XXXXXX でなかった。 -この場合、\fItemplate\fP は変更されない。 -.sp -\fBmkstemps\fP() と \fBmkostemps\fP() の場合: -\fItemplate\fP の長さが \fI(6 + suffixlen)\fP 文字より短い、または -\fItemplate\fP の接尾辞の直前の 6 文字が XXXXXX ではなかった。 -.PP -これらの関数は \fBopen\fP(2) に書かれているエラーのいずれかで失敗することもある。 -.SH バージョン -\fBmkostemp\fP() は glibc 2.7 以降で利用できる。 -\fBmkstemps\fP() と \fBmkostemps\fP() は glibc 2.11 以降で利用できる。 -.SH 準拠 -\fBmkstemp\fP(): 4.3BSD, POSIX.1\-2001. - -.\" mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris, -.\" and Tru64. -\fBmkstemps\fP(): 標準化されていないが、他のいくつかのシステムにも存在する。 - -\fBmkostemp\fP() と \fBmkostemps\fP(): glibc による拡張。 -.SH 注意 -許可モード 0666 でファイルを作成するという古い動作は、 セキュリティ上のリスク -になる場合がある。 特に他の UNIX では許可モードとして 0600 を使うため、 -プログラムを移植する際、この細かな違いを見落とす可能性があるからだ。 - -より一般的には、 \fBmkstemp\fP() の POSIX 規定ではファイルモードについて何も述べていない。 従って、アプリケーションは -\fBmkstemp\fP() (や \fBmkostemp\fP()) を呼び出す前にファイルモード生成マスク (\fBumask\fP(2) 参照) -が適切に設定されているか確認するべきである。 - -\fBmktemp\fP() のプロトタイプ宣言は、libc4, libc5, glibc1 では \fI\fP に含まれる; -glibc2 では POSIX.1 に準拠し \fI\fP に含まれている。 -.SH 関連項目 -\fBmkdtemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mktemp.3 b/draft/man3/mktemp.3 index 35177ae6..e9963188 100644 --- a/draft/man3/mktemp.3 +++ b/draft/man3/mktemp.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -89,6 +91,6 @@ Single UNIX Specification に従って \fI\fP に含まれている。 .SH 関連項目 \fBmkstemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/modf.3 b/draft/man3/modf.3 index 98ea7deb..3b9b57c3 100644 --- a/draft/man3/modf.3 +++ b/draft/man3/modf.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -78,6 +80,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBfrexp\fP(3), \fBldexp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mpool.3 b/draft/man3/mpool.3 index e69bdf6b..c6935377 100644 --- a/draft/man3/mpool.3 +++ b/draft/man3/mpool.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)mpool.3 8.1 (Berkeley) 6/4/93 .\" @@ -127,6 +129,6 @@ POSIX.1\-2001 にはない。 BSD 系に存在する。 .SH 関連項目 \fBbtree\fP(3), \fBdbopen\fP(3), \fBhash\fP(3), \fBrecno\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_close.3 b/draft/man3/mq_close.3 index 0254aeea..09c8ba86 100644 --- a/draft/man3/mq_close.3 +++ b/draft/man3/mq_close.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -58,6 +58,6 @@ POSIX.1\-2001. \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_getattr.3 b/draft/man3/mq_getattr.3 index 233b677b..1fb5718c 100644 --- a/draft/man3/mq_getattr.3 +++ b/draft/man3/mq_getattr.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -95,6 +95,6 @@ Linux では、 \fBmq_getattr\fP() と \fBmq_setattr\fP() はライブラリ \fBmq_close\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_notify.3 b/draft/man3/mq_notify.3 index 66c97303..c4a6a2c9 100644 --- a/draft/man3/mq_notify.3 +++ b/draft/man3/mq_notify.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -173,6 +173,6 @@ main(int argc, char *argv[]) \fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7), \fBsigevent\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_open.3 b/draft/man3/mq_open.3 index 0e74afbe..813090c5 100644 --- a/draft/man3/mq_open.3 +++ b/draft/man3/mq_open.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -133,6 +133,6 @@ POSIX.1\-2001. \fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_receive.3 b/draft/man3/mq_receive.3 deleted file mode 100644 index b8ed9ad4..00000000 --- a/draft/man3/mq_receive.3 +++ /dev/null @@ -1,120 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MQ_RECEIVE 3 2010\-09\-20 Linux "Linux Programmer's Manual" -.SH 名前 -mq_receive, mq_timedreceive \- メッセージキューからメッセージを受信する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBssize_t mq_receive(mqd_t \fP\fImqdes\fP\fB, char *\fP\fImsg_ptr\fP\fB,\fP -\fB size_t \fP\fImsg_len\fP\fB, unsigned *\fP\fImsg_prio\fP\fB);\fP -.sp -\fB#include \fP -\fB#include \fP -.sp -\fBssize_t mq_timedreceive(mqd_t \fP\fImqdes\fP\fB, char *\fP\fImsg_ptr\fP\fB,\fP -\fB size_t \fP\fImsg_len\fP\fB, unsigned *\fP\fImsg_prio\fP\fB,\fP -\fB const struct timespec *\fP\fIabs_timeout\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP でリンクする。 -.sp -.ad l -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBmq_timedreceive\fP(): -.RS 4 -_XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L -.RE -.ad -.SH 説明 -\fBmq_receive\fP() は、記述子 \fImqdes\fP で参照されるメッセージキューから最も高い優先度を持つ -最も古いメッセージを削除し、そのメッセージを \fImsg_ptr\fP が指すバッファに格納する。 \fImsg_len\fP 引き数は、 \fImsg_ptr\fP -が指すバッファの大きさを示す。この値はキューの \fImq_msgsize\fP 属性よりも大きくなければならない (\fBmq_getattr\fP(3) -参照)。 \fIprio\fP が NULL 以外の場合、 \fIprio\fP が指すバッファに受信したメッセージの優先度が格納される。 - -キューが空の場合、デフォルトでは、 \fBmq_receive\fP() は、新しいメッセージが届くか、関数呼び出しがシグナルハンドラにより -中断されるまで、停止 (block) する。 メッセージキュー記述 (message queue description) で -\fBO_NONBLOCK\fP フラグが有効になっている場合は、 \fBmq_receive\fP() はエラー \fBEAGAIN\fP ですぐに失敗する。 - -\fBmq_timedreceive\fP() は \fBmq_receive\fP() と全く同じ動作をするが、 -メッセージキューが空で、メッセージキュー記述で \fBO_NONBLOCK\fP フラグが有効になっていない場合に、この呼び出しが停止する時間の上限を -\fIabs_timeout\fP が指す構造体で指定する点が異なる。この上限は、タイムアウトの時刻を、 時刻紀元 (Epoch; 1970\-01\-01 -00:00:00 +0000 (UTC)) からの経過時間 (秒とナノ秒の組) で指定する。タイムアウト時刻は以下の構造体で指定する: -.sp -.in +4n -.nf -struct timespec { - time_t tv_sec; /* 秒 */ - long tv_nsec; /* ナノ秒 */ -}; - -.fi -.in -メッセージがキューになく、関数呼び出し時にすでにタイムアウト時刻が 過ぎている場合、 \fBmq_timedreceive\fP() はすぐに返る。 -.SH 返り値 -成功すると、 \fBmq_receive\fP() と \fBmq_timedreceive\fP() は受信したメッセージのバイト数を返す。 -エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。 -.SH エラー -.TP -\fBEAGAIN\fP -キューが空で、かつ \fImqdes\fP で参照されるメッセージキュー記述で \fBO_NONBLOCK\fP フラグがセットされていた。 -.TP -\fBEBADF\fP -\fImqdes\fP で指定された記述子が不正である。 -.TP -\fBEINTR\fP -関数呼び出しがシグナルハンドラにより中断された。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -関数呼び出しは停止するはずであったが、 \fIabs_timeout\fP が不正であった。 \fIabs_timeout\fP が不正とは、 \fItv_sec\fP -が 0 未満、もしくは \fItv_nsec\fP が 0 未満か 1,000,000,000 より大きい、ということである。 -.TP -\fBEMSGSIZE\fP -\fImsg_len\fP がメッセージキューの \fImq_msgsize\fP 属性よりも小さかった。 -.TP -\fBETIMEDOUT\fP -メッセージが転送される前に関数呼び出しがタイムアウトした。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -Linux では、 \fBmq_timedreceive\fP() はシステムコールである。 \fBmq_receive\fP() はライブラリ関数で、 -\fBmq_timedreceive\fP() システムコールを用いて実装されている。 -.SH 関連項目 -\fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), -\fBmq_send\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7), \fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_send.3 b/draft/man3/mq_send.3 index eeec694d..428e93db 100644 --- a/draft/man3/mq_send.3 +++ b/draft/man3/mq_send.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -118,6 +118,6 @@ Linux では、 \fBmq_timedsend\fP() はシステムコールである。 \fBmq \fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_unlink\fP(3), \fBmq_overview\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/mq_unlink.3 b/draft/man3/mq_unlink.3 index 283a51b7..1a00a50d 100644 --- a/draft/man3/mq_unlink.3 +++ b/draft/man3/mq_unlink.3 @@ -1,8 +1,7 @@ .\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -60,6 +60,6 @@ POSIX.1\-2001. \fBmq_close\fP(3), \fBmq_getattr\fP(3), \fBmq_notify\fP(3), \fBmq_open\fP(3), \fBmq_receive\fP(3), \fBmq_send\fP(3), \fBmq_overview\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/nan.3 b/draft/man3/nan.3 index f59dd8db..9a1cc7d6 100644 --- a/draft/man3/nan.3 +++ b/draft/man3/nan.3 @@ -1,8 +1,13 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Based on glibc infopages .\" .\" Corrections by aeb +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -56,6 +61,6 @@ C99, POSIX.1\-2001. IEC 559 や推奨関数になっている IEEE 754/IEEE 854 .SH 関連項目 \fBisnan\fP(3), \fBstrtod\fP(3), \fBmath_error\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/netlink.3 b/draft/man3/netlink.3 deleted file mode 100644 index f18701c2..00000000 --- a/draft/man3/netlink.3 +++ /dev/null @@ -1,75 +0,0 @@ -.\" This manpage copyright 1998 by Andi Kleen. Subject to the GPL. -.\" Based on the original comments from Alexey Kuznetsov -.\" $Id: netlink.3,v 1.1 1999/05/14 17:17:24 freitag Exp $ -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH NETLINK 3 1999\-05\-14 GNU "Linux Programmer's Manual" -.SH 名前 -netlink \- netlink マクロ -.SH 書式 -.nf -.\" FIXME . what will glibc 2.1 use here? -.\" May 2007: glibc 2.5, things look to be unchanged -- the header file -.\" is still linux/netlink.h -- mtk -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint NLMSG_ALIGN(size_t \fP\fIlen\fP\fB);\fP -.br -\fBint NLMSG_LENGTH(size_t \fP\fIlen\fP\fB);\fP -.br -\fBint NLMSG_SPACE(size_t \fP\fIlen\fP\fB);\fP -.br -\fBvoid *NLMSG_DATA(struct nlmsghdr *\fP\fInlh\fP\fB);\fP -.br -\fBstruct nlmsghdr *NLMSG_NEXT(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP -.br -\fBint NLMSG_OK(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP -.br -\fBint NLMSG_PAYLOAD(struct nlmsghdr *\fP\fInlh\fP\fB, int \fP\fIlen\fP\fB);\fP -.fi -.SH 説明 -\fI\fP では、 netlink データグラムにアクセスしたり、これを作成するための -標準マクロがいくつか定義されている。 これらは \fBcmsg\fP(3) で定義されている補助データ (auxiliary data) 用のマクロと、 -その精神において似ているものである。 netlink ソケットに対してやりとりされるバッファには、 必ずこれらのマクロを使ってアクセスすべきである。 -.TP -\fBNLMSG_ALIGN\fP -netlink メッセージの長さを丸めて正しく揃える。 -.TP -\fBNLMSG_LENGTH\fP -格納領域 (payload) の長さ \fIlen\fP を引数にとり、 \fInlmsghdr\fP の \fInlmsg_len\fP フィールドに代入できる -揃えられた長さ (aligned length) を返す。 -.TP -\fBNLMSG_SPACE\fP -ペイロードの長さが \fIlen\fP の netlink メッセージのバイト数を返す。 -.TP -\fBNLMSG_DATA\fP -与えた \fInlmsghdr\fP に関連づけられた格納領域へのポインタを返す。 -.TP -.\" this is bizarre, maybe the interface should be fixed. -\fBNLMSG_NEXT\fP -マルチパートメッセージにおいて、次の \fInlmsghdr\fP を入手する。これを呼び出すときには、 現在の nlmsghdr で NLMSG_DONE -がセットされていないことを 確認しなければならない。この関数は終端で NULL を返さないからである。 \fIlen\fP -引数はメッセージバッファの残り長さが入った左辺値である。 このマクロはこの引数からメッセージヘッダの長さ分を差し引く。 -.TP -\fBNLMSG_OK\fP -Netlink メッセージが途切れておらず、かつ解釈可能な形の場合であれば真を返す。 -.TP -\fBNLMSG_PAYLOAD\fP -\fInlmsghdr\fP に関連づけられた格納領域の長さを返す。 -.SH 準拠 -これらのマクロは非標準で、Linux での拡張である。 -.SH 注意 -通常はカーネルの低レベルインターフェイスよりも、 \fIlibnetlink\fP 経由で netlink を用いるほうが良い。 -.SH 関連項目 -\fBnetlink\fP(7) -.br -および libnetlink に関しては ftp://ftp.inr.ac.ru/ip\-routing/iproute2* -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/nextafter.3 b/draft/man3/nextafter.3 index c36d8c1f..2453e547 100644 --- a/draft/man3/nextafter.3 +++ b/draft/man3/nextafter.3 @@ -1,8 +1,13 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Based on glibc infopages +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -108,6 +113,6 @@ glibc バージョン 2.5 以前では、アンダーフローが発生した際 .SH 関連項目 \fBnearbyint\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/nl_langinfo.3 b/draft/man3/nl_langinfo.3 index b74c6cd2..016b9dea 100644 --- a/draft/man3/nl_langinfo.3 +++ b/draft/man3/nl_langinfo.3 @@ -1,9 +1,11 @@ .\" Copyright (c) 2001 Markus Kuhn .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 manual @@ -109,6 +111,6 @@ main(int argc, char *argv[]) .br GNU C ライブラリ・リファレンスマニュアル .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/offsetof.3 b/draft/man3/offsetof.3 index 4c9e308f..e9c09646 100644 --- a/draft/man3/offsetof.3 +++ b/draft/man3/offsetof.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 2006 Justin Pryzby .\" and Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -19,6 +20,7 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END .\" .\" References: .\" /usr/lib/gcc/i486-linux-gnu/4.1.1/include/stddef.h @@ -87,6 +89,6 @@ main(void) } .fi .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/on_exit.3 b/draft/man3/on_exit.3 index c914d30b..a9c76ed2 100644 --- a/draft/man3/on_exit.3 +++ b/draft/man3/on_exit.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -64,6 +66,6 @@ return 命令による終了である。 関数 \fIfunction\fP には、直近 .SH 関連項目 \fB_exit\fP(2), \fBatexit\fP(3), \fBexit\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/opendir.3 b/draft/man3/opendir.3 index 7c2a9f37..52a973cc 100644 --- a/draft/man3/opendir.3 +++ b/draft/man3/opendir.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -110,6 +112,6 @@ POSIX.1\-2008 で規定されている。 \fBopen\fP(2), \fBclosedir\fP(3), \fBdirfd\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/openpty.3 b/draft/man3/openpty.3 deleted file mode 100644 index d831dc50..00000000 --- a/draft/man3/openpty.3 +++ /dev/null @@ -1,102 +0,0 @@ -.\" Copyright (c) OpenBSD Group -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" Converted into a manpage again by Martin Schulze -.\" -.\" Added -lutil remark, 030718 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH OPENPTY 3 2010\-06\-13 GNU "Linux Programmer's Manual" -.SH 名前 -openpty, login_tty, forkpty \- 端末ユーティリティ関数 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint openpty(int *\fP\fIamaster\fP\fB, int *\fP\fIaslave\fP\fB, char *\fP\fIname\fP\fB,\fP -\fB const struct termios *\fP\fItermp\fP\fB,\fP -\fB const struct winsize *\fP\fIwinp\fP\fB);\fP -.sp -\fBpid_t forkpty(int *\fP\fIamaster\fP\fB, char *\fP\fIname\fP\fB,\fP -\fB const struct termios *\fP\fItermp\fP\fB,\fP -\fB const struct winsize *\fP\fIwinp\fP\fB);\fP -.sp -\fB#include \fP -.sp -\fBint login_tty(int \fP\fIfd\fP\fB);\fP -.sp -\fI\-lutil\fP でリンクする。 -.fi -.SH 説明 -\fBopenpty\fP() 関数は、使用可能な疑似端末 (pseudoterminal) を見つけて、 マスタとスレーブのファイル・ディスクリプタを -\fIamaster\fP と \fIaslave\fP に入れて返す。 \fIname\fP が NULL でない場合、スレーブのファイル名が \fIname\fP -に返される。 \fItermp\fP が NULL でない場合、スレーブの端末パラメータは \fItermp\fP の値に設定される。 \fIwinp\fP が NULL -でない場合、スレーブのウインドウサイズは \fIwinp\fP に設定される。 - -\fBlogin_tty\fP() 関数は、端末 \fIfd\fP にログインする準備をする (\fIfd\fP は実際の端末デバイスでも、 \fBopenpty\fP() -で返される疑似端末のスレーブでもよい)。 具体的には、新しいセッションを作成し、 \fIfd\fP を呼び出し元のプロセスの制御端末とし、 -呼び出し元の標準入力・標準出力・標準エラーのストリームを \fIfd\fP に設定した後、 \fIfd\fP をクローズする。 - -\fBforkpty\fP() 関数は \fBopenpty\fP(), \fBfork\fP(2), \fBlogin_tty\fP() -を組み合わせ、疑似端末を操作する新しいプロセスを生成する。 疑似端末のマスタ側のファイル・ディスクリプタは \fIamaster\fP に返され、 -\fIname\fP が NULL でない場合には、スレーブのファイル名が \fIname\fP に返される。 \fItermp\fP と \fIwinp\fP -引き数は、NULL でなければ、 疑似端末のスレーブ側の端末属性とウインドウサイズを決定する。 -.SH 返り値 -\fBopenpty\fP(), \fBlogin_tty\fP(), \fBforkpty\fP() の呼び出しが成功しなかった場合、 \-1 が返されて、 -\fIerrno\fP はエラーを示す値に設定される。 成功した場合、 \fBopenpty\fP(), \fBlogin_tty\fP() および -\fBforkpty\fP() の子プロセスは 0 を返し、 \fBforkpty\fP() の親プロセスは子プロセスのプロセス ID を返す。 -.SH エラー -以下の場合に \fBopenpty\fP() は失敗する: -.TP -\fBENOENT\fP -使用可能な端末がない。 -.LP -\fBioctl\fP(2) が \fIfd\fP を呼び出し元のプロセスの制御端末に設定するのに失敗した場合、 \fBlogin_tty\fP() は失敗する。 -.LP -\fBopenpty\fP() または \fBfork\fP(2) のどちらかが失敗した場合、 \fBforkpty\fP() は失敗する。 -.SH 準拠 -これらは BSD の関数であり、libc5 と glibc2 に存在する。 POSIX での標準化はされていない。 -.SH 注意 -glibc 2.8 で、 \fBopenpty\fP() と \fBforkpty\fP() の構造体へのポインタの引き数に \fBconst\fP -修飾子が追加された。 - -2.0.92 より前のバージョンの glibc では、 \fBopenpty\fP() は BSD 疑似端末ペアのファイル・ディスクリプタを返す。 -2.0.92 以降の glibc では、 \fBopenpty\fP() はまず Unix 98 疑似端末ペアをオープンしようとし、それに失敗した場合に -BSD 疑似端末ペアのオープンへと移行する。 -.SH バグ -誰も \fIname\fP に対してどのくらい大きさを予約しておけばいいか分からない。 したがって、NULL でない \fIname\fP を引き数として -\fBopenpty\fP() や \fBforkpty\fP() を呼び出すのは安全であるとは言えない。 -.SH 関連項目 -\fBfork\fP(2), \fBttyname\fP(3), \fBpty\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/perror.3 b/draft/man3/perror.3 index 45599f2a..66abbde1 100644 --- a/draft/man3/perror.3 +++ b/draft/man3/perror.3 @@ -3,6 +3,7 @@ .\" (michael@cantor.informatik.rwth-aachen.de), 1995-03-16 .\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl), 1996-01-13 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,9 +20,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1996-01-13 aeb: merged in some text contributed by Melvin Smith .\" (msmith@falcon.mercer.peachnet.edu) and various other changes. @@ -68,7 +69,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 なぜなら、新しいエラー番号が \fIsys_errlist\fP[] に追加済とは限らないからである。 現在では、\fIsys_errlist\fP[] の使用は非推奨となっている。 - システムコールが失敗した場合、通常、返り値として \-1 が返り、 \fIerrno\fP にエラーを識別する値が設定される (設定されるエラー番号は \fI\fP に記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 \fBperror\fP() は、このエラーコードの可読なメッセージへの変換を行う。 \fIerrno\fP は、ライブラリ呼び出しが成功した後には未定義であることに注意が必要である: @@ -91,6 +91,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 .SH 関連項目 \fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/popen.3 b/draft/man3/popen.3 index 711087ce..aecb3a1d 100644 --- a/draft/man3/popen.3 +++ b/draft/man3/popen.3 @@ -1,6 +1,7 @@ .\" Copyright 1991 The Regents of the University of California. .\" All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)popen.3 6.4 (Berkeley) 4/30/91 .\" @@ -123,6 +125,6 @@ POSIX.1\-2001. \fBsh\fP(1), \fBfork\fP(2), \fBpipe\fP(2), \fBwait4\fP(2), \fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBstdio\fP(3), \fBsystem\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/posix_fallocate.3 b/draft/man3/posix_fallocate.3 deleted file mode 100644 index cae6a410..00000000 --- a/draft/man3/posix_fallocate.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" Copyright (c) 2006, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH POSIX_FALLOCATE 3 2010\-09\-20 GNU "Linux Programmer's Manual" -.SH 名前 -posix_fallocate \- ファイルのスペースを確保する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint posix_fallocate(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, off_t \fP\fIlen\fP\fB);\fP -.fi -.sp -.ad l -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBposix_fallocate\fP(): -.RS 4 -_XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L -.RE -.ad -.SH 説明 -関数 \fBposix_fallocate\fP() は、ディスクリプタ \fIfd\fP で参照されるファイルに対して、ディスクスペースを確実に確保する。 -ディスクスペースは \fIoffset\fP から始まる \fIlen\fP バイトの範囲のバイトである。 \fBposix_fallocate\fP() -の呼び出しが成功した後、指定された範囲のバイトに対する書き込みは、 ディスクスペースの不足で失敗しないことが保証される。 - -ファイルのサイズが \fIoffset\fP+\fIlen\fP より小さい場合、ファイルはこのサイズになるように拡大される。 -それ以外の場合、ファイルサイズは変わらない。 -.SH 返り値 -\fBposix_fallocate\fP() は成功した場合、0 を返す。 失敗した場合、エラー番号を返す。 \fIerrno\fP -が設定されない点に注意すること。 -.SH エラー -.TP -\fBEBADF\fP -\fIfd\fP が有効なファイルディスクリプタでないか、 書き込み用としてオープンされていない。 -.TP -\fBEFBIG\fP -\fIoffset+len\fP が最大ファイルサイズを超えている。 -.TP -\fBEINVAL\fP -\fIoffset\fP が 0 未満だったか、 \fIlen\fP が 0 以下だった。 -.TP -\fBENODEV\fP -\fIfd\fP が通常のファイルとして参照されていない。 -.TP -\fBENOSPC\fP -\fIfd\fP が参照するファイルを含むデバイスに十分な空き領域がない。 -.TP -\fBESPIPE\fP -\fIfd\fP がパイプを参照している。 -.SH バージョン -\fBposix_fallocate\fP() は glibc 2.1.94 以降で利用可能である。 -.SH 準拠 -POSIX.1\-2001. - -POSIX.1\-2008 では、 \fIlen\fP が 0 の場合、もしくは \fIoffset\fP が 0 未満の場合、 \fBEINVAL\fP -エラーを返すものとされている。 POSIX.1\-2001 では、 \fIlen\fP が 0 未満の場合、もしくは \fIoffset\fP が 0 未満の場合、 -\fBEINVAL\fP エラーを返すものとされている。また、 \fIlen\fP が 0 の場合、 \fBEINVAL\fP エラーを返してもよいとされている。 -.SH 関連項目 -\fBfallocate\fP(2), \fBlseek\fP(2), \fBposix_fadvise\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/posix_memalign.3 b/draft/man3/posix_memalign.3 deleted file mode 100644 index 14ae73c5..00000000 --- a/draft/man3/posix_memalign.3 +++ /dev/null @@ -1,182 +0,0 @@ -.\" Copyright (c) 2001 by John Levon -.\" Based in part on GNU libc documentation. -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" -.\" 2001-10-11, 2003-08-22, aeb, added some details -.\" 2012-03-23, Michael Kerrisk -.\" Document pvalloc() and aligned_alloc() -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH POSIX_MEMALIGN 3 2012\-03\-23 GNU "Linux Programmer's Manual" -.SH 名前 -posix_memalign, aligned_alloc, memalign, valloc, pvalloc \- アラインメント -されたメモリの割り当てを行う -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint posix_memalign(void **\fP\fImemptr\fP\fB, size_t \fP\fIalignment\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBvoid *aligned_alloc(size_t \fP\fIalignment\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBvoid *valloc(size_t \fP\fIsize\fP\fB);\fP -.sp -\fB#include \fP -.sp -\fBvoid *memalign(size_t \fP\fIalignment\fP\fB, size_t \fP\fIsize\fP\fB);\fP -\fBvoid *pvalloc(size_t \fP\fIsize\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBposix_memalign\fP(): _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600 -.sp -\fBaligned_alloc\fP(): _ISOC11_SOURCE -.sp -\fBvalloc\fP(): -.br -.PD 0 -.RS 4 -.TP 4 -glibc 2.12 以降: -.nf -_BSD_SOURCE || - (_XOPEN_SOURCE\ >=\ 500 || - _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) && - !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600) -.br -.fi -.TP -glibc 2.12 より前: -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.ad b -.br -((非標準の) ヘッダファイル \fI\fP も -\fBvalloc\fP() の宣言も公開する。機能検査マクロは不要である。 -.RE -.PD -.SH 説明 -.\" glibc does this: -関数 \fBposix_memalign\fP() は、 \fIsize\fP バイトのメモリを割り当て、割り当てられたメモリのアドレスを \fI*memptr\fP -に設定する。 割り当てられたメモリのアドレスは \fIalignment\fP の倍数になっているはずである。 \fIalignment\fP は 2 -のべき乗で、かつ \fIsizeof(void *)\fP の倍数でなければならない。 \fIsize\fP が 0 の場合、 -\fBposix_memalign\fP() は NULL か一意なポインタ値を返す。 このポインタ値は、後で \fBfree\fP(3) -に問題なく渡すことができる。 - -.\" The behavior of memalign() for size==0 is as for posix_memalign() -.\" but no standards govern this. -廃止された関数である \fBmemalign\fP() は、 \fIsize\fP バイトのメモリを割り当て、 -割り当てられたメモリへのポインタを返す。 メモリのアドレスは \fIalignment\fP -の倍数になっているはずである。 \fIalignment\fP は 2 のべき乗でなければならない。 - -関数 \fBaligned_alloc\fP() は \fBmemalign\fP() と同じだが、\fIsize\fP が \fIalignment\fP -の倍数でなければならないという追加の制限がある点が異なる。 - - -廃止された関数である \fBvalloc\fP() は \fIsize\fP バイトのメモリを割り当て、割り当てられたメモリへのポインタを返す。 -メモリのアドレスはページサイズの倍数になっているはずである。 これは \fImemalign(sysconf(_SC_PAGESIZE),size)\fP -と等価である。 - -廃止された関数 \fBpvalloc\fP() は \fBvalloc\fP() と同様だが、 -割り当てられるサイズがシステムのページサイズの倍数に切り上げられる。 - -これらの関数はいずれもメモリのゼロクリアを行わない。 -.SH 返り値 -\fBaligned_alloc\fP(), \fBmemalign\fP(), \fBvalloc\fP(), \fBpvalloc\fP() は割り当てられた -メモリへのポインタを返す。 割り当てに失敗した場合は NULL を返す。 - -\fBposix_memalign\fP() は成功した場合は 0 を返し、 失敗した場合は次のセクションに記載されたエラー値のいずれかを返す。 -\fIerrno\fP はセットされないことに注意すること。 -.SH エラー -.TP -\fBEINVAL\fP -\fIalignment\fP 引き数が 2 のべき乗でなかったか、 \fIsizeof(void *)\fP の倍数でなかった。 -.TP -\fBENOMEM\fP -割り当て要求を満たすのに十分なメモリがなかった。 -.SH バージョン -関数 \fBmemalign\fP(), \fBvalloc\fP(), \fBpvalloc\fP() は -すべての Linux libc ライブラリで使用可能である。 - -関数 \fBaligned_alloc\fP() は glibc バージョン 2.16 で追加された。 - -関数 \fBposix_fallocate\fP() は glibc 2.1.91 以降で利用可能である。 -.SH 準拠 -関数 \fBvalloc\fP() は 3.0BSD で登場した。4.3BSD では廃止されたと記載されており、 -SUSv2 では過去の名残だと記載されている。 POSIX.1\-2001 には存在しない。 - -関数 \fBpvalloc\fP() は GNU による拡張である。 - -関数 \fBmemalign\fP() は SunOS 4.1.3 で登場したが、4.4BSD にはない。 - -関数 \fBposix_memalign\fP() は POSIX.1d に由来する。 - -.\" -関数 \fIaligned_alloc\fP() は C11 標準で規定されている。 -.SS ヘッダ -\fBposix_memalign\fP() の宣言を \fI\fP で行うことに関しては、 皆の意見が一致している。 - -いくつかのシステムでは、 \fBmemalign\fP() は \fI\fP ではなく -\fI\fP で宣言されている。 - -SUSv2 によると、 \fBvalloc\fP() は \fI\fP で宣言される。 libc4,5 -や glibc では \fI\fP で宣言されており、 さらに適切な機能検査 -マクロが定義された場合には \fI\fP でも宣言される(上記を参照)。 -.SH 注意 -多くのシステムでは、アラインメントに関して制限がある。例えば、 ブロックデバイスに対するダイレクト I/O に使用するバッファには -アラインメントに関する制限がある。 POSIX では、どんなアラインメントが必要かを知るために -\fIpathconf(path,_PC_REC_XFER_ALIGN)\fP コールを規定している。ここで \fBposix_memalign\fP() -を使うと、この必要条件を満たすことができる。 - -\fBposix_memalign\fP() は \fIalignment\fP が上で詳細に述べた必要条件を満たすか -どうかを確かめる。 \fBmemalign\fP() は \fIalignment\fP 引き数が正しいかどうかの -確認を行わないかもしれない。 - -.\" Other systems allow passing the result of -.\" .IR valloc () -.\" to -.\" .IR free (3), -.\" but not to -.\" .IR realloc (3). -POSIX では \fBposix_memalign\fP() によって獲得したメモリは \fBfree\fP(3) を -使って解放することができる必要がある。 いくつかのシステムでは -\fBmemalign\fP() や\fBvalloc\fP() で割り当てられたメモリを再利用する手段が -提供されていない(なぜなら \fBfree\fP(3) に渡すことができるのは -\fBmalloc\fP(3) から受け取ったポインタだけだが、例えば \fBmemalign\fP() は -\fBmalloc\fP(3) を呼び出し、得た値をアラインメントしてしまうからである)。 -glibc の実装では、 ここに述べた関数のいずれで獲得したメモリも -\fBfree\fP(3) で再利用することができる。 - -glibc の \fBmalloc\fP(3) は常に 8 バイトにアラインメントされたメモリアドレスを -返すので、ここで述べた関数が必要になるのは 8 バイトよりも大きなアラインメント -が必要な場合だけである。 -.SH 関連項目 -\fBbrk\fP(2), \fBgetpagesize\fP(2), \fBfree\fP(3), \fBmalloc\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/posix_openpt.3 b/draft/man3/posix_openpt.3 index 96811e65..29b30361 100644 --- a/draft/man3/posix_openpt.3 +++ b/draft/man3/posix_openpt.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 2004 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +89,6 @@ posix_openpt(int flags) \fBopen\fP(2), \fBgetpt\fP(3), \fBgrantpt\fP(3), \fBptsname\fP(3), \fBunlockpt\fP(3), \fBpts\fP(4), \fBpty\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pow.3 b/draft/man3/pow.3 index a35b4061..6feb689f 100644 --- a/draft/man3/pow.3 +++ b/draft/man3/pow.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -179,6 +181,6 @@ glibc バージョン 2.3.2 以前では、 アンダーフローやアンダー .SH 関連項目 \fBcbrt\fP(3), \fBcpow\fP(3), \fBsqrt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pow10.3 b/draft/man3/pow10.3 index 83d023b5..0bb49e56 100644 --- a/draft/man3/pow10.3 +++ b/draft/man3/pow10.3 @@ -1,5 +1,6 @@ .\" Copyright 2004 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -52,6 +54,6 @@ pow10, pow10f, pow10l \- 底が 10 の累乗関数 .SH 関連項目 \fBexp10\fP(3), \fBpow\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/printf.3 b/draft/man3/printf.3 deleted file mode 100644 index 038206a9..00000000 --- a/draft/man3/printf.3 +++ /dev/null @@ -1,519 +0,0 @@ -.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" -.\" Earlier versions of this page influenced the present text. -.\" It was derived from a Berkeley page with version -.\" @(#)printf.3 6.14 (Berkeley) 7/30/91 -.\" converted for Linux by faith@cs.unc.edu, updated by -.\" Helmut.Geyer@iwr.uni-heidelberg.de, agulbra@troll.no and Bruno Haible. -.\" -.\" 1999-11-25 aeb - Rewritten, using SUSv2 and C99. -.\" 2000-07-26 jsm28@hermes.cam.ac.uk - three small fixes -.\" 2000-10-16 jsm28@hermes.cam.ac.uk - more fixes -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PRINTF 3 2011\-09\-28 GNU "Linux Programmer's Manual" -.SH 名前 -printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf \- -指定された書式に変換して出力を行う -.SH 書式 -\fB#include \fP -.sp -\fBint printf(const char *\fP\fIformat\fP\fB, ...);\fP -.br -\fBint fprintf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP -.br -\fBint sprintf(char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP -.br -\fBint snprintf(char *\fP\fIstr\fP\fB, size_t \fP\fIsize\fP\fB, const char *\fP\fIformat\fP\fB, -\&...);\fP -.sp -\fB#include \fP -.sp -\fBint vprintf(const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP -.br -\fBint vfprintf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, va_list -\fP\fIap\fP\fB);\fP -.br -\fBint vsprintf(char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, va_list -\fP\fIap\fP\fB);\fP -.br -\fBint vsnprintf(char *\fP\fIstr\fP\fB, size_t \fP\fIsize\fP\fB, const char -*\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBsnprintf\fP(), \fBvsnprintf\fP(): -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _ISOC99_SOURCE || -_POSIX_C_SOURCE\ >=\ 200112L; -.br -or \fIcc \-std=c99\fP -.RE -.ad -.SH 説明 -\fBprintf\fP() 関数グループは、以下で述べるように、 \fIformat\fP に従って出力を生成するものである。 \fBprintf\fP() と -\fBvprintf\fP() は出力を \fIstdout\fP (標準出力ストリーム) に書き出す。 \fBfprintf\fP() と -\fBvfprintf\fP() は出力を指定された出力 \fIstream\fP に書き出す。 \fBsprintf\fP(), \fBsnprintf\fP(), -\fBvsprintf\fP(), \fBvsnprintf\fP() は出力を文字列 \fIstr\fP に書き込む。 -.PP -\fBsnprintf\fP() と \fBvsnprintf\fP() は最大で \fIsize\fP バイトを \fIstr\fP に書き込む (\fIsize\fP -には文字列を終端する NULL バイト (\(aq\e0\(aq) もを含まれる)。 -.PP -\fBvprintf\fP(), \fBvfprintf\fP(), \fBvsprintf\fP(), \fBvsnprintf\fP() の各関数はそれぞれ -\fBprintf\fP(), \fBfprintf\fP(), \fBsprintf\fP(), \fBsnprintf\fP(), -の各関数と等価であり、可変数引き数の代わりに \fIva_list\fP を引き数として呼び出される点だけが異なる。 これらの関数では \fIva_end\fP -マクロは呼び出されない。 これらの関数は \fIva_arg\fP を呼び出すので、呼び出し後の \fIap\fP の値は未定義である。 \fBstdarg\fP(3) -を参照のこと。 -.PP -これらの 8 つの関数は \fIformat\fP 文字列の制御に従って出力を書き出す。 \fIformat\fP 文字列は、これに続く引き数 (または -\fBstdarg\fP(3) の可変長引き数機構を使ってアクセスできる引き数) をどのように変換して出力するかを指定する。 - -C99 と POSIX.1\-2001 では、 \fBsprintf\fP(), \fBsnprintf\fP(), \fBvsprintf\fP(), -\fBvsnprintf\fP() の呼び出しで、範囲が重複するオブジェクト間でコピーが発生する場合の 結果は不定であると規定されている -(例えば、出力先の文字列と入力された 引き数の一つが同じバッファを参照している場合などである)。 「注意」の節を参照。 -.SS "Return Values" -成功時には、上記の関数は書き込まれた文字数を返す (文字列の最後を示すために使用する NULL バイトは数に含まれない)。 - -\fBsnprintf\fP() と \fBvsnprintf\fP() は、 \fIsize\fP バイトを越える文字数を書き込まない (\fIsize\fP -には文字列を終端する NULL バイト (\(aq\e0\(aq) も含まれる)。 この制限によって出力が切り詰められた場合には、 -もし十分なスペースがあれば書き込まれたであろう文字の個数 (文字列を終端する NULL バイトを除く) を返す。 従って、返り値が \fIsize\fP -以上だった場合、出力が切り詰められたことを意味する (後述の注意も参照のこと)。 - -エラーが発生した場合は、負の数を返す。 -.SS フォーマット文字列のフォーマット -フォーマット文字列は文字の列で、 (もしあるなら) 初期シフト状態で始まり、初期シフト状態で終わる。 フォーマット用の文字列は 0 個以上の命令 -(directives) によって構成される。 命令には、通常文字と変換指定 (conversion specifications) がある。 -通常文字は \fB%\fP 以外の文字で、出力ストリームにそのままコピーされる。 変換指定は、それぞれが 0 個以上の引き数を取る。 各変換指定は文字 -\fB%\fP で始まり、 \fI変換指定子 (conversion specifier)\fP で終わる。 \fB%\fP と変換指定子の間には、0 個以上の -\fIフラグ 、\fP 最小 \fIフィールド幅 、\fP \fI精度 、\fP \fI長さ修飾子\fP を (この順序で) 置くことができる。 - -引き数は (型の格上げの後は) 変換指定子が表す型と正確に対応しなければならない。 デフォルトでは、\(aq*\(aq -や変換指定子が出てくる毎に次の引き数を要求され、 引き数は指定された順序で使用されていく (指定された引き数の個数が不十分ならエラーとなる)。 -また、引き数が必要な箇所で \(aq%\(aq の代わりに "%m$"、 \(aq*\(aqの代わりに "*m$" と書くことで、 -明示的にどの引き数を使用するかを指定することもできる。 ここで 10進の整数 m は希望の引き数の引き数リストでの位置を示す (最初の引き数の番号が 1 -である)。 従って、 -.in +4n -.nf - -printf("%*d", width, num); - -.fi -.in -と -.in +4n -.nf - -printf("%2$*1$d", width, num); - -.fi -.in -は等価である。 二番目の書き方では同じ引き数を繰り返し参照することができる。 C99 標準には、 Single UNIX Specification -由来の \(aq$\(aq を使った書き方は含まれていない。 \(aq$\(aq を使ったスタイルを使うと、引き数を取る変換及び幅と精度の引き数を -全てこのスタイルで指定しなければならないが、 引き数を消費しない "%%" フォーマットと混ざっているかもしれない。 \(aq$\(aq -で指定される引き数の番号に空きがあってはならない。 例えば、もし引き数 1 と 3 が指定されると、引き数 2 もフォーマット文字列のどこかで -指定されなければならない。 - -数値変換には小数点や 1000 単位の区切り文字を使うものもある。 実際にどの文字を使うかはロケールの \fBLC_NUMERIC\fP による。 POSIX -ロケールでは小数点に \(aq.\(aq を用い、 区切り文字は使わない。 従って、 -.in +4n -.nf - -printf("%\(aq.2f", 1234567.89); - -.fi -.in -は、 POSIX ロケールでは "1234567.89" 、 nl_NL ロケールでは "1234567,89"、 da_DK ロケールでは -"1.234.567,89" となる。 -.SS フラグ文字 -% 文字の後ろには 0 個以上のフラグ文字が続く。 -.TP -\fB#\fP -値は「別の形式」に変換される。 \fBo\fP 変換の場合、(先頭文字が 0 になっていない場合に先頭に 0 を追加することで) 出力文字列の最初の文字を -0 にする。 \fBx\fP と \fBX\fP 変換の場合、数値が 0 でないときには文字列 "0x" (\fBX\fP 変換の場合には "0X") が前に付与される。 -\fBa\fP, \fBA\fP, \fBe\fP, \fBE\fP, \fBf\fP, \fBF\fP, \fBg\fP, \fBG\fP 変換では、 小数点に続く数字がなくても、 -出力には常に小数点が含まれる (通常は、小数点の後に数字が続く場合にのみ、 小数点が表示される)。 \fBg\fP と \fBG\fP -変換の場合、他の変換とは異なり、末尾のゼロが変換結果から削除されない。 その他の変換では、結果は未定義である。 -.TP -\fB\&0\fP -値をゼロで埋める。 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBa\fP, \fBA\fP, \fBe\fP, \fBE\fP, \fBf\fP, -\fBF\fP, \fBg\fP, \fBG\fP 変換では、変換した値の左側を空白文字の代わりにゼロで埋める。 \fB\&0\fP と \fB\-\fP が両方とも指定された場合は、 -\fB\&0\fP フラグは無視される。 精度が数値変換 (\fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP) -と同時に指定された場合には、 \fB\&0\fP フラグは無視される。 その他の変換では、動作は未定義である。 -.TP -\fB\-\fP -変換値をフィールド境界で左揃えにする (デフォルトは右揃えである)。 \fBn\fP 変換以外では、変換された値は -左側ではなく右側を空白文字やゼロで埋められる。 \fB\-\fP と \fB\&0\fP の両方が指定された場合には、 \fB\-\fP が優先される。 -.TP -\&\fB' '\fP -(1個の半角スペース) 符号付き変換で生成された正の数字の前に空白 (または空文字列) が置かれる。 -.TP -\fB+\fP -符号付き変換によって出力される数字の前に、常に符号 (+ か \-) が置かれる。 デフォルトでは、符号は負の数字の場合のみ付与される。 \fB+\fP -と半角スペースの 両方が使われている場合には、 \fB+\fP が優先される。 -.PP -上記の 5 つのフラグは C 標準で定義されている。 SUSv2 では、さらにもう一つフラグ文字が規定されている。 -.TP -\fB\(aq\fP -10進数変換 (\fBi\fP, \fBd\fP, \fBu\fP, \fBf\fP, \fBF\fP, \fBg\fP, \fBG\fP) において、ロケール情報に指定があれば 1000 -単位の区切り文字を出力する。 \fBgcc\fP(1) の多くのバージョンは、このオプションを解釈することができず、 警告を出力することに注意せよ。 -%\(aqF は SUSv2 には含まれていない。 -.PP -glibc 2.2 では、さらに一つフラグ文字が追加されている。 -.TP -\fBI\fP -.\" outdigits keyword in locale file -10進整数変換 (\fBi\fP, \fBd\fP, \fBu\fP) において、ロケールの代替出力数字があれば、それを用いて出力する。 例えば、 glibc -2.2.3 以降では、ペルシア ("fa_IR") ロケールで アラビア数字 (Arabic\-Indic digits) を出力できる。 -.SS フィールド幅 -最小のフィールド幅を指定する 10進数の数値文字列 (文字列の最初の文字は ゼロ以外)。本項目はオプションである。 -変換された値の文字数がフィールド長よりも少ない場合、 フィールドの左側をスペースで埋める (左揃えのフラグがある場合は右側を埋める)。 -10進数の文字列の代わりに "*" や "*m$" (\fIm\fP は 10進整数) を書くこともできる。 "*" と "*m$" はそれぞれ、次の引き数と -\fIm\fP 番目の引き数をフィールド幅として 使うことを指定する (これらの引き数は \fIint\fP 型でなければならない)。 -フィールド幅に負の数が指定された場合は、 \(aq\-\(aq フラグと正の数のフィールド幅として扱われる。 -フィールド幅が小さかったり指定がなかったりしても、フィールドが切り詰められる ことはない。もし変換結果がフィールド幅よりも広かった場合、 -フィールドは変換結果が入る幅に広げられる。 -.SS 精度 -オプションである精度は、ピリオド (\(aq.\(aq) とそれに続く10進数という 形式で指定する (10進数はオプション) 。 -10進数の文字列の代わりに "*" や "*m$" (m は 10 進整数)を書くこともできる。 "*" と "*m$" はそれぞれ、次の引き数と m -番目の引き数を精度として 使うことを指定する (これらの引き数は \fIint\fP 型でなければならない)。 精度として \(aq.\(aq -だけが指定されたり、精度が負の数だった場合、 精度はゼロとみなされる。 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP -変換では、表示される最小の桁数を指定する。 \fBa\fP, \fBA\fP, \fBe\fP, \fBE\fP, \fBf\fP, \fBF\fP -変換では、小数点以下に表示される数字の桁数を指定する。 \fBg\fP と \fBG\fP 変換では、有効数字の最大桁数を指定する。 \fBs\fP と \fBS\fP -変換では、文字列から出力される最大文字数を指定する。 -.SS 長さ修飾子 -「整数変換」とは、 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP 変換のことである。 -.TP -\fBhh\fP -整数変換に対応する引き数が \fIsigned char\fP か \fIunsigned char\fP で、 \fBn\fP 変換に対応する引き数が \fIsigned -char\fP へのポインタであることを示す。 -.TP -\fBh\fP -整数変換に対応する引き数が \fIshort int\fP か \fIunsigned short int\fP で、 \fBn\fP 変換に対応する引き数が -\fIshort int\fP へのポインタであることを示す。 -.TP -\fBl\fP -各変換に対応する引き数が、 整数変換では \fIlong int\fPか \fIunsigned long int\fP、 \fBn\fP 変換では \fIlong -long int\fP へのポインタ、 \fBc\fP 変換では \fIwint_t\fP、 \fBs\fP 変換では \fIwchar_t\fP へのポインタであることを示す。 -.TP -\fBll\fP (エルエル) -整数変換に対応する引き数が \fIlong long int\fP か \fIunsigned long long int\fP で、 \fBn\fP -変換に対応する引き数が \fIlong int\fP へのポインタであることを示す。 -.TP -\fBL\fP -\fBa\fP, \fBA\fP, \fBe\fP, \fBE\fP, \fBf\fP, \fBF\fP, \fBg\fP, \fBG\fP 変換に対応する引き数が \fIlong double\fP -であることを示す。 (C99 では %LF を使うことを認めているが、SUSv2 では認められていない。) -.TP -\fBq\fP -("quad"。 4.4BSD と Linux libc5 のみ有効。使ってはならない。) \fBll\fP と同じ意味である。 -.TP -\fBj\fP -整数変換に対応する引き数が \fIintmax_t\fP か \fIuintmax_t\fP であることを示す。 -.TP -\fBz\fP -整数変換に対応する引き数が \fIsize_t\fP か \fIssize_t\fP であることを示す。 (Linux libc5 では、これを指定するのに -\fBZ\fP を用いる。使ってはならない。) -.TP -\fBt\fP -整数変換に対応する引き数が \fIptrdiff_t\fP であることを示す。 -.PP -SUSv2 で長さ修飾子として使用できるのは、 \fBh\fP (\fBhd\fP, \fBhi\fP, \fBho\fP, \fBhx\fP, \fBhX\fP, \fBhn\fP), -\fBl\fP (\fBld\fP, \fBli\fP, \fBlo\fP, \fBlx\fP, \fBlX\fP, \fBln\fP, \fBlc\fP, \fBls\fP), \fBL\fP (\fBLe\fP, -\fBLE\fP, \fBLf\fP, \fBLg\fP, \fBLG\fP) だけである。 -.SS 変換指定子 -適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。 -.TP -\fBd\fP, \fBi\fP -\fIint\fP 引き数を符号付き 10 進表記に変換する。 精度指定があれば、精度で指定した桁数は必ず出力される。変換後の値が -指定された桁数に足りない場合は、左側が 0 で埋められる。 デフォルトの精度は 1 である。 0 を表示しようとした時に、明示的に精度として 0 -が指定されていると、 出力は空文字列となる。 -.TP -\fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP -\fIunsigned int\fP 引き数を、 符号なし8進数 (\fBo\fP), 符号なし10進数 (\fBu\fP), 符号なし16進数 (\fBx\fP と -\fBX\fP) に変換する。 \fBx\fP 変換では \fBabcdef\fP が使用され、 \fBX\fP 変換では \fBABCDEF\fP が使用される。 -精度指定があれば、精度で指定した桁数は必ず出力される。変換後の値が 指定された桁数に足りない場合は、左側が 0 で埋められる。 -.TP -\fBe\fP, \fBE\fP -\fIdouble\fP 引き数を丸めて [\-]d\fB\&.\fPddd\fBe\fP\(+-dd の形に変換する。 -小数点の前には一桁の数字があり、小数点以下の桁数は精度で指定された桁数 -になる。精度は指定されなかった場合 6 とみなされる。 精度が 0 の場合には、 -小数点以下は表示されない。\fBE\fP 変換では、指数を表現するときに (\fBe\fP で -はなく) \fBE\fP が使われる。指数部分は少なくとも 2桁表示される。つまり、 -指数の値が 0 の場合には、00 と表示される。 -.TP -\fBf\fP, \fBF\fP -\fIdouble\fP 引き数を丸めて [\-]ddd\fB\&.\fPddd の形の10進表現に変換する。 小数点の後の桁数は、精度で指定された値となる。 -精度が指定されていない場合には 6 として扱われる。 精度として明示的に 0 が指定されたときには、小数点以下は表示されない。 -小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。 - -(SUSv2 では、\fBF\fP は規定されておらず、無限や NaN に関する文字列表現を -行ってもよいことになっている。 - C99 標準では、\fBf\fP 変換では、無限は "[\-]inf" か "[\-]infinity" と表示し、 -NaN は文字列の先頭に `nan' をつけて表示するように規定されている。 -\fBF\fP 変換の場合は "[\-]INF", "[\-]INFINITY", "NAN*" と表示される。) -.TP -\fBg\fP, \fBG\fP -\fIdouble\fP 引き数を \fBf\fP か \fBe\fP (\fBG\fP 変換の場合は \fBF\fP か \fBE\fP) の形式に変換する。 -精度は表示する桁数を指定する。 精度が指定されない場合は、6桁とみなされる。 精度が 0 の場合は、1桁とみなされる。 変換される値の指数が、 \-4 -より小さいか、精度以上の場合に、 \fBe\fP 形式が使用される。 変換された結果の小数部分の末尾の 0 は削除される。小数点が表示されるのは、 -小数点以下に数字が少なくとも一つある場合にだけである。 -.TP -\fBa\fP, \fBA\fP -(C99 にはあるが SUSv2 にはない) \fBa\fP 変換では、 \fIdouble\fP 引き数を -(abcdef の文字を使って) [\-]\fB0x\fPh\fB\&.\fPhhhh\fBp\fP\(+- 形式の -16 進表記に変換する。 -\fBA\fP 変換では、前置文字列 \fB0X\fP, 文字 ABCDEF, 指数文字 \fBP\fP を用いる。 -小数点の前には 1 桁の 16 進数が置かれ、小数点の後ろの桁数は 精度で指定 -された値となる。デフォルトの精度は、その値が 2 進数で正確に表現できる -場合には、その値を正確に表現できる桁数となる。それ以外の場合は、 -\fIdouble\fP 型の値を区別するのに十分な大きさとなる。 小数点の前の数字は、 -正規化されていない数の場合はいくつになるか分からない。 正規化された数の -場合は、 0 以外の値になるが、いくつになるかは分からない。 -.TP -\fBc\fP -\fBl\fP 修飾子がなければ、 \fIint\fP 引き数を \fIunsigned char\fP に変換して、その結果に対応する文字を出力する。 \fBl\fP -修飾子があれば、 \fIwint_t\fP (ワイド文字) 引き数を、 \fBwcrtomb\fP(3) -関数を初期シフト状態で呼び出してマルチバイト文字列に変換し、 変換されたマルチバイト文字列を出力する。 -.TP -\fBs\fP -\fBl\fP 修飾子がない場合、 引き数は \fIconst char *\fP 型で文字型の配列へのポインタ (文字列へのポインタ) であることが -期待されている。配列中の文字は、終端の NULL バイト (\(aq\e0\(aq) が出てくるまで出力される (終端文字は出力されない)。 -精度が指定されていると、指定された字数以上は出力されない。 精度が指定された場合には、終端バイトが存在する必要はない。 -精度が指定されていなかったり、精度の値が配列の大きさより大きい場合には、 配列は終端の NULL バイトを含んでいなければならない。 - -\fBl\fP 修飾子が指定されている場合、 引き数は \fIconst wchar_t *\fP 型でワイド文字の配列へのポインタであることが期待されている。 -配列中のワイド文字は (1文字毎に \fBwcrtomb\fP(3) を呼び出して) マルチバイト文字に変換される (最初のワイド文字の変換の前に -\fBwcrtomb\fP() のシフト状態を初期状態に戻してから変換は行われる)。 マルチバイト文字への変換は、文字列を終端する NULL ワイド文字が -出てくるまで行われ、終端 NULL ワイド文字も含めて変換される。 結果のマルチバイト文字列は、終端の NULL バイトが出てくるまで 出力される -(終端の NULL バイトは出力されない)。 精度が指定された場合、指定されたバイト数以上には出力されない。 -但し、マルチバイト文字の一部分だけが出力されることはない。 精度は「バイト」数を指定するものであり、「ワイド文字」数や -「画面での位置」を指定するものではないことに注意。 精度が指定されていて、さらに出力が配列の末尾に達する前に出力バイト数が -精度の値を超える場合だけは、配列は NULL ワイド文字で終端されていなくてもよい。 それ以外の場合は、必ず配列は NULL -ワイド文字で終端されていなければならない。 -.TP -\fBC\fP -(C99 にはないが SUSv2 にはある) \fBlc\fP と同じ。使ってはならない。 -.TP -\fBS\fP -(C99 にはないが SUSv2 にはある) \fBls\fP と同じ。使ってはならない。 -.TP -\fBp\fP -\fIvoid *\fP ポインタ引き数を (\fB%#x\fP や \fB%#lx\fP のような) 16 進数で出力する。 -.TP -\fBn\fP -これまでに出力された文字数を \fIint *\fP (または類似の型) のポインタ引き数が指す整数に保存する。 引き数の変換は行われない。 -.TP -\fBm\fP -(glibc での拡張) \fIstrerror(errno)\fP の出力を表示する。引き数は必要ない。 -.TP -\fB%\fP -\(aq%\(aq 文字を出力する。変換される引き数は無い。 変換指定全体を書くと "%%" となる。 -.SH 準拠 -\fBfprintf\fP(), \fBprintf\fP(), \fBsprintf\fP(), \fBvprintf\fP(), \fBvfprintf\fP(), -\fBvsprintf\fP() 関数は、C89 と C99 に準拠している。 \fBsnprintf\fP() と \fBvsnprintf\fP() は C99 -に準拠している。 -.PP -\fBsnprintf\fP() の返り値を見ると、 SUSv2 と C99 標準は互いに矛盾している。 SUSv2 では、 \fBsnprintf\fP() -が \fIsize\fP=0 で呼び出された場合、 1 未満の値を何か返り値とするように規定している。 一方 C99 では、このような場合 \fIstr\fP を -NULL とし、返り値として (通常通り) 出力バッファが十分な大きさが あった場合に出力されるであろう文字数を返す。 -.PP -Linux libc4 では、 5 つの C 標準のフラグ、 長さ修飾子 \fBh\fP, \fBl\fP, \fBL\fP、変換 \fBc\fP, \fBd\fP, \fBe\fP, -\fBE\fP, \fBf\fP, \fBF\fP, \fBg\fP, \fBG\fP, \fBi\fP, \fBn\fP, \fBo\fP, \fBp\fP, \fBs\fP, \fBu\fP, \fBx\fP, \fBX\fP -が使える。 但し \fBF\fP は \fBf\fP と同義である。 また、 \fBD\fP, \fBO\fP, and \fBU\fP を \fBld\fP, \fBlo\fP, and -\fBlu\fP と同じものとして使える (これはまずい仕様で、 後に \fB%D\fP の対応が打ち切られた時に深刻なバグを -引き起こした)。ロケール依存の小数点、1000 区切り、 NaN と無限、 "%m$" と "*m$" は使えない。 -.PP -Linux libc5 では、 5 つの C 標準のフラグと \(aq フラグ、ロケール、 "%m$" と "*m$" が使える。 また、長さ修飾子 -\fBh\fP, \fBl\fP, \fBL\fP, \fBZ\fP, iand \fBq\fP が使えるが、 \fBL\fP と \fBq\fP は両方とも \fIlong double\fP と -\fIlong long int\fP に対応している (これはバグである)。 現在では変換 \fBF\fP, \fBD\fP, \fBO\fP, \fBU\fP -は認識されないが、変換文字 \fBm\fP が追加された。これは \fIstrerror(errno)\fP を出力するものである。 -.PP -glibc 2.0 では、変換文字 \fBC\fP と \fBS\fP が追加された。 -.PP -glibc 2.1 では、長さ修飾子 \fBhh\fP, \fBj\fP, \fBt\fP, \fBz\fP と変換文字 \fBa\fP, \fBA\fP が追加された。 -.PP -glibc 2.2 では、 C99 で規定された意味での変換文字 \fBF\fP と フラグ文字 \fBI\fP が追加された。 -.SH 注意 -テキストを \fIbuf\fP に追加するのに、軽率にも次のようなコードを使っているプログラムがある。 - - sprintf(buf, "%s some further text", buf); - -.\" http://sourceware.org/bugzilla/show_bug.cgi?id=7075 -しかしながら、標準規格では、 \fBsprintf\fP(), \fBsnprintf\fP(), \fBvsprintf\fP(), \fBvsnprintf\fP() -の呼び出しにおいて、コピー元とコピー先のバッファが重なっていた場合の 結果は不定である、と明記されている。 使用する \fBgcc\fP(1) -のバージョンや指定したコンパイラのオプション次第では、 上記のような呼び出しで、期待した結果が得られ「ない」ことがある。 - -.\" .SH HISTORY -.\" UNIX V7 defines the three routines -.\" .BR printf (), -.\" .BR fprintf (), -.\" .BR sprintf (), -.\" and has the flag \-, the width or precision *, the length modifier l, -.\" and the conversions doxfegcsu, and also D,O,U,X as synonyms for ld,lo,lu,lx. -.\" This is still true for 2.9.1BSD, but 2.10BSD has the flags -.\" #, + and and no longer mentions D,O,U,X. -.\" 2.11BSD has -.\" .BR vprintf (), -.\" .BR vfprintf (), -.\" .BR vsprintf (), -.\" and warns not to use D,O,U,X. -.\" 4.3BSD Reno has the flag 0, the length modifiers h and L, -.\" and the conversions n, p, E, G, X (with current meaning) -.\" and deprecates D,O,U. -.\" 4.4BSD introduces the functions -.\" .BR snprintf () -.\" and -.\" .BR vsnprintf (), -.\" and the length modifier q. -.\" FreeBSD also has functions -.\" .BR asprintf () -.\" and -.\" .BR vasprintf (), -.\" that allocate a buffer large enough for -.\" .BR sprintf (). -.\" In glibc there are functions -.\" .BR dprintf () -.\" and -.\" .BR vdprintf () -.\" that print to a file descriptor instead of a stream. -glibc の \fBsnprintf\fP() と \fBvsnprintf\fP() の実装は、バージョン 2.1 以降は C99 標準に準拠しており、 -上記の通りの動作をする。 glibc 2.0.6 までは、出力が切り詰められた場合は \-1 を返す。 -.SH バグ -\fBsprintf\fP() と \fBvsprintf\fP() は勝手に十分に長い文字列領域があると仮定するので、呼び出し側は -実際の領域からあふれないように注意しなければならない。 しかし、これを保証することが不可能な場合が多い。 -生成される文字列の長さはロケール依存であり、予測が難しいことに注意。 代わりに \fBsnprintf\fP() と \fBvsnprintf\fP() -(または \fBasprintf\fP(3) と \fBvasprintf\fP(3)) を使うこと。 -.PP -Linux libc4.[45] には \fBsnprintf\fP() はないが、 libbsd が提供されており、 その中には \fBsprintf\fP() -と等価な (つまり \fIsize\fP 引き数を無視する) \fBsnprintf\fP() がある。 したがって、初期の libc4 で -\fBsnprintf\fP() を使うと、深刻なセキュリティ問題を引き起こすことがある。 -.PP -.\" .PP -.\" Some floating-point conversions under early libc4 -.\" caused memory leaks. -\fBprintf(\fP\fIfoo\fP\fB);\fP のようなコードはしばしばバグを引き起こす。 なぜなら \fIfoo\fP に % -文字が含まれてるかもしれないからである。 \fIfoo\fP が信頼できないユーザー入力から作られている場合には、 その中に \fB%n\fP -が含まれていることがあり、 \fBprintf\fP() 呼び出し時にメモリへの書き込みが起こり、 セキュリティーホールを作ることになるかもしれない。 -.SH 例 -\fIPi\fP を 5 桁で出力する。 -.in +4n -.nf - -#include -#include -fprintf(stdout, "pi = %.5f\en", 4 * atan(1.0)); -.fi -.in -.PP -日付と時間を "Sunday, July 3, 10:02" の形式で出力する。 (\fIweekday\fP と \fImonth\fP -は文字列へのポインタである) -.in +4n -.nf - -#include -fprintf(stdout, "%s, %s %d, %.2d:%.2d\en", - weekday, month, day, hour, min); -.fi -.in -.PP -日 \- 月 \- å¹´ の順序で表示を行う国も多い。 従って、国際版では書式で指定された順番で 引き数を表示できなければならない。 -.in +4n -.nf - -#include -fprintf(stdout, format, - weekday, month, day, hour, min); - -.fi -.in -\fIformat\fP はロケールに依存しており、引き数の順番を変えることもできる。 \fIformat\fP が -.in +4n -.nf - -"%1$s, %3$d. %2$s, %4$d:%5$.2d\en" - -.fi -.in -であれば、 "Sonntag, 3. Juli, 10:02" という結果になる。 -.PP -十分に大きな文字列領域を確保して、そこにメッセージを格納するには (glibc 2.0 と glibc 2.1 の両方で正しく動作するコード): -.nf - -#include -#include -#include - -char * -make_message(const char *fmt, ...) -{ - int n; - int size = 100; /* Guess we need no more than 100 bytes. */ - char *p, *np; - va_list ap; - - if ((p = malloc(size)) == NULL) - return NULL; - - while (1) { - - /* Try to print in the allocated space. */ - - va_start(ap, fmt); - n = vsnprintf(p, size, fmt, ap); - va_end(ap); - - /* If that worked, return the string. */ - - if (n > \-1 && n < size) - return p; - - /* Else try again with more space. */ - - if (n > \-1) /* glibc 2.1 */ - size = n+1; /* precisely what is needed */ - else /* glibc 2.0 */ - size *= 2; /* twice the old size */ - - if ((np = realloc (p, size)) == NULL) { - free(p); - return NULL; - } else { - p = np; - } - } -} -.fi -.SH 関連項目 -\fBprintf\fP(1), \fBasprintf\fP(3), \fBdprintf\fP(3), \fBscanf\fP(3), \fBsetlocale\fP(3), -\fBwcrtomb\fP(3), \fBwprintf\fP(3), \fBlocale\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/profil.3 b/draft/man3/profil.3 index 0f2abbc6..a155ca5c 100644 --- a/draft/man3/profil.3 +++ b/draft/man3/profil.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Fri Jun 23 01:35:19 1995 Andries Brouwer .\" (prompted by Bas V. de Bakker ) @@ -62,6 +62,6 @@ SVr4 のコールに似ている (しかし POSIX.1\-2001 ではない)。 .SH 関連項目 \fBgprof\fP(1), \fBsetitimer\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/program_invocation_name.3 b/draft/man3/program_invocation_name.3 index af9f8fa4..f384ef2b 100644 --- a/draft/man3/program_invocation_name.3 +++ b/draft/man3/program_invocation_name.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2006 Michael Kerrisk .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -18,6 +19,8 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -51,6 +54,6 @@ Linux 独自のファイル \fI/proc/[number]/cmdline\fP でも同様の情報 .SH 関連項目 \fBproc\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_init.3 b/draft/man3/pthread_attr_init.3 index cb146ce2..51987899 100644 --- a/draft/man3/pthread_attr_init.3 +++ b/draft/man3/pthread_attr_init.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -280,6 +282,8 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 +.ad l +.nh \fBpthread_attr_setaffinity_np\fP(3), \fBpthread_attr_setdetachstate\fP(3), \fBpthread_attr_setguardsize\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), @@ -287,6 +291,6 @@ main(int argc, char *argv[]) \fBpthread_attr_setstackaddr\fP(3), \fBpthread_attr_setstacksize\fP(3), \fBpthread_create\fP(3), \fBpthread_getattr_np\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setaffinity_np.3 b/draft/man3/pthread_attr_setaffinity_np.3 index 78a3d25d..8ec1e072 100644 --- a/draft/man3/pthread_attr_setaffinity_np.3 +++ b/draft/man3/pthread_attr_setaffinity_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -98,6 +100,6 @@ CPU 集合の操作や取得を行う際に利用できるマクロ群の説明 \fBsched_setaffinity\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_setaffinity_np\fP(3), \fBcpuset\fP(7), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setdetachstate.3 b/draft/man3/pthread_attr_setdetachstate.3 index 734cd936..f3adabd4 100644 --- a/draft/man3/pthread_attr_setdetachstate.3 +++ b/draft/man3/pthread_attr_setdetachstate.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -89,6 +91,6 @@ detached 状態で作成されたスレッドのスレッド ID を指定して \fBpthread_attr_init\fP(3), \fBpthread_create\fP(3), \fBpthread_detach\fP(3), \fBpthread_join\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setguardsize.3 b/draft/man3/pthread_attr_setguardsize.3 index e19816ae..e45b22c6 100644 --- a/draft/man3/pthread_attr_setguardsize.3 +++ b/draft/man3/pthread_attr_setguardsize.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -125,6 +127,6 @@ POSIX.1 で求められている通りの動作で、 \fBpthread_attr_setstack\fP(3), \fBpthread_attr_setstacksize\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setinheritsched.3 b/draft/man3/pthread_attr_setinheritsched.3 index 2408c69f..e157e4a8 100644 --- a/draft/man3/pthread_attr_setinheritsched.3 +++ b/draft/man3/pthread_attr_setinheritsched.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -99,11 +101,13 @@ scheduling 属性に \fBPTHREAD_EXPLICIT_SCHED\fP が設定されると、この .SH 例 \fBpthread_setschedparam\fP(3) を参照。 .SH 関連項目 +.ad l +.nh \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_create\fP(3), \fBpthread_setschedparam\fP(3), \fBpthread_setschedprio\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setschedparam.3 b/draft/man3/pthread_attr_setschedparam.3 index c73b4609..3403e9a6 100644 --- a/draft/man3/pthread_attr_setschedparam.3 +++ b/draft/man3/pthread_attr_setschedparam.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -85,11 +87,13 @@ Linux でサポートされているスレッドのスケジューリングポ .SH 例 \fBpthread_setschedparam\fP(3) を参照。 .SH 関連項目 +.ad l +.nh \fBsched_get_priority_min\fP(2), \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_create\fP(3), \fBpthread_setschedparam\fP(3), \fBpthread_setschedprio\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setschedpolicy.3 b/draft/man3/pthread_attr_setschedpolicy.3 index 78de7468..b15e6440 100644 --- a/draft/man3/pthread_attr_setschedpolicy.3 +++ b/draft/man3/pthread_attr_setschedpolicy.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -75,11 +77,13 @@ POSIX.1\-2001. .SH 例 \fBpthread_setschedparam\fP(3) を参照。 .SH 関連項目 +.ad l +.nh \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_create\fP(3), \fBpthread_setschedparam\fP(3), \fBpthread_setschedprio\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setscope.3 b/draft/man3/pthread_attr_setscope.3 index 6b241ba5..07cf7168 100644 --- a/draft/man3/pthread_attr_setscope.3 +++ b/draft/man3/pthread_attr_setscope.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -97,10 +99,12 @@ Linux では、廃止予定の LinuxThreads 実装も新しい NPTL 実装もこ POSIX.1\-2001 では、 contention scope 属性のデフォルト値は 実装時で定義されるものと規定されている。 .SH 関連項目 +.ad l +.nh \fBpthread_attr_init\fP(3), \fBpthread_attr_setaffinity_np\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setstack.3 b/draft/man3/pthread_attr_setstack.3 index 5480a706..c2e288ab 100644 --- a/draft/man3/pthread_attr_setstack.3 +++ b/draft/man3/pthread_attr_setstack.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -118,10 +120,12 @@ guard size の値は無視される。 .SH 例 \fBpthread_attr_init\fP(3) を参照。 .SH 関連項目 +.ad l +.nh \fBmmap\fP(2), \fBmprotect\fP(2), \fBposix_memalign\fP(3), \fBpthread_attr_init\fP(3), \fBpthread_attr_setguardsize\fP(3), \fBpthread_attr_setstackaddr\fP(3), \fBpthread_attr_setstacksize\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setstackaddr.3 b/draft/man3/pthread_attr_setstackaddr.3 index 87ace44e..7fc0d4ee 100644 --- a/draft/man3/pthread_attr_setstackaddr.3 +++ b/draft/man3/pthread_attr_setstackaddr.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -84,6 +86,6 @@ POSIX.1\-2008 では、これらの関数の規定は削除されている。 \fBpthread_attr_init\fP(3), \fBpthread_attr_setstack\fP(3), \fBpthread_attr_setstacksize\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_attr_setstacksize.3 b/draft/man3/pthread_attr_setstacksize.3 index 9b2a8ccf..7a499365 100644 --- a/draft/man3/pthread_attr_setstacksize.3 +++ b/draft/man3/pthread_attr_setstacksize.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -91,6 +93,6 @@ POSIX.1\-2001 では、割り当てらたスタックの大きさは \fBgetrlimit\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setguardsize\fP(3), \fBpthread_attr_setstack\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_cancel.3 b/draft/man3/pthread_cancel.3 index 2a39863d..eef8e4cf 100644 --- a/draft/man3/pthread_cancel.3 +++ b/draft/man3/pthread_cancel.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -189,10 +191,12 @@ main(void) } .fi .SH 関連項目 +.ad l +.nh \fBpthread_cleanup_push\fP(3), \fBpthread_create\fP(3), \fBpthread_exit\fP(3), \fBpthread_join\fP(3), \fBpthread_key_create\fP(3), \fBpthread_setcancelstate\fP(3), \fBpthread_setcanceltype\fP(3), \fBpthread_testcancel\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_cleanup_push.3 b/draft/man3/pthread_cleanup_push.3 index d942129e..45223aa8 100644 --- a/draft/man3/pthread_cleanup_push.3 +++ b/draft/man3/pthread_cleanup_push.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -260,6 +262,6 @@ main(int argc, char *argv[]) \fBpthread_cancel\fP(3), \fBpthread_cleanup_push_defer_np\fP(3), \fBpthread_setcancelstate\fP(3), \fBpthread_testcancel\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_cleanup_push_defer_np.3 b/draft/man3/pthread_cleanup_push_defer_np.3 index 0aa357dd..15c2a5a1 100644 --- a/draft/man3/pthread_cleanup_push_defer_np.3 +++ b/draft/man3/pthread_cleanup_push_defer_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -99,6 +101,6 @@ pthread_cleanup_pop(execute); \fBpthread_cancel\fP(3), \fBpthread_cleanup_push\fP(3), \fBpthread_setcancelstate\fP(3), \fBpthread_testcancel\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_create.3 b/draft/man3/pthread_create.3 index 851fdf79..369ad982 100644 --- a/draft/man3/pthread_create.3 +++ b/draft/man3/pthread_create.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PTHREAD_CREATE 3 2012\-03\-15 Linux "Linux Programmer's Manual" +.TH PTHREAD_CREATE 3 2012\-08\-03 Linux "Linux Programmer's Manual" .SH 名前 pthread_create \- 新しいスレッドを作成する .SH 書式 @@ -212,7 +214,7 @@ struct thread_info { /* Used as argument to thread_start() */ static void * thread_start(void *arg) { - struct thread_info *tinfo = (struct thread_info *) arg; + struct thread_info *tinfo = arg; char *uargv, *p; printf("Thread %d: top of stack near %p; argv_string=%s\en", @@ -312,11 +314,13 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 +.ad l +.nh \fBgetrlimit\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_cancel\fP(3), \fBpthread_detach\fP(3), \fBpthread_equal\fP(3), \fBpthread_exit\fP(3), \fBpthread_getattr_np\fP(3), \fBpthread_join\fP(3), \fBpthread_self\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_detach.3 b/draft/man3/pthread_detach.3 index 92c216a2..474c3977 100644 --- a/draft/man3/pthread_detach.3 +++ b/draft/man3/pthread_detach.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -84,6 +86,6 @@ detached 属性は、スレッドが終了した際のシステムの動作を \fBpthread_attr_setdetachstate\fP(3), \fBpthread_cancel\fP(3), \fBpthread_create\fP(3), \fBpthread_exit\fP(3), \fBpthread_join\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_equal.3 b/draft/man3/pthread_equal.3 index c8e529e0..b01a105f 100644 --- a/draft/man3/pthread_equal.3 +++ b/draft/man3/pthread_equal.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -54,6 +56,6 @@ POSIX.1\-2001. .SH 関連項目 \fBpthread_create\fP(3), \fBpthread_self\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_exit.3 b/draft/man3/pthread_exit.3 index dd1b5121..5308c740 100644 --- a/draft/man3/pthread_exit.3 +++ b/draft/man3/pthread_exit.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -90,6 +92,6 @@ POSIX.1\-2001. .SH 関連項目 \fBpthread_create\fP(3), \fBpthread_join\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_getattr_np.3 b/draft/man3/pthread_getattr_np.3 index 08708467..94893a64 100644 --- a/draft/man3/pthread_getattr_np.3 +++ b/draft/man3/pthread_getattr_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -331,6 +333,8 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 +.ad l +.nh \fBpthread_attr_getaffinity_np\fP(3), \fBpthread_attr_getdetachstate\fP(3), \fBpthread_attr_getguardsize\fP(3), \fBpthread_attr_getinheritsched\fP(3), \fBpthread_attr_getschedparam\fP(3), \fBpthread_attr_getschedpolicy\fP(3), @@ -338,6 +342,6 @@ main(int argc, char *argv[]) \fBpthread_attr_getstackaddr\fP(3), \fBpthread_attr_getstacksize\fP(3), \fBpthread_attr_init\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_getcpuclockid.3 b/draft/man3/pthread_getcpuclockid.3 index d72d3228..db679471 100644 --- a/draft/man3/pthread_getcpuclockid.3 +++ b/draft/man3/pthread_getcpuclockid.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -163,6 +165,6 @@ main(int argc, char *argv[]) \fBclock_gettime\fP(2), \fBclock_settime\fP(2), \fBtimer_create\fP(2), \fBclock_getcpuclockid\fP(3), \fBpthread_self\fP(3), \fBpthreads\fP(7), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_join.3 b/draft/man3/pthread_join.3 index 5280b4eb..069447ae 100644 --- a/draft/man3/pthread_join.3 +++ b/draft/man3/pthread_join.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -100,6 +102,6 @@ pthreads には、 \fIwaitpid(\-1,\ &status,\ 0)\fP、つまり \fBpthread_cancel\fP(3), \fBpthread_create\fP(3), \fBpthread_detach\fP(3), \fBpthread_exit\fP(3), \fBpthread_tryjoin_np\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_kill.3 b/draft/man3/pthread_kill.3 index a4fa04f7..c80daa58 100644 --- a/draft/man3/pthread_kill.3 +++ b/draft/man3/pthread_kill.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PTHREAD_KILL 3 2009\-01\-28 Linux "Linux Programmer's Manual" +.TH PTHREAD_KILL 3 2012\-08\-19 Linux "Linux Programmer's Manual" .SH 名前 pthread_kill \- スレッドにシグナルを送信する .SH 書式 @@ -39,7 +41,7 @@ pthread_kill \- スレッドにシグナルを送信する \fI\-pthread\fP を付けてコンパイルとリンクを行う。 .SH 説明 \fBpthread_kill\fP() 関数は、呼び出したスレッドと同じプロセスの -別のスレッド \fIthread\fP にシグナル \fIsig\fP を送信する。 +スレッド \fIthread\fP にシグナル \fIsig\fP を送信する。 シグナルは非同期に \fIthread\fP へ直接送られる。 \fIsig\fP が 0 の場合、シグナルは送信されないが、 @@ -64,9 +66,9 @@ POSIX.1\-2001. シグナルの配送が "stop", "continue", "terminate" のいずれかの場合、 シグナルに対するアクションはプロセス全体に影響がある。 .SH 関連項目 -\fBkill\fP(2) \fBsigaction\fP(2), \fBsigpending\fP(2), \fBpthread_self\fP(3), +\fBkill\fP(2), \fBsigaction\fP(2), \fBsigpending\fP(2), \fBpthread_self\fP(3), \fBpthread_sigmask\fP(3), \fBraise\fP(3), \fBpthreads\fP(7), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_kill_other_threads_np.3 b/draft/man3/pthread_kill_other_threads_np.3 index 0b27871b..ba863874 100644 --- a/draft/man3/pthread_kill_other_threads_np.3 +++ b/draft/man3/pthread_kill_other_threads_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -63,6 +65,6 @@ NPTL スレッド実装では、 \fBpthread_kill_other_threads_np\fP() は存在 \fBexecve\fP(2), \fBpthread_cancel\fP(3), \fBpthread_setcancelstate\fP(3), \fBpthread_setcanceltype\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_self.3 b/draft/man3/pthread_self.3 index 55ed55ba..217cadeb 100644 --- a/draft/man3/pthread_self.3 +++ b/draft/man3/pthread_self.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -69,6 +71,6 @@ pthreads 関数以外でスレッド ID を利用しようとした場合、 .SH 関連項目 \fBpthread_create\fP(3), \fBpthread_equal\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_setaffinity_np.3 b/draft/man3/pthread_setaffinity_np.3 index 61050ec0..065a97dc 100644 --- a/draft/man3/pthread_setaffinity_np.3 +++ b/draft/man3/pthread_setaffinity_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -176,6 +178,6 @@ main(int argc, char *argv[]) \fBpthread_attr_setaffinity_np\fP(3), \fBpthread_self\fP(3), \fBsched_getcpu\fP(3), \fBcpuset\fP(7), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_setcancelstate.3 b/draft/man3/pthread_setcancelstate.3 index 2e429366..22dd6665 100644 --- a/draft/man3/pthread_setcancelstate.3 +++ b/draft/man3/pthread_setcancelstate.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -140,6 +142,6 @@ NULL 以外の値を指定するようにすべきである。 \fBpthread_cancel\fP(3), \fBpthread_cleanup_push\fP(3), \fBpthread_testcancel\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_setconcurrency.3 b/draft/man3/pthread_setconcurrency.3 index 24b7f006..b20acc64 100644 --- a/draft/man3/pthread_setconcurrency.3 +++ b/draft/man3/pthread_setconcurrency.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2009 Michael Kerrisk, .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -90,6 +92,6 @@ LinuxThreads と NPTL のどちらも 1:1 スレッド実装であり、 .SH 関連項目 \fBpthread_attr_setscope\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_setschedparam.3 b/draft/man3/pthread_setschedparam.3 index 2875e81e..2f9d894b 100644 --- a/draft/man3/pthread_setschedparam.3 +++ b/draft/man3/pthread_setschedparam.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -388,12 +390,14 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 +.ad l +.nh \fBgetrlimit\fP(2), \fBsched_get_priority_min\fP(2), \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_create\fP(3), \fBpthread_self\fP(3), \fBpthread_setschedprio\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_setschedprio.3 b/draft/man3/pthread_setschedprio.3 index 64268062..ddbde05e 100644 --- a/draft/man3/pthread_setschedprio.3 +++ b/draft/man3/pthread_setschedprio.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -76,12 +78,14 @@ POSIX.1\-2001. 変更した場合の影響、および各スケジューリングポリシーで認められる優先度 の範囲の詳細については、 \fBsched_setscheduler\fP(2) を参照。 .SH 関連項目 +.ad l +.nh \fBgetrlimit\fP(2), \fBsched_get_priority_min\fP(2), \fBsched_setscheduler\fP(2), \fBpthread_attr_init\fP(3), \fBpthread_attr_setinheritsched\fP(3), \fBpthread_attr_setschedparam\fP(3), \fBpthread_attr_setschedpolicy\fP(3), \fBpthread_create\fP(3), \fBpthread_self\fP(3), \fBpthread_setschedparam\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_sigmask.3 b/draft/man3/pthread_sigmask.3 index c4a15fdb..a8659e0c 100644 --- a/draft/man3/pthread_sigmask.3 +++ b/draft/man3/pthread_sigmask.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PTHREAD_SIGMASK 3 2011\-10\-16 Linux "Linux Programmer's Manual" +.TH PTHREAD_SIGMASK 3 2012\-08\-03 Linux "Linux Programmer's Manual" .SH 名前 pthread_sigmask \- 禁止するシグナルマスクの確認と変更を行う .SH 書式 @@ -89,7 +91,7 @@ $\fB kill \-TERM %1\fP static void * sig_thread(void *arg) { - sigset_t *set = (sigset_t *) arg; + sigset_t *set = arg; int s, sig; for (;;) { @@ -128,9 +130,9 @@ main(int argc, char *argv[]) } .fi .SH 関連項目 -\fBsigaction\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2) \fBpthread_create\fP(3), +\fBsigaction\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2), \fBpthread_create\fP(3), \fBpthread_kill\fP(3), \fBsigsetops\fP(3), \fBpthreads\fP(7), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_sigqueue.3 b/draft/man3/pthread_sigqueue.3 index ec6496d4..021703d1 100644 --- a/draft/man3/pthread_sigqueue.3 +++ b/draft/man3/pthread_sigqueue.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2010 Michael Kerrisk, .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,13 +20,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PTHREAD_SIGQUEUE 3 2011\-09\-23 Linux "Linux Programmer's Manual" +.TH PTHREAD_SIGQUEUE 3 2012\-08\-19 Linux "Linux Programmer's Manual" .SH 名前 pthread_sigqueue \- スレッドに対するシグナルとデータをキューに入れる .SH 書式 @@ -45,10 +47,10 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 \fBpthread_sigqueue\fP(): _GNU_SOURCE .SH 説明 \fBpthread_sigqueue\fP() 関数は \fBsigqueue\fP(3) と同様の処理を実行するが、 -別のプロセスにシグナルを送信するのではなく、呼び出したスレッドと -同じプロセス内の他のスレッドにシグナルを送信する。 +プロセスにシグナルを送信するのではなく、呼び出したスレッドと +同じプロセス内のスレッドにシグナルを送信する。 -\fIthread\fP 引き数は、呼び出し側と同じプロセスの別のスレッドの ID である。 +\fIthread\fP 引き数は、呼び出し側と同じプロセスのスレッドの ID である。 \fIsig\fP 引き数は送信するシグナルを指定する。 \fIvalue\fP 引き数はシグナルと一緒に渡すデータを指定する。 詳細は \fBsigqueue\fP(3) を参照。 @@ -77,6 +79,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 \fBrt_tgsigqueueinfo\fP(2), \fBsigaction\fP(2), \fBpthread_sigmask\fP(3), \fBsigqueue\fP(3), \fBsigwait\fP(3), \fBpthreads\fP(7), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_testcancel.3 b/draft/man3/pthread_testcancel.3 index 96ea7d2d..88dc5f48 100644 --- a/draft/man3/pthread_testcancel.3 +++ b/draft/man3/pthread_testcancel.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -44,7 +46,7 @@ pthread_testcancel \- 処理待ちの取り消し要求の配送を要求する いるスレッドが取り消し要求に対応することができるようになる。 (\fBpthread_setcancelstate\fP(3) を使って) キャンセルが無効になっている -場合や処理待ちの取り消し要求がない場合は、\fBpthread_testcancel\fP(3) を +場合や処理待ちの取り消し要求がない場合は、\fBpthread_testcancel\fP() を 呼び出しても何の影響もない。 .SH 返り値 この関数は値を返さない。この関数の呼び出しの結果、呼び出したスレッドが @@ -61,6 +63,6 @@ POSIX.1\-2001. \fBpthread_cancel\fP(3), \fBpthread_cleanup_push\fP(3), \fBpthread_setcancelstate\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_tryjoin_np.3 b/draft/man3/pthread_tryjoin_np.3 index d6896707..78c73eb4 100644 --- a/draft/man3/pthread_tryjoin_np.3 +++ b/draft/man3/pthread_tryjoin_np.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -110,6 +112,6 @@ struct timespec { .SH 関連項目 \fBclock_gettime\fP(2), \fBpthread_exit\fP(3), \fBpthread_join\fP(3), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/pthread_yield.3 b/draft/man3/pthread_yield.3 index 28b09655..c69350e2 100644 --- a/draft/man3/pthread_yield.3 +++ b/draft/man3/pthread_yield.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2009 Michael Kerrisk, .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,17 +20,19 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PTHREAD_YIELD 3 2009\-04\-10 Linux "Linux Programmer's Manual" +.TH PTHREAD_YIELD 3 2013\-03\-05 Linux "Linux Programmer's Manual" .SH 名前 pthread_yield \- プロセッサを明け渡す (yield) .SH 書式 .nf +\fB#define _GNU_SOURCE\fP /* See feature_test_macros(7) */ \fB#include \fP \fBint pthread_yield(void);\fP @@ -55,8 +58,8 @@ Linux では、この関数の呼び出しは常に成功する .SH 注意 Linux では、この関数は \fBsched_yield\fP(2) を呼び出す形で実装されている。 .SH 関連項目 -\fBsched_setscheduler\fP(2), \fBsched_yield\fP(2) \fBpthreads\fP(7) +\fBsched_setscheduler\fP(2), \fBsched_yield\fP(2), \fBpthreads\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ptsname.3 b/draft/man3/ptsname.3 index b7efc35c..4165a335 100644 --- a/draft/man3/ptsname.3 +++ b/draft/man3/ptsname.3 @@ -1,5 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain. - aeb +.\" %%%LICENSE_END .\" .\" 2004-12-17, mtk, added description of ptsname_r() + ERRORS .\" @@ -61,6 +62,6 @@ NULL で終端された文字列の形で \fIbuf\fP で指定されたバッフ \fBgrantpt\fP(3), \fBposix_openpt\fP(3), \fBttyname\fP(3), \fBunlockpt\fP(3), \fBpts\fP(4), \fBpty\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/putenv.3 b/draft/man3/putenv.3 index c5e62ff5..6d788c31 100644 --- a/draft/man3/putenv.3 +++ b/draft/man3/putenv.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -86,6 +88,6 @@ SUSv2 ではプロトタイプから \fIconst\fP が取り除かれており、 .SH 関連項目 \fBclearenv\fP(3), \fBgetenv\fP(3), \fBsetenv\fP(3), \fBunsetenv\fP(3), \fBenviron\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/putgrent.3 b/draft/man3/putgrent.3 index 8ca4b276..81db8b6b 100644 --- a/draft/man3/putgrent.3 +++ b/draft/man3/putgrent.3 @@ -1,5 +1,8 @@ .\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -38,6 +41,6 @@ struct group { .SH 関連項目 \fBfgetgrent\fP(3), \fBgetgrent\fP(3), \fBgroup\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/putpwent.3 b/draft/man3/putpwent.3 index 7c138290..27471a2c 100644 --- a/draft/man3/putpwent.3 +++ b/draft/man3/putpwent.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -77,6 +79,6 @@ SVr4. \fBendpwent\fP(3), \fBfgetpwent\fP(3), \fBgetpw\fP(3), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBgetpwuid\fP(3), \fBsetpwent\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/puts.3 b/draft/man3/puts.3 index e2319520..dbfd5d90 100644 --- a/draft/man3/puts.3 +++ b/draft/man3/puts.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 18:42:59 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* .\" @@ -75,6 +77,6 @@ C89, C99. \fBfseek\fP(3), \fBfwrite\fP(3), \fBgets\fP(3), \fBputwchar\fP(3), \fBscanf\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/putwchar.3 b/draft/man3/putwchar.3 index 8bfcf30d..42ff4898 100644 --- a/draft/man3/putwchar.3 +++ b/draft/man3/putwchar.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ C99. .SH 関連項目 \fBfputwc\fP(3), \fBunlocked_stdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/qecvt.3 b/draft/man3/qecvt.3 index 9f8dc5b0..9f858703 100644 --- a/draft/man3/qecvt.3 +++ b/draft/man3/qecvt.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" This replaces an earlier man page written by Walter Harms .\" . @@ -60,6 +62,6 @@ SVr4. 多くの一般的な UNIX には実装されていないが、SunOS に .SH 関連項目 \fBecvt\fP(3), \fBecvt_r\fP(3), \fBgcvt\fP(3), \fBsprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/qsort.3 b/draft/man3/qsort.3 index 020cee0b..78ac7173 100644 --- a/draft/man3/qsort.3 +++ b/draft/man3/qsort.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -123,6 +125,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBsort\fP(1), \fBalphasort\fP(3), \fBstrcmp\fP(3), \fBversionsort\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/queue.3 b/draft/man3/queue.3 deleted file mode 100644 index 24f2f54d..00000000 --- a/draft/man3/queue.3 +++ /dev/null @@ -1,349 +0,0 @@ -.\" Copyright (c) 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)queue.3 8.2 (Berkeley) 1/24/94 -.\" -.\" hch, 2002-03-25 -.\" 2007-12-08, mtk, Converted from mdoc to man macros -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH QUEUE 3 2007\-12\-28 Linux "Linux Programmer's Manual" -.SH 名前 -LIST_ENTRY, LIST_HEAD, LIST_INIT, LIST_INSERT_AFTER, LIST_INSERT_HEAD, -LIST_REMOVE, TAILQ_ENTRY, TAILQ_HEAD, TAILQ_INIT, TAILQ_INSERT_AFTER, -TAILQ_INSERT_HEAD, TAILQ_INSERT_TAIL, TAILQ_REMOVE, CIRCLEQ_ENTRY, -CIRCLEQ_HEAD, CIRCLEQ_INIT, CIRCLEQ_INSERT_AFTER, CIRCLEQ_INSERT_BEFORE, -CIRCLEQ_INSERT_HEAD, CIRCLEQ_INSERT_TAIL, CIRCLEQ_REMOVE \- リスト・テール (tail) -キュー・循環キューの実装 -.SH 書式 -.nf -\fB#include \fP - -\fBLIST_ENTRY(\fP\fITYPE\fP\fB);\fP -\fBLIST_HEAD(\fP\fIHEADNAME\fP\fB, \fP\fITYPE\fP\fB);\fP -\fBLIST_INIT(LIST_HEAD *\fP\fIhead\fP\fB);\fP -\fBLIST_INSERT_AFTER(LIST_ENTRY *\fP\fIlistelm\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, LIST_ENTRY \fP\fINAME\fP\fB);\fP -\fBLIST_INSERT_HEAD(LIST_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, LIST_ENTRY \fP\fINAME\fP\fB);\fP -\fBLIST_REMOVE(TYPE *\fP\fIelm\fP\fB, LIST_ENTRY \fP\fINAME\fP\fB);\fP - -\fBTAILQ_ENTRY(\fP\fITYPE\fP\fB);\fP -\fBTAILQ_HEAD(\fP\fIHEADNAME\fP\fB, \fP\fITYPE\fP\fB);\fP -\fBTAILQ_INIT(TAILQ_HEAD *\fP\fIhead\fP\fB);\fP -\fBTAILQ_INSERT_AFTER(TAILQ_HEAD *\fP\fIhead\fP\fB, TYPE *\fP\fIlistelm\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, TAILQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBTAILQ_INSERT_HEAD(TAILQ_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, TAILQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBTAILQ_INSERT_TAIL(TAILQ_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, TAILQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBTAILQ_REMOVE(TAILQ_HEAD *\fP\fIhead\fP\fB, TYPE *\fP\fIelm\fP\fB, TAILQ_ENTRY \fP\fINAME\fP\fB);\fP - -\fBCIRCLEQ_ENTRY(\fP\fITYPE\fP\fB);\fP -\fBCIRCLEQ_HEAD(\fP\fIHEADNAME\fP\fB, \fP\fITYPE\fP\fB);\fP -\fBCIRCLEQ_INIT(CIRCLEQ_HEAD *\fP\fIhead\fP\fB);\fP -\fBCIRCLEQ_INSERT_AFTER(CIRCLEQ_HEAD *\fP\fIhead\fP\fB, TYPE *\fP\fIlistelm\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, CIRCLEQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBCIRCLEQ_INSERT_BEFORE(CIRCLEQ_HEAD *\fP\fIhead\fP\fB, TYPE *\fP\fIlistelm\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, CIRCLEQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBCIRCLEQ_INSERT_HEAD(CIRCLEQ_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, CIRCLEQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBCIRCLEQ_INSERT_TAIL(CIRCLEQ_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, CIRCLEQ_ENTRY \fP\fINAME\fP\fB);\fP -\fBCIRCLEQ_REMOVE(CIRCLEQ_HEAD *\fP\fIhead\fP\fB, \fP -\fB TYPE *\fP\fIelm\fP\fB, CIRCLEQ_ENTRY \fP\fINAME\fP\fB);\fP -.fi -.SH 説明 -これらのマクロは、次の 3 つのデータ構造を定義して操作する: リスト・テールキュー・循環キュー。 3 -つのデータ構造すべてにおいて以下の機能がサポートされている: -.sp -.RS 4 -.PD 0 -.IP * 4 -新たなエントリをリストの先頭に挿入する。 -.IP * -新たなエントリをリストのどの要素よりも後に挿入する。 -.IP * -リストの任意のエントリを削除する。 -.IP * -リストを順方向に辿る。 -.PD -.RE -.PP -リストは 3 つのデータ構造の中で最も単純であり、 上記の機能のみをサポートする。 - -テールキューは以下の機能を追加する: -.RS 4 -.IP * 4 -エントリをリストの最後に追加できる。 -.RE -.PP -ただし: -.sp -.RS 4 -.PD 0 -.IP 1. 4 -全てのリスト挿入と削除において、リストの先頭を指定しなければならない。 -.IP 2. -各先頭エントリは 1 つではなく 2 つのポインタを必要とする。 -.IP 3. -リストと比べて、コードサイズは 15% 大きくなり、操作は 20% 遅くなる。 -.PD -.RE -.PP -循環キューは以下の機能を追加する: -.sp -.RS 4 -.PD 0 -.IP * 4 -エントリをリストの最後に追加できる。 -.IP * -エントリを他のエントリの前に追加できる。 -.IP * -逆方向に末尾から先頭へ辿ることができる。 -.PD -.RE -.PP -ただし: -.sp -.RS 4 -.PD 0 -.IP 1. 4 -全てのリスト挿入と削除において、リストの先頭を指定しなければならない。 -.IP 2. -各先頭エントリは 1 つではなく 2 つのポインタを必要とする。 -.IP 3. -辿る際の終了条件がより複雑である。 -.IP 4. -リストと比べて、コードサイズは 40% 大きくなり、操作は 45% 遅くなる。 -.PD -.RE -.PP -マクロ定義において \fITYPE\fP はユーザ定義構造体の名前であり、 \fBLIST_ENTRY\fP, \fBTAILQ_ENTRY\fP, -\fBCIRCLEQ_ENTRY\fP の何れか型のフィールドと 指定された \fINAME\fP を含まなければならない。 引き数 \fIHEADNAME\fP -はユーザ定義構造体の名前であり、 マクロ \fBLIST_HEAD\fP, \fBTAILQ_HEAD\fP, \fBCIRCLEQ_HEAD\fP -を用いて宣言されなければならない。 これらのマクロがどのように使われるかについての更なる説明は、 以下の例を参照すること。 -.SS リスト -リストの先頭には、 \fBLIST_HEAD\fP マクロで定義される構造体が置かれる。 この構造体はリストの最初の要素へのポインタを 1 つ含む。 要素は -2 重にリンクされており、 任意の要素はリストを辿らずに削除できる。 新しい要素は既存の要素の後またはリストの先頭に追加できる。 -\fBLIST_HEAD\fP 構造体は以下のように宣言されている: -.in +4n -.nf - -LIST_HEAD(HEADNAME, TYPE) head; -.fi -.in -.PP -ここで \fIHEADNAME\fP は定義される構造体の名前であり、 \fITYPE\fP はリンク内でリンクされる要素の型である。 -リストの先頭へのポインタは、その後で次のように宣言される: -.in +4n -.nf - -struct HEADNAME *headp; -.fi -.in -.PP -(名前 \fIhead\fP と \fIheadp\fP はユーザが選択できる。) -.PP -マクロ \fBLIST_ENTRY\fP はリストの要素を接続する構造体を宣言する。 -.PP -マクロ \fBLIST_INIT\fP は \fIhead\fP で参照されるリストを初期化する。 -.PP -マクロ \fBLIST_INSERT_HEAD\fP は新たな要素 \fIelm\fP をリストの先頭に挿入する。 -.PP -マクロ \fBLIST_INSERT_AFTER\fP は新たな要素 \fIelm\fP を要素 \fIlistelm\fP の後に挿入する。 -.PP -マクロ \fBLIST_REMOVE\fP は要素 \fIelm\fP をリストから削除する。 -.SS リストの例 -.nf -LIST_HEAD(listhead, entry) head; -struct listhead *headp; /* リストの先頭。*/ -struct entry { - ... - LIST_ENTRY(entry) entries; /* リスト。 */ - ... -} *n1, *n2, *np; - -LIST_INIT(&head); /* リストを初期化する。*/ - -n1 = malloc(sizeof(struct entry)); /* 先頭に挿入する。*/ -LIST_INSERT_HEAD(&head, n1, entries); - -n2 = malloc(sizeof(struct entry)); /* 後ろに挿入する。*/ -LIST_INSERT_AFTER(n1, n2, entries); - /* 順方向に辿る。*/ -for (np = head.lh_first; np != NULL; np = np\->entries.le_next) - np\-> ... - -.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=1506 -while (head.lh_first != NULL) /* 削除する。*/ - LIST_REMOVE(head.lh_first, entries); -.fi -.SS テールキュー -テールキューの先頭には \fBTAILQ_HEAD\fP マクロで定義される構造体が置かれる。 この構造体は 1 組のポインタを含んでいる。 1 -つはテールキューの最初の要素へのポインタであり、 もう 1 つはテールキューの最後の要素へのポインタである。 要素は 2 重にリンクされており、 -任意の要素はテールキューを辿らずに削除できる。 新しい要素は既存の要素の後またはテールキューの先頭または末尾に追加できる。 \fBTAILQ_HEAD\fP -構造体は以下のように定義されている: -.in +4n -.nf - -TAILQ_HEAD(HEADNAME, TYPE) head; -.fi -.in -.PP -ここで \fIHEADNAME\fP は定義される構造体の名前であり、 \fITYPE\fP はテールキュー内でリンクされる要素の型である。 -テールキューの先頭へのポインタは、その後で次のように宣言される: -.in +4n -.nf - -struct HEADNAME *headp; -.fi -.in -.PP -(名前 \fIhead\fP と \fIheadp\fP はユーザが選択できる。) -.PP -マクロ \fBTAILQ_ENTRY\fP はテールキューの要素を接続する構造体を宣言する。 -.PP -マクロ \fBTAILQ_INIT\fP は \fIhead\fP で参照されるテールキューを初期化する。 -.PP -マクロ \fBTAILQ_INSERT_HEAD\fP は新たな要素 \fIelm\fP をテールキューの先頭に挿入する。 -.PP -マクロ \fBTAILQ_INSERT_TAIL\fP は新たな要素 \fIelm\fP をテールキューの末尾に挿入する。 -.PP -マクロ \fBTAILQ_INSERT_AFTER\fP は新たな要素 \fIelm\fP を要素 \fIlistelm\fP の後に挿入する。 -.PP -マクロ \fBTAILQ_REMOVE\fP は要素 \fIelm\fP をテールキューから削除する。 -.SS テールキューの例 -.nf -TAILQ_HEAD(tailhead, entry) head; -struct tailhead *headp; /* テールキューの先頭。*/ -struct entry { - ... - TAILQ_ENTRY(entry) entries; /* テールキュー。*/ - ... -} *n1, *n2, *np; - -TAILQ_INIT(&head); /* キューを初期化する。*/ - -n1 = malloc(sizeof(struct entry)); /* 先頭に挿入する。*/ -TAILQ_INSERT_HEAD(&head, n1, entries); - -n1 = malloc(sizeof(struct entry)); /* 末尾に挿入する。*/ -TAILQ_INSERT_TAIL(&head, n1, entries); - -n2 = malloc(sizeof(struct entry)); /* 後ろに挿入する。*/ -TAILQ_INSERT_AFTER(&head, n1, n2, entries); - /* 順方向に辿る。*/ -for (np = head.tqh_first; np != NULL; np = np\->entries.tqe_next) - np\-> ... - /* 削除する。*/ -while (head.tqh_first != NULL) - TAILQ_REMOVE(&head, head.tqh_first, entries); -.fi -.SS 循環キュー -循環キューの先頭には \fBCIRCLEQ_HEAD\fP マクロで定義される構造体が置かれる。 この構造体は 1 組のポインタを含んでいる。 1 -つは循環キューの最初の要素へのポインタであり、 もう 1 つは循環キューの最後の要素へのポインタである。 要素は 2 重にリンクされており、 -任意の要素はキューを辿らずに削除できる。 新しい要素は、既存の要素の後または前、またはキューの先頭または末尾に追加できる。 A -\fBCIRCLEQ_HEAD\fP 構造体は以下のように定義されている: -.in +4n -.nf - -CIRCLEQ_HEAD(HEADNAME, TYPE) head; -.fi -.in -.PP -ここで \fIHEADNAME\fP は定義される構造体の名前であり、 \fITYPE\fP は循環キュー内でリンクされる要素の型である。 -循環キューの先頭へのポインタは、その後で次のように宣言される: -.in +4n -.nf - -struct HEADNAME *headp; -.fi -.in -.PP -(名前 \fIhead\fP と \fIheadp\fP はユーザが選択できる。) -.PP -マクロ \fBCIRCLEQ_ENTRY\fP は循環キューの要素を接続する構造体を宣言する。 -.PP -マクロ \fBCIRCLEQ_INIT\fP は \fIhead\fP で参照される循環キューを初期化する。 -.PP -マクロ \fBCIRCLEQ_INSERT_HEAD\fP は新たな要素 \fIelm\fP を循環キューの先頭に挿入する。 -.PP -マクロ \fBCIRCLEQ_INSERT_TAIL\fP は新たな要素 \fIelm\fP を循環キューの末尾に挿入する。 -.PP -マクロ \fBCIRCLEQ_INSERT_AFTER\fP は新たな要素 \fIelm\fP を要素 \fIlistelm\fP の後に挿入する。 -.PP -マクロ \fBCIRCLEQ_INSERT_AFTER\fP は新たな要素 \fIelm\fP を要素 \fIlistelm\fP の前に挿入する。 -.PP -マクロ \fBCIRCLEQ_REMOVE\fP は要素 \fIelm\fP を循環キューから削除する。 -.SS 循環キューの例 -.nf -CIRCLEQ_HEAD(circleq, entry) head; -struct circleq *headp; /* 循環キューの先頭。*/ -struct entry { - ... - CIRCLEQ_ENTRY(entry) entries; /* 循環キュー。*/ - ... -} *n1, *n2, *np; - -CIRCLEQ_INIT(&head); /* 循環キューを初期化する。*/ - -n1 = malloc(sizeof(struct entry)); /* 先頭に挿入する。*/ -CIRCLEQ_INSERT_HEAD(&head, n1, entries); - -n1 = malloc(sizeof(struct entry)); /* 末尾に挿入する。*/ -CIRCLEQ_INSERT_TAIL(&head, n1, entries); - -n2 = malloc(sizeof(struct entry)); /* 後ろに挿入する。*/ -CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries); - -n2 = malloc(sizeof(struct entry)); /* 前に挿入する。*/ -CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries); - /* 順方向に辿る。*/ -for (np = head.cqh_first; np != (void *)&head; np = np\->entries.cqe_next) - np\-> ... - /* 逆方向に辿る。*/ -for (np = head.cqh_last; np != (void *)&head; np = np\->entries.cqe_prev) - np\-> ... - /* 削除する。*/ -while (head.cqh_first != (void *)&head) - CIRCLEQ_REMOVE(&head, head.cqh_first, entries); -.fi -.SH 準拠 -POSIX.1\-2001 にはない。 BSD 系に存在する。 queue 関数は 4.4BSD で初めて登場した。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/raise.3 b/draft/man3/raise.3 index 4896510f..abe984e5 100644 --- a/draft/man3/raise.3 +++ b/draft/man3/raise.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" and Copyright (C) 2008 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +21,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 18:40:56 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 1995 by Mike Battersby (mib@deakin.edu.au) .\" @@ -70,6 +72,6 @@ glibc バージョン 2.3.3 以降では、カーネルが \fBtgkill\fP(2) シ \fBgetpid\fP(2), \fBkill\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBpthread_kill\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rand.3 b/draft/man3/rand.3 index 19576146..6363014b 100644 --- a/draft/man3/rand.3 +++ b/draft/man3/rand.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -154,6 +156,6 @@ main(int argc, char *argv[]) .SH 関連項目 \fBdrand48\fP(3), \fBrandom\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/random.3 b/draft/man3/random.3 index 96dee363..a89acdf0 100644 --- a/draft/man3/random.3 +++ b/draft/man3/random.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -103,6 +105,6 @@ Publishing Company, 1981 の第 3 ç«  (乱数) を見よ。ここでは、 た .SH 関連項目 \fBdrand48\fP(3), \fBrand\fP(3), \fBrandom_r\fP(3), \fBsrand\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/random_r.3 b/draft/man3/random_r.3 index 6c391a63..6df881c5 100644 --- a/draft/man3/random_r.3 +++ b/draft/man3/random_r.3 @@ -1,5 +1,6 @@ .\" Copyright 2008 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" .\"******************************************************************* @@ -88,6 +90,6 @@ _SVID_SOURCE || _BSD_SOURCE .SH 関連項目 \fBdrand48\fP(3), \fBrand\fP(3), \fBrandom\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rcmd.3 b/draft/man3/rcmd.3 index 5a6a32bf..4e6022ed 100644 --- a/draft/man3/rcmd.3 +++ b/draft/man3/rcmd.3 @@ -3,6 +3,7 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -30,6 +31,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)rcmd.3 8.1 (Berkeley) 6/4/93 .\" @@ -164,6 +166,6 @@ POSIX.1\-2001 にはない。 BSD 系、Solaris や他の多くのシステム \fBrlogin\fP(1), \fBrsh\fP(1), \fBintro\fP(2), \fBrexec\fP(3), \fBrexecd\fP(8), \fBrlogind\fP(8), \fBrshd\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/re_comp.3 b/draft/man3/re_comp.3 index 5ef07b45..4bfbef58 100644 --- a/draft/man3/re_comp.3 +++ b/draft/man3/re_comp.3 @@ -1,5 +1,6 @@ .\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Wed Jun 14 16:10:28 BST 1995 Wilf. (G.Wilford@@ee.surrey.ac.uk) .\" @@ -59,6 +61,6 @@ re_comp, re_exec \- BSD の正規表現関数 .SH 関連項目 \fBregcomp\fP(3), \fBregex\fP(7), GNU regex manual .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/readdir.3 b/draft/man3/readdir.3 deleted file mode 100644 index 0c622bf5..00000000 --- a/draft/man3/readdir.3 +++ /dev/null @@ -1,171 +0,0 @@ -.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 16:09:49 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl) -.\" Modified 22 July 1996 by Andries Brouwer (aeb@cwi.nl) -.\" 2007-07-30 Ulrich Drepper , mtk: -.\" Rework discussion of nonstandard structure fields. -.\" 2008-09-11, mtk, Document readdir_r(). -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH READDIR 3 2010\-09\-10 "" "Linux Programmer's Manual" -.SH 名前 -readdir, readdir_r \- ディレクトリを読み込む -.SH 書式 -.nf -\fB#include \fP -.sp -\fBstruct dirent *readdir(DIR *\fP\fIdirp\fP\fB);\fP -.sp -\fBint readdir_r(DIR *\fP\fIdirp\fP\fB, struct dirent *\fP\fIentry\fP\fB, struct dirent **\fP\fIresult\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.ad l -.in -.sp -\fBreaddir_r\fP(): -.RS 4 -_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE -|| _POSIX_SOURCE -.RE -.ad b -.SH 説明 -\fBreaddir\fP() 関数は、\fIdirp\fP が指すディレクトリストリームの中で、 次のディレクトリエントリを表す \fIdirent\fP -構造体へのポインタを返す。 ディレクトリストリームの末尾に達した場合や、 エラーが発生した場合は、 NULL を返す。 -.PP -Linux では \fIdirent\fP 構造体は以下のように定義されている。 -.PP -.in +4n -.nf -struct dirent { - ino_t d_ino; /* inode 番号 */ - off_t d_off; /* 次の dirent へのオフセット */ - unsigned short d_reclen; /* このレコードの長さ */ - unsigned char d_type; /* ファイル種別。全ファイルシステム */ - でサポートされているわけではない */ - char d_name[256]; /* ファイル名 */ -}; -.fi -.in -.PP -\fIdirent\fP 構造体のフィールドで POSIX.1 で要求されているのは、 \fId_name\fP[] と (XSI 拡張での) \fId_ino\fP -だけである。 \fId_name\fP[] はその大きさも規定されておらず、 このフィールドには最大で \fBNAME_MAX\fP 個の文字と、それに続く終端の -NULL バイトが格納される。 他のフィールドは非標準であり、全てのシステムに存在するわけではない。 詳細については、下記の「注意」を参照のこと。 -.PP -\fBreaddir\fP() によって返されるデータは、それ以降の同じストリームに対する \fBreaddir\fP() -の呼び出しによって上書きされる可能性がある。 - -\fBreaddir_r\fP() 関数は \fBreaddir\fP() のリエントラント版である。 この関数はディレクトリストリーム \fIdirp\fP -から次のディレクトリエントリを読み込み、 \fIentry\fP が指す呼び出し元が割り当てたバッファにそのエントリを格納して返す -(このバッファの割り当てについては「注意」の節を参照のこと)。 返されるエントリへのポインタが \fI*result\fP -に格納される。ディレクトリストリームの末尾に達した場合は、 NULL が \fI*result\fP に格納される。 -.SH 返り値 -成功すると、 \fBreaddir\fP() は \fIdirent\fP 構造体へのポインタを返す。 (この構造体は静的に割り当てられているかもしれない。 -このポインタを \fBfree\fP(3) しようとしないこと。) ディレクトリストリームの末尾に達した場合には、NULL が返され、 \fIerrno\fP -は変化しない。 エラーが発生した場合、NULL が返され、 \fIerrno\fP が適切に設定される。 - -成功すると、 \fBreaddir_r\fP() 関数は 0 を返す。 エラーの場合、(「エラー」の節のリストに載っている) 正のエラー番号を返す。 -ディレクトリストリームの末尾に達した場合、 \fBreaddir_r\fP() は返り値として 0 を返し、 \fI*result\fP に NULL -を格納する。 -.SH エラー -.TP -\fBEBADF\fP -ディレクトリストリームディスクリプタ \fIdirp\fP が無効である。 -.SH 準拠 -SVr4, 4.3BSD, POSIX.1\-2001. -.SH 注意 -フィールド \fId_name\fP と \fId_ino\fP だけが POSIX.1\-2001 で規定されている。 -残りのフィールドは多くのシステムに存在するが、全てのシステムに 存在するわけではない。 glibc では、プログラムが POSIX.1 -で定義されていないフィールドが 利用できるかをチェックすることができる。 チェックするには、マクロ \fB_DIRENT_HAVE_D_NAMLEN\fP, -\fB_DIRENT_HAVE_D_RECLEN\fP, \fB_DIRENT_HAVE_D_OFF\fP, \fB_DIRENT_HAVE_D_TYPE\fP -が定義されているかをテストすればよい。 - -\fId_type\fP フィールドは、Linux 以外では、 主に BSD 系のシステムにだけ存在する。 このフィールドを使うと、 -その後の動作がファイルの種別により決まる場合に、 \fBlstat\fP(2) を呼び出すコストを避けることができる。 機能検査マクロ -\fB_BSD_SOURCE\fP が定義された場合、glibc は \fId_type\fP で返される値として以下のマクロ定数を定義する。 -.TP 12 -\fBDT_BLK\fP -ブロックデバイスである。 -.TP -\fBDT_CHR\fP -キャラクタデバイスである。 -.TP -\fBDT_DIR\fP -ディレクトリである。 -.TP -\fBDT_FIFO\fP -名前付きパイプ (FIFO) である。 -.TP -\fBDT_LNK\fP -シンボリックリンクである。 -.TP -\fBDT_REG\fP -通常のファイルである。 -.TP -\fBDT_SOCK\fP -UNIX ドメインソケットである。 -.TP -\fBDT_UNKNOWN\fP -.\" The glibc manual says that on some systems this is the only -.\" value returned -ファイルタイプが不明である。 -.PP -ファイル種別を決定できなかった場合には、 \fId_type\fP に \fBDT_UNKNOWN\fP が入る。 - -.\" kernel 2.6.27 -.\" The same sentence is in getdents.2 -現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである -(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも、 \fBDT_UNKNOWN\fP -が返された際に適切に処理できなければならない。 - -POSIX.1 では \fId_name\fP フィールドのサイズは規定されておらず、 \fIdirent\fP 構造体の \fId_name\fP -の後ろに他の非標準のフィールドがあるかもしれないので、 移植性が必要なアプリケーションで \fBreaddir_r\fP() を使う場合は \fIentry\fP -に渡すバッファを次のようにして割り当てるべきである。 -.in +4n -.nf - -len = offsetof(struct dirent, d_name) + - pathconf(dirpath, _PC_NAME_MAX) + 1 -entryp = malloc(len); - -.fi -.in -(POSIX.1 では \fIstruct dirent\fP の最後のフィールドが \fId_name\fP であることを要求している。) -.SH 関連項目 -\fBgetdents\fP(2), \fBread\fP(2), \fBclosedir\fP(3), \fBdirfd\fP(3), \fBftw\fP(3), -\fBoffsetof\fP(3), \fBopendir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), -\fBseekdir\fP(3), \fBtelldir\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/realpath.3 b/draft/man3/realpath.3 deleted file mode 100644 index c54ff737..00000000 --- a/draft/man3/realpath.3 +++ /dev/null @@ -1,154 +0,0 @@ -.\" Copyright (C) 1999 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Rewritten old page, 990824, aeb@cwi.nl -.\" 2004-12-14, mtk, added discussion of resolved_path == NULL -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH REALPATH 3 2012\-05\-05 "" "Linux Programmer's Manual" -.SH 名前 -realpath \- 正規化された絶対パス名を返す -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -.sp -\fBchar *realpath(const char *\fP\fIpath\fP\fB, char *\fP\fIresolved_path\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBrealpath\fP(): -.ad l -.RS 4 -_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED -.RE -.ad -.SH 説明 -\fBrealpath\fP() は \fIpath\fP として与えられた NULL 終端された文字列中の すべてのシンボリックリンクを展開し、 \fI/./\fP, -\fI/../\fP による参照や余分な \(aq/\(aq を解決して、正規化された絶対パス名を生成する。 得られた絶対パス名は、最大で -\fBPATH_MAX\fP バイトの NULL 終端された文字列として、 \fIresolved_path\fP により参照されるバッファに格納される。 -結果として返るパスの中には、シンボリックリンクや \fI/./\fP, \fI/../\fP といった要素は含まれない。 - -.\" Even if we use resolved_path == NULL, then realpath() will still -.\" return ENAMETOOLONG if the resolved pathname would exceed PATH_MAX -.\" bytes -- MTK, Dec 04 -.\" .SH HISTORY -.\" The -.\" .BR realpath () -.\" function first appeared in 4.4BSD, contributed by Jan-Simon Pendry. -\fIresolved_path\fP に NULL が指定されると、 \fBrealpath\fP() は \fBmalloc\fP(3) -を使って解決したパス名を保持するためのバッファを 最大で \fBPATH_MAX\fP バイトまで割り当て、このバッファへのポインタを返す。 呼び出し元は、 -\fBfree\fP(3) を使ってこのバッファを解放すべきである。 -.SH 返り値 -エラーがなかった場合、 \fBrealpath\fP() は \fIresolved_path\fP へのポインターを返す。 - -それ以外の場合は、ヌル (NULL) ポインターが返り、配列 \fIresolved_path\fP の内容は不定となり、 \fIerrno\fP -にエラーの内容を示す値がセットされる。 -.SH エラー -.TP -\fBEACCES\fP -パスのディレクトリ部分に、読み出し許可または検索許可が与えられていない。 -.TP -\fBEINVAL\fP -.\" (In libc5 this would just cause a segfault.) -\fIpath\fP が NULL である。 (バージョン 2.3 より前の glibc では、 \fIresolved_path\fP が NULL -の場合にもこのエラーが返される。) -.TP -\fBEIO\fP -ファイルシステムを読むときに、I/Oエラーが起こった。 -.TP -\fBELOOP\fP -パス名の変換にあたり、解決すべきシンボリック・リンクの数が多過ぎた。 -.TP -\fBENAMETOOLONG\fP -パス名の一要素の文字数が \fBNAME_MAX\fP を越えている、またはパス名全体の文字数が \fBPATH_MAX\fP を越えている。 -.TP -\fBENOENT\fP -指定されたファイルが存在しない。 -.TP -\fBENOTDIR\fP -パスのディレクトリ要素が、ディレクトリでない。 -.SH バージョン -この関数が Linux に登場したのは libc 4.5.21 である。 -.SH 準拠 -4.4BSD, POSIX.1\-2001. - -POSIX.1\-2001 では \fIresolved_path\fP が NULL の場合の動作は実装に依存するとしている。 POSIX.1\-2008 -では、このマニュアルページに書かれている動作が規定されている。 -.SH 注意 -4.4BSD と Solaris では、パス名の長さの上限は (\fI\fP の中にある) -\fBMAXPATHLEN\fP である。SUSv2 では \fBPATH_MAX\fP と \fBNAME_MAX\fP が規定されており、 これらは -\fI\fP で定義されているか、 \fBpathconf\fP(3) -関数から得られる。以下のようなソースコードになっていることが多い。 -.LP -.in +4n -.nf -#ifdef PATH_MAX - path_max = PATH_MAX; -#else - path_max = pathconf(path, _PC_PATH_MAX); - if (path_max <= 0) - path_max = 4096; -#endif -.fi -.in -.LP -(バグの章も参照のこと。) -.LP -.\" 2012-05-05, According to Casper Dik, the statement about -.\" Solaris was not true at least as far back as 1997, and -.\" may never have been true. -.\" -.\" The 4.4BSD, Linux and SUSv2 versions always return an absolute -.\" pathname. -.\" Solaris may return a relative pathname when the -.\" .I path -.\" argument is relative. -\fBrealpath\fP() のプロトタイプ宣言は、 libc4 と libc5 では -\fI\fP にあるが、それ以外の環境ではいずれも -\fI\fP にある。 -.SH バグ -この関数の POSIX.1\-2001 版は、設計段階から問題がある。 出力バッファ \fIresolved_path\fP -の適切なサイズを決定することができないからである。 POSIX.1\-2001 ではバッファ・サイズとして \fBPATH_MAX\fP -は十分だとされているが、 \fBPATH_MAX\fP は定義済の定数である必要はなく、 \fBpathconf\fP(3) -を使って得られる値であってもよいことになっている。 \fBpathconf\fP(3) からバッファ・サイズを取得したとしても必ずしも十分ではない。 -なぜなら、POSIX で警告されているように、 \fBpathconf\fP(3) の返り値が大き過ぎて適切にメモリを確保することができない -かもしれない一方で、 \fBpathconf\fP(3) は \fBPATH_MAX\fP に制限がないことを示す \-1 を返すかもしれないからである。 -\fIresolved_path\ ==\ NULL\fP の機能を使うと、この設計上の問題を回避することができる。 この機能は POSIX.1\-2001 -では標準化されていないが、 POSIX.1\-2008 では標準化されている。 -.LP -libc4 と libc5 の実装はバッファ・オーバーフローの可能性を持っている (libc\-5.4.13 で修正されたが)。したがって、 -\fBmount\fP(8) のような set\-user\-ID されるプログラムでは、 この関数相当の関数を自前で持つ必要がある。 -.SH 関連項目 -\fBreadlink\fP(2), \fBcanonicalize_file_name\fP(3), \fBgetcwd\fP(3), \fBpathconf\fP(3), -\fBsysconf\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/recno.3 b/draft/man3/recno.3 index 4710e164..6c9caaaf 100644 --- a/draft/man3/recno.3 +++ b/draft/man3/recno.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)recno.3 8.5 (Berkeley) 8/18/94 .\" @@ -143,11 +145,11 @@ recno アクセスメソッドのファイルに関連づけられる メタデ バイトオーダーとしてはビッグエンディアンとリトルエンディアンのみが サポートされている。 .SH 関連項目 \fBbtree\fP(3), \fBdbopen\fP(3), \fBhash\fP(3), \fBmpool\fP(3) -.sp + \fIDocument Processing in a Relational Database System\fP, Michael Stonebraker, Heidi Stettner, Joseph Kalash, Antonin Guttman, Nadene Lynn, Memorandum No. UCB/ERL M82/32, May 1982. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/regex.3 b/draft/man3/regex.3 deleted file mode 100644 index af6753d0..00000000 --- a/draft/man3/regex.3 +++ /dev/null @@ -1,185 +0,0 @@ -.de xx -.in \\n(INu+\\$1 -.ti -\\$1 -.. -.\" Copyright (C), 1995, Graeme W. Wilford. (Wilf.) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Wed Jun 14 16:10:28 BST 1995 Wilf. (G.Wilford@ee.surrey.ac.uk) -.\" Tiny change in formatting - aeb, 950812 -.\" Modified 8 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk) -.\" -.\" show the synopsis section nicely -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH REGEX 3 2011\-09\-27 GNU "Linux Programmer's Manual" -.SH 名前 -regcomp, regexec, regerror, regfree \- POSIX regex 関数 -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP - -\fBint regcomp(regex_t *\fP\fIpreg\fP\fB, const char *\fP\fIregex\fP\fB, int \fP\fIcflags\fP\fB);\fP - -\fBint regexec(const regex_t *\fP\fIpreg\fP\fB, const char *\fP\fIstring\fP\fB, size_t \fP\fInmatch\fP\fB,\fP -\fB regmatch_t \fP\fIpmatch[]\fP\fB, int \fP\fIeflags\fP\fB);\fP - -\fBsize_t regerror(int \fP\fIerrcode\fP\fB, const regex_t *\fP\fIpreg\fP\fB, char *\fP\fIerrbuf\fP\fB,\fP -\fB size_t \fP\fIerrbuf_size\fP\fB);\fP - -\fBvoid regfree(regex_t *\fP\fIpreg\fP\fB);\fP -.fi -.SH 説明 -.SS "POSIX regex コンパイル" -\fBregcomp\fP() は、正規表現をコンパイルして、 \fBregexec\fP() での検索処理に適合する形態にする。 - -\fBregcomp\fP() はパターンを記憶するバッファへのポインタ \fIpreg\fP、 ヌル文字で終端された文字列 \fIregex\fP、 -そしてコンパイルの形式を決めるためのフラグ \fIcflag\fP を引数に伴う。 - -全ての正規表現検索は、コンパイルされたパターンによって行わなければならない。 よって、 \fBregexec\fP() に指定するのは、必ず -(\fBregcomp\fP() によってコンパイルされた) パターンバッファへのアドレスでなければならない。 - -\fIcflags\fP には以下に示す定数一つ以上のビットごとの OR (bitwise\-or) を指定する。 -.TP -\fBREG_EXTENDED\fP -\fIregex\fP に \fBPOSIX\fP 拡張正規表現を使用する。もしこのフラグが設定されない場合、 \fBPOSIX\fP 標準正規表現が使われる。 -.TP -\fBREG_ICASE\fP -大文字小文字の違いを無視する。このフラグを指定してコンパイルされた パターンバッファを用いて \fBregexec\fP() -関数を呼び出すと、大文字小文字の区別を付けずに検索が行われる。 -.TP -\fBREG_NOSUB\fP -このフラグを設定してコンパイルされたパターンバッファが \fBregexec\fP() の引数に指定されると、引き数 \fInmatch\fP, -\fIpmatch\fP が無視される。 -.TP -\fBREG_NEWLINE\fP -全ての文字にマッチするオペレータに改行をマッチさせない。 - -改行を含まない非マッチング文字リスト (\fB[^...]\fP) に改行をマッチさせない。 - -\fBregexec\fP() の実行時に指定するフラグ \fIeflags\fP に \fBREG_NOTBOL\fP -を含むかどうかにかかわらず、行頭にマッチするオペレータ (\fB^\fP) を改行直後の空文字列にマッチさせる。 - -\fIeflags\fP に \fBREG_NOTEOL\fP を含むかどうかにかかわらず、行末にマッチするオペレータ (\fB$\fP) -を改行直前の空文字列にマッチさせる。 -.SS "POSIX regex マッチング" -\fBregexec\fP() は、 プリコンパイルされたパターンバッファ \fIpreg\fP をヌル文字で終端された文字列にマッチさせる。 \fInmatch\fP -と \fIpmatch\fP はマッチングの位置に関する情報を取得するのに用いられる。 \fIeflags\fP には \fBREG_NOTBOL\fP と -\fBREG_NOTEOL\fP のどちらか、もしくは両方のビットごとの \fBOR\fP (bitwise\-\fBor\fP) -を指定し、以下で説明するようにマッチング動作を変化させる。 -.TP -\fBREG_NOTBOL\fP -行頭にマッチするオペレータは、必ずマッチに失敗する (コンパイル時のフラグ \fBREG_NEWLINE\fP の項目も参照)。 -このフラグは、複数行にまたがる文字列を \fBregexec\fP() で検索する際に、文字列の先頭を行の先頭として解釈させない場合に用いる。 -.TP -\fBREG_NOTEOL\fP -行末にマッチするオペレータは、必ずマッチに失敗する (コンパイル時のフラグ \fBREG_NEWLINE\fP の項目も参照)。 -.SS バイトオフセット -パターンバッファのコンパイル時に \fBREG_NOSUB\fP が設定されない場合は、部分文字列のマッチング位置情報を得ることができる。 \fIpmatch\fP -は、少なくとも \fInmatch\fP の大きさを持つように指定しなければならない。 \fBregexec\fP() -の実行によって、それらに部分文字列マッチング位置情報が代入される。 未使用の構造体要素には \-1 が値として代入される。 - -\fIpmatch\fP の型である \fIregmatch_t\fP 構造体は、 \fI\fP 内で定義される。 - -.in +4n -.nf -typedef struct { - regoff_t rm_so; - regoff_t rm_eo; -} regmatch_t; -.fi -.in - -構造体要素 \fIrm_so\fP の値が \-1 でない場合、それは文字列内での次の最大のマッチング部分の開始 オフセット位置を示す。それに対し、構造体要素 -\fIrm_eo\fP はマッチング部分の終了オフセット位置を示し、 マッチング部分の直後の文字のオフセット位置が使用される。 -.SS "POSIX エラーレポート" -\fBregerror\fP() は、 \fBregcomp\fP() と \fBregexec\fP() -の実行によって得られるエラーコードから、エラーメッセージ文字列を 得るのに用いられる。 - -\fBregerror\fP() はエラーコード \fIerrcode\fP、 パターンバッファ \fIpreg\fP、 文字列バッファへのポインタ -\fIerrbuf\fP、 文字列バッファのサイズ \fIerrbuf_size\fP を引数にとる。 -この関数は、ヌル文字で終端されたエラーメッセージ文字列を格納するのに必要な \fIerrbuf\fP のサイズを返す。もし \fIerrbuf\fP と -\fIerrbuf_size\fP の両方が非 0 値であれば、 \fIerrbuf\fP には最初の \fIerrbuf_size \- 1\fP -文字分にエラーメッセージと終端の NULL バイト (\(aq\e0\(aq) が収まるように代入される。 -.SS "POSIX パターンバッファ解放" -引数にコンパイルされたパターンバッファ \fIpreg\fP を与えて \fBregfree\fP() を呼び出すと、 \fBregcomp\fP() -によるコンパイル時にパターンバッファに割り当てられたメモリが解放される。 -.SH 返り値 -\fBregcomp\fP() は、コンパイルの成功時には 0 を返し、失敗時にはエラーコードを返す。 - -\fBregexec\fP() は、マッチングの成功時には 0 を返し、失敗時には \fBREG_NOMATCH\fP を返す。 -.SH エラー -\fBregcomp\fP() は以下のエラーを返す。 -.TP -\fBREG_BADBR\fP -無効な後方参照オペレータの使用。 -.TP -\fBREG_BADPAT\fP -グループやリストなどの、パターンオペレータの無効な使用。 -.TP -\fBREG_BADRPT\fP -\(aq*\(aq が最初の文字としてくるような、無効な繰り返しオペレータの使用。 -.TP -\fBREG_EBRACE\fP -インターバルオペレータ \fB{}\fP (brace interval operators) が閉じていない。 -.TP -\fBREG_EBRACK\fP -リストオペレータ \fB[]\fP (bracket list operators) が閉じていない。 -.TP -\fBREG_ECOLLATE\fP -照合順序の要素 (collating element) として有効ではない。 (訳注) 詳細は \fBregex\fP(7) を参照。 -.TP -\fBREG_ECTYPE\fP -未知のキャラクタクラス名。 -.TP -\fBREG_EEND\fP -未定義エラー。これは POSIX.2 には定義されていない。 -.TP -\fBREG_EESCAPE\fP -正規表現がバックスラッシュで終っている。 -.TP -\fBREG_EPAREN\fP -グループオペレータ \fB()\fP (parenthesis group operators) が閉じていない。 -.TP -\fBREG_ERANGE\fP -無効な範囲オペレータの使用。 例えば、範囲の終了位置が開始位置よりも前にあるような場合。 -.TP -\fBREG_ESIZE\fP -正規表現のコンパイルに、64Kb 以上のパターンバッファが必要。 これは POSIX.2 には定義されていない。 -.TP -\fBREG_ESPACE\fP -regex ルーチンがメモリを使いはたしている。 -.TP -\fBREG_ESUBREG\fP -サブエクスプレッション \e\fB(...\e\fP) (subexpression) への無効な後方参照。 -.SH 準拠 -POSIX.1\-2001. -.SH 関連項目 -\fBgrep\fP(1), \fBregex\fP(7), GNU regex マニュアル -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/remainder.3 b/draft/man3/remainder.3 index bcfb4080..be9589a5 100644 --- a/draft/man3/remainder.3 +++ b/draft/man3/remainder.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -140,6 +142,6 @@ _SVID_SOURCE || _BSD_SOURCE .SH 関連項目 \fBdiv\fP(3), \fBfmod\fP(3), \fBremquo\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/remove.3 b/draft/man3/remove.3 index 463260b5..433bc986 100644 --- a/draft/man3/remove.3 +++ b/draft/man3/remove.3 @@ -1,9 +1,12 @@ .\" This file is derived from unlink.2, which has the following copyright: .\" -.\" --snip-- .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Ian Jackson. .\" +.\" Edited into remove.3 shape by: +.\" Graeme W. Wilford (G.Wilford@ee.surrey.ac.uk) on 13th July 1994 +.\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -23,10 +26,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" --snip-- -.\" -.\" Edited into remove.3 shape by: -.\" Graeme W. Wilford (G.Wilford@ee.surrey.ac.uk) on 13th July 1994 +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -68,6 +68,6 @@ NFS プロトコルに内在する問題により、まだ使用中のファイ \fBrm\fP(1), \fBunlink\fP(1), \fBlink\fP(2), \fBmknod\fP(2), \fBopen\fP(2), \fBrename\fP(2), \fBrmdir\fP(2), \fBunlink\fP(2), \fBmkfifo\fP(3), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/remquo.3 b/draft/man3/remquo.3 index 022e7273..47f1243b 100644 --- a/draft/man3/remquo.3 +++ b/draft/man3/remquo.3 @@ -1,9 +1,14 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" based on glibc infopages .\" polished, aeb +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -81,6 +86,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBfmod\fP(3), \fBlogb\fP(3), \fBremainder\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/resolver.3 b/draft/man3/resolver.3 deleted file mode 100644 index 69d8df55..00000000 --- a/draft/man3/resolver.3 +++ /dev/null @@ -1,184 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified 1993-07-25 by Rik Faith (faith@cs.unc.edu) -.\" Modified 2004-10-31 by aeb -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RESOLVER 3 2012\-04\-23 GNU "Linux Programmer's Manual" -.SH 名前 -res_init, res_query, res_search, res_querydomain, res_mkquery, res_send, -dn_comp, dn_expand \- レゾルバ・ルーチン -.SH 書式 -.nf -\fB#include \fP -\fB#include \fP -\fB#include \fP -\fBextern struct state _res;\fP -.sp -\fBint res_init(void);\fP -.sp -\fBint res_query(const char *\fP\fIdname\fP\fB, int \fP\fIclass\fP\fB, int \fP\fItype\fP\fB,\fP -.RS -\fBunsigned char *\fP\fIanswer\fP\fB, int \fP\fIanslen\fP\fB);\fP -.RE -.sp -\fBint res_search(const char *\fP\fIdname\fP\fB, int \fP\fIclass\fP\fB, int \fP\fItype\fP\fB,\fP -.RS -\fBunsigned char *\fP\fIanswer\fP\fB, int \fP\fIanslen\fP\fB);\fP -.RE -.sp -\fBint res_querydomain(const char *\fP\fIname\fP\fB, const char *\fP\fIdomain\fP\fB,\fP -.RS -\fBint \fP\fIclass\fP\fB, int \fP\fItype\fP\fB, unsigned char *\fP\fIanswer\fP\fB,\fP -\fBint \fP\fIanslen\fP\fB);\fP -.RE -.sp -\fBint res_mkquery(int \fP\fIop\fP\fB, const char *\fP\fIdname\fP\fB, int \fP\fIclass\fP\fB,\fP -.RS -\fBint \fP\fItype\fP\fB, char *\fP\fIdata\fP\fB, int \fP\fIdatalen\fP\fB, struct rrec *\fP\fInewrr\fP\fB,\fP -\fBchar *\fP\fIbuf\fP\fB, int \fP\fIbuflen\fP\fB);\fP -.RE -.sp -\fBint res_send(const char *\fP\fImsg\fP\fB, int \fP\fImsglen\fP\fB, char *\fP\fIanswer\fP\fB,\fP -.RS -\fBint \fP\fIanslen\fP\fB);\fP -.RE -.sp -\fBint dn_comp(unsigned char *\fP\fIexp_dn\fP\fB, unsigned char *\fP\fIcomp_dn\fP\fB,\fP -.RS -\fBint \fP\fIlength\fP\fB, unsigned char **\fP\fIdnptrs\fP\fB, unsigned char **\fP\fIlastdnptr\fP\fB);\fP -.RE -.sp -\fBint dn_expand(unsigned char *\fP\fImsg\fP\fB, unsigned char *\fP\fIeomorig\fP\fB,\fP -.RS -\fBunsigned char *\fP\fIcomp_dn\fP\fB, char *\fP\fIexp_dn\fP\fB,\fP -\fBint \fP\fIlength\fP\fB);\fP -.RE -.fi -.sp -\fI\-lresolv\fP でリンクする。 -.SH 説明 -これらの関数はインターネットのドメインネームサーバーに問い合わせ、 その応答を解釈する。 -.PP -\fBres_init\fP() 関数は、デフォルトのドメイン名、検索順、ネームサーバー アドレスを得るために設定ファイル (resolv.conf(5) -参照) を読む。 もしサーバーが示されていなければローカルホストを試す。 ドメインが示されていなければローカルホストに付けられたドメインを用いる。 -環境変数 \fBLOCALDOMAIN\fP でオーバーライドできる。 \fBres_init\fP() は、後述する関数のどれかが最初に呼び出された時、その関数 -から実行される。 -.PP -\fBres_query\fP() 関数は、指定された \fItype\fP と \fIclass\fP の 完全修飾ドメイン名 (FQDN) \fIname\fP -を、ネームサーバーへ問い合わせる。 応答は、呼び出した側によって用意される長さ \fIanslen\fP の \fIanswer\fP バッファーに残される。 -.PP -\fBres_search\fP() 関数は、問い合わせを行い \fBres_query\fP() 同様その応答を 待つが、さらにデフォルトを実装しており -\fBRES_DEFNAMES\fP と \fBRES_DNSRCH\fP によって規定される検索ルールを適用する。 (下記 \fI_res\fP -オプションの説明を参照) -.PP -\fBres_querydomain\fP() 関数は \fIname\fP と \fIdomain\fP の結合に \fBres_query\fP() -を用いて問い合わせを行う。 -.PP -次の関数は、 \fBres_query\fP() で使われる下位ルーチンである。 -.PP -\fBres_mkquery\fP() 関数は、ドメイン名 \fIdname\fP の為に、長さ \fIbuflen\fP の \fIbuf\fP -に問い合わせるメッセージを作成する。 問い合わせの型 \fIop\fP は通常 \fBQUERY\fP だが、 -\fI\fP で定義された型のどれでも良い。 \fInewrr\fP は現在使用されていない。 -.PP -\fBres_send\fP() 関数は、長さ \fImsglen\fP の \fImsg\fP に決められた書式 で問い合わせ、\fIanswer\fP に長さ -\fIanslen\fP の回答を返す。 まだ呼び出されていなければ \fBres_init\fP() を呼び出す。 -.PP -\fBdn_comp\fP() 関数はドメイン名 \fIexp_dn\fP を圧縮して、長さ \fIlength\fP のバッファー \fIcomp_dn\fP に保存する。 -圧縮にはポインター配列 \fIdnptrs\fP を用いる。 これらのポインターは、現在のメッセージの中にある以前に圧縮された名前を指す。 -最初のポインターはメッセージの冒頭を指し、そのリストは NULL で終わる。 配列の範囲は \fIlastdnptr\fP で決められる。 \fIdnptr\fP -が NULL ならばドメイン名は圧縮されない。 \fIlastdnptr\fP が NULL ならば、そのラベルのリストはアップデートされない。 -.PP -\fBdn_expand\fP() 関数は、圧縮されたドメイン名 \fIcomp_dn\fP からサイズ が \fIlength\fP の \fIexp_dn\fP -バッファーに正式なドメイン名を展開する。 その圧縮された名前は、問い合わせ、または応答メッセージに含まれていて、 \fImsg\fP -がメッセージの冒頭を指す。 -.PP -レゾルバ・ルーチンは、\fI\fP に定義された \fI_res\fP 構造体に -含まれている全体的な設定と状態の情報を使用する。 通常ユーザーに操作できる項目は \fI_res.options\fP だけである。 -この項目は以下のオプションのビット単位の論理和にできる。 -.TP -\fBRES_INIT\fP -\fBres_init\fP() が呼び出されていれば真。 -.TP -\fBRES_DEBUG\fP -デバッグ・メッセージを出力する。 -.TP -\fBRES_AAONLY\fP -権威付けされた (authoritative) 回答のみ受け入れる。 \fBres_send\fP() -は、最終的に権威付けされた回答を得られるか、エラーが返される まで続行する。 [現在実装されていない] -.TP -\fBRES_USEVC\fP -問い合わせに UDP データグラムではなく TCP 接続を用いる。 -.TP -\fBRES_PRIMARY\fP -プライマリ・ドメインネームサーバーのみ問い合わせる。 -.TP -\fBRES_IGNTC\fP -切り詰めエラー (truncation error) を無視する。TCP でリトライしない。 [現在実装されていない] -.TP -\fBRES_RECURSE\fP -再帰要求 (recursion desired) ビットを問い合わせに設定する。 再帰は \fBres_send\fP() -ではなくドメインネームサーバーによって行われる。 [デフォルトで有効] -.TP -\fBRES_DEFNAMES\fP -設定されていれば、 \fBres_search\fP() はデフォルトのドメイン名を一部分 のみからなる名前、すなわちドットを含まない名前に付け加える。 -[デフォルトで有効] -.TP -\fBRES_STAYOPEN\fP -問い合わせ中に TCP 接続を保つため \fBRES_USEVC\fP と共に用いられる。 -.TP -\fBRES_DNSRCH\fP -設定されていれば、 \fBres_search\fP() は現在のドメインおよび親ドメインの ホスト名を探す。このオプションは -\fBgethostbyname\fP(3) で用いられる。 [デフォルトで有効] -.PP -このリストは完全なものではない。 -\fBresolv.conf\fP(5) には他にいくつかのフラグが記載されている。 -.SH 返り値 -\fBres_init\fP() 関数は成功すれば 0 を、エラーが発生すれば \-1 を返す。 -.PP -\fBres_query\fP(), \fBres_search\fP(), \fBres_querydomain\fP(), \fBres_mkquery\fP(), -\fBres_send\fP() 関数は応答の長さを返す。 また、エラーが発生すれば \-1 を返す。 -.PP -\fBdn_comp\fP() と \fBdn_expand\fP() 関数は圧縮されたドメイン名の長さを返す。 また、エラーが発生すれば \-1 を返す。 -.SH ファイル -.nf -/etc/resolv.conf レゾルバ設定ファイル -/etc/host.conf レゾルバ設定ファイル -.fi -.SH 準拠 -4.3BSD. -.SH 関連項目 -\fBgethostbyname\fP(3), \fBresolv.conf\fP(5), \fBresolver\fP(5), \fBhostname\fP(7), -\fBnamed\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rewinddir.3 b/draft/man3/rewinddir.3 index d3616989..d46d6652 100644 --- a/draft/man3/rewinddir.3 +++ b/draft/man3/rewinddir.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -52,6 +54,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rexec.3 b/draft/man3/rexec.3 index 94bf5fac..9e8ad87c 100644 --- a/draft/man3/rexec.3 +++ b/draft/man3/rexec.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)rexec.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD: src/lib/libcompat/4.3/rexec.3,v 1.12 2004/07/02 23:52:14 ru Exp $ @@ -97,6 +99,6 @@ rexec, rexec_af \- リモートコマンドへのストリームを返す .SH 関連項目 \fBrcmd\fP(3), \fBrexecd\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rint.3 b/draft/man3/rint.3 index 5b710888..20b27752 100644 --- a/draft/man3/rint.3 +++ b/draft/man3/rint.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -102,6 +104,6 @@ SUSv2 と POSIX.1\-2001 にはオーバーフローに関する記述があり .SH 関連項目 \fBceil\fP(3), \fBfloor\fP(3), \fBlrint\fP(3), \fBround\fP(3), \fBtrunc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/round.3 b/draft/man3/round.3 index a4c6b15e..1757ec9a 100644 --- a/draft/man3/round.3 +++ b/draft/man3/round.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -83,6 +85,6 @@ IEEE\-754 規格の 32 ビットと 64 ビットの浮動小数では、 指数 \fBceil\fP(3), \fBfloor\fP(3), \fBlround\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBtrunc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rpc.3 b/draft/man3/rpc.3 index a64b6716..98aa13db 100644 --- a/draft/man3/rpc.3 +++ b/draft/man3/rpc.3 @@ -1,5 +1,9 @@ .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) .\" +.\" %%%LICENSE_START(BSD_ONELINE_CDROM) +.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) +.\" %%%LICENSE_END +.\" .\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI .\" .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax @@ -30,7 +34,7 @@ rpc \- 遠隔手続き呼び出し(RPC)のためのライブラリ・ルーテ typedef int \fIbool_t\fP; -typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...); +typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *, ...); typedef bool_t (*\fIresultproc_t\fP) (caddr_t resp, struct sockaddr_in *raddr); @@ -664,7 +668,7 @@ RPC サービス通信ハンドルを破壊する前に、それを RPC 通信 .\" We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05 .\" .BR rpc_secure (3), \fBxdr\fP(3) -.br + 以下のマニュアル: .RS Remote Procedure Calls: Protocol Specification @@ -674,9 +678,10 @@ Remote Procedure Call Programming Guide rpcgen Programming Guide .br .RE + \fIRPC: Remote Procedure Call Protocol Specification\fP, RFC\ 1050, Sun Microsystems, Inc., USC\-ISI. .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rpmatch.3 b/draft/man3/rpmatch.3 index 8c97006d..ddb71bd8 100644 --- a/draft/man3/rpmatch.3 +++ b/draft/man3/rpmatch.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2006 Justin Pryzby .\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including @@ -18,6 +19,7 @@ .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" %%%LICENSE_END .\" .\" References: .\" glibc manual and source @@ -99,6 +101,6 @@ main(int argc, char *argv[]) \fBfgets\fP(3), \fBgetline\fP(3), \fBnl_langinfo\fP(3), \fBregcomp\fP(3), \fBsetlocale\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rtime.3 b/draft/man3/rtime.3 index 09a12f8a..0b9a2075 100644 --- a/draft/man3/rtime.3 +++ b/draft/man3/rtime.3 @@ -1,5 +1,9 @@ .\" Copyright 2003 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Modified 2003-04-04 Walter Harms .\" .\" @@ -10,7 +14,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH RTIME 3 2010\-02\-25 GNU "Linux Programmer's Manual" +.TH RTIME 3 2012\-08\-03 GNU "Linux Programmer's Manual" .SH 名前 rtime \- リモートマシンから時刻を取得する .SH 書式 @@ -81,16 +85,18 @@ main(void) struct hostent *hent; int ret; - memset((char *) &name, 0, sizeof(name)); + memset(&name, 0, sizeof(name)); sethostent(1); hent = gethostbyname(servername); - memcpy((char *) &name.sin_addr, hent\->h_addr, hent\->h_length); + memcpy(&name.sin_addr, hent\->h_addr, hent\->h_length); ret = rtime(&name, &time1, use_tcp ? NULL : &timeout); if (ret < 0) perror("rtime error"); - else - printf("%s\en", ctime((time_t *) &time1.tv_sec)); + else { + time_t t = time1.tv_sec; + printf("%s\en", ctime(&t)); + } exit(EXIT_SUCCESS); } @@ -100,6 +106,6 @@ main(void) .\" .BR rdate (1), \fBntpdate\fP(1), \fBinetd\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/rtnetlink.3 b/draft/man3/rtnetlink.3 index afecdc59..6e34740f 100644 --- a/draft/man3/rtnetlink.3 +++ b/draft/man3/rtnetlink.3 @@ -1,9 +1,14 @@ .\" This man page is Copyright (C) 1999 Andi Kleen . +.\" +.\" %%%LICENSE_START(VERBATIM_ONE_PARA) .\" Permission is granted to distribute possibly modified copies .\" of this page provided the header is included verbatim, .\" and in case of nontrivial modification author and date .\" of the modification is added to the header. +.\" %%%LICENSE_END +.\" .\" $Id: rtnetlink.3,v 1.2 1999/05/18 10:35:10 freitag Exp $ +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -97,6 +102,6 @@ NETLINK_ROUTE);\fP .SH 関連項目 \fBnetlink\fP(3), \fBnetlink\fP(7), \fBrtnetlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/scalb.3 b/draft/man3/scalb.3 index 37a1ed37..89bccc88 100644 --- a/draft/man3/scalb.3 +++ b/draft/man3/scalb.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -122,6 +124,6 @@ _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 .SH 関連項目 \fBldexp\fP(3), \fBscalbln\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/scalbln.3 b/draft/man3/scalbln.3 index 496dba12..1c744ed7 100644 --- a/draft/man3/scalbln.3 +++ b/draft/man3/scalbln.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -126,6 +128,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBldexp\fP(3), \fBscalb\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/scandir.3 b/draft/man3/scandir.3 index 79e67ae4..ce6a86e2 100644 --- a/draft/man3/scandir.3 +++ b/draft/man3/scandir.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -134,6 +136,6 @@ main(void) \fBrewinddir\fP(3), \fBscandirat\fP(3), \fBseekdir\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), \fBstrverscmp\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/scandirat.3 b/draft/man3/scandirat.3 index 184300a7..18561aec 100644 --- a/draft/man3/scandirat.3 +++ b/draft/man3/scandirat.3 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (c) 2012, Mark R. Bannister .\" based on text in mkfifoat.3 Copyright (c) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -83,6 +82,6 @@ scandirat \- ディレクトリのファイルディスクリプタからの相 .SH 関連項目 \fBopenat\fP(2), \fBscandir\fP(3), \fBpath_resolution\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/scanf.3 b/draft/man3/scanf.3 deleted file mode 100644 index edda301d..00000000 --- a/draft/man3/scanf.3 +++ /dev/null @@ -1,367 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Chris Torek and the American National Standards Committee X3, -.\" on Information Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)scanf.3 6.14 (Berkeley) 1/8/93 -.\" -.\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu -.\" modified to resemble the GNU libio setup used in the Linux libc -.\" used in versions 4.x (x>4) and 5 Helmut.Geyer@iwr.uni-heidelberg.de -.\" Modified, aeb, 970121 -.\" 2005-07-14, mtk, added description of %n$ form; various text -.\" incorporated from the GNU C library documentation ((C) The -.\" Free Software Foundation); other parts substantially rewritten. -.\" -.\" 2008-06-23, mtk -.\" Add ERRORS section. -.\" Document the 'a' and 'm' modifiers for dynamic string allocation. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SCANF 3 2011\-09\-28 GNU "Linux Programmer's Manual" -.SH 名前 -scanf, fscanf, sscanf, vscanf, vsscanf, vfscanf \- 書式付き入力変換 -.SH 書式 -.nf -\fB#include \fP - -\fBint scanf(const char *\fP\fIformat\fP\fB, ...);\fP -\fBint fscanf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP -\fBint sscanf(const char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP -.sp -\fB#include \fP - -\fBint vscanf(const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP -\fBint vsscanf(const char *\fP\fIstr\fP\fB, const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP -\fBint vfscanf(FILE *\fP\fIstream\fP\fB, const char *\fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.ad l -.sp -\fBvscanf\fP(), \fBvsscanf\fP(), \fBvfscanf\fP(): -.RS 4 -_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L; -.br -or \fIcc \-std=c99\fP -.ad -.RE -.SH 説明 -\fBscanf\fP() 関数グループは、以下に述べるように、 \fIformat\fP に従って入力を読み込むものである。 この書式には \fI「変換指定」 -(conversion specifications)\fP を含めることができ、変換指定があれば、その変換の結果は \fIformat\fP に続く -\fIpointer\fP 引き数が指す場所に格納される。 それぞれの \fIpointer\fP 引き数の型は、対応する変換指定が返す値に -適合していなければならない。 - -\fIformat\fP 中の変換指定の個数が \fIpointer\fP 引き数の数より多かった場合の結果は未定義である。 \fIpointer\fP -引き数の数が変換指定の個数よりも多かった場合、 余分な \fIpointer\fP 引き数の評価は行われるが、それ以外は行われず無視される。 - -\fBscanf\fP() 関数は標準入力ストリーム \fIstdin\fP からの入力を読み込む。 \fBfscanf\fP() はストリームポインタ -\fIstream\fP からの入力を読み込む。 \fBsscanf\fP() は文字列ポインタ \fIstr\fP で示された文字列からの入力を読み込む。 -.PP -\fBvfscanf\fP() 関数は \fBvfprintf\fP(3) と同様に、ストリームポインタ \fIstream\fP -からの入力をポインタの可変長引き数リストを用いて読み込む (\fBstdarg\fP(3) を参照)。 \fBvscanf\fP() -関数は、可変長引き数のリストに基づき標準入力からの読み取りを行う。 \fBvsscanf\fP() 関数はそのリストに基づき文字列から読み取る。 -これらの関係は \fBvprintf\fP(3) と \fBvsprintf\fP(3) 関数の関係と同様である。 -.PP -\fIformat\fP 文字列は \fI「命令」 (directive)\fP の列で構成される。命令は入力文字の系列をどのように処理するかを指示する -ものである。ある命令の処理が失敗すると、入力はそれ以上読み込まれず、 \fBscanf\fP() は返る。「失敗」は \fI「入力の失敗」 (input -failure)\fP と \fI「一致の失敗」 (matching failure)\fP のいずれかである。 -入力の失敗は入力文字が使用できなかったことを意味し、 一致の失敗は入力が不適切であったこと (下記参照) を意味する。 - -命令は以下のいずれかである: -.TP -\(bu -ホワイトスペース (スペース、タブ、改行など; \fBisspace\fP(3) 参照) の列。 -この命令は、入力中の任意の個数のホワイトスペースに一致する。 (「何もなし」にも一致する)。 -.TP -\(bu -通常文字 (つまり、ホワイトスペースと \(aq%\(aq 以外の文字)。 この文字は入力の次の文字に正確に一致しなければならない。 -.TP -\(bu -変換指定。変換指定は \(aq%\(aq (パーセント) 文字で始まる。 入力された文字の系列はこの指定にもとづいて変換され、 変換結果は対応する -\fIpointer\fP 引き数が指す場所に格納される。 入力の次の文字が変換指定と一致しない場合は、変換は失敗する \(emこれが \fI「一致の失敗」 -(matching failure)\fP である。 -.PP -\fIformat\fP 中の各々の \fI「変換指定」\fP は文字 \(aq%\(aq か文字系列 "\fB%\fP\fIn\fP\fB$\fP" (違いについては後述) -で始まり、以下の要素が続く。 -.TP -\(bu -代入抑制文字 \(aq*\(aq (省略可能)。 \fBscanf\fP() は変換指定に指示された通り入力を読み込むが、その入力は捨てられる。 対応する -\fIpointer\fP 引き数は必要なく、 \fBscanf\fP() が返す代入が成功した数にこの指定は含まれない。 -.TP -\(bu -文字 \(aqa\(aq (省略可能)。これは文字列変換とともに使用され、これを使うと -呼び出し元が入力を保持する対応するバッファを確保する必要がなくなる。 代わりに \fBscanf\fP() -が必要な大きさのバッファを確保し、このバッファのアドレスを 対応する \fIpointer\fP 引き数に代入する。 \fIpointer\fP 引き数は -\fIchar *\fP 型の変数へのポインタでなければならない (変数自体は呼び出し前に初期化されている必要はない)。 -呼び出し元は、不要になった時点で、このバッファを \fBfree\fP(3) すべきである。この機能は GNU による拡張である。 C99 は -\(aqa\(aq 文字を変換指定として使用している (こちらも GNU の実装と同じように使用することができる)。 -.TP -\(bu -\fI「最大フィールド幅」\fP を指定する 10進数 (省略可能)。 この最大値に達するか、一致しない文字が見つかるか、のどちらかに -なると、文字の読み込みを停止する。 ほとんどの変換では、先頭のホワイトスペース文字は捨てられ (例外については後述する)、 -捨てられたこれらの文字は最大フィールド幅の計算には含まれない。 文字列の入力変換では、入力の末尾を示す終端の NULL バイト -(\(aq\e0\(aq) も格納されるが、最大フィールド幅にはこの終端バイトは含まれない。 -.TP -\(bu -\fI「型修飾子」 (type modifier characters)\fP (省略可能)。 例えば、型修飾子 \fBl\fP を \fB%d\fP -などの整数変換と一緒に使うと、対応する \fIpointer\fP 引き数が \fIint\fP ではなく \fIlong int\fP を参照していることを指定できる。 -.TP -\(bu -\fI「変換指定」\fP : 実行すべき入力変換の種類を指定する。 -.PP -\fIformat\fP 中の変換指定は、\(aq%\(aq で始まるか、 "\fB%\fP\fIn\fP\fB$\fP" で始まるかの、いずれかの形式である。 これら -2つの形式を同じ \fIformat\fP 文字列に混ぜることはできない。但し、"\fB%\fP\fIn\fP\fB$\fP" を 含む文字列に \fB%%\fP と \fB%*\fP -を含めることはできる。 \fIformat\fP に \(aq%\(aq 指定が含まれている場合、各々の \(aq%\(aq 指定と 後続の -\fIpointer\fP 引き数はその順番通りに対応する。 "\fB%\fP\fIn\fP\fB$\fP" 形式 (POSIX.1\-2001 では規定されているが、C99 -にはない) では、 \fIn\fP は 10進数であり、変換後の入力を \fIformat\fP の後ろの \fIn\fP 番目の \fIpointer\fP -引き数が参照する場所に格納することを指定する。 -.SS 変換 -変換指定には、以下の \fI「型修飾子」\fP を入れることができる。 -.TP -\fBh\fP -変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP のいずれかであり、次のポインタが (\fIint\fP ではなく) -\fIshort int\fP か \fIunsigned short int\fP へのポインタであることを示す。 -.TP -\fBhh\fP -\fBh\fP と同じだが、次のポインタが \fIsigned char\fP か \fIunsigned char\fP へのポインタであることを示す。 -.TP -\fBj\fP -\fBh\fP と同じだが、次のポインタが \fIintmax_t\fP か \fIuintmax_t\fP へのポインタであることを示す。 この修飾子は C99 -で導入された。 -.TP -\fBl\fP -.\" This use of l was introduced in Amendment 1 to ISO C90. -変換が \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP, \fBn\fP か \fBn\fP のいずれかであり次のポインタが (\fIint\fP -ではなく) \fIlong int\fP か \fIunsigned long int\fP へのポインタであること、または、変換が \fBe\fP, \fBf\fP, -\fBg\fP のうちのひとつであり次のポインタが (\fIfloat\fP ではなく) \fIdouble\fP へのポインタであることのいずれかであることを示す。 -\fBl\fP 文字を二つ指定すると、 \fBL\fP と同じ意味となる。 \fB%c\fP や \fB%s\fP とともに使用すると、 -パラメータはそれぞれワイド文字やワイド文字列へのポインタであると みなされる。 -.TP -\fBL\fP -.\" MTK, Jul 05: The following is no longer true for modern -.\" ANSI C (i.e., C99): -.\" (Note that long long is not an -.\" ANSI C -.\" type. Any program using this will not be portable to all -.\" architectures). -\fBe\fP, \fBf\fP, \fBg\fP 変換で、次のポインタが \fIlong double\fP へのポインタであることを示す。もしくは、 \fBd\fP, \fBi\fP, -\fBo\fP, \fBu\fP, \fBx\fP 変換で、次のポインタが \fIlong long\fP へのポインタであることのいずれかであることを示す。 -.TP -\fBq\fP -\fBL\fP と同一である。 この修飾子は ANSI C には存在しない。 -.TP -\fBt\fP -\fBh\fP と同様だが、次のポインタが \fIptrdiff_t\fP へのポインタであることを示す。 この修飾子は C99 で導入された。 -.TP -\fBz\fP -\fBh\fP と同様だが、次のポインタが \fIsize_t\fP へのポインタであることを示す。 この修飾子は C99 で導入された。 -.PP -以下の \fI「変換指定子」\fP が利用可能である。 -.TP -\fB%\fP -文字 \(aq%\(aq に対応する。 書式文字列の中の \fB%\&%\fP は単一の文字 \(aq%\(aq に対応する。 変換は行われず -(但し、先頭のホワイトスペース文字は捨てられる)、 変数への代入は生じない。 -.TP -\fBd\fP -符号つきの 10進の整数に対応する。 次のポインタは \fIint\fP へのポインタでなければならない。 -.TP -\fBD\fP -\fIld\fP と同一である。これは以前の仕様との互換性だけのためにある。 (注意: これは libc4 の場合だけである。 libc5 や glibc -では \fB%D\fP は暗黙のうちに無視され、古いプログラムにおいて謎に満ちた失敗の原因となる。) -.TP -\fBi\fP -符号つき整数に対応する。 次のポインタは \fIint\fP へのポインタでなければならない。 この整数は \fI0x\fP または \fI0X\fP で開始する場合には -16 進数、 \fI0\fP で開始する場合には 8 進数、その他の場合には 10進数として読み込まれる。 -この変換で使用される文字は、これらの基数に対応しているものだけである。 -.TP -\fBo\fP -符号なしの 8 進の整数に対応する。 次のポインタは \fIunsigned int\fP でなければならない。 -.TP -\fBu\fP -符号なしの 10進の整数に対応する。 次のポインタは \fIunsigned int\fP へのポインタでなければならない。 -.TP -\fBx\fP -符号なしの 16 進の整数に対応する。 次のポインタは \fIunsigned int\fP へのポインタでなければならない。 -.TP -\fBX\fP -\fBx\fP と同一である。 -.TP -\fBf\fP -符号つき浮動小数点実数に対応する。 次のポインタは \fIfloat\fP へのポインタでなければならない。 -.TP -\fBe\fP -\fBf\fP と同一である。 -.TP -\fBg\fP -\fBf\fP と同一である。 -.TP -\fBE\fP -\fBf\fP と同一である。 -.TP -\fBa\fP -(C99) \fBf\fP と同一である。 -.TP -\fBs\fP -ホワイトスペースではない文字で構成された文字列に対応する。 次のポインタは文字の配列へのポインタでなければならず、 その文字配列は、入力された文字列と -(自動的に追加される) 終端の NULL バイト (\(aq\e0\(aq) を格納するのに十分な大きさでなければならない。 -文字列の入力は、ホワイトスペースが入力されるか、最大フィールド幅に 達するか、のどちらかが起こると停止される。 -.TP -\fBc\fP -\fI「最大フィールド幅」\fP (デフォルトは 1) で指定された幅の文字の列に対応する。 次のポインタは \fIchar\fP -へのポインタで、すべての文字を格納するのに十分な領域が なければならない (終端の NULL バイトは追加されない)。 -通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 先頭のホワイトスペースを読み飛ばすためには、 -フォーマット文の中で明示的にスペースを使用すれば良い。 -.TP -\fB\&[\fP -格納された文字列のうちから取り出された、 指定された文字の集合で構成される空ではない文字の列に対応する。 次のポインタは \fIchar\fP -へのポインタでなければならず、 そこには文字列中のすべての文字と終端の NULL バイト を格納するための十分な領域がなければならない。 -通常行われる先頭のホワイトスペースの読み飛ばしは行われない。 この文字列は特別な集合の中の文字で構成されている。 この集合は 開き括弧 \fB[\fP -と閉じ括弧 \fB]\fP の間の文字で定義される。 開き括弧のあとの最初の文字が曲アクセント記号 (\fB^\fP) -の場合、集合はこれらの文字を含まないものとなる。 閉じ括弧を集合に含ませるためには、この文字を開き括弧または -曲アクセント記号のあとの最初の文字にすればよい。 つまり、他の位置に閉じ括弧を置くと文字の集合が終る。 ハイフン \fB\-\fP もまた特殊文字である。 -二つの異なる文字の間に置かれた時、この文字は、 その間にある全ての文字を集合に加える。 ハイフン自体を含ませるためには、 -括弧が閉じる前の最後の一文字をハイフンにすればよい。 例えば、 \fB[^]0\-9\-]\fP は「閉じ括弧、0 〜 9、ハイフンの 3 -種類を除く全ての文字」の集合を意味する。 この文字列は 集合に含まれていない (曲アクセントの場合には含まれる) 文字の -出現または確保された領域が使い切られた時に終了する。 -.TP -\fBp\fP -(\fBprintf\fP(3) の \fB%p\fP で印字されるような) ポインタ値に対応する。 次のポインタは \fIvoid\fP -へのポインタへのポインタでなければならない。 -.TP -\fBn\fP -どんな入力も必要としない。 そのかわりに、 入力からここまで消費された文字数が次のポインタで指定された場所に 格納される。 このポインタは \fIint\fP -へのポインタでなければならない。 変換を抑制するのであれば \fB*\fP 代入抑制文字を使って抑制することができるのだが、 -この変換指定子は変換では「ない」。 C 言語の標準規格では「実行の完了時に返される代入の回数は \fB%n\fP 命令の実行では増加しない」となっているが、 -正誤表の内容はこれと矛盾するようである。おそらく、 \fB%n\fP 変換が返り値に与える影響についてはどのような仮定もしないのが 賢明であろう。 -.SH 返り値 -これらの関数は、一致と代入が成功した入力要素の個数を返す。 返される値は渡された変換の個数よりも少ないこともあり、 最初に一致の失敗があった場合には 0 -になることもある。 - -最初の変換が成功する前に入力の最後に達して、一致の失敗が起こった場合には、 \fBEOF\fP が返される。また、 読み込みエラーが発生した場合にも -\fBEOF\fP が返される。読み込みエラーの場合には、そのストリームの エラー指示子がセットされ (\fBferror\fP(3) 参照)、 \fIerrno\fP -にエラーを示す値がセットされる。 -.SH エラー -.TP -\fBEAGAIN\fP -\fIstream\fP に対応するファイルディスクリプタが nonblocking となっており、 読み込み操作は停止 (block) することになる。 -.TP -\fBEBADF\fP -\fIstream\fP に対応するファイルディスクリプタが無効であるが、 読み込み用にオープンされていない。 -.TP -\fBEILSEQ\fP -入力されたバイト列が有効な文字を構成していない。 -.TP -\fBEINTR\fP -読み込み操作がシグナルにより割り込まれた。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -引き数が十分でない。または \fIformat\fP が NULL である。 -.TP -\fBENOMEM\fP -メモリ不足。 -.TP -\fBERANGE\fP -整数変換の結果が、対応する整数型に格納できるサイズを越えてしまう。 -.SH 準拠 -\fBfscanf\fP(), \fBscanf\fP(), \fBsscanf\fP() 関数は C89, C99, POSIX.1\-2001 に準拠している。 -これらの標準では、エラー \fBERANGE\fP は規定されていない。 -.PP -\fBq\fP 指定子は \fIlong long\fP の 4.4BSD での記述方法である。 一方、整数変換での \fBll\fP または \fBL\fP の使用は GNU -での拡張である。 -.PP -これらの関数の Linux 版は \fIGNU\fP \fIlibio\fP ライブラリーを元にしている。 より簡潔な説明には \fIGNU\fP \fIlibc -(glibc\-1.08)\fP の \fIinfo\fP 文書に目を通すこと。 -.SH 注意 -.\" This feature seems to be present at least as far back as glibc 2.0. -GNU C ライブラリ (glibc) では非標準のオプションをサポートしており、 このオプションを使うと変換指定子 \fB%s\fP や -\fB%a[\fP\fIrange\fP\fB]\fP への入力文字列に対して十分な大きさの文字列をライブラリが動的に確保する ようになる。 -この機能を使用するには、長さ修飾子として \fBa\fP を指定する (したがって、全体としては \fB%as\fP や \fB%a[\fP\fIrange\fP\fB]\fP -となる)。 以下の例にあるように、呼び出し側は返された文字列を \fBfree\fP(3) しなければならない。 -.in +4n -.nf - -char *p; -int n; - -errno = 0; -n = scanf("%a[a\-z]", &p); -if (n == 1) { - printf("read: %s\en", p); - free(p); -} else if (errno != 0) { - perror("scanf"); -} else { - fprintf(stderr, "No matching characters\en"); -} -.fi -.in -.PP -上記の例にあるように、 \fBscanf\fP() が文字列の読み込みに成功した場合にだけ、 \fBfree\fP(3) を呼び出す必要がある。 -.PP -\fIgcc \-std=c99\fP や \fIgcc \-D_ISOC99_SOURCE\fP でコンパイルしたプログラムでは (\fB_GNU_SOURCE\fP -も同時に指定していない場合)、 \fBa\fP 修飾子は利用できない。 上記の場合、 \fBa\fP は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。 - -バージョン 2.7 以降では、glibc は \fBa\fP 修飾子と同じ目的で \fBm\fP 修飾子も提供している。 \fBm\fP 修飾子は以下の利点がある。 -.IP * 2 -\fB%c\fP 変換指定子にも適用できる (例えば \fB%3mc\fP)。 -.IP * -浮動小数点変換指定子としての \fB%a\fP との紛らわしさが避けられる (また \fIgcc \-std=c99\fP などの影響も避けられる)。 -.IP * -POSIX.1 標準の次の改訂版で規定される。 -.SH バグ -全ての関数は、完全に C89 に準拠している。しかし 追加で \fBq\fP と \fBa\fP 指定子が提供されており、同様に \fBL\fP と \fBl\fP -指定子の付加的な振る舞いもある。後者は、 C89 で定義された指定子の振る舞いを変更するものなので、 バグとみなされるかもしれない。 -.PP -ANSI C で定義された型修飾子と変換指定子の組み合わせの中には 意味を -なさないものがある (例えば、 \fB%Ld\fP)。 これらが指定された場合、 -Linux 上でははっきりと定義された振る舞いをするかもしれないが、 -他のアーキテクチャでも同様になっているとは限らない。 -それゆえに、ほとんどの場合、 ANSI C で定義されていない修飾子を使用した -方が良い。すなわち、 \fBd\fP, \fBi\fP, \fBo\fP, \fBu\fP, \fBx\fP, \fBX\fP 変換や \fBll\fP -と組み合わせる場合には、 \fBL\fP の代わりに \fBq\fP を使用した方が良い。 -.PP -\fBq\fP の使用方法は 4.4BSD と同じではない。 4.4BSD では \fBq\fP は \fBL\fP と同等に浮動小数の変換に使用される。 -.SH 関連項目 -\fBgetc\fP(3), \fBprintf\fP(3) \fBsetlocale\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3), -\fBstrtoul\fP(3), -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sched_getcpu.3 b/draft/man3/sched_getcpu.3 index 9ed43736..a518c5c4 100644 --- a/draft/man3/sched_getcpu.3 +++ b/draft/man3/sched_getcpu.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -71,6 +73,6 @@ cpu = (s == \-1) ? s : c; .SH 関連項目 \fBgetcpu\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/seekdir.3 b/draft/man3/seekdir.3 index bebaf143..36b33405 100644 --- a/draft/man3/seekdir.3 +++ b/draft/man3/seekdir.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -59,6 +61,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 \fBlseek\fP(2), \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBtelldir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_close.3 b/draft/man3/sem_close.3 deleted file mode 100644 index 82ae8060..00000000 --- a/draft/man3/sem_close.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_CLOSE 3 2006\-03\-25 Linux "Linux Programmer's Manual" -.SH 名前 -sem_close \- 名前付きセマフォをクローズする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_close(sem_t *\fP\fIsem\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_close\fP() は \fIsem\fP が参照する名前付きセマフォをクローズし、 このセマフォ用に呼び出し元プロセスにシステムが割り当てていた -リソースを解放できるようにする。 -.SH 返り値 -成功すると、 \fBsem_close\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsem\fP は有効なセマフォではない。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -オープンされたすべての名前付きセマフォは、プロセス終了時、もしくは \fBexecve\fP(2) 実行時に自動的にクローズされる。 -.SH 関連項目 -\fBsem_getvalue\fP(3), \fBsem_open\fP(3), \fBsem_post\fP(3), \fBsem_unlink\fP(3), -\fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_destroy.3 b/draft/man3/sem_destroy.3 deleted file mode 100644 index 91aaa5ff..00000000 --- a/draft/man3/sem_destroy.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_DESTROY 3 2006\-03\-25 Linux "Linux Programmer's Manual" -.SH 名前 -sem_destroy \- 名前なしセマフォを破棄する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_destroy(sem_t *\fP\fIsem\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_destroy\fP() は \fIsem\fP が指すアドレスにある名前なしセマフォを破棄する。 - -\fBsem_destroy\fP() を使って破棄するのは、 \fBsem_init\fP(3) で初期化したセマフォだけにすべきである。 - -他のプロセスやスレッドが (\fBsem_wait\fP(3) で) 待ち状態になっているセマフォを破棄した場合の挙動は定義されていない。 - -すでに破棄されたセマフォを、 \fBsem_init\fP(3) を使って再初期化される前に使用した場合、その結果は未定義である。 -.SH 返り値 -成功すると、 \fBsem_destroy\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsem\fP は有効なセマフォではない。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -.\" But not on NPTL, where sem_destroy () is a no-op.. -名前なしセマフォは、そのセマフォが置かれているメモリが解放される前に、 \fBsem_destroy\fP() -を使って破棄しておくべきである。これを行わなかった場合、実装によっては リソースのリークが起こりえる。 -.SH 関連項目 -\fBsem_init\fP(3), \fBsem_post\fP(3), \fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_getvalue.3 b/draft/man3/sem_getvalue.3 deleted file mode 100644 index 73c7267b..00000000 --- a/draft/man3/sem_getvalue.3 +++ /dev/null @@ -1,63 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_GETVALUE 3 2006\-03\-25 Linux "Linux Programmer's Manual" -.SH 名前 -sem_getvalue \- セマフォの値を取得する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_getvalue(sem_t *\fP\fIsem\fP\fB, int *\fP\fIsval\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_getvalue\fP() は、 \fIsem\fP が指すセマフォの現在の値を \fIsval\fP で指す整数に格納する。 - -POSIX.1\-2001 によると、 1つ以上のプロセスかスレッドが \fBsem_wait\fP(3) でセマフォのロック待ちで停止している場合、 -\fIsval\fP で返される値は 0 もしくは負の値のいずれかとなる。 負の値の場合、その絶対値は \fBsem_wait\fP(3) -で現在停止しているプロセスかスレッドの合計数に等しい。 Linux は前者の動作 (0 を返す動作) を採用している。 -.SH 返り値 -成功すると、 \fBsem_getvalue\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsem\fP は有効なセマフォではない。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -\fBsem_getvalue\fP() が返るときには、すでにセマフォの値は変化している可能性がある。 -.SH 関連項目 -\fBsem_post\fP(3), \fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_init.3 b/draft/man3/sem_init.3 deleted file mode 100644 index 55a90472..00000000 --- a/draft/man3/sem_init.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_INIT 3 2008\-07\-27 Linux "Linux Programmer's Manual" -.SH 名前 -sem_init \- 名前なしセマフォを初期化する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_init(sem_t *\fP\fIsem\fP\fB, int \fP\fIpshared\fP\fB, unsigned int \fP\fIvalue\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_init\fP() は、 \fIsem\fP が指すアドレスにある名前なしセマフォを初期化する。 \fIvalue\fP -引き数はそのセマフォの初期値を指定する。 - -\fIpshared\fP 引き数は、このセマフォがプロセス内のスレッド間で共有されるのか、 プロセス間で共有されるのか、を示す。 - -\fIpshared\fP が 0 の場合、セマフォはプロセス内のスレッド間で共有される。 セマフォはすべてのスレッドから参照可能なアドレスに配置すべきである -(例えば、大域変数や、ヒープ上に動的に割り当てられた変数など)。 - -\fIpshared\fP が 0 以外の場合、セマフォはプロセス間で共有される。セマフォは 共有メモリ領域に配置すべきである -(\fBshm_open\fP(3), \fBmmap\fP(2), \fBshmget\fP(2) 参照)。 (\fBfork\fP(2) -で生成された子プロセスは親プロセスのメモリマッピングを継承するため、 子プロセスもセマフォにアクセスできる。) -共有メモリ領域にアクセスできるプロセスならば、どのプロセスでも \fBsem_post\fP(3) や \fBsem_wait\fP(3) -などを使ってセマフォを操作できる。 - -すでに初期化済のセマフォを初期化した場合の挙動は定義されていない。 -.SH 返り値 -成功すると、 \fBsem_init\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINVAL\fP -\fIvalue\fP が \fBSEM_VALUE_MAX\fP を超えている。 -.TP -\fBENOSYS\fP -\fIpshared\fP が 0 以外だが、システムがプロセス共有セマフォをサポートしていない (\fBsem_overview\fP(7) 参照)。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -妙なことに、POSIX.1\-2001 は \fBsem_init\fP() が成功した場合に返すべき値を規定していない。 POSIX.1\-2008 -ではこれが修正され、成功時には 0 を返すことが規定された。 -.SH 関連項目 -\fBsem_destroy\fP(3), \fBsem_post\fP(3), \fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_open.3 b/draft/man3/sem_open.3 deleted file mode 100644 index efb9370b..00000000 --- a/draft/man3/sem_open.3 +++ /dev/null @@ -1,105 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_OPEN 3 2009\-02\-20 Linux "Linux Programmer's Manual" -.SH 名前 -sem_open \- 名前付きセマフォを初期化し、オープンする -.SH 書式 -.nf -\fB#include \fP /* For O_* constants */ -\fB#include \fP /* For mode constants */ -\fB#include \fP -.sp -\fBsem_t *sem_open(const char *\fP\fIname\fP\fB, int \fP\fIoflag\fP\fB);\fP -\fBsem_t *sem_open(const char *\fP\fIname\fP\fB, int \fP\fIoflag\fP\fB, \fP -\fB mode_t \fP\fImode\fP\fB, unsigned int \fP\fIvalue\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_open\fP() は、新規の POSIX セマフォを作成するか、既存のセマフォのオープンを行う。 セマフォは \fIname\fP で識別される。 -\fIname\fP の構成の詳細は \fBsem_overview\fP(7) を参照。 - -.\" In reality the file system IDs are used on Linux. -\fIoflag\fP 引き数には、 \fBsem_open\fP() の動作を制御するフラグを指定する (oflag の値の定義は -\fI\fP のインクルードにより得られる)。 \fIoflag\fP に \fBO_CREAT\fP -が指定されると、まだ存在しない場合にはそのセマフォが作成される。 セマフォの所有者 (ユーザ ID)、グループ所有権 (グループ ID) には、 -それぞれ呼び出し元プロセスの実効 UID、実効 GID が設定される。 \fIoflag\fP に \fBO_CREAT\fP と \fBO_EXCL\fP -の両方が指定された場合、指定された名前 \fIname\fP のセマフォがすでに存在するとエラーが返される。 -.PP -\fIoflag\fP に \fBO_CREAT\fP を指定する場合、さらに引き数が 2 つ必要である。 \fImode\fP 引き数は、 \fBopen\fP(2) -と同じように、新しいセマフォに設定されるアクセス許可 (permission) を 指定する。許可設定はプロセスの umask でマスクされる -(許可ビットのシンボル定義は \fI\fP のインクルードにより得られる)。 -セマフォにアクセスしようとするユーザは、読み出し許可と書き込み許可の 両方を得る必要がある。 \fIvalue\fP -引き数は新しいセマフォの初期値を指定する。 \fBO_CREAT\fP が指定され、指定した名前 \fIname\fP のセマフォがすでに存在する場合、 -\fImode\fP と \fIvalue\fP は無視される。 -.SH 返り値 -成功すると、 \fBsem_open\fP() は新しいセマフォのアドレスを返す。 このアドレスは他のセマフォ関連の関数を呼び出す際に使用される。 -エラーの場合、 \fBsem_open\fP() は \fBSEM_FAILED\fP を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEACCES\fP -そのセマフォが存在するが、呼び出し元にはそのセマフォをオープンする 許可がない。 -.TP -\fBEEXIST\fP -\fIoflag\fP に \fBO_CREAT\fP と \fBO_EXCL\fP の両方が指定されたが、 \fIname\fP という名前のセマフォはすでに存在する。 -.TP -\fBEINVAL\fP -\fIvalue\fP が \fBSEM_VALUE_MAX\fP よりも大きい。 -.TP -\fBEINVAL\fP -\fIname\fP が "/" だけで構成され、その後ろに他の文字が続いていなかった。 -.TP -\fBEMFILE\fP -オープンされたファイル数がすでにそのプロセスにおける上限に達している。 -.TP -\fBENAMETOOLONG\fP -\fIname\fP が長すぎる。 -.TP -\fBENFILE\fP -オープンされたファイル総数がシステム全体での上限に達している。 -.TP -\fBENOENT\fP -.\" this error can occur if we have a name of the (nonportable) form -.\" /dir/name, and the directory /dev/shm/dir does not exist. -\fIoflag\fP に \fBO_CREAT\fP フラグが指定されておらず、 \fIname\fP という名前のセマフォも存在しない。 または、 -\fBO_CREAT\fP が指定されたが、 \fIname\fP が適切な形式ではなかった。 -.TP -\fBENOMEM\fP -十分なメモリがない。 -.SH 準拠 -POSIX.1\-2001. -.SH 関連項目 -\fBsem_close\fP(3), \fBsem_getvalue\fP(3), \fBsem_post\fP(3), \fBsem_unlink\fP(3), -\fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_post.3 b/draft/man3/sem_post.3 deleted file mode 100644 index dd227408..00000000 --- a/draft/man3/sem_post.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_POST 3 2009\-03\-30 Linux "Linux Programmer's Manual" -.SH 名前 -sem_post \- セマフォのロックを解除する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_post(sem_t *\fP\fIsem\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_post\fP() は、 \fIsem\fP が指すセマフォの値を 1 増やす (ロックを解除する)。その結果、 セマフォの値は 0 -より大きな値に変化し、 \fBsem_wait\fP(3) で停止している別のプロセスやスレッドが呼び起こされ、 セマフォをロックできるようになる。 -.SH 返り値 -成功すると、 \fBsem_post\fP() は 0 を返す。エラーの場合、セマフォの値は変更せずに、 \-1 を返し、 \fIerrno\fP -にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsem\fP は有効なセマフォではない。 -.TP -\fBEOVERFLOW\fP -.\" Added in POSIX.1-2008 TC1 (Austin Interpretation 213) -一つのセマフォで使用できる最大値を超えてしまうところであった。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -\fBsem_post\fP() は async\-signal\-safe である。 つまり、シグナルハンドラの中でも安全に呼び出すことができる。 -.SH 例 -\fBsem_wait\fP(3) 参照。 -.SH 関連項目 -\fBsem_getvalue\fP(3), \fBsem_wait\fP(3), \fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_unlink.3 b/draft/man3/sem_unlink.3 deleted file mode 100644 index 1ac0270f..00000000 --- a/draft/man3/sem_unlink.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_UNLINK 3 2006\-03\-25 Linux "Linux Programmer's Manual" -.SH 名前 -sem_unlink \- 名前付きセマフォを削除する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_unlink(const char *\fP\fIname\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.SH 説明 -\fBsem_unlink\fP() は、 \fIname\fP で参照される名前付きセマフォを削除する。 セマフォの名前は直ちに削除される。 -このセマフォをオープンしている他のすべてのプロセスがセマフォを 閉じて初めてセマフォの削除が行われる。 -.SH 返り値 -成功すると、 \fBsem_unlink\fP() は 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEACCES\fP -呼び出し元にはこのセマフォを削除する許可がない。 -.TP -\fBENAMETOOLONG\fP -\fIname\fP が長すぎる。 -.TP -\fBENOENT\fP -指定された名前 \fIname\fP のセマフォが存在しない。 -.SH 準拠 -POSIX.1\-2001. -.SH 関連項目 -\fBsem_getvalue\fP(3), \fBsem_open\fP(3), \fBsem_post\fP(3), \fBsem_wait\fP(3), -\fBsem_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sem_wait.3 b/draft/man3/sem_wait.3 deleted file mode 100644 index dbc9b732..00000000 --- a/draft/man3/sem_wait.3 +++ /dev/null @@ -1,212 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SEM_WAIT 3 2012\-02\-12 Linux "Linux Programmer's Manual" -.SH 名前 -sem_wait, sem_timedwait, sem_trywait \- セマフォをロックする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sem_wait(sem_t *\fP\fIsem\fP\fB);\fP -.sp -\fBint sem_trywait(sem_t *\fP\fIsem\fP\fB);\fP -.sp -\fBint sem_timedwait(sem_t *\fP\fIsem\fP\fB, const struct timespec *\fP\fIabs_timeout\fP\fB);\fP -.fi -.sp -\fI\-lrt\fP または \fI\-pthread\fP でリンクする。 -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBsem_timedwait\fP(): _POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600 -.SH 説明 -\fBsem_wait\fP() は \fIsem\fP が指すセマフォの値を 1 減らす (ロックする)。 セマフォの値が 0 -より大きい場合、減算が実行され、関数は直ちに復帰する。 セマフォの現在値が 0 の場合には、減算を実行できるようになる (つまり、セマフォの値が 0 -より大きな値になる) まで、もしくは シグナルハンドラによって呼び出しが中断されるまで、 関数呼び出しは停止 (block) する。 - -\fBsem_trywait\fP() は \fBsem_wait\fP() と同じだが、セマフォ値の減算をすぐに実行できなかった場合に、 停止 (block) -するのではなくエラーで復帰する (\fIerrno\fP に \fBEAGAIN\fP がセットされる) 点が異なる。 - -\fBsem_timedwait\fP() は \fBsem_wait\fP() と同じだが、セマフォ値の減算をすぐに実行できなかった場合に -関数呼び出しが停止する時間の上限を \fIabs_timeout\fP で指定する点が異なる。 \fIabs_timeout\fP -引き数は、タイムアウト時刻を指定する構造体へのポインタである。 この構造体には、タイムアウト時刻を時刻紀元 (Epoch; 1970\-01\-01 -00:00:00 +0000 (UTC)) からの 経過時間 (秒+ナノ秒) で指定する。 構造体は以下のように定義されている: - -.nf -.in +4n -struct timespec { - time_t tv_sec; /* Seconds */ - long tv_nsec; /* Nanoseconds [0 .. 999999999] */ -}; -.in -.fi -.PP -関数呼び出し時点ですでにタイムアウトに指定した時刻が過ぎており、 かつセマフォをすぐにロックできなかった場合は、 \fBsem_timedwait\fP() -はタイムアウトエラー (\fIerrno\fP に \fBETIMEDOUT\fP がセットされる) で失敗する。 - -セマフォ操作がすぐに実行できるときは、 \fIabs_timeout\fP がどんな値であっても \fBsem_timedwait\fP() -が失敗することは決してない。さらにいうと、この場合には \fIabs_timeout\fP の正当性の検査は行われない。 -.SH 返り値 -成功すると、これらの関数は 0 を返す。 エラーの場合、セマフォの値を変更せずに、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 -.SH エラー -.TP -\fBEINTR\fP -呼び出しはシグナルハンドラにより中断された。 \fBsignal\fP(7) 参照。 -.TP -\fBEINVAL\fP -\fIsem\fP は有効なセマフォではない。 -.PP -\fBsem_trywait\fP() の場合には、上記に加えて以下のエラーも起こる。 -.TP -\fBEAGAIN\fP -停止 (block) せずにロック操作を完了できなかった (つまり、 セマフォの現在の値が 0 であった)。 -.PP -\fBsem_timedwait\fP() の場合、以下のエラーも起こる。 -.TP -\fBEINVAL\fP -\fIabs_timeout.tv_nsecs\fP の値が 0 未満、もしくは 1,000,000,000 以上である。 -.TP -\fBETIMEDOUT\fP -.\" POSIX.1-2001 also allows EDEADLK -- "A deadlock condition -.\" was detected", but this does not occur on Linux(?). -セマフォのロックに成功する前に時間切れとなった。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -.\" sem_wait() is always interrupted on most other implementations, -.\" but on FreeBSD 5.4 SA_RESTART does cause restarting. -シグナルハンドラは、 \fBsigaction\fP(2) の \fBSA_RESTART\fP フラグを使用しているかどうかに関わらず、これらの関数の呼び出しが -停止している場合、シグナルハンドラにより常に中断される。 -.SH 例 -.PP -以下に示す (ちょっとした) プログラムは名前なしセマフォの操作を行う。 プログラムはコマンドライン引き数を 2 つ取る。 最初の引き数には、 -\fBSIGALRM\fP シグナルを生成するためのアラームタイマーの設定に使われる値を 秒単位で指定する。このシグナルハンドラは、 \fImain()\fP 内で -\fBsem_timedwait\fP() を使って待っているセマフォを、 \fBsem_post\fP(3) を使って加算する。 2番目の引き数には、 -\fBsem_timedwait\fP() に渡すタイムアウトまでの時間を秒単位で指定する。 - -.in +4n -.nf -$\fB ./a.out 2 3\fP -About to call sem_timedwait() -sem_post() from handler -sem_timedwait() succeeded -$\fB ./a.out 2 1\fP -About to call sem_timedwait() -sem_timedwait() timed out -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include -#include -#include -#include -#include -#include - -sem_t sem; - -#define handle_error(msg) \e - do { perror(msg); exit(EXIT_FAILURE); } while (0) - -static void -handler(int sig) -{ - write(STDOUT_FILENO, "sem_post() from handler\en", 24); - if (sem_post(&sem) == \-1) { - write(STDERR_FILENO, "sem_post() failed\en", 18); - _exit(EXIT_FAILURE); - } -} - -int -main(int argc, char *argv[]) -{ - struct sigaction sa; - struct timespec ts; - int s; - - if (argc != 3) { - fprintf(stderr, "Usage: %s \en", - argv[0]); - exit(EXIT_FAILURE); - } - - if (sem_init(&sem, 0, 0) == \-1) - handle_error("sem_init"); - - /* Establish SIGALRM handler; set alarm timer using argv[1] */ - - sa.sa_handler = handler; - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - if (sigaction(SIGALRM, &sa, NULL) == \-1) - handle_error("sigaction"); - - alarm(atoi(argv[1])); - - /* Calculate relative interval as current time plus - number of seconds given argv[2] */ - - if (clock_gettime(CLOCK_REALTIME, &ts) == \-1) - handle_error("clock_gettime"); - - ts.tv_sec += atoi(argv[2]); - - printf("main() about to call sem_timedwait()\en"); - while ((s = sem_timedwait(&sem, &ts)) == \-1 && errno == EINTR) - continue; /* Restart if interrupted by handler */ - - /* Check what happened */ - - if (s == \-1) { - if (errno == ETIMEDOUT) - printf("sem_timedwait() timed out\en"); - else - perror("sem_timedwait"); - } else - printf("sem_timedwait() succeeded\en"); - - exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE); -} -.fi -.SH 関連項目 -\fBclock_gettime\fP(2), \fBsem_getvalue\fP(3), \fBsem_post\fP(3), \fBsem_overview\fP(7), -\fBtime\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setaliasent.3 b/draft/man3/setaliasent.3 index f8c6ee1d..5a69d1e9 100644 --- a/draft/man3/setaliasent.3 +++ b/draft/man3/setaliasent.3 @@ -1,5 +1,8 @@ .\" Copyright 2003 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\" Polished a bit, added a little, aeb .\" @@ -116,6 +119,6 @@ main(void) .\" newaliases, postalias \fBgetgrent\fP(3), \fBgetpwent\fP(3), \fBgetspent\fP(3), \fBaliases\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setbuf.3 b/draft/man3/setbuf.3 deleted file mode 100644 index 4d98ed0e..00000000 --- a/draft/man3/setbuf.3 +++ /dev/null @@ -1,146 +0,0 @@ -.\" Copyright (c) 1980, 1991 Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" the American National Standards Committee X3, on Information -.\" Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)setbuf.3 6.10 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 14:55:24 1993, faith@cs.unc.edu -.\" Added section to BUGS, Sun Mar 12 22:28:33 MET 1995, -.\" Thomas.Koenig@ciw.uni-karlsruhe.de -.\" Correction, Sun, 11 Apr 1999 15:55:18, -.\" Martin Vicente -.\" Correction, 2000-03-03, Andreas Jaeger -.\" Added return value for setvbuf, aeb, -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SETBUF 3 2008\-06\-26 Linux "Linux Programmer's Manual" -.SH 名前 -setbuf, setbuffer, setlinebuf, setvbuf \- ストリームのバッファリングの操作 -.SH 書式 -.nf -\fB#include \fP - -\fBvoid setbuf(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB);\fP - -\fBvoid setbuffer(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIsize\fP\fB);\fP - -\fBvoid setlinebuf(FILE *\fP\fIstream\fP\fB);\fP - -\fBint setvbuf(FILE *\fP\fIstream\fP\fB, char *\fP\fIbuf\fP\fB, int \fP\fImode\fP\fB, size_t \fP\fIsize\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBsetbuffer\fP(), \fBsetlinebuf\fP(): _BSD_SOURCE -.SH 説明 -バッファリングには unbuffered, block buffered, line buffered の3つのタイプが ある。出力ストリームのタイプが -unbuffered の場合、データを書き込むとすぐに出 力先ファイルに書き込まれるかターミナルに表示される。block buffered の場合、文 -字の読み書きはブロック単位でいっぺんに行われる。line buffered の場合、 新しい行が出力されるか、ターミナルデバイスに接続しているストリーム -(通常、\fIstdin\fP) から新しい行が入力されるまで文字がたくわえられる。 ブロックを強制的に出力するには \fBfflush\fP(3) 関数を使う。 -(\fBfclose\fP(3) を参照のこと) 通常、ファイルはすべて block buffered である。ファイルに対して 初めて入出力処理を行うと -\fBmalloc\fP(3) が呼び出されバッファが獲得される。もし ストリームが (通常、 \fIstdout\fP がそうであるように) -ターミナルを参照する場合には、ファイルは line buffered と なる。標準エラー出力 \fIstderr\fP はデフォルトでは常に -unbuffered である。 -.PP -\fBsetvbuf\fP() 関数は、オープンしている任意のストリームに対してバッファを変更できる。 引き数 \fImode\fP は、次の 3 -つのマクロのうちいずれかである: -.RS -.TP -\fB_IONBF\fP -unbuffered -.TP -\fB_IOLBF\fP -line buffered -.TP -\fB_IOFBF\fP -fully buffered -.RE -.PP -unbuffered のファイルを除き、 \fIbuf\fP 引数は \fIsize\fP -バイト以上の大きさのバッファを指していなければならない。このバッファは現在の バッファの代わりに用いられる。もし、引数 \fIbuf\fP が NULL -ならば、モードだけが変更される。 新しいバッファは次に読み書きした際に割り当てられる。 \fBsetvbuf\fP() 関数は、ストリームをオープンした後、 -そのストリームに対して何らかの操作をする前にのみ使用できる。 -.PP -他の 3 つの関数は \fBsetvbuf\fP() の呼び出しに単純に置き換えることができる。 \fBsetbuf\fP() 関数は、 -.PP -.in +4n -setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ); -.in -.PP -と全く同等だし、 \fBsetbuffer\fP() 関数は、バッファサイズがデフォルト値 \fBBUFSIZ\fP ではなく引数で与えられる点以外は同じである。 -\fBsetlinebuf\fP() 関数は以下と同じである。 -.PP -.in +4n -setvbuf(stream, (char *) NULL, _IOLBF, 0); -.in -.SH 返り値 -\fBsetvbuf\fP() 関数は、成功した場合 0 を返す。 失敗した場合、0 以外の値を返す (失敗とは、 \fImode\fP -が不正な場合またはリクエストが条件を満たさない場合である)。 \fBsetvbuf\fP() 関数が失敗した場合は \fIerrno\fP を設定することもある。 - -その他の関数は値を返さない。 -.SH 準拠 -\fBsetbuf\fP() 関数および \fBsetvbuf\fP() 関数は C89 と C99 に準拠している。 -.SH バグ -\fBsetbuffer\fP() 関数および \fBsetlinebuf\fP() 関数は 4.2BSD より前の BSD とは互換性がない。また Linux -でも(古いバージョン では)利用できないかもしれない。4.2BSD および 4.3BSD のシステムでは \fBsetbuf\fP() -は必ず追加のバッファーのサイズを使用するので、これも使うべきでない。 -.P -\fIstream\fP を閉じる時 (プログラムを終了する際にもこれは起きる) には、 \fIbuf\fP -が指し示す空間とが存在していることを保証しなければならない。 例えば、次のような使い方は許されない: -.nf -.sp -#include - -int -main(void) -{ - char buf[BUFSIZ]; - setbuf(stdin, buf); - printf("Hello, world!\en"); - return 0; -} -.fi -.SH 関連項目 -\fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBfread\fP(3), \fBmalloc\fP(3), -\fBprintf\fP(3), \fBputs\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setenv.3 b/draft/man3/setenv.3 index 6d4b8ff5..a1d882cd 100644 --- a/draft/man3/setenv.3 +++ b/draft/man3/setenv.3 @@ -1,6 +1,7 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2004, 2007 Michael kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -92,6 +94,6 @@ POSIX.1\-2001 では 「\fIname\fP に \(aq=\(aq 文字が含まれる場合、 .SH 関連項目 \fBclearenv\fP(3), \fBgetenv\fP(3), \fBputenv\fP(3), \fBenviron\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setjmp.3 b/draft/man3/setjmp.3 index 9f24635e..3d649705 100644 --- a/draft/man3/setjmp.3 +++ b/draft/man3/setjmp.3 @@ -1,5 +1,6 @@ .\" Written by Michael Haardt, Fri Nov 25 14:51:42 MET 1994 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Added sigsetjmp, Sun Mar 2 22:03:05 EST 1997, jrv@vanzandt.mv.com .\" Modifications, Sun Feb 26 14:39:45 1995, faith@cs.unc.edu @@ -76,6 +77,6 @@ System V の振る舞いに従うが、 \fB_BSD_SOURCE\fP 機能検査マクロ .SH 関連項目 \fBlongjmp\fP(3), \fBsiglongjmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setlocale.3 b/draft/man3/setlocale.3 index 4d98a0d8..310b7df9 100644 --- a/draft/man3/setlocale.3 +++ b/draft/man3/setlocale.3 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" and Copyright 1999 by Bruno Haible (haible@clisp.cons.org) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +21,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 18:20:12 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Tue Jul 15 16:49:10 1997 by Andries Brouwer (aeb@cwi.nl) .\" Modified Sun Jul 4 14:52:16 1999 by Bruno Haible (haible@clisp.cons.org) @@ -115,6 +117,6 @@ Linux (というか glibc) は互換性のあるロケールとして \fB"C"\fP \fBnl_langinfo\fP(3), \fBrpmatch\fP(3), \fBstrcoll\fP(3), \fBstrftime\fP(3), \fBcharsets\fP(7), \fBlocale\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setlogmask.3 b/draft/man3/setlogmask.3 index edccdad6..976cbf2c 100644 --- a/draft/man3/setlogmask.3 +++ b/draft/man3/setlogmask.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -58,6 +60,6 @@ POSIX.1\-2001. POSIX.1\-2001 での説明には欠陥があることに注意 .SH 関連項目 \fBcloselog\fP(3), \fBopenlog\fP(3), \fBsyslog\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/setnetgrent.3 b/draft/man3/setnetgrent.3 index 2d0a3cb7..0afce76c 100644 --- a/draft/man3/setnetgrent.3 +++ b/draft/man3/setnetgrent.3 @@ -1,7 +1,12 @@ .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" based on glibc infopages .\" polished - aeb +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -69,6 +74,6 @@ BSD の実装では \fBsetnetgrent\fP() は void を返す。 .SH 関連項目 \fBsethostent\fP(3), \fBsetprotoent\fP(3), \fBsetservent\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/shm_open.3 b/draft/man3/shm_open.3 deleted file mode 100644 index 096f986f..00000000 --- a/draft/man3/shm_open.3 +++ /dev/null @@ -1,162 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2002 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" FIXME . Add an example to this page -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHM_OPEN 3 2009\-02\-25 Linux "Linux Programmer's Manual" -.SH 名前 -shm_open, shm_unlink \- POSIX 共有メモリ・オブジェクトの作成/オープン、 削除を行う -.SH 書式 -\fB#include \fP -.br -\fB#include \fP /* mode 定数用 */ -.br -\fB#include \fP /* O_* 定数の定義用 */ -.sp -\fBint shm_open(const char *\fP\fIname\fP\fB, int \fP\fIoflag\fP\fB, mode_t \fP\fImode\fP\fB);\fP -.sp -\fBint shm_unlink(const char *\fP\fIname\fP\fB);\fP -.sp -\fI\-lrt\fP でリンクする。 -.SH 説明 -\fBshm_open\fP() は、POSIX 共有メモリ・オブジェクトを新規に作成/オープンしたり、 すでに存在するオブジェクトをオープンしたりする。 -POSIX 共有メモリ・オブジェクトは、実際には、関係のないプロセスが 共有メモリの同じ領域を \fBmmap\fP(2) -するために使用することができる手段である。 \fBshm_unlink\fP() は、逆の操作、つまり以前に \fBshm_open\fP() -で作成されたオブジェクトの削除を行う。 -.LP -.\" glibc allows the initial slash to be omitted, and makes -.\" multiple initial slashes equivalent to a single slash. -.\" This differs from the implementation of POSIX message queues. -.\" glibc allows subdirectory components in the name, in which -.\" case the subdirectory must exist under /dev/shm, and allow the -.\" required permissions if a user wants to create a shared memory -.\" object in that subdirectory. -\fBshm_open\fP() の動作は \fBopen\fP(2) とよく似ている。 \fIname\fP -で作成したりオープンしたりする共有メモリ・オブジェクトを指定する。 移植性を持たせるためには、共有メモリ・オブジェクトは \fI/somename\fP -という形式の名前で識別し、 その名前は、最大で \fBNAME_MAX\fP (すなわち 255) 文字の NULL 終端された文字列で、 -スラッシュで始まり、スラッシュ以外の文字が 1 文字以上続く形式 にすべきである。 -.LP -\fIoflag\fP はビットマスクで、 \fBO_RDONLY\fP と \fBO_RDWR\fP のいずれか一方と、以下に述べる他のフラグの論理和をとったもの -を指定する。 -.TP 1.1i -\fBO_RDONLY\fP -読み出しアクセス用にオブジェクトをオープンする。 このフラグを指定してオープンされた共有メモリ・オブジェクトは、 読み出し (\fBPROT_READ\fP) -アクセスでのみ \fBmmap\fP(2) することができる。 -.TP -\fBO_RDWR\fP -読み書きアクセス用にオブジェクトをオープンする。 -.TP -\fBO_CREAT\fP -.\" In truth it is actually the file system IDs on Linux, but these -.\" are nearly always the same as the effective IDs. (MTK, Jul 05) -存在しない場合、共有メモリ・オブジェクトを作成する。 オブジェクトのユーザとグループの所有権は、 呼び出し元プロセスの対応する実効 ID が使われ、 -オブジェクトの許可ビットは \fImode\fP の下位 9 ビットに基づいて設定される。ただし、 ファイルモード作成マスク (\fBumask\fP(2) -参照) に設定されている値は、新規オブジェクトに関してはクリアされる。 \fImode\fP を定義するために使用できるマクロ定数(群)は -\fBopen\fP(2) に記載されている (これらの定数のシンボル定義は \fI\fP -のインクルードにより得られる)。 -.sp -新規に作成された共有メモリ・オブジェクトは長さ 0 で初期化される。 オブジェクトの大きさは \fBftruncate\fP(2) を使って設定できる。 -共有メモリ・オブジェクトとして新規に確保されたバイトは自動的に 0 に初期化される。 -.TP -\fBO_EXCL\fP -\fBO_CREAT\fP が一緒に指定されており、 \fIname\fP で指定された共有メモリ・オブジェクトが既に存在した場合、 エラーを返す。 -オブジェクトの存在確認と、存在しなかった場合のオブジェクト作成は、 必ず一連の操作として実行される (performed atomically)。 -.TP -\fBO_TRUNC\fP -共有メモリ・オブジェクトがすでに存在した場合、 そのオブジェクトを 0 バイトに切り詰める。 -.LP -これらのフラグ値の定義は \fI\fP のインクルードにより得られる。 -.LP -成功して完了した場合、 \fBshm_open\fP() は共有メモリ・オブジェクトを参照する新しいファイル・ディスクリプタを返す。 -このファイル・ディスクリプタは、そのプロセス内で過去にオープンされていない ファイル・ディスクリプタの中で最も小さな数になることが保証される。 -\fBFD_CLOEXEC\fP フラグ (\fBfcntl\fP(2) を参照) が、このファイル・ディスクリプタに設定される。 - -通常、これらのファイル・ディスクリプタは、この後続けて実行される \fBftruncate\fP(2) (新規に作成されたオブジェクトの場合のみ) と -\fBmmap\fP(2) の呼び出しに使用される。 \fBmmap\fP(2) を呼び出した後は、ファイル・ディスクリプタをクローズしてもよく、 -クローズしてもメモリ・マッピングに影響を与えることはない。 - -\fBshm_unlink\fP() の動作は \fBunlink\fP(2) とよく似ている: -共有メモリ・オブジェクト名を削除し、すべてのプロセスが処理対象の オブジェクトをアンマップした時点でオブジェクトの割り当てを解除し、 -対応するメモリ領域の内容を破棄する。 \fBshm_unlink\fP() が成功した後で、同じ \fIname\fP を持つオブジェクトに対して -\fBshm_open\fP() を行うと、 (\fBO_CREAT\fP が指定されていない場合) 失敗する。 (\fBO_CREAT\fP -が指定されている場合、新しく別のオブジェクトが作成される)。 -.SH 返り値 -成功した場合、 \fBshm_open\fP() は非負のファイル・ディスクリプタを返す。 失敗した場合、 \fBshm_open\fP() は \-1 を返す。 -\fBshm_unlink\fP() は、成功した場合 0 を、エラーが起こった場合 \-1 を返す。 -.SH エラー -失敗した場合、エラーの原因を示すため \fIerrno\fP が設定される。 \fIerrno\fP に設定される値は以下の通りである: -.TP -\fBEACCES\fP -共有メモリオブジェクトを \fBshm_unlink\fP() する権限がなかった。 -.TP -\fBEACCES\fP -指定された \fImode\fP で \fIname\fP を \fBshm_open\fP() する権限がなかった。もしくは、 \fBO_TRUNC\fP -が指定されたが、呼び出し元にはそのオブジェクトに対する書き込み権限が なかった。 -.TP -\fBEEXIST\fP -\fBO_CREAT\fP と \fBO_EXCL\fP の両方が \fBshm_open\fP() に指定されたが、 \fIname\fP -で指定された共有メモリ・オブジェクトが既に存在した。 -.TP -\fBEINVAL\fP -\fBshm_open\fP() に与えられた \fIname\fP 引き数が不正であった。 -.TP -\fBEMFILE\fP -プロセスがオープン可能なファイル数の上限にすでに達していた。 -.TP -\fBENAMETOOLONG\fP -\fIname\fP の長さが \fBPATH_MAX\fP を越えている。 -.TP -\fBENFILE\fP -ファイルシステムでオープンできるファイル数の上限に達した。 -.TP -\fBENOENT\fP -存在していない \fIname\fP のオブジェクトを \fBshm_open\fP() しようとしたが、 \fBO_CREAT\fP が指定されていなかった。 -.TP -\fBENOENT\fP -存在しない \fIname\fP のオブジェクトを \fBshm_unlink\fP() しようとした。 -.SH バージョン -これらの関数は glibc 2.2 以降で提供されている。 -.SH 準拠 -POSIX.1\-2001. -.LP -POSIX.1\-2001 には、新規に作成される共有メモリオブジェクトのグループ所有権は、 呼び出し元プロセスの実効グループ ID か -「システムのデフォルトのグループ ID」 のどちらかに設定される、と書かれている。 -.SH 注意 -.LP -POSIX は \fBO_RDONLY\fP と \fBO_TRUNC\fP が一緒に指定された場合の動作を未定義にしている。Linux では、 -既存の共有メモリ・オブジェクトに対する切り詰め (truncate) は成功する。 しかし、他の UNIX システムでも同じであるとは限らない。 -.LP -Linux 2.4 における POSIX 共有メモリ・オブジェクトの実装は 専用のファイルシステムを使用する。そのファイルシステムは通常 -\fI/dev/shm\fP にマウントされる。 -.SH 関連項目 -\fBclose\fP(2), \fBfchmod\fP(2), \fBfchown\fP(2), \fBfcntl\fP(2), \fBfstat\fP(2), -\fBftruncate\fP(2), \fBmmap\fP(2), \fBopen\fP(2), \fBumask\fP(2), \fBshm_overview\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/siginterrupt.3 b/draft/man3/siginterrupt.3 index c2a445cb..083eb14d 100644 --- a/draft/man3/siginterrupt.3 +++ b/draft/man3/siginterrupt.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -74,6 +76,6 @@ _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTEND .SH 関連項目 \fBsignal\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/signbit.3 b/draft/man3/signbit.3 index 62d59d3d..bc4d933f 100644 --- a/draft/man3/signbit.3 +++ b/draft/man3/signbit.3 @@ -1,8 +1,13 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Based on glibc infopages, copyright Free Software Foundation +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -48,6 +53,6 @@ C99, POSIX.1\-2001. この関数は IEC 559 で定義されている (また IE .SH 関連項目 \fBcopysign\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/significand.3 b/draft/man3/significand.3 index 8c9e7d09..53217e89 100644 --- a/draft/man3/significand.3 +++ b/draft/man3/significand.3 @@ -1,6 +1,11 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" heavily based on glibc infopages, copyright Free Software Foundation +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -45,6 +50,6 @@ scalb(x, (double) \-ilogb(x)) .SH 関連項目 \fBilogb\fP(3), \fBscalb\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigpause.3 b/draft/man3/sigpause.3 deleted file mode 100644 index 69cceb5d..00000000 --- a/draft/man3/sigpause.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" Copyright (C) 2004 Andries Brouwer (aeb@cwi.nl) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGPAUSE 3 2010\-09\-12 Linux "Linux Programmer's Manual" -.SH 名前 -sigpause \- ブロックされたシグナルをアトミックに解放して割り込みを待つ -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint sigpause(int \fP\fIsigmask\fP\fB); /* BSD */\fP -.sp -\fBint sigpause(int \fP\fIsig\fP\fB); /* System V / UNIX 95 */\fP -.fi -.SH 説明 -この関数を使わないこと。 代わりに \fBsigsuspend\fP(2) を使うこと。 -.LP -関数 \fBsigpause\fP() はシグナルを待つように設計されている。 この関数はプロセスのシグナルマスク (ブロックされたシグナルのセット) -を変更し、 シグナルが到着するのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。 -.SH 返り値 -\fBsigpause\fP() が返った場合、この関数はシグナルによって割り込まれている。 返り値は \-1 で、 \fIerrno\fP は \fBEINTR\fP -に設定される。 -.SH 準拠 -System V 版の \fBsigpause\fP() は POSIX.1\-2001 で標準化されている。 -.SH 注意 -.SS 歴史 -.\" __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG -この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナルマスクを \fIsigmask\fP に設定する。 UNIX 95 -では BSD 版と互換性のない System V 版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル \fIsig\fP -をプロセスのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数があるという不幸な事態は、 \fB\%sigsuspend\fP(2) -関数によって解消された。 この関数は (\fIint\fP の代わりに) \fBsigset_t *\fP 引き数をとる。 -.SS "Linux での注意" -Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコールとなっている。 - -libc4 と libc5 には BSD 版しかない。 - -.\" -.\" For the BSD version, one usually uses a zero -.\" .I sigmask -.\" to indicate that no signals are to be blocked. -機能検査マクロ \fB_BSD_SOURCE\fP が定義され、 \fB_POSIX_SOURCE\fP, \fB_POSIX_C_SOURCE\fP, -\fB_XOPEN_SOURCE\fP, \fB_GNU_SOURCE\fP, \fB_SVID_SOURCE\fP のいずれも定義されていない場合、 glibc は -BSD 版を使う。 それ以外の場合には、System V 版を使用する。 -.SH 関連項目 -\fBkill\fP(2), \fBsigaction\fP(2), \fBsigprocmask\fP(2), \fBsigsuspend\fP(2), -\fBsigblock\fP(3), \fBsigvec\fP(3), \fBfeature_test_macros\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigqueue.3 b/draft/man3/sigqueue.3 index dc811976..30abcef4 100644 --- a/draft/man3/sigqueue.3 +++ b/draft/man3/sigqueue.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2002 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" added note on self-signaling, aeb, 2002-06-07 .\" added note on CAP_KILL, mtk, 2004-06-16 @@ -106,6 +108,6 @@ uinfo.si_value = val; /* argument supplied to sigqueue() */ \fBkill\fP(2), \fBrt_sigqueueinfo\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBpthread_sigqueue\fP(3), \fBsigwait\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigset.3 b/draft/man3/sigset.3 index 733e5375..70abeff1 100644 --- a/draft/man3/sigset.3 +++ b/draft/man3/sigset.3 @@ -1,6 +1,7 @@ .\" t .\" Copyright (c) 2005 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -130,6 +132,6 @@ glibc 2.5 以降で修正されている。 \fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigprocmask\fP(2), \fBraise\fP(3), \fBsigpause\fP(3), \fBsigvec\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigsetops.3 b/draft/man3/sigsetops.3 deleted file mode 100644 index f5a6a000..00000000 --- a/draft/man3/sigsetops.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" Copyright (c) 1994 Mike Battersby -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified by aeb, 960721 -.\" 2005-11-21, mtk, added descriptions of sigisemptyset(), sigandset(), -.\" and sigorset() -.\" 2007-10-26 mdw added wording that a sigset_t must be initialized -.\" prior to use -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGSETOPS 3 2008\-09\-01 Linux "Linux Programmer's Manual" -.SH 名前 -sigemptyset, sigfillset, sigaddset, sigdelset, sigismember \- POSIX シグナル集合の操作 -.SH 書式 -\fB#include \fP -.sp -\fBint sigemptyset(sigset_t *\fP\fIset\fP\fB);\fP -.sp -\fBint sigfillset(sigset_t *\fP\fIset\fP\fB);\fP -.sp -\fBint sigaddset(sigset_t *\fP\fIset\fP\fB, int \fP\fIsignum\fP\fB);\fP -.sp -\fBint sigdelset(sigset_t *\fP\fIset\fP\fB, int \fP\fIsignum\fP\fB);\fP -.sp -\fBint sigismember(const sigset_t *\fP\fIset\fP\fB, int \fP\fIsignum\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBsigemptyset\fP(), \fBsigfillset\fP(), \fBsigaddset\fP(), \fBsigdelset\fP(), -\fBsigismember\fP(): -.RS 4 -_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE -.RE -.ad b -.SH 説明 -これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。 -.PP -\fBsigemptyset\fP() は \fIset\fP で与えられたシグナル集合を空に初期化し、シグナルが一つも 含まれていない状態にする。 -.PP -\fBsigfillset\fP() は \fIset\fP で与えられたシグナル集合が全てのシグナルを含むようにする。 -.PP -\fBsigaddset\fP() と \fBsigdelset\fP() は \fIset\fP に \fIsignum\fP -シグナルをそれぞれ加えたり、削除したりする。 -.PP -\fBsigismember\fP() は \fIsignum\fP が \fIset\fP に含まれているかどうかをテストする。 -.PP -\fIsigset_t\fP 型のオブジェクトは、関数 \fBsigaddset\fP(), \fBsigdelset\fP(), \fBsigismember\fP() -や後述の glibc の追加関数 (\fBsigisemptyset\fP(), \fBsigandset\fP(), \fBsigorset\fP()) に渡す前に、 -\fBsigemptyset\fP() か \fBsigfillset\fP() を呼び出して初期化しなければならない。 -初期化しなかった場合の結果は未定義である。 -.SH 返り値 -\fBsigemptyset\fP(), \fBsigfillset\fP(), \fBsigaddset\fP(), \fBsigdelset\fP() は成功すれば 0 -を、エラーの場合は \-1 を返す。 -.PP -\fBsigismember\fP() は \fIsignum\fP が \fIset\fP に含まれていれば 1 を返し、含まれていなければ 0 を返す。 -エラーの場合は \-1 を返す。 -.SH エラー -.TP -\fBEINVAL\fP -\fIsig\fP が有効なシグナルではない。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -.SS "glibc での注意" -\fB_GNU_SOURCE\fP 機能検査マクロが定義されていると、 \fI\fP でシグナル集合を操作する -3つの関数が追加で公開される。 -.TP -\fBint sigisemptyset(sigset_t *\fP\fIset\fP\fB);\fP -\fIset\fP にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。 -.TP -\fBint sigorset(sigset_t *\fP\fIdest\fP\fB, sigset_t *\fP\fIleft\fP\fB, sigset_t *\fP\fIright\fP\fB);\fP -シグナル集合 \fIleft\fP と \fIleft\fP の和集合を \fIdest\fP に書き込む。 -.TP -\fBint sigandset(sigset_t *\fP\fIdest\fP\fB, sigset_t *\fP\fIleft\fP\fB, sigset_t *\fP\fIright\fP\fB);\fP -シグナル集合 \fIleft\fP と \fIleft\fP の積集合を \fIdest\fP に書き込む。 -.PP -\fBsigorset\fP() と \fBsigandset\fP() は成功すると 0 を、失敗すると \-1 を返す。 -.PP -これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつかはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき -である。 -.SH 関連項目 -\fBsigaction\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2), \fBsigsuspend\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigvec.3 b/draft/man3/sigvec.3 deleted file mode 100644 index 23ebd2dc..00000000 --- a/draft/man3/sigvec.3 +++ /dev/null @@ -1,139 +0,0 @@ -.\" t -.\" Copyright (c) 2005 by Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGVEC 3 2007\-07\-26 Linux "Linux Programmer's Manual" -.SH 名前 -sigvec, sigblock, sigsetmask, siggetmask, sigmask \- BSD 版シグナル API -.SH 書式 -\fB#include \fP -.sp -\fBint sigvec(int \fP\fIsig\fP\fB, struct sigvec *\fP\fIvec\fP\fB, struct sigvec -*\fP\fIovec\fP\fB);\fP -.sp -\fBint sigmask(int \fP\fIsignum\fP\fB);\fP -.sp -\fBint sigblock(int \fP\fImask\fP\fB);\fP -.sp -\fBint sigsetmask(int \fP\fImask\fP\fB);\fP -.sp -\fBint siggetmask(void);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -上記の全ての関数: _BSD_SOURCE -.SH 説明 -これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対して互換性のあるインタフェースを glibc -で提供するものである。 この API は過去のものであり、新しいアプリケーションでは POSIX シグナル API (\fBsigaction\fP(2), -\fBsigprocmask\fP(2) など) を使用すべきである。 - -関数 \fBsigvec\fP() は、(POSIX の \fBsigaction\fP(2) と同様に) シグナル \fIsig\fP の動作の設定・取得を行う。 -\fIvec\fP は、NULL 以外の場合、 \fIsig\fP の新しい動作を定義した \fIsigvec\fP 構造体へのポインタである。 \fIovec\fP -は、NULL 以外の場合、 \fIsig\fP の変更前の動作を返すために使用される \fIsigvec\fP 構造体へのポインタである。 \fIsig\fP -の動作を変更せずに現在の動作を取得するためには、 \fIvec\fP に NULL を指定し、 \fIovec\fP に NULL でないポインタを指定すればよい。 - -シグナル \fBSIGKILL\fP と \fBSIGSTOP\fP に対する動作は変更できない。 - -\fIsigvec\fP 構造体は以下の通りである: -.in +4n -.nf - -struct sigvec { - void (*sv_handler)(); /* Signal disposition */ - int sv_mask; /* Signals to be blocked in handler */ - int sv_flags; /* Flags */ -}; - -.fi -.in -\fIsv_handler\fP フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関数のアドレスか、 \fBSIG_DFL\fP と -\fBSIG_IGN\fP のいずれかを指定できる。 \fBSIG_DFL\fP はシグナルに適用されるデフォルトの動作を意味し、 \fBSIG_IGN\fP -はシグナルを無視することを意味する。 - -\fIsv_handler\fP にシグナルハンドラのアドレスを指定した場合、 \fIsv_mask\fP -はハンドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを起動したシグナル自身はデフォルトでブロックされる。 -\fBSIGKILL\fP か \fBSIGSTOP\fP をブロックしようとした場合には、黙って無視される。 - -\fIsv_handler\fP にシグナルハンドラのアドレスを指定した場合、 \fIsv_flags\fP -フィールドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには、0 か、以下のフラグを 1個以上指定できる: -.TP -\fBSV_INTERRUPT\fP -シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰しても、システムコールは再開されず、 エラー \fBEINTR\fP で失敗する。 -このフラグを指定しなかった場合、システムコールは デフォルトで再開される。 -.TP -\fBSV_RESETHAND\fP -シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 このフラグを指定しなかった場合、もう一度 \fBsigvec\fP() -を呼び出して明示的に削除されるか、プロセスが \fBexecve\fP(2) を実行するまで、ハンドラは設定されたままとなる。 -.TP -\fBSV_ONSTACK\fP -代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シグナルスタックは廃止された関数 \fBsigstack\fP() -を使って設定する。POSIX では、代わりに \fBsigaltstack\fP(2) を使用する)。 -.PP -関数 \fBsigmask\fP() は \fIsignum\fP に対する「シグナルマスク」を構成して返す。 例えば、以下のようなコードを使うと、 -\fBsigvec\fP() に渡す \fIvec.sv_mask\fP を初期化できる。 -.nf - - vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT); - /* Block SIGQUIT and SIGABRT during - handler execution */ -.fi -.PP -\fBsigblock\fP() 関数は、 \fImask\fP にあるシグナルをプロセスのシグナルマスクに追加し (POSIX の -\fIsigprocmask(SIG_BLOCK)\fP と同様)、変更前のプロセスのシグナルマスクを返す。 \fBSIGKILL\fP や \fBSIGSTOP\fP -をブロックしようとした場合には、黙って無視される。 -.PP -\fBsigsetmask\fP() 関数はプロセスのシグナルマスクを \fImask\fP で指定された値に設定し (POSIX の -\fIsigprocmask(SIG_SETMASK)\fP と同様)、変更前のプロセスのシグナルマスクを返す。 -.PP -\fBsiggetmask\fP() 関数はプロセスの現在のシグナルマスクを返す。この関数は \fIsigblock(0)\fP と等価である。 -.SH 返り値 -\fBsigvec\fP() 関数は成功すると 0 を返す。エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値をセットする。 - -\fBsigblock\fP() と \fBsigsetmask\fP() は変更前のシグナルマスクを返す。 - -\fBsigmask\fP() 関数は \fIsignum\fP のシグナルマスクを返す。 -.SH エラー -\fBsigaction\fP(2) と \fBsigprocmask\fP(2) の「エラー」の節を参照。 -.SH 準拠 -これらの関数のうち \fBsiggetmask\fP() 以外の全ては 4.3BSD にあった。 \fBsiggetmask\fP() の出自ははっきりしない。 -これらの関数は廃止予定であり、新しいプログラムでは使用しないこと。 -.SH 注意 -4.3BSD では、信頼性のあるシグナル処理機構を提供する (\fIvec.sv_mask\fP を 0 で \fBsigvec\fP() -を呼び出したときと同様)。 System V が提供する処理機構は信頼性のないものである。 POSIX.1\-2001 では、 \fBsignal\fP() -のこの点は規定しないままとなっている。 さらなる詳細については \fBsignal\fP(2) を参照。 - -BSD と System V のどちらのシステムでも シグナルを待つために、 \fBsigpause\fP(3) という名前の関数が提供されているが、 -この関数の引き数は両方のシステムで異なる。 詳細は \fBsigpause\fP(3) を参照。 -.SH 関連項目 -\fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigprocmask\fP(2), -\fBraise\fP(3), \fBsigpause\fP(3), \fBsigset\fP(3), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sigwait.3 b/draft/man3/sigwait.3 deleted file mode 100644 index 73d67f34..00000000 --- a/draft/man3/sigwait.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" Copyright (c) 2008, Linux Foundation, written by Michael Kerrisk -.\" -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SIGWAIT 3 2010\-09\-10 Linux "Linux Programmer's Manual" -.SH 名前 -sigwait \- シグナルを待つ -.SH 書式 -.nf -\fB#include \fP - -\fB int sigwait(const sigset_t *\fP\fIset\fP\fB, int *\fP\fIsig\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBsigwait\fP(): _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE -.ad b -.SH 説明 -\fBsigwait\fP() 関数は、シグナル集合 \fIset\fP で指定されたシグナルの一つが配送されるまで、 呼び出したスレッドの実行を中断する。 -この関数はそのシグナルを受け取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグナル番号を \fIsig\fP に格納して返す。 - -\fBsigwait\fP() の動作は \fBsigwaitinfo\fP(2) と同じだが、以下の点が異なる。 -.IP * 2 -\fBsigwait\fP() は、シグナルの内容を表す \fIsiginfo_t\fP 構造体を返すのではなく、単にシグナル番号を返す。 -.IP * -返り値が \fBsigwaitinfo\fP(2) とは異なる。 -.SH 返り値 -成功すると、 \fBsigwait\fP() は 0 を返す。 エラーの場合、(「エラー」の節のリストにある) 正のエラー番号を返す。 -.SH エラー -.TP -\fBEINVAL\fP -.\" Does not occur for glibc. -\fIset\fP に無効なシグナル番号が入っている。 -.SH 準拠 -POSIX.1\-2001. -.SH 注意 -\fBsigwait\fP() は \fBsigtimedwait\fP(2) を使って実装されている。 -.SH 例 -\fBpthread_sigmask\fP(3) を参照。 -.SH 関連項目 -\fBsigaction\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), \fBsigsuspend\fP(2), -\fBsigwaitinfo\fP(2), \fBsigsetops\fP(3), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sin.3 b/draft/man3/sin.3 index 6764ebb6..024987a0 100644 --- a/draft/man3/sin.3 +++ b/draft/man3/sin.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -92,6 +94,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBacos\fP(3), \fBasin\fP(3), \fBatan\fP(3), \fBatan2\fP(3), \fBcos\fP(3), \fBcsin\fP(3), \fBsincos\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sincos.3 b/draft/man3/sincos.3 index ca6a2185..3c969388 100644 --- a/draft/man3/sincos.3 +++ b/draft/man3/sincos.3 @@ -1,8 +1,11 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) -.\" Distributed under GPL, 2002-07-27 Walter Harms .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) +.\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -56,6 +59,6 @@ sincos, sincosf, sincosl \- 正弦と余弦を同時に計算する .SH 関連項目 \fBcos\fP(3), \fBsin\fP(3), \fBtan\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sinh.3 b/draft/man3/sinh.3 index e6d1ca81..a14b83d0 100644 --- a/draft/man3/sinh.3 +++ b/draft/man3/sinh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -98,6 +100,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBacosh\fP(3), \fBasinh\fP(3), \fBatanh\fP(3), \fBcosh\fP(3), \fBcsinh\fP(3), \fBtanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sleep.3 b/draft/man3/sleep.3 deleted file mode 100644 index c400efbc..00000000 --- a/draft/man3/sleep.3 +++ /dev/null @@ -1,55 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Sat Jul 24 18:16:02 1993 by Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SLEEP 3 2010\-02\-03 GNU "Linux Programmer's Manual" -.SH 名前 -sleep \- 指定の秒数の間だけ休止する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBunsigned int sleep(unsigned int \fP\fIseconds\fP\fB);\fP -.fi -.SH 説明 -\fBsleep\fP() は、呼び出したスレッドを \fIseconds\fP 秒間または無視されないシグナルが到着するまで休止する。 -.SH 返り値 -要求された時間が過ぎた場合はゼロを返す。 呼び出しがシグナルハンドラーに割り込まれた場合は、 休止の残り時間を返す。 -.SH 準拠 -POSIX.1\-2001. -.SH バグ -\fBsleep\fP() は \fBSIGALRM\fP を用いて実装されている。そのため、 \fBalarm\fP(2) と \fBsleep\fP() -を混ぜて使用するのは、まずい考えである。 -.PP -休止中にシグナルハンドラーから \fBlongjmp\fP(3) を使用することや \fBSIGALRM\fP -のハンドリングを変更することは、定義されていない結果を生む。 -.SH 関連項目 -\fBalarm\fP(2), \fBnanosleep\fP(2), \fBsignal\fP(2), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sockatmark.3 b/draft/man3/sockatmark.3 index db81d3a8..09f5b2ee 100644 --- a/draft/man3/sockatmark.3 +++ b/draft/man3/sockatmark.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2006, Michael Kerrisk (mtk.manpages@gmail.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -105,6 +107,6 @@ glibc 2.4 より前のバージョンでは、 \fBsockatmark\fP() は動作し .SH 関連項目 \fBfcntl\fP(2), \fBrecv\fP(2), \fBsend\fP(2), \fBtcp\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sqrt.3 b/draft/man3/sqrt.3 index a027e207..7a021c9f 100644 --- a/draft/man3/sqrt.3 +++ b/draft/man3/sqrt.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -87,6 +89,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBcbrt\fP(3), \fBcsqrt\fP(3), \fBhypot\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/statvfs.3 b/draft/man3/statvfs.3 index 92c1f09c..85ceb135 100644 --- a/draft/man3/statvfs.3 +++ b/draft/man3/statvfs.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" The pathconf note is from Walter Harms .\" This is not a system call on Linux @@ -135,6 +137,6 @@ Linux カーネルには、このライブラリコールをサポートする .SH 関連項目 \fBstatfs\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stdarg.3 b/draft/man3/stdarg.3 deleted file mode 100644 index 5a26cc35..00000000 --- a/draft/man3/stdarg.3 +++ /dev/null @@ -1,202 +0,0 @@ -.\" Copyright (c) 1990, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" the American National Standards Committee X3, on Information -.\" Processing Systems. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)stdarg.3 6.8 (Berkeley) 6/29/91 -.\" -.\" Converted for Linux, Mon Nov 29 15:11:11 1993, faith@cs.unc.edu -.\" Additions, 2001-10-14, aeb -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STDARG 3 2001\-10\-14 "" "Linux Programmer's Manual" -.SH 名前 -stdarg, va_start, va_arg, va_end, va_copy \- 個数・型が可変な引数リスト -.SH 書式 -\fB#include \fP -.sp -\fBvoid va_start(va_list \fP\fIap\fP\fB, \fP\fIlast\fP\fB);\fP -.br -\fItype\fP\fB va_arg(va_list \fP\fIap\fP\fB, \fP\fItype\fP\fB);\fP -.br -\fBvoid va_end(va_list \fP\fIap\fP\fB);\fP -.br -\fBvoid va_copy(va_list \fP\fIdest\fP\fB, va_list \fP\fIsrc\fP\fB);\fP -.SH 説明 -関数は呼び出しに際して、個数や型が可変な引数をとることができる。 インクルードファイル \fI\fP では -\fIva_list\fP 型が宣言されており、3 つのマクロが定義されている。これらを用いると、 -呼び出された関数側では個数や型を知らない引き数のリストを、順に一 つづつ読み込むことができる。 -.PP -呼び出される関数では、 \fIva_list\fP 型のオブジェクトが宣言されていなければならない。このオブジェクトが \fBva_start\fP(), -\fBva_arg\fP(), \fBva_end\fP() の各マクロによって扱われる。 -.SS va_start() -\fBva_start\fP() マクロは最初に呼び出さなければならない。これは \fIap\fP を初期化し、 \fBva_arg\fP() と -\fBva_end\fP() で用いることができるようにする。 -.PP -引き数 \fIlast\fP は引き数リストのうち、可変な部分の直前に置かれる引き数の名前であ る。つまり呼び出された関数が型を知っている最後の引き数である。 -.PP -この引き数はレジスタ変数や関数、配列として 宣言してはならない。この引き数のアドレスが \fBva_start\fP() -マクロで用いられるかもしれないからである。 -.SS va_arg() -\fBva_arg\fP() マクロは、呼び出し時に指定された引き数のうち、 次の位置にあるものを指定した型 \fItype\fP の値として取得する。 引き数 -\fIap\fP は \fIva_list\fP \fIap\fP で、 \fBva_start\fP() によって初期化されている必要がある。 \fBva_arg\fP() -を呼び出すごとに \fIap\fP は変更され、次回の呼び出しの際に、さらに次の引き数を返すようになる。 引き数 \fItype\fP は型の名前である。 -\fItype\fP の前に * を付ければ、オブジェクトへの型付きポインタが得られる。 -.PP -\fBva_start\fP() マクロの直後に \fBva_arg\fP() を最初に実行すると、 \fIlast\fP -の次の引き数が返る。続けて実行すると、残りの引き数がそれぞれ返る。 -.PP -次の引き数がなかったり、 \fItype\fP が次の引き数の実際の型と互換でない場合 (デフォルトの引き数変換で扱 えなかった場合) -には、予測できないエラーが起こる。 -.PP -\fIap\fP が \fBva_arg(\fP\fIap\fP\fB,\fP\fItype\fP\fB)\fP の形で関数に渡されると、 \fIap\fP -の値は関数から返って来た後は不定となる。 -.SS va_end() -\fBva_start\fP() が実行される毎に、同じ関数内で対応する \fBva_end\fP() が実行されなければならない。 -\fBva_end(\fP\fIap\fP\fB)\fP が呼び出された後、変数 \fIap\fP の値は不定となる。 \fBva_start\fP() と \fBva_end\fP() -の組を何回も並べて使うことも可能である。 \fBva_end\fP() はマクロかもしれないし関数かもしれない。 -.SS va_copy() -.\" Proposal from clive@demon.net, 1997-02-28 -すぐ分かる \fIva_list\fP の実装は、variadic な関数のスタックフレームのポインタである。 このような場合(ほとんどはそうである)、 -単に以下のようにすればいいように思える。 -.in +4n -.nf - -va_list aq = ap; - -.fi -.in -残念ながら、(長さ 1の)ポインタの配列として扱うシステムもある。 そのような場合、以下のようにする必要がある。 -.in +4n -.nf - -va_list aq; -*aq = *ap; - -.fi -.in -最後に、引き数をレジスタで渡すシステムの場合、 \fBva_start\fP() でメモリを割り当て、引き数を格納し、 -次の引き数がどれかを指し示すようにする必要がある。 そして \fBva_arg\fP() でリストを順番にたどり、 \fBva_end\fP() -で割り当てたメモリを開放する。 このような状況に対応するため、C99 では \fBva_copy\fP() マクロを追加し、 -前述のような割り当ては以下のように置き換えられるようにした。 -.in +4n -.nf - -va_list aq; -va_copy(aq, ap); -\&... -va_end(aq); - -.fi -.in -\fBva_copy\fP() が実行されるごとに、 対応する \fBva_end\fP() を同じ関数内で実行しなければならない。 この名前はまだ draft -proposal なので、 \fBva_copy\fP() の代わりに \fB__va_copy\fP を用いるシステムもある。 -.SH 準拠 -\fBva_start\fP(), \fBva_arg\fP(), \fBva_end\fP() マクロは C89 準拠である。 \fBva_copy\fP() は C99 -で定義されている。 -.SH 注意 -これらのマクロは、以前から用いられてきた同等のマクロ群と 互換では\fIない\fP。過去のものと互換なバージョンは、 インクルードファイル -\fI\fP に存在する。 -.PP -歴史的なセットアップは以下のとおりである。 -.in +4n -.nf - -#include - -void -foo(va_alist) - va_dcl -{ - va_list ap; - - va_start(ap); - while (...) { - ... - x = va_arg(ap, type); - ... - } - va_end(ap); -} - -.fi -.in -\fIva_start\fP マクロに \(aq}\(aq を含み、 \fIva_end\fP マクロに対応する \(aq{\(aq を含むシステムもあるので、 -この二つのマクロは同じ関数になければならない。 -.SH バグ -\fBvarargs\fP マクロとは異なり、 \fBstdarg\fP マクロでは固定引き数なしで関数を指定することが許されていない。 これは -\fBvarargs\fP ベースのコードを \fBstdarg\fP のコードに書き換えるときに、面倒な作業のもとになる。 また、すべての引き数を -\fIva_list\fP として可変個指定したいような場合 (\fBvfprintf\fP(3) など) にも障害となる。 -.SH 例 -関数 \fIfoo\fP は書式文字からなる文字列を受け入れ、その書式文字に対応する型で可変個の 引き数を読み込み、印字する。 -.nf - -#include -#include - -void -foo(char *fmt, ...) -{ - va_list ap; - int d; - char c, *s; - - va_start(ap, fmt); - while (*fmt) - switch (*fmt++) { - case \(aqs\(aq: /* string */ - s = va_arg(ap, char *); - printf("string %s\en", s); - break; - case \(aqd\(aq: /* int */ - d = va_arg(ap, int); - printf("int %d\en", d); - break; - case \(aqc\(aq: /* char */ - /* need a cast here since va_arg only - takes fully promoted types */ - c = (char) va_arg(ap, int); - printf("char %c\en", c); - break; - } - va_end(ap); -} -.fi -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stdin.3 b/draft/man3/stdin.3 index 20866fb3..b11d41e9 100644 --- a/draft/man3/stdin.3 +++ b/draft/man3/stdin.3 @@ -1,9 +1,13 @@ .\" From dholland@burgundy.eecs.harvard.edu Tue Mar 24 18:08:15 1998 .\" .\" This man page was written in 1998 by David A. Holland -.\" and placed in the Public Domain. Polished a bit by aeb. -.\" 2005-06-16 mtk, mentioned freopen() +.\" Polished a bit by aeb. +.\" +.\" %%%LICENSE_START(PUBLIC_DOMAIN) +.\" Placed in the Public Domain. +.\" %%%LICENSE_END .\" +.\" 2005-06-16 mtk, mentioned freopen() .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" .\"******************************************************************* @@ -67,6 +71,6 @@ stdin, stdout, stderr \- 標準入出力ストリーム .SH 関連項目 \fBcsh\fP(1), \fBsh\fP(1), \fBopen\fP(2), \fBfopen\fP(3), \fBstdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stdio.3 b/draft/man3/stdio.3 deleted file mode 100644 index cdab0f9b..00000000 --- a/draft/man3/stdio.3 +++ /dev/null @@ -1,170 +0,0 @@ -.\" Copyright (c) 1990, 1991 Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)stdio.3 6.5 (Berkeley) 5/6/91 -.\" -.\" Converted for Linux, Mon Nov 29 16:07:22 1993, faith@cs.unc.edu -.\" Modified, 2001-12-26, aeb -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STDIO 3 2001\-12\-26 "" "Linux Programmer's Manual" -.SH 名前 -stdio \- 標準入出力ライブラリ関数 -.SH 書式 -\fB#include \fP -.sp -\fBFILE *\fP\fIstdin\fP\fB;\fP -.br -\fBFILE *\fP\fIstdout\fP\fB;\fP -.br -\fBFILE *\fP\fIstderr\fP\fB;\fP -.SH 説明 -標準入出力ライブラリは、簡単かつ効果のよい、 バッファリングされたストリーム入出力インターフェースを提供する。 -入力と出力は論理データストリームに割り付けられ、 入出力の物理的な特徴は隠蔽される。 このライブラリに属する関数とマクロを以下に挙げる。 -より詳しい情報は個々の man ページから得ることができる。 -.PP -ファイルを \fIオープン (open) する\fP ことによって、 ストリームは外部ファイル (通常は物理デバイス) に連結される。 -この操作には新しくファイルを作成することも含まれる。 既存のファイルと同じ名前のファイルを新たに作ると、 もとのファイルの中身が捨てられてしまう。 -ファイルが位置指定リクエストをサポートしている (ディスクファイルなどが相当する。逆の例としては端末が挙げられる) 場合、 そのストリームに連結された -\fIファイル位置指示子 (file position indicator)\fP は、追加モードで開かれない限りファイルの先頭 (0 バイト目) -に位置する。 追加モードを使用した場合、 位置指示子をファイルの先頭に置かれるか末尾に置かれるかは規定されていない。 位置指示子は、 -以降の読み書きや位置指定リクエストによって変更される。 すべての入力は、 \fBfgetc\fP(3) -関数を次々に呼び出して文字を読み込んだかのように行われる。 一方すべての出力は、 \fBfputc\fP(3) -関数を次々に呼び出して文字を書き込んだかのように行われる。 -.PP -ファイルを \fIクローズ (close) する\fP ことによって、そのファイルはストリームから切り離される。 -出力ストリームは、そのストリームがファイルから切り離される前にフラッシュされる (書き込まれていないすべてのバッファの内容がホスト環境に転送される)。 -\fIFILE\fP オブジェクトへのポインタの値は、 ファイルを閉じた後では不確定になる (ゴミになってしまう)。 -.PP -ファイルはその後 (同じまたは別のプログラムによって) 再びオープンされることもあり、 その内容が修正されたり変更されたりする -(そのファイルで先頭への位置移動が可能であれば)。 main 関数がもとの呼び出し側に返ったり、 \fBexit\fP(3) 関数が呼ばれた場合、 -プログラムの終了の前に 現在開いているすべてのファイルは閉じられる (その結果、すべての出力ストリームはフラッシュされる)。 プログラムの停止に -\fBabort\fP(3) のような他の方法を用いた場合には、 ファイルが正しく閉じられる保証はない。 -.PP -プログラムの起動時に 3 個のテキストストリームが予め定義されており、 それらは明示的に開く必要がない。 \fI標準入力 (standard -input)\fP (通常の入力を読み取るのに使う)、 \fI標準出力 (standard output)\fP (通常の出力を書き込むのに使う)、 -\fI標準エラー出力 (standard error)\fP (診断出力を書き込むのに使う) である。 これらのストリームは \fIstdin\fP, -\fIstdout\fP, \fIstderr\fP と短縮して表現される。 オープンされたときには、 標準エラーストリームは 完全にはバッファリングされていない。 -標準入力ストリームと標準出力ストリームは、 ストリームがインタラクティブなデバイスを参照していなければ、 完全にバッファリングされている。 -.PP -端末デバイスを参照する出力ストリームは、 デフォルトでは常に行単位でバッファリングされている。 ただしそのようなストリームにおけるバッファ内の出力は、 -端末デバイスを参照している入力ストリームからの読み込みがあるたびに、 自動的に書き込まれる。 出力端末に行の一部を書き込んだ後で大量の計算を行う場合、 -出力が表示されるように、計算に取りかかる前に標準出力に対して \fBfflush\fP(3) を実行する必要がある。 -.PP -\fIstdio\fP ライブラリは \fBlibc\fP ライブラリの一部であり、ルーチンは コンパイラー \fBcc\fP(1) と \fBpc\fP(1) -によって必要な時に自動的に読み込まれる。 後述する man ページ中の「書式」の節には、 どのインクルードファイルを使用しなければならないか、 -その関数のコンパイラー宣言はどのようなものか、 どのような外部変数が関係するのかが示されている。 -.PP -.\" Not on Linux: .BR fropen , -.\" Not on Linux: .BR fwopen , -\fBBUFSIZ\fP, \fBEOF\fP, \fBFILENAME_MAX\fP, \fBFOPEN_MAX\fP, \fBL_cuserid\fP, -\fBL_ctermid\fP, \fBL_tmpnam\fP, \fBNULL\fP, \fBSEEK_END\fP, \fBSEEK_SET\fP, \fBSEEK_CUR\fP, -\fBTMP_MAX\fP, \fBclearerr\fP, \fBfeof\fP, \fBferror\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP, -\fBputc\fP, \fBputchar\fP, \fBstderr\fP, \fBstdin\fP, \fBstdout\fP はマクロとして定義されている。 -これらの名前は、現在の定義を \fB#undef\fP で削除しない限り、再利用することはできない。 マクロ関数の関数版として、 \fBfeof\fP, -\fBferror\fP, \fBclearerr\fP, \fBfileno\fP, \fBgetc\fP, \fBgetchar\fP, \fBputc\fP, \fBputchar\fP -がある。 マクロの定義が明示的に消去されている場合には、 これらを使用することになるだろう。 -.SS 関数のリスト -.TS -; -lb lb -lb l. -関数 説明 -_ -clearerr ストリームの状態の確認とリセット -fclose ストリームをクローズする -fdopen ストリームをオープンする -feof ストリームの状態の確認とリセット -ferror ストリームの状態の確認とリセット -fflush ストリームをフラッシュする -fgetc 次の文字または語を入力ストリームから獲得する -fgetpos ストリームの位置を取得する -fgets ストリームから行を取得する -fileno 引き数であるストリームの整数値のディスクリプタを返す -fopen ストリームをオープンする -fprintf 書式付き出力変換 -fpurge ストリームをフラッシュする -fputc 文字または語をストリームに出力する -fputs 行をストリームに出力する -fread バイナリーストリーム入出力 -freopen ストリームをオープンする -fscanf 書式付き入力変換 -fseek ストリームの位置指示子を移動する -fsetpos ストリームの位置指示子を移動する -ftell ストリームの位置を取得する -fwrite バイナリーストリーム入出力 -getc 次の文字または語を入力ストリームから取得する -getchar 次の文字または語を入力ストリームから取得する -gets 行を入力ストリームから取得する -getw 次の文字または語を入力ストリームから取得する -mktemp 他と重ならないテンポラリファイル名を作る -perror システムエラーメッセージ -printf 書式付き出力変換 -putc 文字または語をストリームに出力する -putchar 文字または語をストリームに出力する -puts 行をストリームに出力する -putw 文字または語をストリームに出力する -remove ディレクトリエントリを削除する -rewind ストリームの位置指示子を移動する -scanf 書式付き入力変換 -setbuf ストリームのバッファリングの操作 -setbuffer ストリームのバッファリングの操作 -setlinebuf ストリームのバッファリングの操作 -setvbuf ストリームのバッファリングの操作 -sprintf 書式付き出力変換 -sscanf 書式付き入力変換 -strerror システムエラーメッセージ -sys_errlist システムエラーメッセージ -sys_nerr システムエラーメッセージ -tempnam テンポラリファイルの操作 -tmpfile テンポラリファイルの操作 -tmpnam テンポラリファイルの操作 -ungetc 入力ストリームへ 1 文字戻す。 -vfprintf 書式付き出力変換 -vfscanf 書式付き入力変換 -vprintf 書式付き出力変換 -vscanf 書式付き入力変換 -vsprintf 書式付き出力変換 -vsscanf 書式付き入力変換 -.TE -.SH 準拠 -\fIstdio\fP ライブラリは C89 に準拠している。 -.SH 関連項目 -\fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBwrite\fP(2), \fBstdout\fP(3), -\fBunlocked_stdio\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stdio_ext.3 b/draft/man3/stdio_ext.3 index e2b362fd..9e7dbc10 100644 --- a/draft/man3/stdio_ext.3 +++ b/draft/man3/stdio_ext.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -96,6 +98,6 @@ Solaris では、 \fIFILE\fP 構造体の内部へポータブルなかたちで .SH 関連項目 \fBflockfile\fP(3), \fBfpurge\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stpcpy.3 b/draft/man3/stpcpy.3 index 8b787f6a..3611ce3c 100644 --- a/draft/man3/stpcpy.3 +++ b/draft/man3/stpcpy.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1995 James R. Van Zandt .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +93,6 @@ main(void) \fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBmemmove\fP(3), \fBstpncpy\fP(3), \fBstrcpy\fP(3), \fBstring\fP(3), \fBwcpcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/stpncpy.3 b/draft/man3/stpncpy.3 index 25d3f4e6..2e6ba8a7 100644 --- a/draft/man3/stpncpy.3 +++ b/draft/man3/stpncpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -58,6 +60,6 @@ NULL バイト (\(aq\e0\(aq) 文字が埋められる。 長さ \fIstrlen(src)\f .SH 関連項目 \fBstrncpy\fP(3), \fBwcpncpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strcasecmp.3 b/draft/man3/strcasecmp.3 index 7fe1da5c..503ee9b0 100644 --- a/draft/man3/strcasecmp.3 +++ b/draft/man3/strcasecmp.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -56,6 +58,6 @@ strcasecmp, strncasecmp \- 二つの文字列を大文字小文字を区別せ \fBbcmp\fP(3), \fBmemcmp\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), \fBstring\fP(3), \fBstrncmp\fP(3), \fBwcscasecmp\fP(3), \fBwcsncasecmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strcat.3 b/draft/man3/strcat.3 deleted file mode 100644 index 38432918..00000000 --- a/draft/man3/strcat.3 +++ /dev/null @@ -1,93 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 18:11:47 1993 by Rik Faith (faith@cs.unc.edu) -.\" 2007-06-15, Marc Boyer + mtk -.\" Improve discussion of strncat(). -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STRCAT 3 2012\-05\-10 GNU "Linux Programmer's Manual" -.SH 名前 -strcat, strncat \- 二つの文字列を連結する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBchar *strcat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP -.sp -\fBchar *strncat(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP -.fi -.SH 説明 -\fBstrcat\fP() 関数は、\fIdest\fP 文字列の後に \fIsrc\fP 文字列を付け加える。 その際に、\fIdest\fP の最後にある終端の -NULL バイト (\(aq\e0\(aq) は上書きされ、新たに生成された文字列の末尾に終端の NULL バイトが付与される。 二つの文字列 -\fIsrc\fP と \fIdest\fP は重なってはならない。 また、文字列 \fIdest\fP は、連結後の結果を格納するのに 十分な大きさでなければならない。 -.PP -\fBstrncat\fP() も同様だが、以下の点が異なる。 -.IP * 3 -\fIsrc\fP のうち最大 \fIn\fP バイトが使用される。 -.IP * -\fIsrc\fP が \fIn\fP バイト以上の場合、 -\fIsrc\fP は NULL 終端されている必要はない。 -.PP -\fBstrcat\fP() と同じく、\fIdest\fP に格納される結果の文字列は常に NULL 終端される。 -.PP -\fIsrc\fP が \fIn\fP バイト以上の場合、 \fBstrncat\fP() は \fIdest\fP に \fIn+1\fP -バイトを書き込む (\fIsrc\fP からの \fIn\fP バイトと終端の NULL バイトである)。 -したがって、\fIdest\fP の大きさは最低でも \fIstrlen(dest)+n+1\fP でなければ -ならない。 - -\fBstrncat\fP() の簡単な実装は以下のような感じであろう: -.in +4n -.nf - -char* -strncat(char *dest, const char *src, size_t n) -{ - size_t dest_len = strlen(dest); - size_t i; - - for (i = 0 ; i < n && src[i] != \(aq\e0\(aq ; i++) - dest[dest_len + i] = src[i]; - dest[dest_len + i] = \(aq\e0\(aq; - - return dest; -} -.fi -.in -.SH 返り値 -\fBstrcat\fP() 関数と \fBstrncat\fP() 関数は、結果としてできる文字列 \fIdest\fP へのポインタを返す。 -.SH 準拠 -SVr4, 4.3BSD, C89, C99. -.SH 関連項目 -\fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBstrcpy\fP(3), \fBstring\fP(3), -\fBstrncpy\fP(3), \fBwcscat\fP(3), \fBwcsncat\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strchr.3 b/draft/man3/strchr.3 index fc9f2aa2..884d2ee8 100644 --- a/draft/man3/strchr.3 +++ b/draft/man3/strchr.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -76,6 +78,6 @@ NULL でなく、\fIs\fP の末尾のヌルバイトへのポインタを返す \fBstrpbrk\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3), \fBwcschr\fP(3), \fBwcsrchr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strcmp.3 b/draft/man3/strcmp.3 index d4295284..473ada90 100644 --- a/draft/man3/strcmp.3 +++ b/draft/man3/strcmp.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -32,7 +34,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH STRCMP 3 2012\-05\-10 "" "Linux Programmer's Manual" +.TH STRCMP 3 2012\-11\-25 "" "Linux Programmer's Manual" .SH 名前 strcmp, strncmp \- 二つの文字列を比べる .SH 書式 @@ -59,6 +61,6 @@ SVr4, 4.3BSD, C89, C99. \fBbcmp\fP(3), \fBmemcmp\fP(3), \fBstrcasecmp\fP(3), \fBstrcoll\fP(3), \fBstring\fP(3), \fBstrncasecmp\fP(3), \fBstrverscmp\fP(3), \fBwcscmp\fP(3), \fBwcsncmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strcoll.3 b/draft/man3/strcoll.3 index ea097b49..377a245e 100644 --- a/draft/man3/strcoll.3 +++ b/draft/man3/strcoll.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -54,6 +56,6 @@ SVr4, 4.3BSD, C89, C99. \fBbcmp\fP(3), \fBmemcmp\fP(3), \fBsetlocale\fP(3), \fBstrcasecmp\fP(3), \fBstrcmp\fP(3), \fBstring\fP(3), \fBstrxfrm\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strcpy.3 b/draft/man3/strcpy.3 deleted file mode 100644 index 72387f56..00000000 --- a/draft/man3/strcpy.3 +++ /dev/null @@ -1,107 +0,0 @@ -.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 18:06:49 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Fri Aug 25 23:17:51 1995 by Andries Brouwer (aeb@cwi.nl) -.\" Modified Wed Dec 18 00:47:18 1996 by Andries Brouwer (aeb@cwi.nl) -.\" 2007-06-15, Marc Boyer + mtk -.\" Improve discussion of strncpy(). -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STRCPY 3 2012\-05\-10 GNU "Linux Programmer's Manual" -.SH 名前 -strcpy, strncpy \- 文字列をコピーする -.SH 書式 -.nf -\fB#include \fP -.sp -\fBchar *strcpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB);\fP -.sp -\fBchar *strncpy(char *\fP\fIdest\fP\fB, const char *\fP\fIsrc\fP\fB, size_t \fP\fIn\fP\fB);\fP -.fi -.SH 説明 -\fBstrcpy\fP() 関数は \fIsrc\fP が指す文字列を末尾のヌルバイト (\(aq\e0\(aq) も含めて \fIdest\fP -が指すバッファにコピーする。 二つの文字列は重なってはならない。受け側の文字列 \fIdest\fP は コピーを受け取るのに十分な大きさでなければならない。 -.PP -\fBstrncpy\fP() 関数も同様だが、 \fIsrc\fP のうち最大でも \fIn\fP バイトしかコピーされない点が異なる。 \fB警告\fP: \fIsrc\fP -の最初の \fIn\fP バイトの中にヌルバイトがない場合、 \fIdest\fP に格納される文字列はヌルで終端されないことになる。 -.PP -\fIsrc\fP の長さが \fIn\fP よりも短い場合、 \fBstrncpy\fP() は \fIdest\fP の残りをヌルバイトで埋める。 -.PP -\fBstrncpy\fP() の簡単な実装は以下のような感じであろう: -.in +4n -.nf - -char * -strncpy(char *dest, const char *src, size_t n) -{ - size_t i; - - for (i = 0; i < n && src[i] != \(aq\e0\(aq; i++) - dest[i] = src[i]; - for ( ; i < n; i++) - dest[i] = \(aq\e0\(aq; - - return dest; -} -.fi -.in -.SH 返り値 -\fBstrcpy\fP() 関数と \fBstrncpy\fP() 関数は 受け側の文字列\fIdest\fPへのポインタを返す。 -.SH 準拠 -SVr4, 4.3BSD, C89, C99. -.SH 注意 -\fBstrncpy\fP() は効率的でなく間違いを起こしやすいと考えるプログラマもいるだろう。 プログラマが \fIdest\fP の大きさが \fIsrc\fP -の長さよりも 大きいことを知っている (つまり、そのことをチェックするコードを 書いている) 場合は、 \fBstrcpy()\fP を使うことができる。 - -\fIsrc\fP の最初の \fIn\fP バイトに終端のヌルバイトがない場合、 \fBstrncpy\fP() -は \fIdest\fP に終端されていない文字列を生成する。 プログラマは間違いを防 -止するために、 以下のように強制的に終端を行うことがよくある。 -.in +4n -.nf - -strncpy(buf, str, n); -if (n > 0) - buf[n \- 1]= \(aq\e0\(aq; -.fi -.in -.SH バグ -\fBstrcpy\fP() の受け側の文字列が十分な大きさでない場合、何が起こるかわからない。 -固定長文字列を溢れさせるのは、マシンの制御を掌中に収めるために クラッカーが好んで使うテクニックである。 -プログラムでデータをバッファに読み込んだりコピーしたりする場合には、 必ずまず最初に十分な大きさがあるかどうかをチェックする必要がある。 -プログラマがオーバーフローが不可能だと示せる場合には このチェックは不要かもしれないが、十分注意すること。 -長い間には、不可能だったことが可能になるような方法でプログラムが 変更されることもあるからだ。 -.SH 関連項目 -\fBbcopy\fP(3), \fBmemccpy\fP(3), \fBmemcpy\fP(3), \fBmemmove\fP(3), \fBstpcpy\fP(3), -\fBstpncpy\fP(3), \fBstrdup\fP(3), \fBstring\fP(3), \fBwcscpy\fP(3), \fBwcsncpy\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strdup.3 b/draft/man3/strdup.3 index f3637d3f..edae3d75 100644 --- a/draft/man3/strdup.3 +++ b/draft/man3/strdup.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -99,6 +101,6 @@ POSIX.1\-2008 準拠である。 \fBstrdupa\fP(), \fBstrndupa\fP() は GNU 拡 \fBalloca\fP(3), \fBcalloc\fP(3), \fBfree\fP(3), \fBmalloc\fP(3), \fBrealloc\fP(3), \fBstring\fP(3), \fBwcsdup\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strerror.3 b/draft/man3/strerror.3 index 8d9aca10..bd7ccc63 100644 --- a/draft/man3/strerror.3 +++ b/draft/man3/strerror.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2005, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -97,7 +99,7 @@ GNU 仕様の \fBstrerror_r\fP() は、エラーメッセージを格納した \fBstrerror\fP() と \fBstrerror_r\fP() はエラー内容を説明する 文字列を返す。エラー番号が未知の場合は "Unknown error nnn" という メッセージを返す。 -POSIX.1\-2001 と POSIX.1\-2008 では、 \fBstrerror\fP(3) が成功した場合は +POSIX.1\-2001 と POSIX.1\-2008 では、 \fBstrerror\fP() が成功した場合は \fIerrno\fP を変更せずに元のままにしなければならないとされている。関数のど の返り値もエラーを示すために予約されていないので、エラーをチェックした いアプリケーションは呼び出しを行う前に \fIerrno\fP を 0 に初期化し、呼び出 @@ -131,6 +133,6 @@ NULL 以外になることが求められている。 .SH 関連項目 \fBerr\fP(3), \fBerrno\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrsignal\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strfmon.3 b/draft/man3/strfmon.3 index c5e96e50..2df39ec8 100644 --- a/draft/man3/strfmon.3 +++ b/draft/man3/strfmon.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -119,6 +120,6 @@ strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]", .SH 関連項目 \fBsetlocale\fP(3), \fBsprintf\fP(3), \fBlocale\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strfry.3 b/draft/man3/strfry.3 index 53982d5b..1f2af841 100644 --- a/draft/man3/strfry.3 +++ b/draft/man3/strfry.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -51,6 +53,6 @@ strfry \- 文字列をランダムに並べ変える .SH 関連項目 \fBmemfrob\fP(3), \fBstring\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strftime.3 b/draft/man3/strftime.3 deleted file mode 100644 index 2aaa7ef8..00000000 --- a/draft/man3/strftime.3 +++ /dev/null @@ -1,349 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" GNU texinfo documentation on glibc date/time functions. -.\" Modified Sat Jul 24 18:03:44 1993 by Rik Faith (faith@cs.unc.edu) -.\" Applied fix by Wolfgang Franke, aeb, 961011 -.\" Corrected return value, aeb, 970307 -.\" Added Single UNIX Spec conversions and %z, aeb/esr, 990329. -.\" 2005-11-22 mtk, added Glibc Notes covering optional 'flag' and -.\" 'width' components of conversion specifications. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STRFTIME 3 2012\-05\-10 GNU "Linux Programmer's Manual" -.SH 名前 -strftime \- 日付および時刻の文字列への変換 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBsize_t strftime(char *\fP\fIs\fP\fB, size_t \fP\fImax\fP\fB, const char *\fP\fIformat\fP\fB,\fP -\fB const struct tm *\fP\fItm\fP\fB);\fP -.fi -.SH 説明 -.\" FIXME POSIX says: Local timezone information is used as though -.\" strftime() called tzset(). But this doesn't appear to be the case -\fBstrftime\fP() 関数 は、要素別の時刻 \fItm\fP の内容を \fIformat\fP で指定された書式指定にしたがって変換し、 長さ -\fImax\fP の文字列 \fIs\fP に書き込む。 -.PP -書式指定は NULL 終端された文字列であり、 「変換指定 (conversion specification)」と呼ばれる特別な文字列を -含まることができる。 各々の変換指定は \(aq%\(aq 文字で始まり、 「変換指定文字 (conversion specifier -character)」と呼ばれる 何らか他の文字で終端される。上記以外の全ての文字列は 「通常の文字列 (ordinary character -sequence)」となる。 -.PP -(NULL バイトも含む) 通常の文字列内の文字は、 そのまま \fIformat\fP から \fIs\fP にコピーされる。 -一方、変換指定の文字は以下のように置換される。 -.TP -\fB%a\fP -現在のロケールにおける曜日の省略名。 -.TP -\fB%A\fP -現在のロケールにおける曜日の完全な名前。 -.TP -\fB%b\fP -現在のロケールにおける月の省略名。 -.TP -\fB%B\fP -現在のロケールにおける月の完全な名前。 -.TP -\fB%c\fP -現在のロケールにおいて一般的な日付・時刻の表記。 -.TP -\fB%C\fP -世紀 (西暦年の上 2 桁)。 (SU) -.TP -\fB%d\fP -月内通算日 (10 進数表記) (01\-31)。 -.TP -\fB%D\fP -\fB%m/%d/%y\fP と等価。(うえっ、アメリカ専用だ。アメリカ以外の国では \fB%d/%m/%y\fP -の方が一般的だ。紛らわしいので、使用すべきではない。) (SU) -.TP -\fB%e\fP -\fB%d\fP と同様に月内通算日を 10 進数で表現するが、 1 桁の場合 10 の位にゼロを置かずスペースを置く。(SU) -.TP -\fB%E\fP -別形式を使用する際の修飾子。下記参照。 (SU) -.TP -\fB%F\fP -\fB%Y\-%m\-%d\fP と等価 (ISO\ 8601 形式の日付フォーマット)。 (C99) -.TP -\fB%G\fP -ISO\ 8601 週単位表記の年 (week\-based year; 「注意」の節を参照)。 世紀も 10 進数で表す。 ISO 週番号 (\fB%V\fP -を参照) に対応した 4 桁の西暦年。 これは基本的には \fB%Y\fP と同じ形式だが、ISO 週数が前年や翌年になる -場合にはその年が使用される点が異なる。(TZ) -.TP -\fB%g\fP -\fB%G\fP と同様。但し、世紀を含まず下 2 桁のみを表示 (00\-99)。 (TZ) -.TP -\fB%h\fP -\fB%b\fP と等価 (SU) -.TP -\fB%H\fP -24 時間表記での時 (hour)。 (00\-23) -.TP -\fB%I\fP -12 時間表記での時 (hour)。 (01\-12) -.TP -\fB%j\fP -年の初めから通算の日数。 (001\-366) -.TP -\fB%k\fP -24 時間表記での時 (0\-23)。 1 桁の場合には前にゼロでなくスペースが置かれる。 (\fB%H\fP も参照) (TZ) -.TP -\fB%l\fP -12 時間表記での時 (0\-12)。 1 桁の場合には前にゼロでなくスペースが置かれる。 (\fB%I\fP も参照) (TZ) -.TP -\fB%m\fP -月 (10 進数表記)。 (01\-12) -.TP -\fB%M\fP -分 (10 進数表記) (00\-59) -.TP -\fB%n\fP -改行。 (SU) -.TP -\fB%O\fP -別形式を使用する際の修飾子。下記参照。 (SU) -.TP -\fB%p\fP -現在のロケールにおける「午前」「午後」に相当する文字列。 英語の場合には "AM" または "PM" となる。 -正午は「午後」、真夜中は「午前」として扱われる。 -.TP -\fB%P\fP -\fB%p\fP と同様であるが小文字が使用される。 英語の場合には "am" や "pm" となる。(GNU) -.TP -\fB%r\fP -午前・午後形式での時刻。 POSIX ロケールでは \fB%I:%M:%S %p\fP と等価である。(SU) -.TP -\fB%R\fP -24 時間表記での時刻、秒は表示しない (\fB%H:%M\fP)。 秒を含んだものは以下の \fB%T\fP を参照すること。(SU) -.TP -\fB%s\fP -紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒数。 (TZ) -.TP -\fB%S\fP -秒 (10 進数表記) (00\-60) (時々ある閏秒に対応するため、値の範囲は 60 までとなっている) -.TP -\fB%t\fP -タブ文字 (SU) -.TP -\fB%T\fP -24 時間表記の時間 (\fB%H:%M:%S\fP) (SU) -.TP -\fB%u\fP -週の何番目の日 (10 進数表記) か。月曜日を 1 とする (1\-7)。 \fB%w\fP も参照。(SU) -.TP -\fB%U\fP -年の初めからの通算の週番号 (10 進数表記) (00\-53)。 その年の最初の日曜日を、第 1 週の始まりとして計算する。 \fB%V\fP と \fB%W\fP -も参照すること。 -.TP -\fB%V\fP -ISO\ 8601 形式での年の始めからの週番号 (「注意」の節を参照)。 10 進数表記で、01 から 53 の値となる。週番号は、 -新しい年が少なくとも 4 日以上含まれる最初の週を 1 として計算する。 \fB%U\fP と \fB%W\fP も参照のこと。(SU) -.TP -\fB%w\fP -週の何番目の日 (10 進数表記) か。日曜日を 0 とする。(0\-6)。 \fB%u\fP も参照。(SU) -.TP -\fB%W\fP -年の初めからの通算の週番号 (10 進数表記) (00\-53)。 その年の最初の月曜日を、第 1 週の始まりとして計算する。 -.TP -\fB%x\fP -現在のロケールで一般的な日付表記。時刻は含まない。 -.TP -\fB%X\fP -現在のロケールで一般的な時刻表記。日付は含まない。 -.TP -\fB%y\fP -西暦の下2桁 (世紀部分を含まない年) (00\-99)。 -.TP -\fB%Y\fP -世紀部分を含めた ( 4 桁の) 西暦年。 -.TP -\fB%z\fP -\fI+hhmm\fP や \fI\-hhmm\fP の形式のタイムゾーン (UTC へのオフセット時間)。(SU) -.TP -\fB%Z\fP -タイムゾーンまたはゾーン名または省略名。 -.TP -\fB%+\fP -.\" Nov 05 -- Not in Linux/glibc, but is in some BSDs (according to -.\" their man pages) -\fBdate\fP(1) 形式での日時。(TZ) (glibc2 ではサポートされていない) -.TP -\fB%%\fP -\(aq%\(aq 文字。 -.PP -いくつかの変換指定では、変換指定文字の前に \fBE\fP や \fBO\fP 「修飾子」を置くことによって別書式を使用するように指定することができる。 -現在のロケールにおいて別書式が存在しない場合には、 通常の変換指定が使用されたかのように動作する (SU)。 統一 UNIX 規格 (Single -UNIX Specification) では \fB%Ec\fP, \fB%EC\fP, \fB%Ex\fP, \fB%EX\fP, \fB%Ey\fP, \fB%EY\fP, -\fB%Od\fP, \fB%Oe\fP, \fB%OH\fP, \fB%OI\fP, \fB%Om\fP, \fB%OM\fP, \fB%OS\fP, \fB%Ou\fP, \fB%OU\fP, -\fB%OV\fP, \fB%Ow\fP, \fB%OW\fP, \fB%Oy\fP, について記述がある。ここで \fBO\fP 修飾子は別形式の数値 (ローマ数字とか) -を指定するために使用する。 \fBE\fP 修飾子はロケール依存の別表現を指定するのに使用する。 (訳注: \fBE\fP -修飾子は日本で使用されている「昭和」「平成」 などの元号による年表記を指定する。glibc 2.2 以降でのみ有効) -.PP -要素別の時刻構造体 \fItm\fP の詳細は \fI\fP に定義されている。 \fBctime\fP(3) も参照すること。 -.SH 返り値 -\fBstrftime\fP() 関数は文字列 \fIs\fP に格納されたバイト数を返す。このバイト -数に終端の NULL バイトは含まない。終端の NULL バイトを格納できるだけの -大きさを持った文字列を渡すこと。それ以外の場合は 0 を返し、文字列の内容 -は修正されない。 (libc 4.4.4 以降でこの挙動が適用されている。 libc -4.4.1 などの非常に古いバージョンの libc では 文字列が短か過ぎた場合には -\fImax\fP が返される。) -.LP -返り値 0 は必ずしもエラーを意味している訳ではないので注意すること。 例えば、多くのロケールでは \fB%p\fP は空文字列を返す。 -.SH 環境変数 -環境変数 \fBTZ\fP と \fBLC_TIME\fP が使用される。 (訳注: \fBLC_ALL\fP が設定されている場合には \fBLC_TIME\fP -よりもそちらが優先される。 \fBLC_TIME\fP も \fBLC_ALL\fP も設定されていない場合には \fBLANG\fP が使用される。) -.SH 準拠 -SVr4, C89, C99. 個々の変換が厳密にどの規格に含まれるかは、 ANSI C (印なし)、統一 UNIX 規格 (SU印)、Olson の -timezone パッケージ (TZ印)、 glibc 独自 (GNU印) で示している。glibc2 では \fB%+\fP はサポートされていないが、 -いくつかの拡張が行われている。POSIX.1 では ANSI C のみを参照している。 POSIX.2 の \fBdate\fP(1) -のところに記述されている幾つかの拡張は \fBstrftime\fP() にも適用できるだろう。 \fB%F\fP 変換は C99 と POSIX.1\-2001 -にある。 - -SUSv2 では、 \fB%S\fP は 00 から 61 の範囲をとると規定されている。 これは、1分間のうち閏秒が 2つ入る可能性が理論的にはあることを -考慮してのものである (実際には、このような状況はこれまで一度も 起こっていない)。 -.SH 注意 -.SS "ISO\ 8601 の週・曜日表記 (Week Dates)" -\fB%G\fP, \fB%g\fP, \fB%V\fP は、ISO\ 8601 標準により定義された週単位表記の年により 計算される値を出力する。 ISO\ 8601 -標準の週単位表記では、週は月曜日から開始され、 週番号は、年の最初の週が 01 となり、最後の週は 52 か 53 となる。 週 01 は、新しい年が -4 日以上含まれる最初の週である。 言い換えると、週 01 は、その年の木曜日を含む最初の週、 つまり 1 月 4 日を含む週ということである。 -新しい年のカレンダー上の最初の週に新しい年が 3 日以下しか含まれない場合、 ISO\ 8601 の週単位表記では、これらの日を前の年の週 53 -の一部とみなす。 例えば、2010 年 1 月 1 日は金曜日であり、 その週には 2010 年の日が 3 日しか含まれない。 したがって、ISO\ 8601 の週単位表記では、これらの日は 2009 年 (\fB%G\fP) の週 53 (\fB%V\fP) の一部となる。 ISO\ 8601 の 2010 -年の週 01 は 2010 年 1 月 4 日の月曜日から始まる。 -.SS "glibc での注意" -.\" HP-UX and Tru64 also have features like this. -glibc では変換指定にいくつか拡張を行っている (これらの拡張は POSIX.1\-2001 には規定されていないが、 -他のいくつかのシステムで同様の機能が提供されている)。 \(aq%\(aq 文字と変換指定文字の間に、オプションとして \fIflag\fP とフィールドの -\fI幅\fP を指定できる (これらを指定する場合には \fBE\fP や \fBO\fP 修飾子の前に置く)。 - -以下のフラグ文字が使用できる: -.TP -\fB_\fP -(下線) 数値の結果文字列のパディング (穴埋め) をスペース (空白文字) で行う。 -.TP -\fB\-\fP -(ダッシュ) 数値の結果文字列に対するパディングを行わない。 -.TP -\fB0\fP -変換指定文字がデフォルトではスペースでパディングを行う場合でも、 数値の結果文字列へのパディングを 0 で行う。 -.TP -\fB^\fP -結果文字列中のアルファベット文字を大文字に変換する。 -.TP -\fB#\fP -結果文字列の大文字・小文字を入れ替える (このフラグは特定の変換指定文字でしか機能しない。その中でも 本当に有用なのは \fB%Z\fP の場合だけである)。 -.PP -オプションの10進数の幅指定子はフラグの後ろに置くことができる (フラグはなくてもよい)。フィールドの本来の大きさが指定された幅よりも -小さい場合、結果文字列の左側は指定された幅までパディングされる。 -.SH バグ -\fBgcc\fP(1) のいくつかのバージョンにはおかしなところがあり、 \fB%c\fP の使用法について以下のような警告を出す: \fIwarning: -`%c' yields only last 2 digits of year in some locales\fP -(\fI警告:\fPいくつかのロケールでは\fI`%c'\fPは年の下2桁しか出力しない\fI)。\fP もちろんプログラマが \fB%c\fP -を使うのはお薦めできることである。 \fB%c\fP を使うと適切な日付と時刻の表記を得ることができるからである。 \fBgcc\fP(1) -のこの問題を回避しようとすると、何かすっきりしない気分になるだろう。 比較的きれいな解決方法は以下のような中間関数を追加することである。 -.in +4n -.nf - -size_t -my_strftime(char *s, size_t max, const char *fmt, - const struct tm *tm) -{ - return strftime(s, max, fmt, tm); -} -.fi -.in - -現在では、 \fBgcc\fP(1) はこの警告を抑えるための \fI\-Wno\-format\-y2k\fP オプションを -提供しており、上記の回避策はもはや必要ない。 -.SH 例 -\fBRFC\ 2822 準拠の日付形式\fP (%a と %b は英語ロケール) -.PP -.in +2n -"%a,\ %d\ %b\ %Y\ %T\ %z" -.PP -\fBRFC\ 822 準拠の日付形式\fP (%a と %b は英語ロケール) -.PP -.in +2n -"%a,\ %d\ %b\ %y\ %T\ %z" -.SS サンプルプログラム -以下のプログラムを使うと \fBstrftime\fP() の実験ができる。 -.PP -以下に、 \fBstrftime\fP() の glibc 実装が生成する結果の例をいくつか示す: -.in +4n -.nf - -$\fB ./a.out \(aq%m\(aq\fP -Result string is "11" -$\fB ./a.out \(aq%5m\(aq\fP -Result string is "00011" -$\fB ./a.out \(aq%_5m\(aq\fP -Result string is " 11" -.fi -.in -.PP -プログラムのソースは以下の通り: -.nf - -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - char outstr[200]; - time_t t; - struct tm *tmp; - - t = time(NULL); - tmp = localtime(&t); - if (tmp == NULL) { - perror("localtime"); - exit(EXIT_FAILURE); - } - - if (strftime(outstr, sizeof(outstr), argv[1], tmp) == 0) { - fprintf(stderr, "strftime returned 0"); - exit(EXIT_FAILURE); - } - - printf("Result string is \e"%s\e"\en", outstr); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBdate\fP(1), \fBtime\fP(2), \fBctime\fP(3), \fBsetlocale\fP(3), \fBsprintf\fP(3), -\fBstrptime\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/string.3 b/draft/man3/string.3 index f6ad28fd..cb4279e8 100644 --- a/draft/man3/string.3 +++ b/draft/man3/string.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -98,6 +100,6 @@ strrchr, strsep, strspn, strstr, strtok, strxfrm, index, rindex \- 文字列を \fBstrncmp\fP(3), \fBstrncpy\fP(3), \fBstrpbrk\fP(3), \fBstrrchr\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3), \fBstrxfrm\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strlen.3 b/draft/man3/strlen.3 index a10d4625..965538b5 100644 --- a/draft/man3/strlen.3 +++ b/draft/man3/strlen.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -48,6 +50,6 @@ SVr4, 4.3BSD, C89, C99. .SH 関連項目 \fBstring\fP(3), \fBstrnlen\fP(3), \fBwcslen\fP(3), \fBwcsnlen\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strnlen.3 b/draft/man3/strnlen.3 index a0cea51e..89a3e3b3 100644 --- a/draft/man3/strnlen.3 +++ b/draft/man3/strnlen.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -54,6 +56,6 @@ POSIX.1\-2008. .SH 関連項目 \fBstrlen\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strpbrk.3 b/draft/man3/strpbrk.3 index 6e6b6972..ef340255 100644 --- a/draft/man3/strpbrk.3 +++ b/draft/man3/strpbrk.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -52,6 +54,6 @@ SVr4, 4.3BSD, C89, C99. \fBindex\fP(3), \fBmemchr\fP(3), \fBrindex\fP(3), \fBstrchr\fP(3), \fBstring\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3), \fBwcspbrk\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strptime.3 b/draft/man3/strptime.3 deleted file mode 100644 index 39ff37ca..00000000 --- a/draft/man3/strptime.3 +++ /dev/null @@ -1,299 +0,0 @@ -.\" Copyright 1993 Mitchum DSouza -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified, jmv@lucifer.dorms.spbu.ru, 1999-11-08 -.\" Modified, aeb, 2000-04-07 -.\" Updated from glibc docs, C. Scott Ananian, 2001-08-25 -.\" Modified, aeb, 2001-08-31 -.\" Modified, wharms 2001-11-12, remark on white space and example -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STRPTIME 3 2009\-12\-05 GNU "Linux Programmer's Manual" -.SH 名前 -strptime \- 文字列であらわされている時間を tm 構造体の時間に変換する -.SH 書式 -\fB#define _XOPEN_SOURCE\fP /* feature_test_macros(7) 参照 */ -.br -\fB#include \fP -.sp -\fBchar *strptime(const char *\fP\fIs\fP\fB, const char *\fP\fIformat\fP\fB,\fP \fBstruct tm -*\fP\fItm\fP\fB);\fP -.SH 説明 -\fBstrptime\fP() 関数は \fBstrftime\fP(3) の逆関数であり、ポインタ \fIs\fP が指す文字列を時間に変換する。 変換の際には -\fIformat\fP で指定したフォーマットを用い、値はポインタ \fItm\fP が指す \fItm\fP 構造体に収められる。 \fIformat\fP は、 -\fBscanf\fP(3) で使われているような、 フィールドディスクリプターとテキスト文字で構成されている文字列である。 -個々のフィールドディスクリプターは \fB%\fP とそれに続く文字からなり、 後者にフィールドディスクリプターを置き換える内容を指定する。 -\fIformat\fP 文字列中の他の全ての文字には、入力文字列にマッチする文字がなければならない。 フォーマット文字列中にある空白は例外であり、 -入力文字列中の 0 個以上の空白とマッチする。 2 つのフィールドディスクリプターの間には、 空白・英字・数字がなければならない。 -.PP -\fBstrptime\fP() 関数は、入力文字列を左から右へ処理する。 入力された 3 つの要素 (空白・文字・フォーマット) は、順に処理される。 -入力がフォーマット文字列とマッチできない場合、関数は停止する。 残りのフォーマット文字列と入力文字列は処理されない。 -.PP -使用可能なフィールドディスクリプターを以下に挙げる。 (曜日や月の名前といった) 文字列をマッチさせる場合、 大文字と小文字は区別せずに比較する。 -数をマッチさせる場合、前に 0 をつけても構わないが必ずしも必要ではない。 -.TP -\fB%%\fP -文字としての \fB%\fP。 -.TP -\fB%a\fP または \fB%A\fP -現在のロケールでの曜日名 (省略名または完全な名前)。 -.TP -\fB%b\fP または \fB%B\fP または \fB%h\fP -現在のロケールでの月名 (省略名または完全な名前)。 -.TP -\fB%c\fP -現在のロケールでの日付と時刻の表現。 -.TP -\fB%C\fP -1 世紀中の年 (0\-99)。 -.TP -\fB%d\fP または \fB%e\fP -月内の日付 (1\-31)。 -.TP -\fB%D\fP -日付。 \fB%m/%d/%y\fP と同じ。 (これはアメリカ式の日付形式で、 ヨーロッパでは特に \fB%d/%m/%y\fP -という形式が広く使われているために、 アメリカ人以外には紛らわしく感じられる。 ISO 8601 規格では \fB%Y\-%m\-%d\fP という形式である。) -.TP -\fB%H\fP -時間 (0\-23)。 -.TP -\fB%I\fP -12 時間制での時間 (1\-12)。 -.TP -\fB%j\fP -年の初めからの通算の日付 (1\-366)。 -.TP -\fB%m\fP -数字表現の月 (1\-12)。 -.TP -\fB%M\fP -分 (0\-59)。 -.TP -\fB%n\fP -任意の空白。 -.TP -\fB%p\fP -ロケールの AM (午前) と PM (午後) に対応するもの。 (注意: 対応するものがないかもしれない。) -.TP -\fB%r\fP -(ロケールの AM と PM を使った) 12 時間制の時間。 POSIX ロケールでは \fB%I:%M:%S %p\fP と同じ。 現在のロケールにおいて -\fBLC_TIME\fP パートの \fIt_fmt_ampm\fP が定義されていない場合、 動作は未定義である。 -.TP -\fB%R\fP -\fB%H:%M\fP と同じ。 -.TP -\fB%S\fP -秒 (0\-60; 60 は閏秒を示す。以前は 61 も指定できた)。 -.TP -\fB%t\fP -任意の空白。 -.TP -\fB%T\fP -\fB%H:%M:%S\fP と同じ。 -.TP -\fB%U\fP -日曜日を週の始まりとした年通算での週数 (0\-53)。 1 月の最初の日曜日を第 1 週目の最初の日する。 -.TP -\fB%w\fP -日曜日を 0 とした数字表記の曜日 (0\-6)。 -.TP -\fB%W\fP -月曜日を週の始まりとした年通算での週数 (0\-53)。 1 月の最初の月曜日を第 1 週目の最初の日する。 -.TP -\fB%x\fP -日付。ロケールの日付フォーマットを使う。 -.TP -\fB%X\fP -時刻。ロケールの時刻フォーマットを使う。 -.TP -\fB%y\fP -1 世紀中の年 (0\-99)。 世紀が指定されない場合、 値が 69\-99 の範囲のときは 20 世紀の年 (1969\-1999)、 値が 00\-68 -の範囲のときは 21 世紀の年 (2000\-2068) とする。 -.TP -\fB%Y\fP -年。世紀の部分を含む (例: 1991)。 -.LP -E や O という修正子を使うことで変更できるフィールドディスクリプタもある。 これらの修正子は、別のフォーマットや仕様を使うことを指示する。 -別のフォーマットや仕様が現在のロケールに存在しないときは、 変更していないフィールドディスクリプタが使われる。 -.LP -E 修正子は、ロケールに依存した日付と時刻の別の表現形式が 入力文字列に含まれていることを指定する。 -.TP -\fB%Ec\fP -日付と時刻。ロケールに依存した別の表現形式を使う。 -.TP -\fB%EC\fP -基準年 (期間) の名前。ロケールに依存した別の表現形式を使う。 -.TP -\fB%Ex\fP -日付。ロケールに依存した別の表現形式を使う。 -.TP -\fB%EX\fP -時刻。ロケールに依存した別の表現形式を使う。 -.TP -\fB%Ey\fP -\fB%EC\fP (年のみ) からのオフセット。ロケールに依存した別の表現形式を使う。 -.TP -\fB%EY\fP -完全な形式の年。別の表現型式を使う。 -.LP -O 修正子は、ロケールに依存した別のフォーマットの中に 数値の入力があることを指定する。 -.TP -\fB%Od\fP または \fB%Oe\fP -月の初めからの通算の日付。ロケールに依存した別の数値シンボルを使う。 0 を頭につけてもよいが、必須ではない。 -.TP -\fB%OH\fP -時間 (24 時間制)。ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%OI\fP -時間 (12 時間制)。ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%Om\fP -月。ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%OM\fP -分。ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%OS\fP -秒。ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%OU\fP -年の初めからの通算の週数 (日曜日を週の始めとする)。 ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%Ow\fP -数値表記の曜日 (日曜日を 0 とする)。 ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%OW\fP -年の初めからの通算の週数 (月曜日を週の始めとする)。 ロケールに依存した別の数値シンボルを使う。 -.TP -\fB%Oy\fP -年 (\fB%C\fP からのオフセット)。ロケールに依存した別の数値シンボルを使う。 -.LP -要素別の時刻構造体 \fItm\fP は \fI\fP 内で以下の様に定義されている。 -.sp -.in +4n -.nf -struct tm { - int tm_sec; /* 秒 */ - int tm_min; /* 分 */ - int tm_hour; /* 時間 */ - int tm_mday; /* 日 */ - int tm_mon; /* 月 */ - int tm_year; /* 年 */ - int tm_wday; /* 曜日 */ - int tm_yday; /* 年内通算日 */ - int tm_isdst; /* 夏時間 */ -}; -.fi -.in -.SH 返り値 -この関数の返り値は、関数の中で処理されなかった最初の文字へのポインタである。 フォーマット文字列が必要する以上の文字が入力文字列に含まれている場合、 -返り値は最後に処理された入力文字の次の文字を指す。 すべての入力文字列が処理された場合、 返り値は文字列末尾の NULL バイトを指す。 -\fBstrptime\fP() がフォーマット文字列のすべての比較に失敗し、 エラーが起こった場合、関数は NULL ポインタを返す。 -.SH 準拠 -SUSv2, POSIX.1\-2001. -.SH 注意 -.LP -原則として、この関数は \fItm\fP の初期化はせずに、 指定された値のみを入れる。 つまり、この関数の呼び出しの前に \fItm\fP -を初期化しなければならない。 他の UNIX システムとは、細かい点で異なる。 glibc の実装では、明示的に指定されないフィールドは変更されない。 -例外として、年・月・日のいずれかの要素が変更された場合に \fItm_wday\fP と \fItm_yday\fP が再計算される。 -.PP -この関数は、libc 4.6.8 以降で使用できる。 Linux の libc4 と libc5 のインクルードファイルは、 -この関数のプロトタイプを常に定義する。 glibc2 のインクルードファイルは、 \fB_XOPEN_SOURCE\fP または \fB_GNU_SOURCE\fP -が定義された場合のみ、 この関数のプロトタイプを提供する。 -.PP -libc 5.4.13 より前では、空白 (と \(aqn\(aq または \(aqt\(aq 指定) は扱われなかった。 ロケールの修正子 -\(aqE\(aq と \(aqO\(aq は受け付けられなかった。 また、\(aqC\(aq の指定は \(aqc\(aq -の指定と同じ意味で扱われた。 -.PP -.\" In libc4 and libc5 the code for %I is broken (fixed in glibc; -.\" %OI was fixed in glibc 2.2.4). -\(aqy\(aq (1 世紀中の年) の指定は、libc4 と libc5 では 20 世紀の年として解釈される。 glibc 2.0 では -1950\-2049 の範囲として解釈される。 glibc 2.1 からは 1969\-2068 の範囲として解釈される。 -.SS "glibc での注意" -一貫性を持たせるため、glibc では \fBstrptime\fP() に \fBstrftime\fP(3) -と同じフォーマット文字をサポートさせようとしている。多くの場合、対応するフィールドが解釈されるが、 \fItm\fP -フィールドは変更されない。使用可能なフォーマット文字を以下に示す。 -.TP -\fB%F\fP -\fB%Y\-%m\-%d\fP と同じ。ISO 8601 の日付形式。 -.TP -\fB%g\fP -ISO 週数に対応した西暦年。世紀は含まず (0\-99) の範囲。 -.TP -\fB%G\fP -ISO 週数に対応した西暦年 (例えば 1991)。 -.TP -\fB%u\fP -10 進数表記の曜日 (1\-7 で月曜日を 1 とする)。 -.TP -\fB%V\fP -ISO 8601:1988 形式での年通算の 10 進数表記での週数 (1\-53)。 1 月 1 日を含む (月曜日から始まる) 週に 4 -日以上が含まれている場合は、 その週を第 1 週とする。 3 日以下しか含まれていない場合は、1 月 1 日を含む週を前年の最終の週として、 次の週を第 -1 週とする。 -.TP -\fB%z\fP -RFC\-822/ISO 8601 標準タイムゾーンを指定する。 -.TP -\fB%Z\fP -タイムゾーン名。 -.LP -同様に、 \fBstrftime\fP(3) の GNU 版での拡張に対応するために、 \fB%k\fP は \fB%H、\fP \fB%P\fP は \fB%p\fP -と等価に扱われる。また、 \fB%l\fP は \fB%I\fP と等価に扱われるようになるはずである。 さらに以下も定義されている。 -.TP -\fB%s\fP -紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの通算の秒数。 -閏秒がサポートされていない限り、閏秒はカウントしない。 -.LP -glibc における実装では、2 つのフィールド間の空白は必要ない。 -.SH 例 -以下の例は \fBstrptime\fP() と \fBstrftime\fP(3) の使用法を示している。 -.sp -.nf -#define _XOPEN_SOURCE -#include -#include -#include -#include - -int -main(void) -{ - struct tm tm; - char buf[255]; - - memset(&tm, 0, sizeof(struct tm)); - strptime("2001\-11\-12 18:31:01", "%Y\-%m\-%d %H:%M:%S", &tm); - strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm); - puts(buf); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBtime\fP(2), \fBgetdate\fP(3), \fBscanf\fP(3), \fBsetlocale\fP(3), \fBstrftime\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strsep.3 b/draft/man3/strsep.3 index d153fbcf..db623aff 100644 --- a/draft/man3/strsep.3 +++ b/draft/man3/strsep.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -72,6 +74,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 \fBindex\fP(3), \fBmemchr\fP(3), \fBrindex\fP(3), \fBstrchr\fP(3), \fBstring\fP(3), \fBstrpbrk\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strsignal.3 b/draft/man3/strsignal.3 index 8dd78ab0..805f2c2b 100644 --- a/draft/man3/strsignal.3 +++ b/draft/man3/strsignal.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -73,6 +75,6 @@ POSIX.1\-2008. Solaris と BSD 系にも存在する。 .SH 関連項目 \fBpsignal\fP(3), \fBstrerror\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strspn.3 b/draft/man3/strspn.3 index 4e1d7a73..552cfd10 100644 --- a/draft/man3/strspn.3 +++ b/draft/man3/strspn.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -62,6 +64,6 @@ SVr4, 4.3BSD, C89, C99. \fBstrpbrk\fP(3), \fBstrsep\fP(3), \fBstrstr\fP(3), \fBstrtok\fP(3), \fBwcscspn\fP(3), \fBwcsspn\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strstr.3 b/draft/man3/strstr.3 index 50557f6e..baf9fc01 100644 --- a/draft/man3/strstr.3 +++ b/draft/man3/strstr.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -65,6 +67,6 @@ Linux libc の初期のバージョン(4.5.26 まで)は \fBstrstr\fP() 関数 \fBstring\fP(3), \fBstrpbrk\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrtok\fP(3), \fBwcsstr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strtod.3 b/draft/man3/strtod.3 index 58494827..5120b257 100644 --- a/draft/man3/strtod.3 +++ b/draft/man3/strtod.3 @@ -5,6 +5,7 @@ .\" the American National Standards Committee X3, on Information .\" Processing Systems. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -32,6 +33,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)strtod.3 5.3 (Berkeley) 6/29/91 .\" @@ -120,6 +122,6 @@ C89 では \fBstrtod\fP() が、C99 では残りの 2 つの関数が記述さ .SH 関連項目 \fBatof\fP(3), \fBatoi\fP(3), \fBatol\fP(3), \fBstrtol\fP(3), \fBstrtoul\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strtoimax.3 b/draft/man3/strtoimax.3 index 5f19d882..e1e0b38b 100644 --- a/draft/man3/strtoimax.3 +++ b/draft/man3/strtoimax.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -48,6 +49,6 @@ C99, POSIX.1\-2001. .SH 関連項目 \fBimaxabs\fP(3), \fBimaxdiv\fP(3), \fBstrtol\fP(3), \fBstrtoul\fP(3), \fBwcstoimax\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strtok.3 b/draft/man3/strtok.3 index ae6f7021..78c3380f 100644 --- a/draft/man3/strtok.3 +++ b/draft/man3/strtok.3 @@ -1,6 +1,7 @@ .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" and Copyright (C) 2005 Michael Kerrisk (mtk.manpages@gmail.com) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Rewritten old page, 960210, aeb@cwi.nl .\" Updated, added strtok_r. 2000-02-13 Nicolás Lichtmaier @@ -162,6 +164,6 @@ main(int argc, char *argv[]) \fBindex\fP(3), \fBmemchr\fP(3), \fBrindex\fP(3), \fBstrchr\fP(3), \fBstring\fP(3), \fBstrpbrk\fP(3), \fBstrsep\fP(3), \fBstrspn\fP(3), \fBstrstr\fP(3), \fBwcstok\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strtol.3 b/draft/man3/strtol.3 deleted file mode 100644 index 19b7660d..00000000 --- a/draft/man3/strtol.3 +++ /dev/null @@ -1,190 +0,0 @@ -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sun Jul 25 10:53:39 1993 by Rik Faith (faith@cs.unc.edu) -.\" Added correction due to nsd@bbc.com (Nick Duffek) - aeb, 950610 -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH STRTOL 3 2010\-09\-20 GNU "Linux Programmer's Manual" -.SH 名前 -strtol, strtoll, strtoq \- 文字列を long int に変換する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBlong int strtol(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP -.sp -\fBlong long int strtoll(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBstrtoll\fP(): -.RS 4 -XOPEN_SOURCE\ >=\ 600 || _BSD_SOURCE || _SVID_SOURCE || _ISOC99_SOURCE -|| _POSIX_C_SOURCE\ >=\ 200112L; -.br -または \fIcc\ \-std=c99\fP -.RE -.ad -.SH 説明 -\fBstrtol\fP() 関数は、 \fInptr\fP の文字列の最初の部分を、 \fIbase\fP を基数として long int に変換する。 この -\fIbase\fP は 2 から 36 までの値 あるいは特別な意味を持つ値 0 でなければならない。 -.PP -文字列の先頭には、任意の数の空白があってもよく (空白は \fBisspace\fP(3) で判定される)、また数字の直前には \(aq+\(aq か -\(aq\-\(aq の 符号があってもよい。 \fIbase\fP が 0 または 16 の場合には、文字列の先頭に "0x" を置くことが -でき、その場合には文字列は 16進数として扱われる。 これ以外の文字列で \fIbase\fP が 0 の場合は、 文字列が \(aq0\(aq -で始まるときは 8進数として、 それ以外のときは 10進数として扱われる。 -.PP -数字を表す文字列は \fIlong int\fP に変換されるが、基数に対して 有効でない数字が現れた時点で変換は終了する。(11進数以上では -\(aqA\(aq は 大文字・小文字に関わらず 10 を表し、 \(aqB\(aq は 11 を表現し、 以下同様に、 \(aqZ\(aq は 35 -を表す。) -.PP -\fIendptr\fP がヌル値 (NULL) でない場合は、最初に現れた不正な文字が \fBstrtol\fP() によって \fI*endptr\fP -に保存されている。 文字列に有効な数字がひとつもなければ、 \fBstrtol\fP() は \fInptr\fP の元の値を \fI*endptr\fP に代入する -(そして 0 を返す)。 特に、\fI*nptr\fP が \(aq\e0\(aq 以外で、返された \fI**endptr\fP が \(aq\e0\(aq -ならば、文字列全体が有効だったことになる。 -.PP -\fBstrtoll\fP() 関数は \fBstrtol\fP() と同様だが、long long int 型の値を返す。 -.SH 返り値 -アンダーフローもオーバーフローも起きなかった場合、 \fBstrtol\fP() 関数は 変換された値を返す。オーバーフローした場合には -\fBLONG_MAX\fP が返り、 アンダーフローした場合には \fBLONG_MIN\fP が返る。オーバーフロー、 アンダーフローのいずれの場合にも -大域変数 \fIerrno\fP には \fBERANGE\fP が設定される。 \fBstrtoll\fP() も同様であるが、 \fBLONG_MIN\fP と -\fBLONG_MAX\fP の代わりに \fBLLONG_MIN\fP と \fBLLONG_MAX\fP が返される。 -.SH エラー -.TP -\fBEINVAL\fP -(C99 にはない) 指定された \fIbase\fP がサポートされていない値である。 -.TP -\fBERANGE\fP -結果の値が範囲外である。 -.LP -実装によっては、変換が行われなかった場合 (数字がなく、0 を返した場合)、 \fIerrno\fP に \fBEINVAL\fP が設定される場合がある。 -.SH 準拠 -\fBstrtol\fP() は SVr4, 4.3BSD, C89, C99 と POSIX.1\-2001 に準拠している。 \fBstrtoll\fP() -は C99 と POSIX.1\-2001 に準拠している。 -.SH 注意 -\fBstrtol ()\fP からは成功、失敗どちらの場合でも 0, \fBLONG_MAX\fP, \fBLONG_MIN\fP (\fBstrtoll\fP() では -\fBLLONG_MAX\fP, \fBLLONG_MIN\fP) が返る可能性があるので、 プログラムは関数を呼び出す前に \fIerrno\fP を 0 -に設定し、呼び出し後に \fIerrno\fP が 0 以外の値かどうかを確認しエラーが発生したかどうかを判断する 必要がある。 - -"C" 以外のロケールの場合、その他の文字列も受け付けられるかもしれない。 (例えば、現在のロケールの 1000 -毎の区切り文字がサポートされているかもしれない。) -.LP -BSD には、 -.sp -.in +4n -.nf -\fBquad_t strtoq(const char *\fP\fInptr\fP\fB, char **\fP\fIendptr\fP\fB, int \fP\fIbase\fP\fB);\fP -.sp -.in -.fi -という完全に同様の定義を持つ関数がある。 使用中のアーキテクチャのワード長次第であるが、この関数は \fBstrtoll\fP() か -\fBstrtol\fP() と等価となることもある。 -.SH 例 -以下のプログラムは \fBstrtol\fP() の使用例である。 最初のコマンドライン引き数には \fBstrtol\fP() -が数字として解釈する文字列を指定する。 (省略可能な) 二番目の引き数には 変換に使用される基数を指定する (この引き数は \fBatoi\fP(3) -を使って数値に変換される。 \fBatoi\fP(3) は \fBstrtol\fP() よりも簡単なインタフェースを持つ関数で、 -その中ではエラーチェックは行われない)。 このプログラムの実行例をいくつか以下に示す: -.in +4n -.nf - -$\fB ./a.out 123\fP -strtol() returned 123 -$\fB ./a.out \(aq 123\(aq\fP -strtol() returned 123 -$\fB ./a.out 123abc\fP -strtol() returned 123 -Further characters after number: abc -$\fB ./a.out 123abc 55\fP -strtol: Invalid argument -$\fB ./a.out \(aq\(aq\fP -No digits were found -$\fB ./a.out 4000000000\fP -strtol: Numerical result out of range -.fi -.in -.SS プログラムのソース -\& -.nf -#include -#include -#include -#include - -int -main(int argc, char *argv[]) -{ - int base; - char *endptr, *str; - long val; - - if (argc < 2) { - fprintf(stderr, "Usage: %s str [base]\en", argv[0]); - exit(EXIT_FAILURE); - } - - str = argv[1]; - base = (argc > 2) ? atoi(argv[2]) : 10; - - errno = 0; /* To distinguish success/failure after call */ - val = strtol(str, &endptr, base); - - /* Check for various possible errors */ - - if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN)) - || (errno != 0 && val == 0)) { - perror("strtol"); - exit(EXIT_FAILURE); - } - - if (endptr == str) { - fprintf(stderr, "No digits were found\en"); - exit(EXIT_FAILURE); - } - - /* If we got here, strtol() successfully parsed a number */ - - printf("strtol() returned %ld\en", val); - - if (*endptr != \(aq\e0\(aq) /* Not necessarily an error... */ - printf("Further characters after number: %s\en", endptr); - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBatof\fP(3), \fBatoi\fP(3), \fBatol\fP(3), \fBstrtod\fP(3), \fBstrtoul\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strtoul.3 b/draft/man3/strtoul.3 index 388ce1e2..2c86abf1 100644 --- a/draft/man3/strtoul.3 +++ b/draft/man3/strtoul.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -120,6 +122,6 @@ BSD には、 .SH 関連項目 \fBatof\fP(3), \fBatoi\fP(3), \fBatol\fP(3), \fBstrtod\fP(3), \fBstrtol\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strverscmp.3 b/draft/man3/strverscmp.3 index f745debc..6d382c57 100644 --- a/draft/man3/strverscmp.3 +++ b/draft/man3/strverscmp.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -63,6 +65,6 @@ strverscmp \- 2つのバージョン文字列を比較する .SH 関連項目 \fBrename\fP(1), \fBstrcasecmp\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/strxfrm.3 b/draft/man3/strxfrm.3 index 5af26c19..50c4effc 100644 --- a/draft/man3/strxfrm.3 +++ b/draft/man3/strxfrm.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -59,6 +61,6 @@ SVr4, 4.3BSD, C89, C99. \fBbcmp\fP(3), \fBmemcmp\fP(3), \fBsetlocale\fP(3), \fBstrcasecmp\fP(3), \fBstrcmp\fP(3), \fBstrcoll\fP(3), \fBstring\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/swab.3 b/draft/man3/swab.3 index 37f29af6..5d780c78 100644 --- a/draft/man3/swab.3 +++ b/draft/man3/swab.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -54,6 +56,6 @@ SVr4, 4.3BSD, POSIX.1\-2001. .SH 関連項目 \fBbstring\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sysconf.3 b/draft/man3/sysconf.3 deleted file mode 100644 index d55912f5..00000000 --- a/draft/man3/sysconf.3 +++ /dev/null @@ -1,211 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Sat Jul 24 17:51:42 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Tue Aug 17 11:42:20 1999 by Ariel Scolnicov (ariels@compugen.co.il) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSCONF 3 2012\-04\-15 GNU "Linux Programmer's Manual" -.SH 名前 -sysconf \- 動作中に設定情報を取得する -.SH 書式 -.nf -\fB#include \fP -.sp -\fBlong sysconf(int \fP\fIname\fP\fB);\fP -.fi -.SH 説明 -POSIX では、アプリケーションがコンパイル時や実行時に、 特定のオプションがサポートされているかや、 -設定可能な特定の定数や制限がどんな値かをテストすることができる。 -.LP -コンパイル時に行うには、 \fI\fP と \fI\fP -の両方もしくは一方をインクルードし、 特定のマクロの値を確認する。 -.LP -実行時には、ここで説明する関数 \fBsysconf\fP() を使って数値を問い合わせることができる。 ファイルが存在するファイルシステムに関する数値は、 -\fBfpathconf\fP(3) と \fBpathconf\fP(3) を使って確認できる。 文字列の値は \fBconfstr\fP(3) -を使って確認できる。 -.LP -.\" except that sysconf(_SC_OPEN_MAX) may change answer after a call -.\" to setrlimit( ) which changes the RLIMIT_NOFILE soft limit -これらの関数で取得される値は設定可能なシステム定数である。 これらはプロセスの生存期間の間は変化しない。 -.LP -.\" and 999 to indicate support for options no longer present in the latest -.\" standard. (?) -オプションを確認できるように、たいていは \fI\fP で定数 \fB_POSIX_FOO\fP が定義されている。 -定義されていないときは、実行時に問い合わせを行う必要がある。 その値が \-1 に定義されているときは、そのオプションはサポートされていない。 0 -に定義されているときは、関連する関数やヘッダファイルが存在するが、 どの程度サポートされているかは実行時に確認しなければならない。 \-1 でも 0 -でもない値に定義されているときは、そのオプションがサポート されている。通常は、そのオプションについて記載した POSIX の改訂年月 -を示す値になっている (例えば 200112L)。 glibc では 1 が設定されていると、そのオプションはサポートされているが、 POSIX -の改訂版がまだ発行されていないことを示す。 \fBsysconf\fP() の引き数には \fB_SC_FOO\fP を指定する。 オプションのリストについては -\fBposixoptions\fP(7) を参照のこと。 -.LP -変数や制限を確認できるように、たいていは、 \fI\fP で定数 \fB_FOO\fP が、 -\fI\fP で \fB_POSIX_FOO\fP が定義されている。 制限が規定されていない場合は定数は定義されない。 -定数が定義されているときには、その定数は保証できる値であり、 実際にはもっと大きな値がサポートされていることもある。 -アプリケーションがシステム毎に変化する値を利用したい場合には、 \fBsysconf\fP() を呼び出すことで実現できる。 \fBsysconf\fP() -の引き数には \fB_SC_FOO\fP を指定する。 -.SS "POSIX.1 変数" -変数名、その値を取得するのに使われる \fBsysconf\fP() のパラメータ名、簡単な説明を以下に示す。 -.LP -.\" [for the moment: only the things that are unconditionally present] -.\" .TP -.\" .BR AIO_LISTIO_MAX " - " _SC_AIO_LISTIO_MAX -.\" (if _POSIX_ASYNCHRONOUS_IO) -.\" Maximum number of I/O operations in a single list I/O call. -.\" Must not be less than _POSIX_AIO_LISTIO_MAX. -.\" .TP -.\" .BR AIO_MAX " - " _SC_AIO_MAX -.\" (if _POSIX_ASYNCHRONOUS_IO) -.\" Maximum number of outstanding asynchronous I/O operations. -.\" Must not be less than _POSIX_AIO_MAX. -.\" .TP -.\" .BR AIO_PRIO_DELTA_MAX " - " _SC_AIO_PRIO_DELTA_MAX -.\" (if _POSIX_ASYNCHRONOUS_IO) -.\" The maximum amount by which a process can decrease its -.\" asynchronous I/O priority level from its own scheduling priority. -.\" Must be nonnegative. -まず POSIX.1 互換の変数を示す。 -.TP -\fBARG_MAX\fP \- \fB_SC_ARG_MAX\fP -\fBexec\fP(3) 関数群の引き数の最大長。 \fB_POSIX_ARG_MAX\fP (4096) 未満であってはならない。 -.TP -\fBCHILD_MAX\fP \- \fB_SC_CHILD_MAX\fP -ユーザID あたりの同時に存在できるプロセスの最大数。 \fB_POSIX_CHILD_MAX\fP (25) 未満であってはならない。 -.TP -\fBHOST_NAME_MAX\fP \- \fB_SC_HOST_NAME_MAX\fP -\fBgethostname\fP(2) で返されるホスト名の最大長。末尾の NULL バイトは長さに含まれない。 -\fB_POSIX_HOST_NAME_MAX\fP (255) 未満であってはならない。 -.TP -\fBLOGIN_NAME_MAX\fP \- \fB_SC_LOGIN_NAME_MAX\fP -ログイン名の長さの最大値。末尾の NULL バイトも長さに含まれる。 \fB_POSIX_LOGIN_NAME_MAX\fP (9) 未満であってはならない。 -.TP -clock ticks \- \fB_SC_CLK_TCK\fP -1秒あたりのクロック・ティック数。 対応する変数は廃止された。この変数は当然ながら \fBCLK_TCK\fP と呼ばれていた。 (注意: マクロ -\fBCLOCKS_PER_SEC\fP からは情報は得られない: この値は 1000000 でなければならない) -.TP -\fBOPEN_MAX\fP \- \fB_SC_OPEN_MAX\fP -一つのプロセスが同時にオープンできるファイル数の上限。 \fB_POSIX_OPEN_MAX\fP (20) 未満であってはならない。 -.TP -\fBPAGESIZE\fP \- \fB_SC_PAGESIZE\fP -バイト単位でのページサイズ。 1 より小さくなってはならない。 (この代わりに PAGE_SIZE を使うシステムもある) -.TP -\fBRE_DUP_MAX\fP \- \fB_SC_RE_DUP_MAX\fP -\fBregexec\fP(3) と \fBregcomp\fP(3) で許容されている BRE (Basic Regular Expression; -基本正規表現) の繰り返し出現回数の最大値。 \fB_POSIX2_RE_DUP_MAX\fP (255) 未満であってはならない。 -.TP -\fBSTREAM_MAX\fP \- \fB_SC_STREAM_MAX\fP -一つのプロセスが同時にオープンできるストリーム数の上限。 定義されていた場合には、この値は標準 C マクロの \fBFOPEN_MAX\fP と同じである。 -\fB_POSIX_STREAM_MAX\fP (8) 未満であってはならない。 -.TP -\fBSYMLOOP_MAX\fP \- \fB_SC_SYMLOOP_MAX\fP -パス名の解決時に現れてもよいシンボリック・リンクの最大数。 この数を超えると、パス名解決時に \fBELOOP\fP が返される。 -\fB_POSIX_SYMLOOP_MAX\fP (8) 未満であってはならない。 -.TP -\fBTTY_NAME_MAX\fP \- \fB_SC_TTY_NAME_MAX\fP -端末デバイス名の最大長。長さには末尾の NULL バイトも含まれる。 \fB_POSIX_TTY_NAME_MAX\fP (9) 未満であってはならない。 -.TP -\fBTZNAME_MAX\fP \- \fB_SC_TZNAME_MAX\fP -タイムゾーン名として使えるバイト数の最大値。 \fB_POSIX_TZNAME_MAX\fP (6) 未満であってはならない。 -.TP -\fB_POSIX_VERSION\fP \- \fB_SC_VERSION\fP -POSIX.1 標準が承認された年月。 \fBYYYYMML\fP という書式である。 \fB199009L\fP という値は、1990年 9月 -改訂であることを示す。 -.SS "POSIX.2 変数" -次に、POSIX.2 の値を示す。 これらは各ユーティリティに対する制限を指定する。 -.TP -\fBBC_BASE_MAX\fP \- \fB_SC_BC_BASE_MAX\fP -\fBbc\fP(1) ユーティリティで許容される \fIobase\fP の最大値。 -.TP -\fBBC_DIM_MAX\fP \- \fB_SC_BC_DIM_MAX\fP -\fBbc\fP(1) で許容される一つの配列中の要素数の最大値。 -.TP -\fBBC_SCALE_MAX\fP \- \fB_SC_BC_SCALE_MAX\fP -\fBbc\fP(1) で許される \fIscale\fP の最大値。 -.TP -\fBBC_STRING_MAX\fP \- \fB_SC_BC_STRING_MAX\fP -\fBbc\fP(1) で許容される文字列の最大長。 -.TP -\fBCOLL_WEIGHTS_MAX\fP \- \fB_SC_COLL_WEIGHTS_MAX\fP -ロケール定義ファイル中の \fBLC_COLLATE order\fP キーワードのエントリに割り当て可能な重みの最大値。 -.TP -\fBEXPR_NEST_MAX\fP \- \fB_SC_EXPR_NEST_MAX\fP -\fBexpr\fP(1) において、括弧で入れ子にできる式の最大数。 -.TP -\fBLINE_MAX\fP \- \fB_SC_LINE_MAX\fP -ユーティリティの入力行の最大長。標準入力だけでなく、ファイルからの入力にも 適用される。長さには行の末尾の改行文字も含まれる。 -.TP -\fBRE_DUP_MAX\fP \- \fB_SC_RE_DUP_MAX\fP -正規表現で区間表記 (interval notation) \fB\e{m,n\e}\fP が使用されたときに許容される繰り返し出現回数の最大値。 -.TP -\fBPOSIX2_VERSION\fP \- \fB_SC_2_VERSION\fP -POSIX.2 標準のバージョン。YYYYMML という書式で表記される。 -.TP -\fBPOSIX2_C_DEV\fP \- \fB_SC_2_C_DEV\fP -POSIX.2 の C 言語開発機能がサポートされているかを示す。 -.TP -\fBPOSIX2_FORT_DEV\fP \- \fB_SC_2_FORT_DEV\fP -POSIX.2 の FORTRAN 開発ユーティリティがサポートされているかを示す。 -.TP -\fBPOSIX2_FORT_RUN\fP \- \fB_SC_2_FORT_RUN\fP -POSIX.2 の FORTRAN ランタイムユーティリティがサポートされているかを示す。 -.TP -\fB_POSIX2_LOCALEDEF\fP \- \fB_SC_2_LOCALEDEF\fP -\fBlocaledef\fP(1) を使った、POSIX.2 のロケールの作成をサポートしているかを示す。 -.TP -\fBPOSIX2_SW_DEV\fP \- \fB_SC_2_SW_DEV\fP -POSIX.2 ソフトウェア開発ユーティリティオプションがサポートされているかを示す。 -.PP -以下の値も存在するが、標準には含まれていない。 -.TP - \- \fB_SC_PHYS_PAGES\fP -物理メモリのページ数。 この値と \fB_SC_PAGE_SIZE\fP 値の積は桁溢れする可能性があるので注意すること。 -.TP - \- \fB_SC_AVPHYS_PAGES\fP -現在利用可能な物理メモリのページ数。 -.TP - \- \fB_SC_NPROCESSORS_CONF\fP -設定されたプロセッサ数。 -.TP - \- \fB_SC_NPROCESSORS_ONLN\fP -現在オンラインの (利用可能な) プロセッサ数。 -.SH 返り値 -\fIname\fP が不正な場合、\-1 が返され、 \fIerrno\fP に \fBEINVAL\fP が設定される。 -それ以外の場合、システムリソースの値が返り値として返され、 \fIerrno\fP は変更されない。問い合わせがオプションについてであれば、 -そのオプションが利用できるときは正の値が返され、 利用できないときは \-1 が返される。問い合わせが 制限について場合は、制限が設定されていないときに -\-1 が返される。 -.SH 準拠 -POSIX.1\-2001. -.SH バグ -\fBARG_MAX\fP を使うのは難しい、なぜなら、 \fBexec\fP(3) の引き数領域 (argument space) のうちどれくらいが -ユーザの環境変数によって使われるかは分からないからである。 -.PP -いくつかの返り値はとても大きくなることがある。これらを使って メモリの割り当てを行うのは適当ではない。 -.SH 関連項目 -\fBbc\fP(1), \fBexpr\fP(1), \fBgetconf\fP(1), \fBlocale\fP(1), \fBfpathconf\fP(3), -\fBpathconf\fP(3), \fBposixoptions\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/syslog.3 b/draft/man3/syslog.3 deleted file mode 100644 index 06bb4c94..00000000 --- a/draft/man3/syslog.3 +++ /dev/null @@ -1,226 +0,0 @@ -.\" Written Feb 1994 by Steve Greenland (stevegr@neosoft.com) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Updated 1999.12.19 by Karl M. Hegbloom -.\" -.\" Updated 13 Oct 2001, Michael Kerrisk -.\" Added description of vsyslog -.\" Added descriptions of LOG_ODELAY and LOG_NOWAIT -.\" Added brief description of facility and option arguments -.\" Added CONFORMING TO section -.\" 2001-10-13, aeb, minor changes -.\" Modified 13 Dec 2001, Martin Schulze -.\" Modified 3 Jan 2002, Michael Kerrisk -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SYSLOG 3 2012\-04\-30 Linux "Linux Programmer's Manual" -.SH 名前 -closelog, openlog, syslog, vsyslog \- システムロガーにメッセージを送る -.SH 書式 -\fB#include \fP -.sp -\fBvoid openlog(const char *\fP\fIident\fP\fB, int \fP\fIoption\fP\fB, int -\fP\fIfacility\fP\fB);\fP -.br -\fBvoid syslog(int \fP\fIpriority\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP -.br -\fBvoid closelog(void);\fP -.sp -\fB#include \fP -.sp -\fBvoid vsyslog(int \fP\fIpriority\fP\fB, const char *\fP\fIformat\fP\fB, va_list -\fP\fIap\fP\fB);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBvsyslog\fP(): _BSD_SOURCE -.SH 説明 -\fBcloselog\fP() はシステムのログ記録用プログラム(システムロガー \fBsyslogd\fP(8)) ヘの接続を終了する。 -\fBcloselog\fP() は必須ではない。 -.sp -\fBopenlog\fP() はログを出力しようとしているプログラムからログ記録用 -プログラム (system logger) への 接続を開始する。 -\fIident\fP で指定した文字列は各メッセージの前に付与される。 -通常は \fIident\fP にはプログラム名が設定される。 -\fIident\fP が NULL の場合、プログラムが \fIident\fP として使用される -(POSIX.1\-2008 では \fIident\fP が NULL の場合の動作は規定されていない)。 - -\fIoption\fP 引き数は、 \fBopenlog\fP() の動作とその後の \fBsyslog\fP() の呼び -出しを制御するフラグを指定する。 \fIfacility\fP 引き数は、後で \fBsyslog\fP() -を呼び出す際に facility が指定されなかった場合に使用される デフォルト値 -を決定する。 \fIoption\fP と \fIfacility\fP については後述する。 -\fBopenlog\fP() は必須ではなく、必要に応じて \fBsyslog\fP() から呼び出される。 -\fBsyslog\fP() が呼び出した場合、 \fIident\fP のデフォルト値は NULL になる。 -.sp -\fBsyslog\fP() はログメッセージを出力し、 \fBsyslogd\fP(8) がそのメッセージを記録する。 \fIpriority\fP 引き数は -\fIfacility\fP と \fIlevel\fP との組合せで指定する。 \fIfacility\fP と \fIlevel\fP の取りうる値は後述する。 残りの -\fIformat\fP 引き数は \fBprintf\fP(3) と似たスタイルの書式とその書式に与える値である。 \fIformat\fP 中の2文字 \fB%m\fP -はその時点での \fIerrno\fP に関連するエラーメッセージ文字列 (\fIstrerror\fP) によって置き換えられる。 -必要な場合は末尾に改行が加えられる。 - -\fBvsyslog\fP() 関数は \fBsyslog\fP() と同じ機能を持つが、可変引き数リストを指定することができる点が異なる。 -指定された引き数は、 \fBstdarg\fP(3) 可変引き数リストマクロを用いて取得される。 - -以下のサブセクションでは、 \fIoption\fP と \fIfacility\fP と \fIpriority\fP -の値を設定するのに使用されるパラメータを説明する。 -.SS option -下記の値を OR したものが \fBopenlog\fP() の \fIoption\fP 引き数になる: -.TP 15 -\fBLOG_CONS\fP -エラーがあれば、システムロガーに送る一方でシステムコンソールにも直接書く。 -.TP -\fBLOG_NDELAY\fP -ログ記録用プログラムとの接続を即座に開始する (通常は、最初のメッセージが記録される時に接続を開く)。 -.TP -\fBLOG_NOWAIT\fP -メッセージを記録する際に生成される子プロセスの終了を待たない。 (GNU C ライブラリは子プロセスを生成しない。 したがって、このオプションは -Linux では無効である。) -.TP -\fBLOG_ODELAY\fP -\fBLOG_NDELAY\fP の反対。 \fBsyslog\fP() が呼ばれるまで、接続の開始を行わない。 -(このオプションはデフォルトであり、特に指定する必要はない。) -.TP -\fBLOG_PERROR\fP -stderr にも出力する。 -(POSIX.1\-2001 と POSIX.1\-2008 では定義されていない) -.TP -\fBLOG_PID\fP -個々のメッセージに PID を含める。 -.SS facility -\fIfacility\fP 引き数はメッセージに記録されるプログラムのタイプを指定するために使われる。 -これによって異なるタイプのプログラムからのメッセージは異なる扱いを するように設定ファイル( \fBsyslog.conf\fP(5)) に定義できる。 -.TP 15 -\fBLOG_AUTH\fP -セキュリティ/認証 メッセージ (非推奨。代わりに \fBLOG_AUTHPRIV\fP を使用すること) -.TP -\fBLOG_AUTHPRIV\fP -セキュリティ/認証 メッセージ (プライベート) -.TP -\fBLOG_CRON\fP -クロックデーモン (\fBcron\fP と at\fB)\fP -.TP -\fBLOG_DAEMON\fP -特定の facility 値を持たないシステムデーモン -.TP -\fBLOG_FTP\fP -ftp デーモン -.TP -\fBLOG_KERN\fP -.\" LOG_KERN has the value 0; if used as a facility, zero translates to: -.\" "use the default facility". -カーネルメッセージ (ユーザプロセスから生成することはできない) -.TP -\fBLOG_LOCAL0\fP から \fBLOG_LOCAL7\fP -ローカルな使用のためにリザーブされている -.TP -\fBLOG_LPR\fP -ラインプリンタ・サブシステム -.TP -\fBLOG_MAIL\fP -メール・サブシステム -.TP -\fBLOG_NEWS\fP -USENET ニュース・サブシステム -.TP -\fBLOG_SYSLOG\fP -\fBsyslogd\fP(8) によって内部的に発行されるメッセージ -.TP -\fBLOG_USER\fP (デフォルト) -一般的なユーザレベルメッセージ -.TP -\fBLOG_UUCP\fP -UUCPサブシステム -.SS level -これはメッセージの優先度を指定する。 優先度の高いものから低いものの順で下記する。 -.TP 15 -\fBLOG_EMERG\fP -システムが使用不可 -.TP -\fBLOG_ALERT\fP -直ちに行動を起こさなければならない -.TP -\fBLOG_CRIT\fP -危険な状態 -.TP -\fBLOG_ERR\fP -エラーの状態 -.TP -\fBLOG_WARNING\fP -ワーニングの状態 -.TP -\fBLOG_NOTICE\fP -通常だが重要な状態 -.TP -\fBLOG_INFO\fP -インフォメーションメッセージ -.TP -\fBLOG_DEBUG\fP -デバッグレベルのメッセージ -.LP -\fBsetlogmask\fP(3) 関数を使用して、 指定されたレベルのメッセージだけを記録するように 制限することができる。 -.SH 準拠 -.\" .SH HISTORY -.\" A -.\" .BR syslog () -.\" function call appeared in 4.2BSD. -.\" 4.3BSD documents -.\" .BR openlog (), -.\" .BR syslog (), -.\" .BR closelog (), -.\" and -.\" .BR setlogmask (). -.\" 4.3BSD-Reno also documents -.\" .BR vsyslog (). -.\" Of course early v* functions used the -.\" .I -.\" mechanism, which is not compatible with -.\" .IR . -\fBopenlog\fP(), \fBcloselog\fP(), \fBsyslog\fP() は SUSv2, POSIX.1\-2001, -POSIX.1\-2008 で規定されている (但し \fBvsyslog\fP() は除く)。 -POSIX.1\-2001 では \fIfacility\fP として \fBLOG_USER\fP と \fBLOG_LOCAL*\fP の値 -が規定されているだけである。 しかしながら、 \fBLOG_AUTHPRIV\fP と -\fBLOG_FTP\fP という例外はあるが、 それ以外の \fIfacility\fP の値は多くの -UNIX システムで使われている。 \fIoption\fP の値の \fBLOG_PERROR\fP の値は、 -POSIX.1\-2001 と POSIX.1\-2008 では規定されていないが、 -UNIX の多くのバージョンで使用可能である。 -.SH 注意 -\fBopenlog\fP() 呼び出しの \fIident\fP 引き数は、値がそのまま保持されていることを前提にしている。 それゆえ、 \fIident\fP -で指定された文字列が変更されると、 \fBsyslog\fP() は変更された文字列の追加するだろうし、 -指定された文字列が存在しなくなった場合、結果は未定義である。 最も移植性がある方法は、文字列定数を使用することである。 -.LP -ユーザーから与えられたデータを format として渡してはならない。 代わりに以下を使うこと。 -.nf - - syslog(priority, "%s", string); -.fi -.SH 関連項目 -\fBlogger\fP(1), \fBsetlogmask\fP(3), \fBsyslog.conf\fP(5), \fBsyslogd\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/system.3 b/draft/man3/system.3 index f54c8a23..a74661b1 100644 --- a/draft/man3/system.3 +++ b/draft/man3/system.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 17:51:15 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 11 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk) .\" Modified 14 May 2001, 23 Sep 2001 by aeb @@ -92,6 +94,6 @@ POSIX.1\-2001 ではシェルが提供されているという標準に準拠し .SH 関連項目 \fBsh\fP(1), \fBsignal\fP(2), \fBwait\fP(2), \fBexec\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/sysv_signal.3 b/draft/man3/sysv_signal.3 index ae3e9936..f2beb2ca 100644 --- a/draft/man3/sysv_signal.3 +++ b/draft/man3/sysv_signal.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -60,6 +62,6 @@ sysv_signal \- System V 方式のシグナル処理 .SH 関連項目 \fBsigaction\fP(2), \fBsignal\fP(2), \fBbsd_signal\fP(3), \fBsignal\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tan.3 b/draft/man3/tan.3 index 86c01efa..fcf73bea 100644 --- a/draft/man3/tan.3 +++ b/draft/man3/tan.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -109,6 +111,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 \fBacos\fP(3), \fBasin\fP(3), \fBatan\fP(3), \fBatan2\fP(3), \fBcos\fP(3), \fBctan\fP(3), \fBsin\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tanh.3 b/draft/man3/tanh.3 index 1e08324f..bbbf35b3 100644 --- a/draft/man3/tanh.3 +++ b/draft/man3/tanh.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -89,6 +91,6 @@ C99, POSIX.1\-2001. \fIdouble\fP 版の関数は SVr4, 4.3BSD, C89 にも準拠 .SH 関連項目 \fBacosh\fP(3), \fBasinh\fP(3), \fBatanh\fP(3), \fBcosh\fP(3), \fBctanh\fP(3), \fBsinh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tcgetpgrp.3 b/draft/man3/tcgetpgrp.3 index cd9e65e3..cb60880f 100644 --- a/draft/man3/tcgetpgrp.3 +++ b/draft/man3/tcgetpgrp.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -78,6 +80,6 @@ POSIX.1\-2001. .SH 関連項目 \fBsetpgid\fP(2), \fBsetsid\fP(2), \fBcredentials\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tcgetsid.3 b/draft/man3/tcgetsid.3 index 11e90a14..5fe8c711 100644 --- a/draft/man3/tcgetsid.3 +++ b/draft/man3/tcgetsid.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2002 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -56,6 +58,6 @@ POSIX.1\-2001. .SH 関連項目 \fBgetsid\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/telldir.3 b/draft/man3/telldir.3 index cef3672b..5e8b2826 100644 --- a/draft/man3/telldir.3 +++ b/draft/man3/telldir.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -63,6 +65,6 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), \fBscandir\fP(3), \fBseekdir\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tempnam.3 b/draft/man3/tempnam.3 index 37fa751f..79224408 100644 --- a/draft/man3/tempnam.3 +++ b/draft/man3/tempnam.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -96,6 +98,6 @@ SUSv2 では \fBTMPDIR\fP に付いて言及されていない。 glibc は、 .SH 関連項目 \fBmkstemp\fP(3), \fBmktemp\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/termios.3 b/draft/man3/termios.3 deleted file mode 100644 index 61d089e7..00000000 --- a/draft/man3/termios.3 +++ /dev/null @@ -1,620 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (c) 1993 Michael Haardt -.\" (michael@moria.de) -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified 1993-07-24 by Rik Faith -.\" Modified 1995-02-25 by Jim Van Zandt -.\" Modified 1995-09-02 by Jim Van Zandt -.\" moved to man3, aeb, 950919 -.\" Modified 2001-09-22 by Michael Kerrisk -.\" Modified 2001-12-17, aeb -.\" Modified 2004-10-31, aeb -.\" 2006-12-28, mtk: -.\" Added .SS headers to give some structure to this page; and a -.\" small amount of reordering. -.\" Added a section on canonical and noncanonical mode. -.\" Enhanced the discussion of "raw" mode for cfmakeraw(). -.\" Document CMSPAR. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TERMIOS 3 2011\-09\-08 Linux "Linux Programmer's Manual" -.SH 名前 -termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, -cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed \- -ターミナル属性の取得・設定、ライン制御、ボーレートの取得・設定 -.SH 書式 -.nf -\fB#include \fP -.br -\fB#include \fP -.sp -\fBint tcgetattr(int \fP\fIfd\fP\fB, struct termios *\fP\fItermios_p\fP\fB);\fP -.sp -\fBint tcsetattr(int \fP\fIfd\fP\fB, int \fP\fIoptional_actions\fP\fB,\fP -\fB const struct termios *\fP\fItermios_p\fP\fB);\fP -.sp -\fBint tcsendbreak(int \fP\fIfd\fP\fB, int \fP\fIduration\fP\fB);\fP -.sp -\fBint tcdrain(int \fP\fIfd\fP\fB);\fP -.sp -\fBint tcflush(int \fP\fIfd\fP\fB, int \fP\fIqueue_selector\fP\fB);\fP -.sp -\fBint tcflow(int \fP\fIfd\fP\fB, int \fP\fIaction\fP\fB);\fP -.sp -\fBvoid cfmakeraw(struct termios *\fP\fItermios_p\fP\fB);\fP -.sp -\fBspeed_t cfgetispeed(const struct termios *\fP\fItermios_p\fP\fB);\fP -.sp -\fBspeed_t cfgetospeed(const struct termios *\fP\fItermios_p\fP\fB);\fP -.sp -\fBint cfsetispeed(struct termios *\fP\fItermios_p\fP\fB, speed_t \fP\fIspeed\fP\fB);\fP -.sp -\fBint cfsetospeed(struct termios *\fP\fItermios_p\fP\fB, speed_t \fP\fIspeed\fP\fB);\fP -.sp -\fBint cfsetspeed(struct termios *\fP\fItermios_p\fP\fB, speed_t \fP\fIspeed\fP\fB);\fP -.fi -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -\fBcfsetspeed\fP(), \fBcfmakeraw\fP(): _BSD_SOURCE -.SH 説明 -termios 関数群は、非同期通信ポートを制御するための汎用 ターミナルインタフェースである。 -.SS "termios 構造体" -.LP -ここに示されている関数の多くは、引き数に \fItermios_p\fP を用いる。 この引き数は \fItermios\fP 構造体へのポインタである。 -この構造体には少なくとも以下に示すメンバが含まれる: -.sp -.in +4n -.nf -tcflag_t c_iflag; /* input modes */ -tcflag_t c_oflag; /* output modes */ -tcflag_t c_cflag; /* control modes */ -tcflag_t c_lflag; /* local modes */ -cc_t c_cc[NCCS]; /* special characters */ -.fi -.in -.PP -以下に、これらのフィールドに割り当て可能な値について説明する。 最初の 4 つのビットマスクフィールドでは、 -関係するフラグの定義のいくつかは、特定の機能検査マクロ (\fBfeature_test_macros\fP(7) 参照) -が定義された場合にのみ公開される。 必要な機能検査マクロは角括弧 ("[]") 内に書かれている。 -.PP -以下の説明で、 "POSIX にはない" は その値が POSIX.1\-2001 で規定されていないことを意味し、 "XSI" はその値が -POSIX.1\-2001 の XSI 拡張で 規定されていることを意味する。 -.PP -\fIc_iflag\fP フラグには以下の要素を指定できる: -.TP -\fBIGNBRK\fP -入力中の BREAK 信号を無視する。 -.TP -\fBBRKINT\fP -\fBIGNBRK\fP が設定されている場合は、BREAK 信号は無視される。 \fBIGNBRK\fP が設定されていないが、\fBBRKINT\fP -が設定されている場合は、 BREAK 信号によって入出力キューがフラッシュされ、 さらに、端末がフォアグラウンドプロセスグループの制御端末の場合は、 -フォアグラウンドプロセスグループに \fBSIGINT\fP が送られる。 \fBIGNBRK\fP も \fBBRKINT\fP も設定されていない場合、 BREAK -を NULL バイト (\(aq\e0\(aq) として読み込む。 ただし、\fBPARMRK\fP が設定されている場合は \e377 \e0 \e0 -のシーケンスとして 読み込む。 -.TP -\fBIGNPAR\fP -フレームエラーおよびパリティエラーを無視する。 -.TP -\fBPARMRK\fP -\fBIGNPAR\fP が設定されていない場合、パリティエラーあるいはフレームエラー の発生した文字の前に \e377 \e0 -を付加する。\fBIGNPAR\fP も \fBPARMRK\fP も 設定されていない場合、パリティエラーあるいはフレームエラーの発生した文字を \e0 -として読み込む。 -.TP -\fBINPCK\fP -入力のパリティチェックを有効にする。 -.TP -\fBISTRIP\fP -8 ビット目を落とす。 -.TP -\fBINLCR\fP -入力の NL (New Line: 改行文字) を CR (Carriage Return: 復帰文字) に 置き換える。 -.TP -\fBIGNCR\fP -入力の CR を無視する。 -.TP -\fBICRNL\fP -(\fBIGNCR\fP が設定されていない場合) 入力の CR を NL に置き換える。 -.TP -\fBIUCLC\fP -(POSIX にはない) 入力の大文字を小文字に置き換える。 -.TP -\fBIXON\fP -出力の XON/XOFF フロー制御を有効にする。 -.TP -\fBIXANY\fP -(XSI) 任意の文字を入力すると、停止していた出力を再開する (デフォルトでは、START 文字でのみ出力が再開される)。 -.TP -\fBIXOFF\fP -入力の XON/XOFF フロー制御を有効にする。 -.TP -\fBIMAXBEL\fP -(POSIX にはない) 入力キューが一杯の時にベルを鳴らす。 Linux ではこのビットは実装されておらず、 常にセットされているかのように振舞う。 -.TP -\fBIUTF8\fP (Linux 2.6.4 以降) -(POSIX にはない) 入力が UTF8 である; これにより cooked mode で文字削除 (character\-erase) を -正しく機能させることができる。 -.PP -POSIX.1 で定義されている \fIc_oflag\fP フラグを以下に示す: -.TP -\fBOPOST\fP -実装に依存した出力処理を有効にする。 -.PP -残りの \fIc_oflag\fP フラグは、特記のない限り POSIX.1\-2001 で定義されている。 -.TP -\fBOLCUC\fP -(POSIX にはない) 出力時に小文字を大文字に変換する。 -.TP -\fBONLCR\fP -(XSI) 出力の NL を CR\-NL に置き換える。 -.TP -\fBOCRNL\fP -出力の CR を NL に置き換える。 -.TP -\fBONOCR\fP -0 桁目で CR を出力しない。 -.TP -\fBONLRET\fP -CR を出力しない。 -.TP -\fBOFILL\fP -転送時間を遅らせるのではなく、補填文字 (fill character) を送る。 (訳注:特定の文字に対して、端末側の処理を待つために転送を一定時間 -遅らせることができる。また、 \fBOFILL\fP を指定すると 転送を遅らせる代わりに補填文字を送る。) -.TP -\fBOFDEL\fP -(POSIX にはない) 補填文字を ASCII DEL にする。 このフラグが設定されていない場合は ASCII NUL (\(aq\e0\(aq) -になる。 (Linux では実装されていない) -.TP -\fBNLDLY\fP -NL の遅延を設定する。値は \fBNL0\fP (遅延なし) および \fBNL1\fP である。 [\fB_BSD_SOURCE\fP か -\fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -.TP -\fBCRDLY\fP -CR の遅延を設定する。値は \fBCR0\fP (遅延なし), \fBCR1\fP, \fBCR2\fP,\fBCR3\fP である。 [\fB_BSD_SOURCE\fP か -\fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -.TP -\fBTABDLY\fP -水平タブ (horizontal tab) の遅延を設定する。 値は \fBTAB0\fP (遅延なし), \fBTAB1\fP, \fBTAB2\fP, \fBTAB3\fP -(\fBXTABS\fP) である。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -XTAB3 (これは XTABS と同じである) の値はタブをスペース何個に変換するかを示す (タブは 8 桁毎に止まる)。 -.TP -\fBBSDLY\fP -後退 (backspace) の遅延を設定する。 値は \fBBS0\fP (遅延なし) あるいは \fBBS1\fP である。 (実装されたことはない) -[\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -.TP -\fBVTDLY\fP -垂直タブ (vertical tab) の遅延を設定する。 値は \fBVT0\fP (遅延なし) あるいは \fBVT1\fP である。 -.TP -\fBFFDLY\fP -頁送り (form feed) の遅延を設定する。 値は \fBFF0\fP (遅延なし) あるいは \fBFF1\fP である。 [\fB_BSD_SOURCE\fP -か \fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -.PP -\fIc_cflag\fP フラグは以下の通り: -.TP -\fBCBAUD\fP -(POSIX にはない) ボーレートマスク (4+1 ビット)。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBCBAUDEX\fP -(POSIX にはない) 追加のボーレートマスク (1 ビット)。 \fBCBAUD\fP に含まれている。 [\fB_BSD_SOURCE\fP か -\fB_SVID_SOURCE\fP が必要] -.sp -(POSIX では、 \fItermios\fP 構造体に格納されたボーレートは正確なものではなく、 ボーレートを操作するために -\fBcfgetispeed\fP() と \fBcfsetispeed\fP() が提供されている。 \fIc_cflag\fP 内の \fBCBAUD\fP -で選択されたビットを使うシステムもあれば、 \fIsg_ispeed\fP や \fIsg_ospeed\fP といった独立したフィールドを使うものもある。) -.TP -\fBCSIZE\fP -文字サイズを設定する。 値は \fBCS5\fP, \fBCS6\fP, \fBCS7\fP, \fBCS8\fP である。 -.TP -\fBCSTOPB\fP -ストップビットを 1 ではなく 2 にする。 -.TP -\fBCREAD\fP -受信を有効にする。 -.TP -\fBPARENB\fP -出力にパリティを付加し、入力のパリティチェックを行う。 -.TP -\fBPARODD\fP -設定されると、入力および出力に対するパリティが奇数パリティとなる。 設定されない場合、偶数パリティが使用される。 -.TP -\fBHUPCL\fP -最後のプロセスがデバイスをクローズした後、モデムの制御線を low にする (切断する)。 -.TP -\fBCLOCAL\fP -モデムの制御線を無視する。 -.TP -\fBLOBLK\fP -(POSIX にはない) 現在のシェル層以外からの出力を抑制する。 - \fBshl\fP (シェル層) で用いられる。(Linux では実装されていない) -.TP -\fBCIBAUD\fP -(POSIX にはない) 入力速度のマスク。 \fBCIBAUD\fP ビットのための値は \fBCBAUD\fP ビットのための値と同じであり、 左に -\fBIBSHIFT\fP ビットシフトしたものである。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] (Linux -では実装されていない) -.TP -\fBCMSPAR\fP -(POSIX にはない) (一部のシリアルデバイスでサポートされている) 「スティック (stick)」パリティ (マーク/スペース -パリティ)を使用する。 \fBPARODD\fP が設定された場合パリティビットは常に 1 となり、 設定されない場合は常に 0 となる。 -[\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBCRTSCTS\fP -(POSIX にはない) RTS/CTS (ハードウェア) フロー制御を有効にする。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP -が必要] -.PP -\fIc_lflag\fP フラグは以下の通り: -.TP -\fBISIG\fP -INTR, QUIT, SUSP, DSUSP の文字を受信した時、対応するシグナルを 発生させる。 -.TP -\fBICANON\fP -カノニカルモードを有効にする (下記参照)。 -.TP -\fBXCASE\fP -.\" glibc is probably now wrong to allow -.\" Define -.\" .B _XOPEN_SOURCE -.\" to expose -.\" .BR XCASE . -(POSIX にはない; Linux では対応していない) \fBICANON\fP が同時に設定された場合、端末は大文字のみが有効である。 -入力された文字は \e が付いた文字を除いて小文字に変換される。 出力時は、大文字の前に \e が付き、小文字は大文字に変換される。 -[\fB_BSD_SOURCE\fP が \fB_SVID_SOURCE\fP か \fB_XOPEN_SOURCE\fP が必要] -.TP -\fBECHO\fP -入力された文字をエコーする。 -.TP -\fBECHOE\fP -\fBICANON\fP も同時に設定された場合、ERASE 文字は前の文字を削除し、 WERASE 文字は前の単語を削除する。 -.TP -\fBECHOK\fP -\fBICANON\fP も同時に設定された場合、KILL 文字は現在の行を削除する。 -.TP -\fBECHONL\fP -\fBICANON\fP も同時に設定された場合、 ECHO が設定されていなくても NL 文字をエコーする。 -.TP -\fBECHOCTL\fP -(POSIX にはない) \fBECHO\fP も同時に設定された場合、TAB, NL, START, STOP 以外の -端末特殊文字が \fB^X\fP としてエコーされる。 -X は特殊文字に ASCII コードで 0x40 を足した文字である。 -例えば文字 0x08 (BS) は \fB^H\fP とエコーされる。 -[\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBECHOPRT\fP -(POSIX にはない) \fBICANON\fP および \fBECHO\fP が同時に設定されている場合、 -削除された文字も表示される。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBECHOKE\fP -(POSIX にはない) \fBICANON\fP も設定された場合、 KILL が行の各文字を消去する代わりにエコーされる。 これは \fBECHOE\fP -および \fBECHOPRT\fP を指定することと等しい。 [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBDEFECHO\fP -(POSIX にはない) プロセスが読み込んだときにだけエコーする。 (Linux では実装されていない) -.TP -\fBFLUSHO\fP -(POSIX にはない; Linux では対応していない) 出力をフラッシュする。このフラグは DISCARD 文字を入力することで切替えられる。 -[\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBNOFLSH\fP -.\" Stevens lets SUSP only flush the input queue -INT, QUIT, SUSP 文字に対応するシグナルを発生する際の 入力・出力キューのフラッシュを無効にする。 -.TP -\fBTOSTOP\fP -バックグラウンドプロセスのプロセスグループで制御端末へ 文字を出力しようとしているプロセスに対して \fBSIGTTOU\fP シグナルを送る。 -.TP -\fBPENDIN\fP -(POSIX にはない; Linux では対応していない) 次の文字を読み込んだ時、入力キュー中の全文字を再表示する。 (\fBbash\fP(1) -は入力行をこのように処理している。) [\fB_BSD_SOURCE\fP か \fB_SVID_SOURCE\fP が必要] -.TP -\fBIEXTEN\fP -実装依存の入力処理を有効にする。 このフラグは、特殊文字である EOL2, LNEXT, REPRINT, WERASE や、 \fBIUCLC\fP -フラグを有効にするために必要である。 -.PP -\fIc_cc\fP 配列は端末特殊文字を定義している。 -シンボルの一覧 (初期値) と意味は以下の通り。 -.TP -\fBVDISCARD\fP -(POSIX にはない; Linux では対応していない; 017, SI, Ctrl\-O) 未送信バッファの内容の破棄/保存を切り替える。 -\fBIEXTEN\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVDSUSP\fP -(POSIX にはない; Linux では対応していない; 031, EM, Ctrl\-Y) 遅延中断文字 (DSUSP)。 -ユーザープログラムから文字が読み込まれた時に \fBSIGTSTP\fP シグナルを送る。 -\fBIEXTEN\fP と \fBISIG\fP がセットされていて、システムがジョブ制御に対応している -場合に 認識し、入力には渡されない。 -.TP -\fBVEOF\fP -(004, EOT, Ctrl\-D) ファイル終端文字 (EOF)。 -より正確には、tty バッファの内容を行末を待たずにユーザープログラムに送る。 -これが行の最初の文字だった場合、ユーザープログラムの \fBread\fP(2) は 0 を 返し、 -ファイル終端であることを知らせる。 \fBICANON\fP がセットされている場合に認識し、 -入力には渡されない。 -.TP -\fBVEOL\fP -(0, NUL) 追加の行末文字 (EOL)。 -\fBICANON\fP がセットされている場合に認識する。 -.TP -\fBVEOL2\fP -(POSIX にはない; 0, NUL) 追加の行末文字 (EOL2)。 -\fBICANON\fP がセットされている場合に認識する。 -.TP -\fBVERASE\fP -(0177, DEL, rubout か 010, BS, Ctrl\-H か #) 消去文字 (ERASE)。 -これにより、直前の未消去文字を消去する。 -しかし、EOF や行頭を超えては消去しない。 -\fBICANON\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVINTR\fP -(003, ETX, Ctrl\-C か 0177, DEL, rubout) 割り込み文字 (INTR)。 -\fBSIGINT\fP シグナルを送る。 -\fBISIG\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVKILL\fP -(025, NAK, Ctrl\-U か Ctrl\-X か @) 完全消去文字 (KILL)。 -直前の EOF か行頭以降の全ての入力を消去する。 -\fBICANON\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVLNEXT\fP -(POSIX にはない; 026, SYN Ctrl\-V) リテラル (LNEXT)。 -次の入力文字をエスケープし、特別な意味があっても解釈しない。 -\fBIEXTEN\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVMIN\fP -非カノニカル読み込み時の最小文字数 (MIN)。 -.TP -\fBVQUIT\fP -(034, FS, Ctrl\-\e) 終了文字 (QUIT)。 -\fBSIGQUIT\fP シグナルを送る。 -\fBISIG\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVREPRINT\fP -(POSIX にはない; 022, DC2, Ctrl\-R) まだ読み込んでいない文字列を再表示する (REPRINT)。 -\fBICANON\fP と \fBIEXTEN\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVSTART\fP -(021, DC1, Ctrl\-Q) 開始文字 (START)。停止文字で停止した出力を再開する。 -\fBIXON\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVSTATUS\fP -(POSIX にはない; Linux では対応していない; 状態要求: 024, DC4, Ctrl\-T) -状態文字 (STATUS)。端末での状態情報を表示する。 -表示される情報には、フォアグラウンドプロセスの状態やそのプロセスが消費した -CPU 時間の総計が含まれる。 -また、フォアグラウンドプロセスグループにシグナル \fBSIGINFO\fP を送信する -(Linux ではサポートされていない)。 -.TP -\fBVSTOP\fP -(023, DC3, Ctrl\-S) 停止文字 (STOP)。 -開始文字が入力されるまで出力を停止する。 -\fBIXON\fP が設定されている場合に認識し、入力には渡されない。 -.TP -\fBVSUSP\fP -(032, SUB, Ctrl\-Z) 中断文字 (SUSP)。 -\fBSIGTSTP\fP シグナルを送る。 -\fBISIG\fP がセットされている場合に認識し、入力には渡されない。 -.TP -\fBVSWTCH\fP -(POSIX にはない; Linux では対応していない; 0, NUL) スイッチ文字 (SWTCH)。 -System V で (シェルのジョブ制御の前にあった) \fIshell layers\fP での -シェルの切り替えに用いられる。 -.TP -\fBVTIME\fP -非カノニカル読み込み時のタイムアウト時間 (1/10 秒単位) (TIME)。 -.TP -\fBVWERASE\fP -(POSIX にはない; 027, ETB, Ctrl\-W) 単語消去 (WERASE)。 -\fBICANON\fP と \fBIEXTEN\fP がセットされている場合に認識し、入力には渡されない。 -.LP -対応する \fIc_cc\fP 要素の値を \fB_POSIX_VDISABLE\fP に設定することで、 -それぞれの端末制御文字を無効にすることができる。 -.LP -上記のシンボルの示す値は全て異なる。ただし、 \fBVTIME\fP, \fBVMIN\fP はそれぞれ -\fBVEOL\fP, \fBVEOF\fP と同じ値である。 非カノニカルモードでは、特殊文字の意味は -タイムアウトの意味に変わる。 \fBVMIN\fP と \fBVTIME\fP の説明については、 -下記の非カノニカルモードの説明を参照のこと。 -.SS 端末の設定の取得と変更 -.PP -\fBtcgetattr\fP() は \fIfd\fP に関するパラメータを取得し、\fItermios_p\fP が参照する構 造体 \fItermios\fP -に設定する。この関数はバックグラウンドプロセスから 呼ばれることもあるが、この場合、端末の属性はフォアグラウンドプロセス によって変化することもある。 -.LP -\fBtcsetattr\fP() は端末に関連したパラメータを設定する (ハードウェアの設定に必要で、ここで 設定できないものを除く)。設定には -\fItermios_p\fP が参照する \fItermios\fP 構造体を用いる。 \fIoptional_actions\fP -には変更が有効となるタイミングを設定する: -.IP \fBTCSANOW\fP -ただちに変更が有効となる。 -.IP \fBTCSADRAIN\fP -\fIfd\fP への出力がすべて転送された後に変更が有効になる。この機能は 出力に影響するパラメータを変更する時に使用するべきである。 -.IP \fBTCSAFLUSH\fP -パラメータを変更する前に、 \fIfd\fP への出力がすべて転送され、受信したがまだ読み込んでいないすべての 入力が破棄される。 -.SS カノニカルモードと非カノニカルモード -\fIc_lflag\fP の \fBICANON\fP フラグの設定により、端末がカノニカルモードで動作するかが決定される。 \fBICANON\fP -がセットされた場合、カノニカルモード (canonical mode) となり、 セットされない場合、非カノニカルモード (noncanonical -mode) となる。 デフォルトでは、 \fBICANON\fP はセットされる。 - -カノニカルモードでは、以下のような動作となる。 -.IP * 2 -入力は行単位に行われる。 行区切り文字が打ち込まれた時点で、入力行が利用可能となる。 行区切り文字は NL, EOL, EOL2 および行頭での EOF -である。 EOF 以外の場合、 \fBread\fP(2) が返すバッファに行区切り文字も含められる。 -.IP * 2 -行編集が有効となる (ERASE, KILL が効果を持つ。 \fBIEXTEN\fP フラグが設定された場合は、 WERASE, REPRINT, -LNEXT も効果を持つ)。 \fBread\fP(2) は最大でも 1行の入力しか返さない。 \fBread\fP(2) -が要求したバイト数が現在の入力行のバイト数よりも少ない場合、 要求したのと同じバイト数だけが読み込まれ、 残りの文字は次回の \fBread\fP(2) -で読み込まれる。 -.PP -非カノニカルモードでは、入力は即座に利用可能となり (ユーザは行区切り文字を打ち込む必要はない)、 行編集は無効となる。 MIN -(\fIc_cc[VMIN]\fP) と TIME (\fIc_cc[VTIME]\fP) の設定により、 \fBread\fP(2) -が完了する条件が決定される。4種類の場合がある: -.IP * 2 -MIN == 0; TIME == 0: データが利用可能であれば、 \fBread\fP(2) -はすぐに返る。このときの返り値は、そのとき利用可能なバイト数か \fBread\fP(2) の要求バイト数のうち小さい方となる。 利用可能なデータがない場合 -\fBread\fP(2) は 0 を返す。 -.IP * 2 -MIN > 0; TIME == 0: \fBread\fP(2) は、利用可能なデータが MIN バイトか要求バイト数のいずれかに達するまで -停止する。返り値は、MIN か要求バイト数の小さい方となる。 -.IP * 2 -MIN == 0; TIME > 0: TIME はタイマの上限を規定し、単位は 1/10 秒である。 タイマは \fBread\fP(2) -が呼ばれた時点で開始される。 \fBread\fP(2) が返るのは、少なくとも 1バイトのデータが利用可能となった時点、 -またはタイマが時間切れとなった時点である。 入力が全くなくタイマが時間切れとなった場合、 \fBread\fP(2) は 0 を返す。 -.IP * 2 -MIN > 0; TIME > 0: TIME はタイマの上限を規定し、単位は 1/10 秒である。 -入力の最初のバイトが利用可能になった後は、 新たに 1バイト受信する度にタイマがリセットされる。 \fBread\fP(2) が返るのは、MIN -バイトか要求バイト数のうち少ない方まで読み出された時点か、 バイト間タイマが時間切れとなった時点である。 -は最初のバイトが利用可能にならないとタイマは開始されないので、 少なくとも 1バイトは読み込まれる。 -.SS "Raw mode" -.LP -\fBcfmakeraw\fP() は、端末を昔の Version 7 端末ドライバの "raw" モードのように設定する。 -入力は文字単位に可能であり、エコーが無効となり、 端末の入出力文字に対する特殊処理はすべて無効となる。 端末の属性は以下のように設定される: -.nf - - termios_p\->c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP - | INLCR | IGNCR | ICRNL | IXON); - termios_p\->c_oflag &= ~OPOST; - termios_p\->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN); - termios_p\->c_cflag &= ~(CSIZE | PARENB); - termios_p\->c_cflag |= CS8; -.fi -.SS ライン制御 -.LP -\fBtcsendbreak\fP() は端末が非同期のシリアルデータ転送を用いている場合に、 連続した0のビット列を一定間隔で転送する。 -\fIduration\fP が 0 の場合は、0 のビットを 0.25 秒以上、 0.5 秒以下の間隔で転送する。 \fIduration\fP が 0 -でない場合は、 0 のビットを実装依存の時間間隔で送る。 -.LP -端末が非同期のシリアルデータ転送モードでない場合、 \fBtcsendbreak\fP() は何も行わずに戻る。 -.LP -\fBtcdrain\fP() は \fIfd\fP が行っている出力の転送が完了するまで待つ。 -.LP -\fBtcflush\fP() は \fIfd\fP が行っているデータの出力でまだ転送されていないもの、あるいは受信し -たがまだ入力していないものを破棄する。いずれを行うかは \fIqueue_selector\fP の値で定める: -.IP \fBTCIFLUSH\fP -受信したが読んでいないデータをフラッシュする。 -.IP \fBTCOFLUSH\fP -書いたが送信していないデータをフラッシュする。 -.IP \fBTCIOFLUSH\fP -受信したが読んでいないデータ・書いたが送信していないデータ両方 をフラッシュする。 -.LP -\fBtcflow\fP() は \fIfd\fP で指定されたオブジェクトにおけるデータの送信あるいは受信を一時的に中断する。 送信と受信のどちらかは、 -\fIaction\fPで決まる: -.IP \fBTCOOFF\fP -出力の中断。 -.IP \fBTCOON\fP -中断した出力の再開。 -.IP \fBTCIOFF\fP -STOP 文字の送信。 STOP 文字は端末デバイスからシステムへのデータ送信を停止する。 -.IP \fBTCION\fP -START 文字の送信。 START 文字は端末デバイスからシステムへのデータ送信を開始する。 -.LP -端末ファイルがオープンされたときのデフォルトでは、 入力も出力も中断されていない。 -.SS ライン速度 -ボーレート関数は \fItermios\fP 構造体中の入出力ボーレートを 取得、設定するために提供される。 設定された値は \fBtcsetattr\fP() -の呼び出しが成功するまでは有効ではない。 - -速度を \fBB0\fP に設定した場合、モデムは停止 (hang up) する。 \fBB38400\fP に該当する実際のビットレートは -\fBsetserial\fP(8) で 変更できる。 -.LP -入力および出力ボーレートは \fItermios\fP 構造体に格納される。 -.LP -\fBcfgetospeed\fP() は \fItermios_p\fP が示している \fItermios\fP 構造体に格納されている 出力ボーレートを返す。 -.LP -\fBcfsetospeed\fP() は \fItermios_p\fP で示されている \fItermios\fP 構造体中の出力ボーレートを \fIspeed\fP -に設定する。値は以下のいずれかでなければならない: -.nf - -\fB B0 - B50 - B75 - B110 - B134 - B150 - B200 - B300 - B600 - B1200 - B1800 - B2400 - B4800 - B9600 - B19200 - B38400 - B57600 - B115200 - B230400\fP - -.fi -0ボー (\fBB0\fP) は接続の中断に用いられる。 B0が指定された場合、モデムの制御線は使用されない状態になり、一般にはこれで 接続が切断される。 -\fBCBAUDEX\fP はPOSIX.1で定義されている速度の範囲外 (57600 およびそれ以上) を設定する。すなわち例えば \fBB57600\fP & -\fBCBAUDEX\fP は 0 でない。 -.LP -\fBcfgetispeed\fP() は \fItermios\fP 構造体中の入力ボーレートを返す。 -.LP -\fBcfsetispeed\fP() は \fItermios\fP 構造体中の入力ボーレートを \fIspeed\fP に設定する。 \fIspeed\fP には、上述の -\fBcfsetospeed\fP() のボーレート定数 \fBBnnn\fP のいずれか一つを指定しなければならない。 入力ボーレートが 0 -に設定された場合、入力ボーレートは出力ボーレート と同じ値となる。 -.LP -\fBcfsetspeed\fP() は 4.4BSD による拡張である。この関数は \fBcfsetispeed\fP() -と同じ引き数をとり、入出力両方の速度を設定する。 -.SH 返り値 -.LP -\fBcfgetispeed\fP() は \fItermios\fP 構造体中の入力ボーレートを返す。 -.LP -\fBcfgetospeed\fP() は \fItermios\fP 構造体中の出力ボーレートを返す。 -.LP -他のすべての関数の戻り値: -.IP 0 -実行成功。 -.IP \-1 -実行失敗。 \fIerrno\fP がエラーの種類を示す。 -.LP -\fBtcsetattr\fP() は \fIなんらかの\fP 変更要求が成功した場合に成功を返すことに注意。 従って、複数の変更を行った場合には、引き続いて -\fBtcgetattr\fP() を呼び出して全ての変更が実行されているかを確認する必要があるかもしれない。 -.SH 準拠 -\fBtcgetattr\fP(), \fBtcsetattr\fP(), \fBtcsendbreak\fP(), \fBtcdrain\fP(), -\fBtcflush\fP(), \fBtcflow\fP(), \fBcfgetispeed\fP(), \fBcfgetospeed\fP(), -\fBcfsetispeed\fP(), \fBcfsetospeed\fP() は POSIX.1\-2001 で規定されている。 - -\fBcfmakeraw\fP() と \fBcfsetspeed\fP() は非標準だが、BSD では利用可能である。 -.SH 注意 -UNIX V7 とその後のいくつかのシステムでは、ボーレートの 14 個のリストである B0, ..., B9600 の後ろに EXTA, EXTB -("External A" と "External B") の 2 つを 追加している。 -多くのシステムではさらに高速なボーレートのためにリストを拡張している。 -.LP -.\" libc4 until 4.7.5, glibc for sysv: EINVAL for duration > 0. -.\" libc4.7.6, libc5, glibc for unix: duration in ms. -.\" glibc for bsd: duration in us -.\" glibc for sunos4: ignore duration -\fBtcsendbreak\fP() で \fIduration\fP に 0 以外を指定した場合の効果は様々である。 SunOS は -\fIduration\fP\fB*\fP\fIN\fP 秒のブレークを規定している。ここで \fIN\fP は 0.25 以上 0.5 未満である。 Linux, AIX, -DU, Tru64 は \fIduration\fP ミリ秒のブレークを送信する。 FreeBSD, NetBSD, HP\-UX, MacOS は -\fIduration\fP の値を無視する。 Solaris と UnixWare では、非ゼロの \fIduration\fP を指定した -\fBtcsendbreak\fP() の振る舞いは \fBtcdrain\fP() と同様である。 -.SH 関連項目 -\fBstty\fP(1), \fBconsole_ioctl\fP(4), \fBtty_ioctl\fP(4), \fBsetserial\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tgamma.3 b/draft/man3/tgamma.3 index f13c8e11..40ffb213 100644 --- a/draft/man3/tgamma.3 +++ b/draft/man3/tgamma.3 @@ -1,10 +1,15 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" Based on glibc infopages .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" Modified 2004-11-15, fixed error noted by Fabian Kreutz .\" +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -118,6 +123,6 @@ glibc バージョン 2.3.3 以前では、 引き数に +0 や \-0 を渡すと .SH 関連項目 \fBgamma\fP(3), \fBlgamma\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/timegm.3 b/draft/man3/timegm.3 index 1396d34e..2bbbbb0c 100644 --- a/draft/man3/timegm.3 +++ b/draft/man3/timegm.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -79,6 +81,6 @@ time_t my_timegm (struct tm *tm) .SH 関連項目 \fBgmtime\fP(3), \fBlocaltime\fP(3), \fBmktime\fP(3), \fBtzset\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/timeradd.3 b/draft/man3/timeradd.3 index 042543b9..fd94eeee 100644 --- a/draft/man3/timeradd.3 +++ b/draft/man3/timeradd.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2007 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2007-07-31, mtk, Created .\" @@ -98,6 +100,6 @@ POSIX.1\-2001 にはない。 ほとんどの BSD 由来のシステムには存 .SH 関連項目 \fBgettimeofday\fP(2), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tmpfile.3 b/draft/man3/tmpfile.3 index 6e875a6d..344e5ac3 100644 --- a/draft/man3/tmpfile.3 +++ b/draft/man3/tmpfile.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -78,6 +80,6 @@ POSIX.1\-2001 では、 ストリームをオープンできなかった場合 .SH 関連項目 \fBexit\fP(3), \fBmkstemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpnam\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tmpnam.3 b/draft/man3/tmpnam.3 index 753a6b76..0c4a984a 100644 --- a/draft/man3/tmpnam.3 +++ b/draft/man3/tmpnam.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 2003-11-15, aeb, added tmpnam_r .\" @@ -86,6 +88,6 @@ tmpnam_r(char *s) .SH 関連項目 \fBmkstemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/toascii.3 b/draft/man3/toascii.3 index 16f50edd..2429a7c6 100644 --- a/draft/man3/toascii.3 +++ b/draft/man3/toascii.3 @@ -1,6 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. .\" Copyright (c) 1995 by Jim Van Zandt .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END .\" .\" Added BUGS section, aeb, 950919 .\" @@ -57,6 +57,6 @@ SVr4, BSD, POSIX.1\-2001. POSIX.1\-2008 は \fBtoascii\fP() を廃止予定と .SH 関連項目 \fBisascii\fP(3), \fBtolower\fP(3), \fBtoupper\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/toupper.3 b/draft/man3/toupper.3 index 4a50eb43..fcb3b402 100644 --- a/draft/man3/toupper.3 +++ b/draft/man3/toupper.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,7 +20,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 17:45:39 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 2000-02-13 by Nicolás Lichtmaier .\"******************************************************************* @@ -56,6 +58,6 @@ C89, C99, 4.3BSD. .SH 関連項目 \fBisalpha\fP(3), \fBsetlocale\fP(3), \fBtowlower\fP(3), \fBtowupper\fP(3), \fBlocale\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/towctrans.3 b/draft/man3/towctrans.3 index 80ee8e62..f295811f 100644 --- a/draft/man3/towctrans.3 +++ b/draft/man3/towctrans.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBtowlower\fP(3), \fBtowupper\fP(3), \fBwctrans\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/towlower.3 b/draft/man3/towlower.3 index 8f6bc513..84643309 100644 --- a/draft/man3/towlower.3 +++ b/draft/man3/towlower.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -41,6 +43,6 @@ case)・ タイトル文字 (title case) という 3 つの "case" が含まれ .SH 関連項目 \fBiswlower\fP(3), \fBtowctrans\fP(3), \fBtowupper\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/towupper.3 b/draft/man3/towupper.3 index fc2a7eb1..4858226a 100644 --- a/draft/man3/towupper.3 +++ b/draft/man3/towupper.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -41,6 +43,6 @@ case)・ タイトル文字 (title case) という 3 つの "case" が含まれ .SH 関連項目 \fBiswupper\fP(3), \fBtowctrans\fP(3), \fBtowlower\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/trunc.3 b/draft/man3/trunc.3 index 39b5de36..d9187d3b 100644 --- a/draft/man3/trunc.3 +++ b/draft/man3/trunc.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -73,6 +75,6 @@ C99, POSIX.1\-2001. \fBceil\fP(3), \fBfloor\fP(3), \fBlrint\fP(3), \fBnearbyint\fP(3), \fBrint\fP(3), \fBround\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tsearch.3 b/draft/man3/tsearch.3 deleted file mode 100644 index 383a28a9..00000000 --- a/draft/man3/tsearch.3 +++ /dev/null @@ -1,186 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" Copyright 1995 by Jim Van Zandt -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TSEARCH 3 2008\-09\-23 GNU "Linux Programmer's Manual" -.SH 名前 -tsearch, tfind, tdelete, twalk, tdestroy \- 二分木 (binary tree) の操作 -.SH 書式 -.nf -\fB#include \fP -.sp -\fBvoid *tsearch(const void *\fP\fIkey\fP\fB, void **\fP\fIrootp\fP\fB,\fP -\fB int (*\fP\fIcompar\fP\fB)(const void *, const void *));\fP -.sp -\fBvoid *tfind(const void *\fP\fIkey\fP\fB, const void **\fP\fIrootp\fP\fB,\fP -\fB int (*\fP\fIcompar\fP\fB)(const void *, const void *));\fP -.sp -\fBvoid *tdelete(const void *\fP\fIkey\fP\fB, void **\fP\fIrootp\fP\fB,\fP -\fB int (*\fP\fIcompar\fP\fB)(const void *, const void *));\fP -.sp -\fBvoid twalk(const void *\fP\fIroot\fP\fB, void (*\fP\fIaction\fP\fB)(const void *\fP\fInodep\fP\fB,\fP -\fB const VISIT \fP\fIwhich\fP\fB,\fP -\fB const int \fP\fIdepth\fP\fB));\fP -.sp -\fB#define _GNU_SOURCE\fP /* feature_test_macros(7) 参照 */ -.br -\fB#include \fP -.sp -\fBvoid tdestroy(void *\fP\fIroot\fP\fB, void (*\fP\fIfree_node\fP\fB)(void *\fP\fInodep\fP\fB));\fP -.fi -.SH 説明 -\fBtsearch\fP(), \fBtfind\fP(), \fBtwalk\fP(), \fBtdelete\fP() は 二分木を操作する関数である。 これらの関数は -Knuth (6.2.2) Algorithm T に基づいている。 木構造における各ノードの最初のフィールドは、対応するデータ・ -アイテムへのポインタである。 (参照先のデータは、呼び出しプログラムで用意する。) \fIcompar\fP は比較ルーチンへのポインタである。 -比較ルーチンは、アイテムへのポインタ 2 つを引数に持つ。 比較ルーチンの返り値は、1 つ目のアイテムが 2 つ目のアイテムよりも -「小さい、等しい、大きい」によって、 「負、0、正」の整数値でなければならない。 -.PP -\fBtsearch\fP() は、木構造からアイテムを検索する関数である。 \fIkey\fP は、検索するアイテムへのポインタである。 \fIrootp\fP -は木構造の根へのポインタへのポインタである。 木構造がノードを含まない場合、\fIrootp\fP の参照している変数は NULL -に設定されていなければならない。 木構造にアイテムが見つかった場合、 \fBtsearch\fP() はそのアイテムへのポインタを返す。 -見つからなかった場合は、アイテムを木構造に追加し、 追加したアイテムへのポインタを返す。 -.PP -\fBtfind\fP() は、 \fBtsearch\fP() に似ているが、 アイテムが見つからなかった場合 NULL を返す点が異なる。 -.PP -\fBtdelete\fP() は木構造からアイテムを削除する。 引数は \fBtsearch\fP() と同じである。 -.PP -\fBtwalk\fP() は、二分木を深さ優先 (depth\-first) で、 左から右にたどっていく関数である。 \fIroot\fP -は起点となるノードへのポインタである。 \fIroot\fP に根以外のノードを指定すると、部分木が対象となる。 \fBtwalk\fP() -は、ノードを訪れる度に (つまり、内部ノードに対しては 3 回、葉に対しては 1 回) ユーザ関数 \fIaction\fP を呼び出す。 -\fIaction\fP には以下の順に 3 つの引数が与えられる。 最初の引数は訪れたノードへのポインタである。 2 -つ目の引数には、内部ノードの場合は訪問回数に応じて \fBpreorder\fP, \fBpostorder\fP, \fBendorder\fP が、 葉の場合は -\fBleaf\fP が与えられる。 (これらのシンボルは \fI\fP で定義されている。) 3 -つ目の引数はノードの深さで、根の場合は 0 である。 -.PP -(より一般的には、\fBpreorder\fP, \fBpostorder\fP, \fBendorder\fP は \fBpreorder\fP, \fBinorder\fP, -\fBpostorder\fP として知られている: それぞれ、子要素を辿る前・最初の子要素を辿った後かつ 2 番目の子要素を辿る前・ -子要素を辿った後ということを表している。 よって \fBpost\%order\fP という名前を選ぶのは少し紛らわしい。) -.PP -\fBtdestroy\fP() は \fIroot\fP が指す木構造全体を削除し、 \fBtsearch\fP() 関数で確保されたリソースを全て解放する。 -木構造の各ノードについて、関数 \fIfree_node\fP が呼び出される。 データへのポインタがこの関数の引数として渡される。 -そのような動作が必要でなければ、 \fIfree_node\fP は何もしない関数へのポインタでなければならない。 -.SH 返り値 -\fBtsearch\fP() は、木構造に見つかったアイテムか、 新しく追加したアイテムへのポインタを返す。 -メモリの不足のためアイテムを追加できなかった場合は NULL を返す。 \fBtfind\fP() は、アイテムへのポインタを返す。 -一致するアイテムが見つからない場合は NULL を返す。 検索条件に一致する要素が複数ある場合、返される値は不定である。 -.PP -\fBtdelete\fP() は削除したアイテムの親へのポインタを返す。 アイテムが見つからなかった場合は NULL を返す。 -.PP -\fIrootp\fP が NULL の場合、 \fBtsearch\fP(), \fBtfind\fP(), \fBtdelete\fP() は NULL を返す。 -.SH 準拠 -SVr4, POSIX.1\-2001. 関数 \fBtdestroy\fP() は GNU の拡張である。 -.SH 注意 -\fBtwalk\fP() は根へのポインタを引数にとるが、 ほかの関数は根へのポインタへのポインタである。 -.PP -\fBtwalk\fP() においては、\fBpostorder\fP は 「左の部分木の後で、右の部分木の前」を意味している。 しかし、人によってはこれを -"inorder" と呼んで、 "postorder" を「両方の部分木の後」とする場合もある。 -.PP -\fBtdelete\fP() は、削除したノードの使用していたメモリを解放するが、 ノードに対応するデータのメモリは、ユーザが解放しなければならない。 -.PP -下のプログラム例は、ユーザ関数が "endorder" か "leaf" を引数にして 呼び出されて以降は、 \fBtwalk\fP() -がそのノードを参照しないことを前提としている。 これは GNU ライブラリの実装では機能するが、System V のマニュアルには存在しない。 -.SH 例 -以下のプログラムは 12 個の乱数を二分木に挿入した後、 挿入した数を順番に出力する (挿入の際、重複した乱数は 1 つにまとめられる)。 -.sp -.nf -#define _GNU_SOURCE /* Expose declaration of tdestroy() */ -#include -#include -#include -#include - -void *root = NULL; - -void * -xmalloc(unsigned n) -{ - void *p; - p = malloc(n); - if (p) - return p; - fprintf(stderr, "insufficient memory\en"); - exit(EXIT_FAILURE); -} - -int -compare(const void *pa, const void *pb) -{ - if (*(int *) pa < *(int *) pb) - return \-1; - if (*(int *) pa > *(int *) pb) - return 1; - return 0; -} - -void -action(const void *nodep, const VISIT which, const int depth) -{ - int *datap; - - switch (which) { - case preorder: - break; - case postorder: - datap = *(int **) nodep; - printf("%6d\en", *datap); - break; - case endorder: - break; - case leaf: - datap = *(int **) nodep; - printf("%6d\en", *datap); - break; - } -} - -int -main(void) -{ - int i, *ptr; - void *val; - - srand(time(NULL)); - for (i = 0; i < 12; i++) { - ptr = (int *) xmalloc(sizeof(int)); - *ptr = rand() & 0xff; - val = tsearch((void *) ptr, &root, compare); - if (val == NULL) - exit(EXIT_FAILURE); - else if ((*(int **) val) != ptr) - free(ptr); - } - twalk(root, action); - tdestroy(root, free); - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBbsearch\fP(3), \fBhsearch\fP(3), \fBlsearch\fP(3) \fBqsort\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ttyname.3 b/draft/man3/ttyname.3 deleted file mode 100644 index 60d9cd0e..00000000 --- a/draft/man3/ttyname.3 +++ /dev/null @@ -1,68 +0,0 @@ -.\" Copyright (c) 1995 Jim Van Zandt -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified 2001-12-13, Martin Schulze -.\" Added ttyname_r, aeb, 2002-07-20 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TTYNAME 3 2008\-07\-14 Linux "Linux Programmer's Manual" -.SH 名前 -ttyname, ttyname_r \- 端末名を返す -.SH 書式 -.nf -\fB#include \fP -.sp -\fBchar *ttyname(int \fP\fIfd\fP\fB);\fP - -\fBint ttyname_r(int \fP\fIfd\fP\fB, char *\fP\fIbuf\fP\fB, size_t \fP\fIbuflen\fP\fB);\fP -.fi -.SH 説明 -\fBttyname\fP() 関数は、ファイルディスクリプタ \fIfd\fP がオープンしている端末デバイスの NULL 終端されたパス名へのポインタを返す。 -エラーが起きたならば NULL を返す (たとえば、\fIfd\fP が端末を参照していないとき)。 -返り値は静的データを指しているので、次の呼び出しで上書きされる可能性がある。 \fBttyname_r\fP() 関数は、このパス名を長さ -\fIbuflen\fP のバッファ \fIbuf\fP に格納する。 -.SH 返り値 -\fBttyname\fP() 関数は、成功時はパス名へのポインタを返す。 エラー時は NULL を返し、 \fIerrno\fP が適切に設定される。 -\fBttyname_r\fP() 関数は、成功時には 0 を返し、エラー時にはエラー番号を返す。 -.SH エラー -\fBttyname_r\fP(): -.TP -\fBEBADF\fP -ファイルディスクリプタが不正。 -.TP -\fBENOTTY\fP -ファイルディスクリプタが端末デバイスを示していない。 -.TP -\fBERANGE\fP -\fIbuflen\fP がパス名を格納するには短すぎる。 -.SH 準拠 -4.2BSD, POSIX.1\-2001. -.SH 関連項目 -\fBfstat\fP(2), \fBisatty\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ttyslot.3 b/draft/man3/ttyslot.3 deleted file mode 100644 index 831e53ec..00000000 --- a/draft/man3/ttyslot.3 +++ /dev/null @@ -1,103 +0,0 @@ -.\" Copyright (C) 2002 Andries Brouwer -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" This replaces an earlier man page written by Walter Harms -.\" . -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TTYSLOT 3 2010\-09\-20 GNU "Linux Programmer's Manual" -.SH 名前 -ttyslot \- カレントユーザの端末のスロットをファイルから探す -.SH 書式 -\fB#include \fP /* BSD 系のシステムと Linux の場合 */ -.br -\fB#include \fP /* System V 系のシステムの場合 */ -.sp -\fBint ttyslot(void);\fP -.sp -.in -4n -glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): -.in -.sp -.ad l -\fBttyslot\fP(): -.RS 4 -_BSD_SOURCE || -.br -_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_\ <\ 500\ &&\ _XOPEN_SOURCE_EXTENDED -.RE -.ad b -.SH 説明 -レガシーな関数 \fBttyslot\fP() は、あるファイルに書かれているカレントユーザのエントリのインデックスを返す。 -.LP -「どのファイルなのか?」という質問があるだろう。 では、まず最初にその歴史を見てみよう。 -.SS 大昔の歴史 -UNIX V6 では \fI/etc/ttys\fP ファイルが使われていた。 \fBinit\fP(8) プログラムは、このファイルを読み込み、 -各端末行で何をすべきかを探す。 各行は 3 文字から構成されている。 1 文字目は \(aq0\(aq または \(aq1\(aq であり、 -\(aq0\(aq は「無視する」ことを表す。 2 文字目は端末を示す: \(aq8\(aq は "/dev/tty8" を表す。 3 文字目は -\fBgetty\fP(8) への引き数であり、(接続を) 試みる回線速度の順序を表す (\(aq\-\(aq は 110 -ボーで接続の試行を開始することを表す)。 よって一般的な行は "18\-" となる。 ある行でハングした場合は、\(aq1\(aq を \(aq0\(aq -に変更し、 init にシグナルを送り、\(aq0\(aq を \(aq1\(aq 再度に変更し、 init に再度シグナルを送ることで解決する。 -.LP -UNIX V7 ではフォーマットが変更された: 2 文字目が \fBgetty\fP(8) の引き数となり、(接続を) 試みる回線速度の順序を表すようになり -(\(aq0\(aq は 300\-1200\-150\-110 を繰り返すことを表し、 \(aq4\(aq はオンラインコンソール DECwriter -を表す)、 行の残り (の文字) は端末名となった。 よって、一般的な行は "14console" となる。 -.LP -後者のシステムの書式は、より精巧である。 System V 系のシステムでは、代わりに \fI/etc/inittab\fP がある。 -.SS "大昔の歴史 (2)" -一方、現在ログインしている人をリストするファイル \fI/etc/utmp\fP がある。 これは \fBlogin\fP(1) によって管理されている。 -このファイルは固定されたサイズであり、ファイル内の適切なインデックスは、 \fBlogin\fP(1) によって決定される。 この際に -\fBttyslot\fP() が呼ばれて、 \fI/etc/ttys\fP における行番号を見つける (行番号は 1 から数える)。 -.SS "ttyslot の意味" -よって、関数 \fBttyslot\fP() は、ファイル \fI/etc/ttys\fP における呼び出し元のプロセスの制御端末のインデックスを返す。 これは -\fI/etc/utmp\fP におけるカレントユーザのエントリのインデックスと (通常は) 等しい。 BSD には未だに \fI/etc/ttys\fP -ファイルがあるが、System V 系のシステムにはないので、 このファイルを参照することはできない。 よって、そのようなシステムでは -「\fBttyslot\fP() はカレントユーザのユーザアカウントデータベースにおけるインデックスを返す」 とドキュメントに書かれている。 -.SH 返り値 -成功した場合、この関数はスロット番号を返す。 エラーの場合 (例えば、ファイルディスクリプタ 0, 1, 2 の何れも -データベースにある端末に関連づけられていない場合)、 UNIX V6, V7, BSD 系のシステムは 0 を返すが、 System V 系のシステムは -\-1 を返す。 -.SH 準拠 -SUSv1。SUSv2 では「過去の名残 (LEGACY)」と位置付けられている。 POSIX.1\-2001 で削除された。 SUSv2 ではエラー時に -\-1 を返すことが要求されている。 -.SH 注意 -utmp ファイルは様々なシステムで \fI/etc/utmp\fP, \fI/var/adm/utmp\fP, \fI/var/run/utmp\fP -のようにいろいろな場所にある。 -.LP -この関数の glibc2 における実装では、ファイル \fB_PATH_TTYS\fP を読み込む。 これは \fI\fP -において "/etc/ttys" と定義されている。 エラーの場合、0 を返す。 Linux システムには通常 "/etc/ttys" がないので、常に -0 を返す。 -.LP -.\" .SH HISTORY -.\" .BR ttyslot () -.\" appeared in UNIX V7. -Minix には \fIfttyslot\fP(\fIfd\fP) もある。 -.SH 関連項目 -\fBgetttyent\fP(3), \fBttyname\fP(3), \fButmp\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/tzset.3 b/draft/man3/tzset.3 index 2aaa5306..c9eb5459 100644 --- a/draft/man3/tzset.3 +++ b/draft/man3/tzset.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -169,6 +171,6 @@ SVr4, POSIX.1\-2001, 4.3BSD. \fBdate\fP(1), \fBgettimeofday\fP(2), \fBtime\fP(2), \fBctime\fP(3), \fBgetenv\fP(3), \fBtzfile\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ualarm.3 b/draft/man3/ualarm.3 index 9e375c34..38d2d4ff 100644 --- a/draft/man3/ualarm.3 +++ b/draft/man3/ualarm.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -93,6 +94,6 @@ POSIX.1\-2008 では、 \fBualarm\fP() の仕様が削除されている。 4.3 \fBalarm\fP(2), \fBgetitimer\fP(2), \fBnanosleep\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2), \fBusleep\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ulimit.3 b/draft/man3/ulimit.3 index 9f4d78d2..e013b75c 100644 --- a/draft/man3/ulimit.3 +++ b/draft/man3/ulimit.3 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Moved to man3, aeb, 980612 .\" @@ -65,6 +65,6 @@ SVr4, POSIX.1\-2001. POSIX.1\-2008 は \fBulimit\fP() を廃止予定として .SH 関連項目 \fBbash\fP(1), \fBgetrlimit\fP(2), \fBsetrlimit\fP(2), \fBsysconf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/undocumented.3 b/draft/man3/undocumented.3 index 3afb920c..ec60b727 100644 --- a/draft/man3/undocumented.3 +++ b/draft/man3/undocumented.3 @@ -1,8 +1,7 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright 1995 Jim Van Zandt .\" From jrv@vanzandt.mv.com Mon Sep 4 21:11:50 1995 .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" 1996-11-08, meem@sherilyn.wustl.edu, corrections .\" 2004-10-31, aeb, changed maintainer address, updated list @@ -31,7 +31,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH UNDOCUMENTED 3 2012\-05\-04 Linux "Linux Programmer's Manual" +.TH UNDOCUMENTED 3 2012\-12\-21 Linux "Linux Programmer's Manual" .SH 名前 none \- ドキュメントがないライブラリ関数 .SH 書式 @@ -56,17 +56,16 @@ none \- ドキュメントがないライブラリ関数 \fBget_avphys_pages\fP(3), \fBgetdirentries64\fP(3), \fBgetmsg\fP(3), \fBgetnetname\fP(3), \fBget_nprocs\fP(3), \fBget_nprocs_conf\fP(3), \fBget_phys_pages\fP(3), \fBgetpublickey\fP(3), \fBgetsecretkey\fP(3), -\fBh_errlist\fP(3), \fBhost2netname\fP(3), \fBhostalias\fP(3), -\fBif_freenameindex\fP(3), \fBif_indextoname\fP(3), \fBif_nameindex\fP(3), -\fBif_nametoindex\fP(3), \fBinet_nsap_addr\fP(3), \fBinet_nsap_ntoa\fP(3), -\fBinit_des\fP(3), \fBlibc_nls_init\fP(3), \fBlio_listio\fP(3), \fBmstats\fP(3), -\fBnetname2host\fP(3), \fBnetname2user\fP(3), \fBnlist\fP(3), \fBobstack_free\fP(3), -\fBparse_printf_format\fP(3), \fBp_cdname\fP(3), \fBp_cdnname\fP(3), \fBp_class\fP(3), -\fBp_fqname\fP(3), \fBp_option\fP(3), \fBp_query\fP(3), \fBprintf_size\fP(3), -\fBprintf_size_info\fP(3), \fBp_rr\fP(3), \fBp_time\fP(3), \fBp_type\fP(3), -\fBputlong\fP(3), \fBputshort\fP(3), \fBre_compile_fastmap\fP(3), -\fBre_compile_pattern\fP(3), \fBregister_printf_function\fP(3), \fBre_match\fP(3), -\fBre_match_2\fP(3), \fBre_rx_search\fP(3), \fBre_search\fP(3), \fBre_search_2\fP(3), +\fBh_errlist\fP(3), \fBhost2netname\fP(3), \fBhostalias\fP(3), \fBinet_nsap_addr\fP(3), +\fBinet_nsap_ntoa\fP(3), \fBinit_des\fP(3), \fBlibc_nls_init\fP(3), \fBlio_listio\fP(3), +\fBmstats\fP(3), \fBnetname2host\fP(3), \fBnetname2user\fP(3), \fBnlist\fP(3), +\fBobstack_free\fP(3), \fBparse_printf_format\fP(3), \fBp_cdname\fP(3), +\fBp_cdnname\fP(3), \fBp_class\fP(3), \fBp_fqname\fP(3), \fBp_option\fP(3), +\fBp_query\fP(3), \fBprintf_size\fP(3), \fBprintf_size_info\fP(3), \fBp_rr\fP(3), +\fBp_time\fP(3), \fBp_type\fP(3), \fBputlong\fP(3), \fBputshort\fP(3), +\fBre_compile_fastmap\fP(3), \fBre_compile_pattern\fP(3), +\fBregister_printf_function\fP(3), \fBre_match\fP(3), \fBre_match_2\fP(3), +\fBre_rx_search\fP(3), \fBre_search\fP(3), \fBre_search_2\fP(3), \fBre_set_registers\fP(3), \fBre_set_syntax\fP(3), \fBres_send_setqhook\fP(3), \fBres_send_setrhook\fP(3), \fBruserpass\fP(3), \fBsetfileno\fP(3), \fBsethostfile\fP(3), \fBsvc_exit\fP(3), \fBsvcudp_enablecache\fP(3), \fBtell\fP(3), @@ -90,6 +89,6 @@ none \- ドキュメントがないライブラリ関数 \fByp_master\fP(3), \fByp_match\fP(3), \fByp_next\fP(3), \fByp_order\fP(3), \fBypprot_err\fP(3), \fByp_unbind\fP(3), \fByp_update\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/ungetwc.3 b/draft/man3/ungetwc.3 index 7220a77e..1a8f2352 100644 --- a/draft/man3/ungetwc.3 +++ b/draft/man3/ungetwc.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -49,6 +51,6 @@ C99. .SH 関連項目 \fBfgetwc\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/unlocked_stdio.3 b/draft/man3/unlocked_stdio.3 index b60fee65..92b7b580 100644 --- a/draft/man3/unlocked_stdio.3 +++ b/draft/man3/unlocked_stdio.3 @@ -1,5 +1,6 @@ .\" Copyright (C) 2001 Andries Brouwer . .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -115,6 +117,6 @@ _GNU_SOURCE .SH 関連項目 \fBflockfile\fP(3), \fBstdio\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/unlockpt.3 b/draft/man3/unlockpt.3 index 0406c87f..f04a7fc3 100644 --- a/draft/man3/unlockpt.3 +++ b/draft/man3/unlockpt.3 @@ -1,5 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain. - aeb +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -37,6 +38,6 @@ POSIX.1\-2001. .SH 関連項目 \fBgrantpt\fP(3), \fBposix_openpt\fP(3), \fBptsname\fP(3), \fBpts\fP(4), \fBpty\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/updwtmp.3 b/draft/man3/updwtmp.3 index d4a0d4a2..071739f4 100644 --- a/draft/man3/updwtmp.3 +++ b/draft/man3/updwtmp.3 @@ -1,6 +1,7 @@ .\" Copyright 1997 Nicolás Lichtmaier .\" Created Wed Jul 2 23:27:34 ART 1997 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,6 +17,11 @@ .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\" Added info on availability, aeb, 971207 .\" Added -lutil remark, 030718 .\" 2008-07-02, mtk, document updwtmpx() @@ -65,6 +71,6 @@ glibc2 の下ではどちらの関数も利用可能である。 libc5 の下で .SH 関連項目 \fBgetutxent\fP(3), \fBwtmp\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/usleep.3 b/draft/man3/usleep.3 index 871c04a2..7f601acf 100644 --- a/draft/man3/usleep.3 +++ b/draft/man3/usleep.3 @@ -1,5 +1,6 @@ .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -106,6 +108,6 @@ glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ && \fBalarm\fP(2), \fBgetitimer\fP(2), \fBnanosleep\fP(2), \fBselect\fP(2), \fBsetitimer\fP(2), \fBsleep\fP(3), \fBualarm\fP(3), \fBtime\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcpcpy.3 b/draft/man3/wcpcpy.3 index 2d851675..39c7579c 100644 --- a/draft/man3/wcpcpy.3 +++ b/draft/man3/wcpcpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -56,6 +58,6 @@ POSIX.1\-2008. .SH 関連項目 \fBstrcpy\fP(3), \fBwcscpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcpncpy.3 b/draft/man3/wcpncpy.3 index 3065cc98..0b5d8573 100644 --- a/draft/man3/wcpncpy.3 +++ b/draft/man3/wcpncpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -59,6 +61,6 @@ POSIX.1\-2008. .SH 関連項目 \fBstpncpy\fP(3), \fBwcsncpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcrtomb.3 b/draft/man3/wcrtomb.3 index 2cf245a1..0985bfd8 100644 --- a/draft/man3/wcrtomb.3 +++ b/draft/man3/wcrtomb.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -57,6 +59,6 @@ C99. .SH 関連項目 \fBwcsrtombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcscasecmp.3 b/draft/man3/wcscasecmp.3 index a7d73916..d024ecc5 100644 --- a/draft/man3/wcscasecmp.3 +++ b/draft/man3/wcscasecmp.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -59,6 +61,6 @@ POSIX.1\-2008. この関数は POSIX.1\-2001 では規定されていないが .SH 関連項目 \fBstrcasecmp\fP(3), \fBwcscmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcscat.3 b/draft/man3/wcscat.3 index 9a09749e..5e998e74 100644 --- a/draft/man3/wcscat.3 +++ b/draft/man3/wcscat.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -40,6 +42,6 @@ C99. .SH 関連項目 \fBstrcat\fP(3), \fBwcpcpy\fP(3), \fBwcscpy\fP(3), \fBwcsncat\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcschr.3 b/draft/man3/wcschr.3 index 0a470938..833b5746 100644 --- a/draft/man3/wcschr.3 +++ b/draft/man3/wcschr.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99. .SH 関連項目 \fBstrchr\fP(3), \fBwcspbrk\fP(3), \fBwcsrchr\fP(3), \fBwcsstr\fP(3), \fBwmemchr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcscmp.3 b/draft/man3/wcscmp.3 index 8258aa4c..578ea460 100644 --- a/draft/man3/wcscmp.3 +++ b/draft/man3/wcscmp.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -37,6 +39,6 @@ C99. .SH 関連項目 \fBstrcmp\fP(3), \fBwcscasecmp\fP(3), \fBwmemcmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcscpy.3 b/draft/man3/wcscpy.3 index 0e6dfb4d..19a9502b 100644 --- a/draft/man3/wcscpy.3 +++ b/draft/man3/wcscpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBstrcpy\fP(3), \fBwcpcpy\fP(3), \fBwcscat\fP(3), \fBwcsdup\fP(3), \fBwmemcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcscspn.3 b/draft/man3/wcscspn.3 index 18227156..c391c4a3 100644 --- a/draft/man3/wcscspn.3 +++ b/draft/man3/wcscspn.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBstrcspn\fP(3), \fBwcspbrk\fP(3), \fBwcsspn\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsdup.3 b/draft/man3/wcsdup.3 index edbbc157..4907e072 100644 --- a/draft/man3/wcsdup.3 +++ b/draft/man3/wcsdup.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -60,6 +62,6 @@ POSIX.1\-2008. この関数は POSIX.1\-2001 では規定されていないが .SH 関連項目 \fBstrdup\fP(3), \fBwcscpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcslen.3 b/draft/man3/wcslen.3 index 247b64b6..1ecf750a 100644 --- a/draft/man3/wcslen.3 +++ b/draft/man3/wcslen.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99. .SH 関連項目 \fBstrlen\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsncasecmp.3 b/draft/man3/wcsncasecmp.3 index 506f408c..eb391b6e 100644 --- a/draft/man3/wcsncasecmp.3 +++ b/draft/man3/wcsncasecmp.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -60,6 +62,6 @@ POSIX.1\-2008. この関数は POSIX.1\-2001 では規定されていないが .SH 関連項目 \fBstrncasecmp\fP(3), \fBwcsncmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsncat.3 b/draft/man3/wcsncat.3 index c71a9418..84714796 100644 --- a/draft/man3/wcsncat.3 +++ b/draft/man3/wcsncat.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -40,6 +42,6 @@ C99. .SH 関連項目 \fBstrncat\fP(3), \fBwcscat\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsncmp.3 b/draft/man3/wcsncmp.3 index 142257e5..482132e6 100644 --- a/draft/man3/wcsncmp.3 +++ b/draft/man3/wcsncmp.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBstrncmp\fP(3), \fBwcsncasecmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsncpy.3 b/draft/man3/wcsncpy.3 index 9cb684e3..b8f92a78 100644 --- a/draft/man3/wcsncpy.3 +++ b/draft/man3/wcsncpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -42,6 +44,6 @@ C99. .SH 関連項目 \fBstrncpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsnlen.3 b/draft/man3/wcsnlen.3 index 45a8e086..8c9dc03a 100644 --- a/draft/man3/wcsnlen.3 +++ b/draft/man3/wcsnlen.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -59,6 +61,6 @@ POSIX.1\-2008. .SH 関連項目 \fBstrnlen\fP(3), \fBwcslen\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsnrtombs.3 b/draft/man3/wcsnrtombs.3 index dec3e3c0..15c42a73 100644 --- a/draft/man3/wcsnrtombs.3 +++ b/draft/man3/wcsnrtombs.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -84,6 +86,6 @@ POSIX.1\-2008. .SH 関連項目 \fBiconv\fP(3), \fBwcsrtombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcspbrk.3 b/draft/man3/wcspbrk.3 index 2dff631e..f132d7be 100644 --- a/draft/man3/wcspbrk.3 +++ b/draft/man3/wcspbrk.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99. .SH 関連項目 \fBstrpbrk\fP(3), \fBwcschr\fP(3), \fBwcscspn\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsrchr.3 b/draft/man3/wcsrchr.3 index 2049847a..591d157e 100644 --- a/draft/man3/wcsrchr.3 +++ b/draft/man3/wcsrchr.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99. .SH 関連項目 \fBstrrchr\fP(3), \fBwcschr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsrtombs.3 b/draft/man3/wcsrtombs.3 index b5a7bd4a..0ea0129a 100644 --- a/draft/man3/wcsrtombs.3 +++ b/draft/man3/wcsrtombs.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -62,6 +64,6 @@ C99. .SH 関連項目 \fBiconv\fP(3), \fBwcsnrtombs\fP(3), \fBwcstombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsspn.3 b/draft/man3/wcsspn.3 index e54679ca..078173e2 100644 --- a/draft/man3/wcsspn.3 +++ b/draft/man3/wcsspn.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBstrspn\fP(3), \fBwcscspn\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcsstr.3 b/draft/man3/wcsstr.3 index 2610d954..eb412b01 100644 --- a/draft/man3/wcsstr.3 +++ b/draft/man3/wcsstr.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBstrstr\fP(3), \fBwcschr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcstoimax.3 b/draft/man3/wcstoimax.3 index 681d00a1..2244b95d 100644 --- a/draft/man3/wcstoimax.3 +++ b/draft/man3/wcstoimax.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -48,6 +49,6 @@ C99. \fBimaxabs\fP(3), \fBimaxdiv\fP(3), \fBstrtoimax\fP(3), \fBstrtoumax\fP(3), \fBwcstol\fP(3), \fBwcstoul\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcstok.3 b/draft/man3/wcstok.3 index 90ee81fd..4ba9ec76 100644 --- a/draft/man3/wcstok.3 +++ b/draft/man3/wcstok.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -59,6 +61,6 @@ for (token = wcstok(wcs, " \et\en", &state); .SH 関連項目 \fBstrtok\fP(3), \fBwcschr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcstombs.3 b/draft/man3/wcstombs.3 index d64cc7d7..f8c233a8 100644 --- a/draft/man3/wcstombs.3 +++ b/draft/man3/wcstombs.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -57,6 +59,6 @@ C99. .SH 関連項目 \fBmbstowcs\fP(3), \fBwcsrtombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcswidth.3 b/draft/man3/wcswidth.3 index 4fbcea72..5782450d 100644 --- a/draft/man3/wcswidth.3 +++ b/draft/man3/wcswidth.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -38,6 +40,6 @@ POSIX.1\-2001. .SH 関連項目 \fBiswprint\fP(3), \fBwcwidth\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wctob.3 b/draft/man3/wctob.3 index e4c41526..fd8cb867 100644 --- a/draft/man3/wctob.3 +++ b/draft/man3/wctob.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ C99. .SH 関連項目 \fBbtowc\fP(3), \fBwcrtomb\fP(3), \fBwctomb\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wctomb.3 b/draft/man3/wctomb.3 index cd63e9d4..1192e003 100644 --- a/draft/man3/wctomb.3 +++ b/draft/man3/wctomb.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -51,6 +53,6 @@ C99. .SH 関連項目 \fBMB_CUR_MAX\fP(3), \fBwcrtomb\fP(3), \fBwcstombs\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wctrans.3 b/draft/man3/wctrans.3 index 318d451d..6cb2c39b 100644 --- a/draft/man3/wctrans.3 +++ b/draft/man3/wctrans.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -45,6 +47,6 @@ C99. .SH 関連項目 \fBtowctrans\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wctype.3 b/draft/man3/wctype.3 index 9f965df1..50a5c786 100644 --- a/draft/man3/wctype.3 +++ b/draft/man3/wctype.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -56,6 +58,6 @@ C99. .SH 関連項目 \fBiswctype\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wcwidth.3 b/draft/man3/wcwidth.3 index 183277b8..c8b019f2 100644 --- a/draft/man3/wcwidth.3 +++ b/draft/man3/wcwidth.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -43,6 +45,6 @@ glibc 2.2.5 以前では以下のプロトタイプ宣言が使用されてい .SH 関連項目 \fBiswprint\fP(3), \fBwcswidth\fP(3), \fBfeature_test_macros\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wmemchr.3 b/draft/man3/wmemchr.3 index 165785cb..809a1502 100644 --- a/draft/man3/wmemchr.3 +++ b/draft/man3/wmemchr.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -36,6 +38,6 @@ C99. .SH 関連項目 \fBmemchr\fP(3), \fBwcschr\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wmemcmp.3 b/draft/man3/wmemcmp.3 index 25c79bf1..5f5ae65a 100644 --- a/draft/man3/wmemcmp.3 +++ b/draft/man3/wmemcmp.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -37,6 +39,6 @@ C99. .SH 関連項目 \fBmemcmp\fP(3), \fBwcscmp\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wmemcpy.3 b/draft/man3/wmemcpy.3 index a463f7c4..1c004fc2 100644 --- a/draft/man3/wmemcpy.3 +++ b/draft/man3/wmemcpy.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -39,6 +41,6 @@ C99. .SH 関連項目 \fBmemcpy\fP(3), \fBwcscpy\fP(3), \fBwmemmove\fP(3), \fBwmempcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wmemmove.3 b/draft/man3/wmemmove.3 index 459f4ce8..1f4eb98e 100644 --- a/draft/man3/wmemmove.3 +++ b/draft/man3/wmemmove.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -37,6 +39,6 @@ C99. .SH 関連項目 \fBmemmove\fP(3), \fBwmemcpy\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wmemset.3 b/draft/man3/wmemset.3 index bed8d8f1..9c8fa624 100644 --- a/draft/man3/wmemset.3 +++ b/draft/man3/wmemset.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -35,6 +37,6 @@ C99. .SH 関連項目 \fBmemset\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wordexp.3 b/draft/man3/wordexp.3 index b1b5966c..667a546c 100644 --- a/draft/man3/wordexp.3 +++ b/draft/man3/wordexp.3 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -137,6 +138,6 @@ main(int argc, char **argv) .SH 関連項目 \fBfnmatch\fP(3), \fBglob\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/wprintf.3 b/draft/man3/wprintf.3 index 724ce011..956306e3 100644 --- a/draft/man3/wprintf.3 +++ b/draft/man3/wprintf.3 @@ -1,9 +1,11 @@ .\" Copyright (c) Bruno Haible .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" References consulted: .\" GNU glibc-2 source code and manual @@ -122,6 +124,6 @@ C99. .\" .BR wscanf (3) \fBfprintf\fP(3), \fBfputwc\fP(3), \fBfwide\fP(3), \fBprintf\fP(3), \fBsnprintf\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/xcrypt.3 b/draft/man3/xcrypt.3 index aac1dda3..12f9bf5d 100644 --- a/draft/man3/xcrypt.3 +++ b/draft/man3/xcrypt.3 @@ -1,5 +1,9 @@ .\" Copyright 2003 walter harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END +.\" .\" this is the 3rd type of interface for cryptographic routines .\" 1. encrypt() expects a bit field .\" 2. cbc_crypt() byte values @@ -43,6 +47,6 @@ xencrypt, xdecrypt, passwd2des \- RFS パスワード暗号化 .SH 関連項目 \fBcbc_crypt\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/xdr.3 b/draft/man3/xdr.3 index b82697fd..a594e74d 100644 --- a/draft/man3/xdr.3 +++ b/draft/man3/xdr.3 @@ -1,5 +1,9 @@ .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) .\" +.\" %%%LICENSE_START(BSD_ONELINE_CDROM) +.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) +.\" %%%LICENSE_END +.\" .\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI .\" .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax @@ -319,6 +323,6 @@ eXternal Data Representation: Sun Technical Notes Inc., USC\-ISI. .RE .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man3/y0.3 b/draft/man3/y0.3 index 91f96104..8f015a97 100644 --- a/draft/man3/y0.3 +++ b/draft/man3/y0.3 @@ -2,6 +2,7 @@ .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code @@ -153,6 +155,6 @@ glibc バージョン 2.3.2 以前では、 領域エラーが発生した場合 .SH 関連項目 \fBj0\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/console.4 b/draft/man4/console.4 index fc71c42b..7c45646f 100644 --- a/draft/man4/console.4 +++ b/draft/man4/console.4 @@ -1,9 +1,11 @@ .\" Copyright (c) 1994 Andries Brouwer (aeb@cwi.nl), Mon Oct 31 21:03:19 MET 1994 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" Modified, Sun Feb 26 14:58:45 1995, faith@cs.unc.edu .\" " @@ -55,6 +57,6 @@ Alt キーを示す]。 (b) 現在割り当てられているコンソールを \fBcharsets\fP(7), \fBagetty\fP(8), \fBinit\fP(8), \fBmapscrn\fP(8), \fBmingetty\fP(8), \fBresizecons\fP(8), \fBsetfont\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/console_codes.4 b/draft/man4/console_codes.4 deleted file mode 100644 index 577684ec..00000000 --- a/draft/man4/console_codes.4 +++ /dev/null @@ -1,513 +0,0 @@ -.\" t -.\" Copyright (c) 1996 Andries Brouwer , Mon Oct 31 22:13:04 1996 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" This is combined from many sources. -.\" For Linux, the definitive source is of course console.c. -.\" About vt100-like escape sequences in general there are -.\" the ISO 6429 and ISO 2022 norms, the descriptions of -.\" an actual vt100, and the xterm docs (ctlseqs.ms). -.\" Substantial portions of this text are derived from a write-up -.\" by Eric S. Raymond . -.\" -.\" Tiny correction, aeb, 961107. -.\" -.\" 2006-05-27, Several corrections - Thomas E. Dickey -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CONSOLE_CODES 4 2011\-09\-15 Linux "Linux Programmer's Manual" -.SH 名前 -console_codes \- Linux コンソールのエスケープシーケンスとコントロール シーケンス -.SH 説明 -Linux コンソールは VT102 と ECMA\-48/ISO6429/ANSI X3.64 端末コンソールの -サブセットに、カラーパレットや文字集合のマッピングなどを変更する プライベートモードシーケンスを加えて実装されている。 以下の表では、機能の -ECMA\-48 または DEC のニーモニクス(DECで始まれば後者)を 2 番目の桁に記す。 ニーモニクスのないものは ECMA\-48 でも -VT102 でもないものである。 -.LP -すべての出力作業が終って、実際に印字するために文字のストリームが コンソールドライバーに届いた時、最初に行なわれるのが、処理用コードから -印字用のコードへの変換である。 -.LP -もし、コンソールが UTF\-8 モードなら、入って来たバイト(byte)は 16 ビットの Unicode に組み立てられる。そうでなければ、それぞれの -バイトは現在の(各バイトを Unicode の値に変換する)マッピングテーブルに -従って変換される。これに関しては下のキャラクターセット(Charcter Sets) 節を参照のこと。 -.LP -通常、Unicode の値はフォントインデックス(font index) に変換され、 ビデオメモリに蓄えられる。そして(ビデオ ROM -中に見付けられる) 対応するグリフ(glyph)が画面に現れる。 Unicode を用いると、(PC 互換機の設計では) 512 の異なった -グリフを同時に利用できるようになる。 -.LP -現在の Unicode の値がコントロール文字であるかエスケープシーケンスを 処理している時には、その値は特別に扱われる。 -フォントのインデックスに変換されてグリフとして表示される代わりに、カーソルの 移動やその他のコントロール機能を実行させる。 -詳しいことは、後述の「LINUX コンソールコントロール」のセクションを参照のこと。 -.LP -一般に端末コントロールコードをプログラム中に直接記述するのは 良いことではない。 Linuxでは、端末において実現可能な操作のデータベースである -\fBterminfo\fP(5) をサポートしている。 コンソールエスケープシーケンスをわざわざ入力するよりも、ほとんどの場合 terminfo -の情報を参照する \fBncurses\fP(3), \fBtput\fP(1), や \fBreset\fP(1) -などのスクリーンライブラリやユーティリティーを使いたいと思うであろう。 -.SS "Linux コンソールコントロール" -この章では Linux コンソールにおいて特殊な機能(つまり、現在のカーソル位置に -文字のイメージを印字する以外のこと)を起こさせる全てのコントロール文字と エスケープシーケンスについて述べる。 -.PP -\fBコントロール文字\fP -.sp -コントロール文字とは、(マッピングテーブルによる変換前のコードが) 00 (NUL), 07 (BEL), 08 (BS), 09 (HT), 0a -(LF), 0b (VT), 0c (FF), 0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a (SUB), 1b -(ESC), 7f (DEL) の 14 のコードのうちのどれかである文字である。 "コントロール文字表示(display control -characters)"モード(後述)を 設定すると、07, 09, 0b, 18, 1a, 7f をグリフとして表示することができる。 一方、 -UTF\-8 モードでは、00\-1f の全てのコードは、コントロール文字表示 モードが指定された場合でもコントロール文字として扱われる。 -.PP -コントロール文字がある時には、それはすぐに(たとえエスケープシーケンスの 途中でも)実行され、破棄される。エスケープシーケンスは次の文字から続けられる -(しかし、ESC は新しいエスケープシーケンスを始めるので、 前の終了していないエスケープシーケンスが中止される可能性がある。 さらに、CAN と -SUB はどんなエスケープシーケンスも中止する)。 認められているコントロール文字は、BEL, BS, HT, LF, VT, FF, CR, SO, -SI, CAN, SUB, ESC, DEL, CSI である。これらは期待どおりの動作をする: -.HP -BEL (0x07, \fB^G\fP) はビープ音を鳴らす; -.HP -BS (0x08, \fB^H\fP) はバックスペース (ただし、行頭は越えない); -.HP -HT (0x09, \fB^I\fP) は次のタブストップ(tab stop)へ移動する、そこから行末までに タブストップが無い場合は行の終りに移動する; -.HP -LF (0x0A, \fB^J\fP), VT (0x0B, \fB^K\fP), FF (0x0C, \fB^L\fP) これらは全て -ラインフィード(linefeed)を与える; LF/NL (ニューラインモード(new line mode))がセットされていれば -キャリッジリターンもアクティブにする; -.HP -CR (0x0D, \fB^M\fP) はキャリッジリターンを与える; -.HP -SO (0x0E, \fB^N\fP) は G1 文字集合をアクティブにする。 -.HP -SI (0x0F, \fB^O\fP) は G0 文字集合をアクティブにする; -.HP -CAN (0x18, \fB^X\fP) と SUB (0x1A, \fB^Z\fP) はエスケープシーケンスを中断する; -.HP -ESC (0x1B, \fB^[\fP) はエスケープシーケンスを始める。 -.HP -DEL (0x7F) は無視される; -.HP -CSI (0x9B) は ESC [ と等価。 -.PP -\fBエスケープシーケンスであるが CSI シーケンスでないもの\fP -.TS -l l l. -ESC c RIS リセット。 -ESC D IND ラインフィード。 -ESC E NEL ニューライン。 -ESC H HTS 現在の桁の位置にタブストップを設定する。 -ESC M RI 逆ラインフィード -ESC Z DECID T{ -DEC固有の識別用。 -カーネルは文字列 ESC [ ? 6 c を返す。 -これは端末がVT102であることを意味する。 -T} -ESC 7 DECSC T{ -現在の状態 (カーソルの座標、属性、G0, G1 で示している -文字集合) をセーブする。 -T} -ESC 8 DECRC 最後に ESC 7 でセーブした状態を復帰させる。 -ESC [ CSI コントロールシーケンスを導入する。 -ESC % キャラクターセットを選択するシーケンスを開始する。 -ESC % @ \0\0\0 デフォルト(ISO 646 / ISO 8859\-1)を選択する。 -ESC % G \0\0\0 UTF\-8 を選択する。 -ESC % 8 \0\0\0 UTF\-8 を選択する(旧式)。 -ESC # 8 DECALN DEC のスクリーン調整テスト \- スクリーンを E でうめる。 -ESC ( G0 文字集合を定義するシーケンスを開始する。 -ESC ( B \0\0\0 デフォルト(ISO 8859\-1 マッピング)を選択する。 -ESC ( 0 \0\0\0 VT100 グラフィクスマッピングを選択する。 -ESC ( U \0\0\0 ヌルマッピングを選択する \- キャラクタ ROM から直接マッピングする。 -ESC ( K \0\0\0 ユーザー定義のマッピングを選択する \- そのマップ - \0\0\0 は \fBmapscrn\fP(8) ユーティリティーによってロードされる。 -ESC ) G1 を定義するシーケンスを開始する。 - (すでに述べたように B, 0, U, K のどれかが次に続く) -ESC > DECPNM 数値キーパッドモード(numeric keypad mode)をセットする。 -ESC = DECPAM アプリケーションキーパッドモード(application keypad mode) をセットする。 -ESC ] OSC T{ -("Operating system command"のことだろう) -ESC ] P \fInrrggbb\fP: 最後の P のあとの 7 つの 16 進数を -パラメータとして :\-( パレットをセットする。 -ここで、\fIn\fPは色 (0\-15)、\fIrrggbb\fPは赤/緑/青の値 -(0\-255)を意味する。 -ESC ] R: パレットをリセットする。 -T} -.TE -.PP -\fBECMA\-48 CSI シーケンス\fP -.sp -CSI (または ESC [ ) のあとに、最大で NPAR (16) 個のセミコロンで区切られた 10 進数のパラメータシーケンスが続く。 -空であるかそこにないパラメータは 0 とされる。 パラメータシーケンスの前にはひとつのクエスチョンマークがつくことがある。 -.PP -しかし、CSI [ (または ESC [ [ ) の後では、一文字が読まれ、このすべての -パラメータシーケンスが無視される(要するにファンクションキーのエコーは 無視されるということである)。 -.PP -CSI シーケンスの動作は、その最後の文字によって決まる。 -.TS -l l l. -@ ICH 指示された数の空白文字を挿入する。 -A CUU 指示された数だけカーソルを上方向に移動する。 -B CUD カーソルを指示された数の行だけ下方向に移動する。 -C CUF カーソルを指示された数の桁だけ右に移動する。 -D CUB カーソルを指示された数の桁だけ左に移動する。 -E CNL カーソルを指示された数の行だけ下の第 1 桁に移動する。 -F CPL カーソルを指示された数の行だけ上の第 1 桁に移動する。 -G CHA カーソルを現在の行の指示された桁に移動する。 -H CUP カーソルを指示された行、桁(1,1を原点とする)に移動する。 -J ED ディスプレイの消去(デフォルト: カーソルからディスプレイの最後まで)。 - ESC [ 1 J: 最初からカーソルまでの消去。 - ESC [ 2 J: ディスプレイ全体の消去。 - ESC [ 3 J: スクロールバッファも含めたディスプレイ全体の - 消去 (Linux 3.0 以降)。 -.\" ESC [ 3 J: commit f8df13e0a901fe55631fed66562369b4dba40f8b -K EL 行の消去(デフォルト: カーソルから行末まで)。 - ESC [ 1 K: 行頭からカーソルまでの消去。 - ESC [ 2 K: 行全体の消去。 -L IL 指示された数の空行を挿入する。 -M DL 指示された数の行を削除する。 -P DCH 現在の行から指示された数の文字を削除する。 -X ECH 現在の行から指示された数の文字を消去する。 -a HPR カーソルを指示された数の桁だけ右に移動する。 -c DA ESC [ ? 6 c を返す: "私はVT102です"(ということ)。 -d VPA カーソルを指示された行の現在の桁に移動する。 -e VPR カーソルを指示された行数だけ下に移動する。 -f HVP カーソルを指示された行、桁に移動する。 -g TBC パラメータなしの時: 現在位置のタブストップを削除する。 - ESC [ 3 g: すべてのタブストップを削除する。 -h SM モードのセット(後述)。 -l RM モードのリセット(後述)。 -m SGR 属性のセット(後述)。 -n DSR 状態の報告(後述)。 -q DECLL キーボードの LED をセットする。 - ESC [ 0 q: すべての LED を消す。 - ESC [ 1 q: スクロールロック LED を点灯。 - ESC [ 2 q: ナンバーロック LED を点灯。 - ESC [ 3 q: キャピタルロック LED を点灯。 -r DECSTBM スクロールの範囲のセット; パラメータは一番上の行と一番下の行。 -s ? カーソル位置の保存。 -u ? カーソル位置の復帰。 -\` HPA カーソルを現在の行の指示された桁に移動する。 -.TE -.PP -\fBECMA\-48 グラフィクスレンディション(Graphics Rendition)の設定\fP -.sp -ECMA\-48 SGR シーケンス ESC [ <パラメータ> m は表示属性を設定する。 -セミコロンで区切ることで、同じシーケンスでいくつかの属性を設定できる。 -空パラメータ(セミコロンか文字列開始文字か文字列終端文字の間)はゼロと解釈される。 -.TS -l l. -パラメータ 結果 -0 すべての属性をデフォルトにリセットする。 -1 ボールド(bold)をセット。 -2 ハーフブライト(half\-bright)(カラーディスプレイでは色で代用)をセット。 -4 T{ -下線(underscore)をセット(カラーディスプレイでは色で代用)。 -(ディムや下線を代用するのに使われる色は -ESC ] ... によりセット) -T} -5 点滅(blink)をセット。 -7 反転表示(reverce video)をセット。 -10 T{ -選択したマッピング、ディスプレイコントロールフラグ(display control flag)、 -トグルメタフラグ(toggle meta flag)をリセットする (ECMA\-48では"primary font"と呼んでいる)。 -T} -11 T{ -ヌルマッピングを選択、ディスプレイコントロールフラグをセット、 -トグルメタフラグをリセットする -(ECMA\-48 では"first alternate font"と呼んでいる)。 -T} -12 T{ -ヌルマッピングを選択、ディスプレイコントロールフラグをセット、 -トグルメタフラグをセットする (ECMA\-48 では "second alternate font" と呼んでいる)。 -トグルメタフラグがたっていると、 -マッピングテーブルによる変換をする前に、 -バイトの上位の1ビットがトグルされる。 -T} -21 通常の輝度にセット(ECMA\-48 では "doubly underlined" と呼んでいる)。 -22 通常の輝度にセット。 -24 下線オフ。 -25 点滅オフ。 -27 反転表示オフ。 -30 フォアグラウンド(foreground)を黒にセット。 -31 フォアグラウンドを赤にセット。 -32 フォアグラウンドを緑にセット。 -33 フォアグラウンドを茶にセット。 -34 フォアグラウンドを青にセット。 -35 フォアグラウンドをマゼンダにセット。 -36 フォアグラウンドをシアンにセット。 -37 フォアグラウンドを白にセット。 -38 下線表示に設定し、フォアグラウンドをデフォルトにセット。 -39 下線表示を解除し、フォアグラウンドをデフォルトにセット。 -40 バックグラウンド(background)を黒にセット。 -41 バックグラウンドを赤にセット。 -42 バックグラウンドを緑にセット。 -43 バックグラウンドを茶にセット。 -44 バックグラウンドを青にセット。 -45 バックグラウンドをマゼンダにセット。 -46 バックグラウンドをシアンにセット。 -47 バックグラウンドを白にセット。 -49 バックグラウンドをデフォルトにセット。 -.TE -.PP -\fBECMA\-48 モードスイッチ(Mode Switches)\fP -.TP -ESC [ 3 h -DECCRM (デフォルトではオフ): コントロール文字を表示する。 -.TP -ESC [ 4 h -DECIM (デフォルトではオフ): 挿入モードにする。 -.TP -ESC [ 20 h -.\" -LF/NL (デフォルトではオフ): LF, VT, FFをエコーしたあと自動的 CR をつける。 -.PP -.\" -\fBECMA\-48 状態リポートコマンド(Status Report Commands)\fP -.TP -ESC [ 5 n -デバイス状態のリポート(DSR): 返事は ESC [ 0 n (端末 OK). -.TP -ESC [ 6 n -.\" -カーソル位置のリポート(CPR): 返事は ESC [ \fIy\fP ; \fIx\fP R、 \fIx,y\fP はカーソルの位置をあらわす。 -.PP -\fBDEC プライベートモード (DECSET/DECRST) シーケンス\fP -.sp -.\" -これらは ECMA\-48 では記述されていない。ここでは、セットモード シーケンス (Set Mode sequences)を記載する; 最後の -\(aqh\(aq を \(aql\(aq に 置き換えるとリセットモードシーケンス(Reset Mode sequences)になる。 -.TP -ESC [ ? 1 h -DECCKM (デフォルトはオフ): セットされた時にはカーソルキーは ESC [ ではなく ESC O を前につけて送る。 -.TP -ESC [ ? 3 h -DECCOLM (デフォルトはオフ = 80 桁): 80/132 の桁モード切替え。 ドライバーのソースの注釈には、これだけでは十分でなく -\fBresizecons\fP(8) のようなユーザーモードのユーティリティーで、コンソールビデオカードの -ハードウェアレジスタを変える必要があると書かれている。 -.TP -ESC [ ? 5 h -DECSCNM (デフォルトはオフ): 反転表示モードのセット。 -.TP -ESC [ ? 6 h -DECOM(デフォルトはオフ): セットされた時には、カーソルのアドレッシングが、 スクロール範囲の左上隅からの相対位置になる。 -.TP -ESC [ ? 7 h -DECAWM(デフォルトはオン): オートラップを設定。このモードの時は、80 桁 (DECCOLM がオンのときは 132 -桁)を超えたグラフィックキャラクタは、 強制的に次の行の先頭に折り返されて表示される。 -.TP -ESC [ ? 8 h -DECARM(デフォルトはオン): キーボードのオートリピートをオンにセット。 -.TP -ESC [ ? 9 h -X10 マウスリポート(デフォルトはオフ): リポートモードを 1 にセット(または、 0 にリセット)\(em後述 -.TP -ESC [ ? 25 h -DECTECM (デフォルトはオン): カーソルを可視(visible)にする。 -.TP -ESC [ ? 1000 h -.\" -X11 マウスリポート(デフォルトはオフ): リポートモードを 2 にセット(または、 0にリセット)\(em後述 -.PP -\fBLinux コンソールプライベート CSI シーケンス\fP -.sp -.\" -以下のシーケンスは ECMA\-48 のものでも本来の VT102 のものでもでもなく、 Linuxコンソールドライバーに固有なシーケンスである。色は -SGR パラメータで 表現される: 0 = 黒, 1= 赤, 2 = 緑, 3 = 茶, 4 = 青, 5 = マゼンタ, 6 = シアン, 7 = 白 -.TS -l l. -ESC [ 1 ; \fIn\fP ] 下線の色を\fIn\fP にセットする。 -ESC [ 2 ; \fIn\fP ] ディムの色を\fIn\fP にセットする。 -ESC [ 8 ] 現在の色のペアをデフォルト属性にする。 -ESC [ 9 ; \fIn\fP ] スクリーンブランク(screen blank)のタイムアウトを \fIn\fP 分にセットする。 -ESC [ 10 ; \fIn\fP ] ベルの周波数(Hz)をセットする。 -ESC [ 11 ; \fIn\fP ] ベルの鳴っている時間(msec)をセットする。 -ESC [ 12 ; \fIn\fP ] 指定のコンソールを前面に持ってくる。 -ESC [ 13 ] スクリーンをアンブランク(Unblank)する。 -ESC [ 14 ] VESA電源停止インターバル(VESA powerdown interval)をセットする。 -.TE -.SS 文字集合 -カーネルは、バイト列からコンソールスクリーン符号の変換を 4 つ 知っている。 4 つの変換テーブルとは、a) Latin1 \-> PC, b) -VT100 graphics \-> PC, c) PC \-> PC, d) ユーザー定義, である。 -.PP -G0 と G1 と呼ばれる二つの文字集合があり、そのうち一つが現在の 文字集合である(初期値は G0 )。 \fB^N\fP をタイプすると G1 が -\fB^O\fP を入力すると G0 が現在の文字集合になる。 -.PP -変数 G0 と G1 は変換テーブルを指しており、ユーザーにより変更できる。 最初はそれぞれテーブル a) と テーブル b) を指している。 ESC -( B 、 ESC ( 0 、 ESC ( U 、 ESC ( K のそれぞれのシーケンスにより、 G0 が変換テーブル a)、 b)、 c)、 d) -を指すようになる。 また、ESC ) B 、 ESC ) 0 、 ESC ) U 、 ESC ) K のそれぞれのシーケンス により、G1 -が変換テーブル a)、 b)、 c)、 d) を指すようになる。 -.PP -ESC c のシーケンスは端末をリセットする。スクリーンがめちゃくちゃになった 時にそうすることが必要である。よくアドバイスされる "echo -^V^O" は G0 を現在の文字集合にするだけであり、G0 がテーブル a) を指しているという 保証はない。 いくつかのディストリビューションには、 -\fBreset\fP(1) というプログラムが含まれるが、これはただ "echo ^[c" を実行するものである。 もし、コンソールの terminfo -エントリーが正しい(かつ rs1=\eEc のエントリーが ある)ならば、"tput reset"でも同じ効果がある。 -.PP -ユーザー定義のマッピングテーブルは \fBmapscrn\fP(8) を使って定義できる。 マッピングの結果、シンボル c が印字されるとシンボル s = -map[c] が ビデオメモリに送られる。s に対応するビットマップはキャラクター ROM にあり、 \fBsetfont\fP(8) -により変更可能である。 -.SS マウストラッキング -マウストラッキング機能は、 \fBxterm\fP(1)\-互換の マウスステータスリポート(mouse status -reports)を返させるためのものである。 コンソールドライバーはマウスのデバイスや種類について知る方法が -ないので、仮想ターミナルドライバーがマウス更新の ioctl を受け取った時だけ、 マウスステータスリポートがコンソールの入力ストリームに送られる。 -この ioctl は、 \fBgpm\fP(8) デーモンのようなマウス対応のユーザーモード アプリケーションが発生しなければならない。 -.PP -\fBxterm\fP(1) によって生成される全てのマウス追跡エスケープシーケンスのための パラメータは、数値を \fIvalue\fP+040 -のように符号化し、一つの文字として あらわす。 例えば、\(aq!\(aq は 1 になる。スクリーン座標は 1 をベースにする。 -.PP -X10 互換モードでは、ボタンが押された時にマウスの位置と押されたマウスの ボタンとをエンコードしたエスケープシーケンスを送る。 この機能は ESC [ -? 9 h を送ると有効になり ESC [ ? 9 l により無効になる。 ボタンが押されると \fBxterm\fP(1) は ESC [ M \fIbxy\fP -(の 6 文字)を送る。 ここで \fIb\fP は button\-1, \fIx\fP と \fIy\fP は マウスがボタンが押された 時の x と y 座標である。 -このコードはカーネルが発生するのと同じコードである。 -.PP -ノーマルトラッキングモード(Normal tracking mode)(Linux 2.0.24 では -実装されていない)では、両方のボタンが押されたか離された時に エスケープシーケンスが送られる。 モディファイアの情報も一緒に送られる。 -この機能は、ESC [ ? 1000 h を送ると有効になり ESC [ ? 1000 l で無効になる。 -ボタンが押されるか離されるかした時には、\fBxterm\fP(1) は ESC [ M \fIbxy\fP を送る。 \fIb\fP -の低位の2ビットにはボタン情報がエンコードされる: 0=MB1 が押された, 1=MB2 が押された, 2=MB3 が押された, 3=離された。 -高位のビットには、ボタンが押された時にどのモディファイアがダウンしていたかが エンコードされる: 4=Shift, 8=Meta, -16=Control。 そして、上位と下位ビットが加算される。 ここでも \fIx\fP と \fIy\fP は、マウスイベントが起こった時の x と y -座標であり、左上の隅が(1,1)である。 -.SS 他のターミナルとの比較 -.\" -多くの異なるターミナルタイプが、Linux コンソールのように、"VT100互換"を 名乗っている。 ここでは、Linux コンソールと 2 -つの最も重要なターミナルである DEC VT102 と \fBxterm\fP(1) との違いについて述べる。 -.PP -\fBコントロール文字の取り扱い\fP -.sp -VT102 は以下のコントロール文字も認識する: -.HP -NUL (0x00) は無視される; -.HP -ENQ (0x05) はアンサーバックメッセージ(answerback message)を発生する; -.HP -DC1 (0x11, \fB^Q\fP, XON) は送信を再開する; -.HP -DC3 (0x13, \fB^S\fP, XOFF) は VT100 に XOFF と XON 以外のコードを無視(そして 送信の停止)を起こさせる。 -.LP -tty ドライバーにより VT100 に似た DC1/DC3 処理をできる。 -.LP -.\" -\fBxterm\fP(1) (VT100 モード)は BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC の -コントロール文字を認識する。 -.PP -\fBエスケープシーケンス\fP -.sp -Linux コンソールで実装されていない VT100 コンソールシーケンスは以下の通り: -.TS -l l l. -ESC N SS2 シングルシフト 2 (次の文字だけ G2 - 文字集合を選択する)。 -ESC O SS3 シングルシフト 3 (次の文字だけ G3 - 文字集合を選択する)。 -ESC P DCS デバイス制御文字列 (ESC \e で終わる) -ESC X SOS 文字列の始まり。 -ESC ^ PM プライバシーメッセージ(ESC \e で終わる)。 -ESC \e ST 文字列の終端文字。 -ESC * ... G2 文字集合を指定する。 -ESC + ... G3 文字集合を指定する。 -.TE -.PP -\fBxterm\fP(1) (VT100 モード)は ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, -ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \e, ESC Z を認識する("わたしは高等ビデオオプション付きの -VT100 です"という 意味で ESC [ ? 1 ; 2 c と返答する)、ESC ^ ... ESC \e は上述と同じ意味を あらわす。ESC -(, ESC ), ESC *, ESC + に続く 0, A, B を DEC 特殊文字と して受け、それぞれラインドローイング(line -drawing) のセット、UK、 US\-ASCII をあらわす。 -.PP -ユーザーは \fBxterm\fP(1) が VT220 特有のコントロールシーケンスに 反応するように設定でき、また設定と初期化のされかたによって -自分自身を VT52, VT100 などと認識する。 -.PP -xterm は、特定のリソースの設定のために ESC ] (OSC) を受け付ける。 ECMA\-48 の文字列終端文字 (ST) に加えて、 -\fBxterm\fP(1) は BEL を OSC 文字列を終端するものとして受け付ける。 以下は \fBxterm\fP(1) が認識する OSC -コントロールシーケンスの一部である。 -.TS -l l. -ESC ] 0 ; \fItxt\fP ST アイコン名とウインドウタイトルを \fItxt\fP にセットする。 -ESC ] 1 ; \fItxt\fP ST アイコン名を \fItxt\fP にセットする。 -ESC ] 2 ; \fItxt\fP ST ウインドウタイトルを \fItxt\fP にセットする。 -ESC ] 4 ; \fInum\fP; \fItxt\fP ST ANSI 色 \fInum\fP を \fItxt\fP にセットする。 -ESC ] 10 ; \fItxt ST 動的テキスト色を txt にセットする。\fP -\fIESC ] 4 6 ; name ST チェンジログファイルを name に変更する(通常は\fP -\fI コンパイル時オプションにより無効になっている)。\fP -\fIESC ] 5 0 ; fn ST フォントを fn にセットする。\fP -.TE -.PP -以下のものは、少し違った意味にとられる (より多くの状態を保存し、より VT100/VT220 に近いふるまいをする): -.TS -l l l. -ESC 7 DECSC カーソルの保存。 -ESC 8 DECRC カーソルの復元。 -.TE -.PP -また、次のものも認識する: -.TS -l l l. -ESC F カーソルをスクリーンの左下に移動する。 - (\fBxterm\fP(1) の \fBhpLowerleftBugCompat\fPリソースにより有効な時) -ESC l (HP ターミナル毎に)メモリロック。 - カーソルより上のメモリをロックする。 -ESC m (HP ターミナル毎に)メモリロックを解除する。 -ESC n LS2 G2 文字集合の呼び出し。 -ESC o LS3 G3 文字集合の呼び出し。 -ESC | LS3R G3 文字集合を GR として呼び出す。 -ESC } LS2R G2 文字集合を GR として呼び出す。 -ESC ~ LS1R G1 文字集合を GR として呼び出す。 -.TE -.PP -.\" -また ESC % を認識し、Linux コンソールより更に完全な UTF\-8 実装を提供する。 -.PP -\fBCSI シーケンス\fP -.sp -X11R5 由来のような、古いバージョンの \fBxterm\fP(1) はブリンク SGR を ボールド SGR として解釈する。 1995 年の -XFree86 3.1.2A のような、ANSI カラーが実装された、より新しい バージョンでは、ブリンク属性を色として表示することによってこれを -改善している。 最近のバージョンの xterm はブリンク SGR をテキストをブリンクさせることで 実装し、さらにまた、SGR -表示の代替案として色付きのテキストも利用できる。 Stock X11R6 版では、XFree86 xterm が組み入れられた X11R6.8 -リリースまで 色設定 SGR を認識しなかった。 Linux が認識する他のすべての ECMA\-48 CSI シーケンスは \fIxterm\fP -でも認識されるが、\fBxterm\fP(1) は Linux が認識しない いくつかの ECMA\-48 と DEC のコントロールシーケンスも実装している。 -.PP -\fBxterm\fP(1) は上述のすべての DEC プライベートモードのシーケンスを認識するが、 Linux -プライベートモードのシーケンスはどれも認識しない。 \fBxterm\fP(1) 自身のプライベートモードシーケンスに関しての議論は、 X -配布とともに入手可能な Edward Moy, Stephen Gildea,Thomas E. Dickey による \fIXterm Control -Sequences\fP ドキュメントを参照されたい。 このドキュメントは、簡潔なものであるが、このマニュアルページより 遥かに長いものである。 -年代順の概観としては、 -.PP -.in +4n -http://invisible\-island.net/xterm/xterm.log.html -.in -.PP -には xterm の変更の詳細がある。 -.PP -\fIvttest\fP は -.PP -.in +4n -http://invisible\-island.net/vttest/ -.in -.PP -で入手でき、これらのコントロールシーケンスの多くに関するデモを行う。 \fBxterm\fP(1) ソース配布パッケージには -その他の機能を学ぶことが出来るサンプルスクリプトが入っている。 -.SH 注意 -ESC 8 (DECRC) は ESC % で変更された文字集合を復元することはできない。 -.SH バグ -2.0.23 では CSI が壊れていて、エスケープシーケンス中の NUL が 無視されない。 -.PP -古いバージョン(2.0 以降)のカーネルには、8 ビット制御シーケンスを解釈する。 これらの "C1 コントロール" は ESC [, ESC ] -および同様な制御シーケンス 起動子を置き換えるために 128 から 159 のコードを使う。 新しいカーネルでは (UTF\-8 -対応の変更時に見落とされたか壊れたために) 寸断しているが、実装は不完全で信頼できないものと評価されている。 -.PP -Linux "プライベートモード" シーケンスは ECMA\-48 のプライベートモード コントロールシーケンスのルールに従っていない。 特に、 ] -で終わるものは標準終端文字を使えない。 OSC(パレット設定)シーケンスは大きな問題がある。 \fBxterm\fP(1) はこれを文字列終端文字 (ST) -が必要なコントロールシーケンスと 解釈するかもしれないからである。 (不正なコントロールシーケンスなので)無視される \fBsetterm\fP(1) -シーケンスと 違い、パレットシーケンスは \fBxterm\fP(1) をハングさせるかもしれない (しかしリターンキーを押すことで回復できる)。 Linux -コントロールシーケンスをハードコードしているアプリケーションに 適応させるには、\fBxterm\fP(1) リソースの \fBbrokenLinuxOSC\fP -を 真 (true) に設定する。 -.PP -このドキュメントの古いバージョンでは、Linux が ECMA\-48 の不可視テキストの コントロールシーケンスを認識するかのように書かれていた。 -これは無視される。 -.SH 関連項目 -\fBconsole\fP(4), \fBconsole_ioctl\fP(4), \fBcharsets\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/console_ioctl.4 b/draft/man4/console_ioctl.4 deleted file mode 100644 index 3a13fa79..00000000 --- a/draft/man4/console_ioctl.4 +++ /dev/null @@ -1,472 +0,0 @@ -.\" Copyright (c) 1995 Jim Van Zandt and aeb -.\" Sun Feb 26 11:46:23 MET 1995 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified, Sun Feb 26 15:04:20 1995, faith@cs.unc.edu -.\" Modified, Thu Apr 20 22:08:17 1995, jrv@vanzandt.mv.com -.\" Modified, Mon Sep 18 22:32:47 1995, hpa@storm.net (H. Peter Anvin) -.\" FIXME The following are not documented: -.\" KDFONTOP (since 2.1.111) -.\" KDGKBDIACRUC (since 2.6.24) -.\" KDSKBDIACR -.\" KDSKBDIACRUC (since 2.6.24) -.\" KDKBDREP (since 2.1.113) -.\" KDMAPDISP (not implemented as at 2.6.27) -.\" KDUNMAPDISP (not implemented as at 2.6.27) -.\" VT_LOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG) -.\" VT_UNLOCKSWITCH (since 1.3.47, needs CAP_SYS_TTY_CONFIG) -.\" VT_GETHIFONTMASK (since 2.6.18) -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CONSOLE_IOCTL 4 2009\-02\-28 Linux "Linux Programmer's Manual" -.SH 名前 -console_ioctl \- コンソール端末と仮想コンソールの ioctl -.SH 説明 -次のような Linux 固有の \fBioctl\fP(2) がサポートされている。 それぞれ3番目の引数が必要である、ここでは \fIargp\fP とする。 -.IP \fBKDGETLED\fP -LED の状態を取得する。 \fIargp\fP は \fIchar\fP のポインターである。 \fI*argp\fP の下位 3 ビットに以下のように LED -の状態がセットされる。 - - LED_CAP 0x04 キャピタルロックが点灯 - LEC_NUM 0x02 ナンバーロックが点灯 - LED_SCR 0x01 スクロールロックが点灯 -.IP \fBKDSETLED\fP -LEDを点灯させる。LEDは \fIargp\fP の下位 3 ビットに従い点灯される。 しかし、より高位のビットがセットされている時には、キャピタルロック、 -ナンバーロック、スクロールロックのキーボード機能の状態を表示する LED は 通常状態に戻る。 -.LP -カーネル 1.1.54 以前は、LED はそれぞれのキーボードフラグの状態を反映する だけで、KDGETLED/KDSETLED -もキーボードフラグを変更するだけであった。 カーネルl 1.1.54 からは LED に任意の表示をする事ができるようになったが、 -デフォルトではキーボードフラグを表示する。 次に示す 2 つの ioctl はキーボードフラグにアクセスするのに用いられる。 -.IP \fBKDGKBLED\fP -キャピタルロック、ナンバーロック、スクロールロックの(LED の表示では なく)キーボードフラグを得る。 \fIargp\fP -はフラグの状態がセットされる文字変数を指す。 (0x7)でマスクして得られる下位 3 ビットが現在のフラグの状態を示し、 -(0x70)でマスクして得られる次の 3 ビットがデフォルトのフラグの状態を 示す。(カーネル 1.1.54以降) -.IP \fBKDSKBLED\fP -キャピタルロック、ナンバーロック、スクロールロックの(LED の表示ではなく) キーボードフラグをセットする。 \fIargp\fP -がセットしたいフラグである。 (0x7)でマスクして得られる下位 3 ビットがフラグの状態で、(0x70)でマスクして 得られる次の 3 -ビットがデフォルトのフラグの状態である。(カーネル 1.1.54以降) -.IP \fBKDGKBTYPE\fP -キーボードの種類を得る。これは値 0x02 と定義されている KB_101を返す。 -.IP \fBKDADDIO\fP -I/Oポートを有効な物として加える。これは \fIioperm(arg,1,1)\fP と等価である。 -.IP \fBKDDELIO\fP -I/Oポートを有効な物から外す。これは \fIioperm(arg,1,0)\fP と等価である。 -.IP \fBKDENABIO\fP -ビデオボードへの I/O を可能にする。 これは \fIioperm(0x3b4, 0x3df\-0x3b4+1, 1)\fP と等価である。 -.IP \fBKDDISABIO\fP -ビデオボードへの I/O を不可能にする。 これは \fIioperm(0x3b4, 0x3df\-0x3b4+1, 0)\fP と等価である。 -.IP \fBKDSETMODE\fP -テキスト/グラフィクスモードを設定する。 \fIargp\fP は次のうちのどれか: - - KD_TEXT 0x00 - KD_GRAPHICS 0x01 -.IP \fBKDGETMODE\fP -テキスト/グラフィクスモードを取得する。 \fIargp\fP が指す \fIlong\fP 型変数に 上述の値のどちらかがセットされる。 -.IP \fBKDMKTONE\fP -指定された長さのトーンを発生する。 \fIargp\fP の下位 16 ビットはクロックサイクルを単位にして周期を指定し、 上位 16 ビットが msec -の単位で表した、(トーンを発生させる)時間を指定する。 トーンを発生させる時間がゼロのときは、サウンドはオフになる。 制御は直ちに戻る。 -例えば、\fIargp\fP = (125<<16) + 0x637 とすれば、通常 ctrl\-G を押した時に 発生する音になる。 -(カーネル 0.99pl1 以降;この機能は カーネル 2.1.49 から 2.1.50 ではバグのため動作しない) -.IP \fBKIOCSOUND\fP -音の発生の開始や停止を行う。 \fIargp\fP の下位 16 ビットはクロックサイクルを単位として周期を示す。 (つまり \fIargp\fP = -1193180/周波数)。 \fIargp\fP = 0 の場合、サウンドはオフになる。 どちらの場合でも、ただちに制御は戻る。 -.IP \fBGIO_CMAP\fP -現在のデフォルトのカラーマップをカーネルより取得する。 -.IP \fBPIO_CMAP\fP -デフォルトのテキストモードのカラーマップを変更する。 \fIargp\fP が指す 48 バイトの配列中には、16 の可能なスクリーンの色を、 -赤、緑、青の順に 0 をオフ、255を最大強度とした値として納める。 デフォルトの色は順に、黒、濃い赤、濃い緑、茶、濃い青、濃い紫、濃いシアン、 -明るい灰色、濃い灰色、明るい赤、明るい緑、黄、明るい青、明るい紫、 明るいシアン、白である。(カーネル 1.3.3以降) -.IP \fBGIO_FONT\fP -拡張された形式で 256 文字のスクリーンフォントを得る。 \fIargp\fP は 8192 バイトの配列を指す。 現在ロードされているフォントが 512 -文字のフォントであるか、コンソールが テキストモードでない時には失敗し \fBEINVAL\fP のエラーコードを返す。 -.IP \fBGIO_FONTX\fP -スクリーンフォントとそれに関連した情報を取得する。 \fIargp\fP は構造体 consolefontdesc (\fBPIO_FONTX\fP -を参照のこと)を指す。 関数呼び出しのときには、\fIcharcount\fP には、\fIchardata\fP が指す -バッファにおさまる最大の文字数をセットしなければならない。 関数呼び出しから戻った時には \fIcharcount\fP と \fIcharheight\fP -には、 現在ロードされているフォントの該当するデータが収められている。 配列 \fIchardata\fP には、最初に \fIcharcount\fP -にいれた値によって フォントを収めるのに十分なスペースがあるとわかればフォントデータが収められる。 そうでない時には、バッファは変更されず、 -\fIerrno\fP に \fBENOMEM\fP が セットされる(カーネル 1.3.1 以降)。 -.IP \fBPIO_FONT\fP -256 文字のフォントをセットする。EGA/VGA キャラクタージェネレーター (character generator) にフォントをロードする。 -\fIargp\fP は、8192 バイト(一文字 32 バイト)のマップを指す。 マップのうち、最初の \fIN\fP のみが 8x\fIN\fP のフォントのために -用いられる(0 < \fIN\fP <= 32)。 この呼び出しをすると Unicode のマッピングが無効になる。 -.IP \fBPIO_FONTX\fP -スクリーンフォントと、それに関連するレンダリング情報をセットする。 \fIargp\fP は、以下の構造体を指す。 - -.in +4n -.nf -struct consolefontdesc { - unsigned short charcount; /* フォントの文字数 - (256 または 512) */ - unsigned short charheight; /* 一文字の走査線の数 - (1\-32) */ - char *chardata; /* 展開されたフォントデータ */ -}; -.fi -.in - -必要ならスクリーンは適当にサイズ変更され、\fBSIGWINCH\fP が適切な プロセスに送られる。 このコールにより Unicode -のマッピングが無効になる。 -.IP \fBPIO_FONTRESET\fP -スクリーンフォント、サイズ、 Unicode マッピングをブート時のデフォルト値に リセットする。\fIargp\fP は用いられないが、将来のバージョンの -Linux との互換性を保つために NULL にセットすべきである。 -.IP \fBGIO_SCRNMAP\fP -スクリーンマッピングをカーネルより取得する。\fIargp\fP はサイズ E_TABSZ の -領域を指す。その領域には各キャラクターを表示するのに用いられるフォントの 位置がロードされている。 この呼び出しは現在ロードされているフォントが 256 -文字よりも多い時には 無意味な情報を返す事が多い。 -.IP \fBGIO_UNISCRNMAP\fP -フル Unicode スクリーンマッピングをカーネルより取得する。 \fIargp\fP はサイズ E_TABSZ*sizeof(unsigned -short) の領域を指す。 その領域には各キャラクターを示す Unicode がロードされている。 U+F000 に始まる Unicode -の特別な集合は、「フォント直接な(direct to font)」 マッピングを示すのに用いられる(カーネル 1.3.1 以降)。 -.IP \fBPIO_SCRNMAP\fP -「ユーザー定義可能な(user definable)」(4番目の)テーブルをカーネルに -ロードする。そのテーブルは各バイトをスクリーンシンボルにマッピングする。 \fIargp\fP はサイズE_TABSZの領域を指す。 -.IP \fBPIO_UNISCRNMAP\fP -「ユーザー定義可能な」(4番目の)テーブルをカーネルにロードする。 そのテーブルは各バイトをユニコードにマッピングし、その後、 -現在ロードされているユニコードからフォントへのマップに従い スクリーンシンボルに変換される。 U+F000 -に始まるユニコードは直接フォントシンボルにマッピングするのに 使える(カーネル 1.3.1 以降) -.IP \fBGIO_UNIMAP\fP -Unicode からフォントへのマッピングをカーネルから取得する。 \fIargp\fP は、 - -.in +4n -.nf -struct unimapdesc { - unsigned short entry_ct; - struct unipair *entries; -}; -.fi -.in - -という構造体を指す。 ここで \fIentries\fP は以下の構造体の配列へのポインターである。 - -.in +4n -.nf -struct unipair { - unsigned short unicode; - unsigned short fontpos; -}; -.fi -.in - -(カーネル 1.1.92 以降) -.IP \fBPIO_UNIMAP\fP -Unicode からフォントへのマッピングをカーネルにセットする。 -\fIargp\fP は構造体 \fIstruct unimapdesc\fP へのポインターである。 -(カーネル 1.1.92 以降) -.IP \fBPIO_UNIMAPCLR\fP -テーブルをクリアし、その事をハシュアルゴリズムに伝える。 \fIargp\fPは - -.in +4n -.nf -struct unimapinit { - unsigned short advised_hashsize; /* 0 if no opinion */ - unsigned short advised_hashstep; /* 0 if no opinion */ - unsigned short advised_hashlevel; /* 0 if no opinion */ -}; -.fi -.in - -(カーネル 1.1.92 以降) -.IP \fBKDGKBMODE\fP -現在のキーボードモードを取得する。\fIargp\fP の指す \fIlong\fP 型変数が、 次のうちのどれかに設定される。 - - K_RAW 0x00 - K_XLATE 0x01 - K_MEDIUMRAW 0x02 - K_UNICODE 0x03 -.IP \fBKDSKBMODE\fP -現在のキーボードモードを設定する。 \fIargp\fP は上記の値のうちのどれかに等しい \fIlong\fP にする。 -.IP \fBKDGKBMETA\fP -メタキーハンドリングモード(meta key handling mode)を取得する。 \fIargp\fP が指す \fIlong\fP -型変数は、次のうちのどれかに設定される。 - - K_METABIT 0x03 set high order bit - K_ESCPREFIX 0x04 escape prefix -.IP \fBKDSKBMETA\fP -メタキーハンドリングモードを設定する。 \fIargp\fP は上記の値のどれかに等しい \fIlong\fP にする。 -.IP \fBKDGKBENT\fP -キーコードをアクションコードに変換するキー変換表のエントリーの一つを 取得する。 \fIargp\fP は、 - -.in +4n -.nf -struct kbentry { - unsigned char kb_table; - unsigned char kb_index; - unsigned short kb_value; -}; -.fi -.in - -へのポインターである。 最初の2つの要素、\fIkb_table\fP には選択するキーテーブル (0 <= \fIkb_table\fP < -MAX_NR_KEYMAPS)、\fIkb_index\fP にはキーコード(0 <= \fIkb_index\fP < -NR_KEYS)を設定する。 \fIkb_value\fP は対応するアクションコード、または、そのようなキーが ないときには -K_HOLE、\fIkb_table\fP が無効な時には K_NOSUCHMAP に設定される。 -.IP \fBKDSKBENT\fP -変換テーブルのエントリーの一つを設定する。\fIargp\fP は 構造体 \fIstruct kbentry\fP へのポインターである。 -.IP \fBKDGKBSENT\fP -ファンクションキーの文字列を取得する。\fIargp\fP は 以下の構造体へのポインターである。 - -.in +4n -.nf -struct kbsentry { - unsigned char kb_func; - unsigned char kb_string[512]; -}; -.fi -.in - -\fIkb_func\fP 番目のファンクションキーのアクションコードに対応する (NULL で終端された) 文字列が \fIkb_string\fP -に設定される。 -.IP \fBKDSKBSENT\fP -ファンクションキーの文字列のエントリーを設定する。\fIargp\fP は、 構造体 \fIstruct kbsentry\fP へのポインターである。 -.IP \fBKDGKBDIACR\fP -カーネルのアクセントテーブル(accent table)を読み込む。\fIargp\fPは、 次の構造体へのポインターである。 - -.in +4n -.nf -struct kbdiacrs { - unsigned int kb_cnt; - struct kbdiacr kbdiacr[256]; -}; -.fi -.in - -ここで、\fIkb_cnt\fP は配列中のエントリーの個数で、個々のエントリーは 以下の構造体である。 - -.in +4n -.nf -struct kbdiacr { - unsigned char diacr; - unsigned char base; - unsigned char result; -}; -.fi -.in -.IP \fBKDGETKEYCODE\fP -カーネルの(スキャンコードからキーコードへ 変換する)キーコードテーブルエントリーを読み込む。 \fIargp\fP は、 - -.in +4n -.nf -struct kbkeycode { - unsigned int scancode; - unsigned int keycode; -}; -.fi -.in - -へのポインターである。 \fIkeycode\fP は、\fIscancode\fP に対応した値に設定される。(ただし、89 <= \fIscancode\fP -<= 255 のみについて。1 <= \fIscancode\fP <= 88 では \fIkeycode\fP == -\fIscancode\fP である。) (カーネル 1.1.63 以降) -.IP \fBKDSETKEYCODE\fP -カーネルのキーコードテーブルエントリーを書き込む。\fIargp\fP は構造体 \fIstruct kbkeycode\fP へのポインターである。 (カーネル -1.1.63 以降) -.IP \fBKDSIGACCEPT\fP -この関数呼び出しは、特別な組合せでキーを押した時に発生するシグナル \fIargp\fP (1 <= \fIargp\fP <= NSIG) -を進んで受け付けるかどうかを示す。 (linux/drivers/char/keyboard.c の Spawn_console() を見よ。) -.IP \fBVT_OPENQRY\fP -最初の空いている(まだオープンされていない)コンソールを返す。 \fIargp\fP の指す \fIint\fP 型の整数には、vt の番号がセットされる (1 -<= \fI*argp\fP <= MAX_NR_CONSOLES)。 -.IP \fBVT_GETMODE\fP -アクティブな vt のモードを取得する。\fIargp\fPは、 - -.in +4n -.nf -struct vt_mode { - char mode; /* vt mode */ - char waitv; /* if set, hang on writes if not active */ - short relsig; /* signal to raise on release req */ - short acqsig; /* signal to raise on acquisition */ - short frsig; /* unused (set to 0) */ -}; -.fi -.in - -という構造体を指すポインタであり、アクティブな vt のモードが セットされる。 \fImode\fP は次のどれかに設定される: - - VT_AUTO 自動vt切替え - VT_PROCESS プロセスコントロール切替え - VT_ACKACQ アクノリッジ切替え -.IP \fBVT_SETMODE\fP -アクティブな vt のモードを設定する。\fIargp\fP は構造体 \fIstruct vt_mode\fP への ポインターである。 -.IP \fBVT_GETSTATE\fP -グローバルな vt の状態の情報を取得する。\fIargp\fPは、 - -.in +4n -.nf -struct vt_stat { - unsigned short v_active; /* active vt */ - unsigned short v_signal; /* signal to send */ - unsigned short v_state; /* vt bit mask */ -}; -.fi -.in - -へのポインターである。 使用されているそれぞれの vt につき \fIv_state\fP の対応するビットが セットされる。 (カーネルl 1.0 から -1.1.92 まで) -.IP \fBVT_RELDISP\fP -ディスプレーを解放する。 -.IP \fBVT_ACTIVATE\fP -\fIargp\fP (1 <= \fIargp\fP <= MAX_NR_CONSOLES)の vt に切替える。 -.IP \fBVT_WAITACTIVE\fP -\fIargp\fPの vt がアクティブになるまで待つ。 -.IP \fBVT_DISALLOCATE\fP -\fIargp\fP の vt に結びつけられたメモリーを解放する。 (カーネル 1.1.54 以降) -.IP \fBVT_RESIZE\fP -カーネルが認識するスクリーンサイズを設定する。\fIargp\fP は、 - -.in +4n -.nf -struct vt_sizes { - unsigned short v_rows; /* # rows */ - unsigned short v_cols; /* # columns */ - unsigned short v_scrollsize; /* no longer used */ -}; -.fi -.in - -へのポインターである。 これはビデオモードを変更しない事に注意。 \fBresizecons\fP(8) を見よ(カーネル 1.1.54 以降)。 -.IP \fBVT_RESIZEX\fP -カーネルが認識する各種のスクリーンパラメータを設定する。\fIargp\fP は、 以下の構造体へのポインターである。 - -.in +4n -.nf -struct vt_consize { - unsigned short v_rows; /* number of rows */ - unsigned short v_cols; /* number of columns */ - unsigned short v_vlin; /* number of pixel rows - on screen */ - unsigned short v_clin; /* number of pixel rows - per character */ - unsigned short v_vcol; /* number of pixel columns - on screen */ - unsigned short v_ccol; /* number of pixel columns - per character */ -}; -.fi -.in - -パラメータはゼロであってもよい。そのときは「変更しないこと」を 意味するが、複数のパラメータが設定された時にはそれらの間で矛盾が -ないようにしなければならない。 この関数呼び出しによってもビデオモードは変更されない事に注意。 \fBresizecons\fP(8) を参照の事(カーネル -1.3.3 以降)。 -.PP -以下の ioctl がどのように動作をするかは、\fIargp\fP が指す構造体の 最初のバイト(ここでは \fIsubcode\fP と呼ぶ)に依存する。 -これらの呼出しは、スーパーユーザーか現在の tty のオーナにのみ許される。 -.IP "\fBTIOCLINUX, subcode=0\fP" -スクリーンをダンプ(dump)する カーネル 1.1.92 以降でなくなった(1.1.92 以降では、代わりに /dev/vcsN または -/dev/vcsaN より読み込む)。 -.IP "\fBTIOCLINUX, subcode=1\fP" -タスク情報を取得する。カーネル 1.1.92 でなくなった。 -.IP "\fBTIOCLINUX, subcode=2\fP" -選択を設定する。 \fIargp\fP が指すのは、 -.in +4n -.nf - -struct { - char subcode; - short xs, ys, xe, ye; - short sel_mode; -} - -.fi -.in -であり、ここで \fIxs\fP と \fIys\fP は始めの桁と行で、\fIxe\fP と \fIye\fP は終りの桁と 行である。 (左上の隅が 桁=行=1 ) -\fIsel_mode\fP は 0 が文字毎の選択で、1は語毎の選択、2は行毎の選択を 意味する。 示されたスクリーン上の文字はハイライト表示され -devices/char/console.c の 静的配列 sel_buffer に保存される。 -.IP "\fBTIOCLINUX, subcode=3\fP" -選択したものをペーストする。 選択バッファ中の文字 が \fIfd\fP に書き出される。 -.IP "\fBTIOCLINUX, subcode=4\fP" -スクリーンをアンブランク(unblank)する。 -.IP "\fBTIOCLINUX, subcode=5\fP" -語毎の選択のための「語」中の文字を規定している 256 ビットのルックアップ テーブルの内容を設定する(カーネル 1.1.32 以降)。 -.IP "\fBTIOCLINUX, subcode=6\fP" -\fIargp\fP は文字変数を指すポインタで、その内容がカーネル変数 \fIshift_state\fPの値に設定される(カーネル 1.1.32 以降)。 -.IP "\fBTIOCLINUX, subcode=7\fP" -\fIargp\fP は文字変数を指すポインタで、その内容がカーネル変数 \fIreport_mouse\fP の値に設定される(カーネル 1.1.33 以降)。 -.IP "\fBTIOCLINUX, subcode=8\fP" -スクリーン幅、スクリーン高さ、カーソル位置、全ての文字属性の組をダンプする (カーネル 1.1.67 から 1.1.91までのみ。 カーネル -1.1.92 以降では /dev/vcsa*より読み込む)。 -.IP "\fBTIOCLINUX, subcode=9\fP" -スクリーン幅、スクリーン高さ、カーソル位置、全ての文字属性の組を復元する (カーネル 1.1.67 から 1.1.91 までのみ。 カーネル -1.1.92 以降では /dev/vcsa* に書き込む)。 -.IP "\fBTIOCLINUX, subcode=10\fP" -新世代モニターのパワーセーブ機能を制御する。 VESA スクリーンブランキングモードが \fIargp\fP[1]に設定される。 -その値はスクリーンブランキングがどのように行われるかを示す。以下がその 値である。 - - \fI0\fP: スクリーンブランキングなし。 - - \fI1\fP:現在のビデオアダプターレジスタが保存されたあと、 -コントローラは垂直同期パルスをオフにするようプログラムされる。 -これにより モニターは「スタンバイ」モードにはいる。 -モニターに Off_Mode タイマが備わっておれば、 -最終的にはモニターが自分で電源を落す。 - - \fI2\fP:現在の設定を保存した後、垂直、水平同期パルスがオフになる。 -これによりモニターは「オフ」モードになる。 -モニターに Off_Mode タイマーがない時、または、blank_timer がタイムアウトしたら -すぐにモニターの電源を落したいときにこの選択肢を選ぶ。 -(注意:頻繁にモニターの電源を切るとモニターを痛める。) - -(カーネル 1.1.76 以降) -.SH 返り値 -成功時には 0 が返される。エラーに対しては \-1 が返され、 \fIerrno\fP が設定される。 -.SH エラー -\fIerrno\fP は次のような値をとる: -.TP -\fBEBADF\fP -ファイルディスクリプタが無効。 -.TP -\fBENOTTY\fP -ファイルディスクリプタがキャラクタ・スペシャルデバイスと関連付けられて いない。または、要求されたものがそれに当てはまらない。 -.TP -\fBEINVAL\fP -ファイルディスクリプタまたは \fIargp\fP が無効。 -.TP -\fBEPERM\fP -権限が不十分。 -.SH 注意 -\fB警告\fP: このマニュアルページを Linux のコンソール ioctl を文書化したものと思わない事。 -これは、興味がある人がソースを読むことの代わりになるように用意した物である。 ioctl は文書化されない Linux の内部機能であって、警告なしに -変更されることがある。 (そして、このページはカーネル 1.1.94 のときの状況を記述した物で、それは 以前のバージョンと比べれば、多くの違いがある) - -ioctl はカーネルと、ある特定のよく知られたプログラムとの情報交換のために 導入される事が非常に多い(fdisk, hdparm, -setserial,tunelp, loadkeys, selection, setfont など)。そのため ioctl -の動作は、その特定のプログラムが 必要とした時には変更になる。 - -これらの ioctl を使ったプログラムは他のバージョンの UNIX との互換性が ないし、古いバージョンの Linux -では、走らない。さらに将来のバージョンの Linux では走らなくなるかも知れない。 - -POSIX 機能を使いなさい。 -.SH 関連項目 -\fBdumpkeys\fP(1), \fBkbd_mode\fP(1), \fBloadkeys\fP(1), \fBmknod\fP(1), \fBsetleds\fP(1), -\fBsetmetamode\fP(1), \fBexecve\fP(2), \fBfcntl\fP(2), \fBioperm\fP(2), \fBtermios\fP(3), -\fBconsole\fP(4), \fBconsole_codes\fP(4), \fBmt\fP(4), \fBsd\fP(4), \fBtty\fP(4), -\fBtty_ioctl\fP(4), \fBttyS\fP(4), \fBvcs\fP(4), \fBvcsa\fP(4), \fBcharsets\fP(7), -\fBmapscrn\fP(8), \fBresizecons\fP(8), \fBsetfont\fP(8), \fI/usr/include/linux/kd.h\fP, -\fI/usr/include/linux/vt.h\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/dsp56k.4 b/draft/man4/dsp56k.4 deleted file mode 100644 index 8cb645ff..00000000 --- a/draft/man4/dsp56k.4 +++ /dev/null @@ -1,94 +0,0 @@ -.\" t -.\" Copyright (c) 2000 lars brinkhoff -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified, Thu Jan 27 19:16:19 CET 2000, lars@nocrew.org -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DSP56K 4 2000\-03\-01 Linux "Linux Programmer's Manual" -.SH 名前 -dsp56k \- DSP56001 のインターフェース・デバイス -.SH 書式 -.nf -#include -.sp -\fBssize_t read(int \fP\fIfd\fP\fB, void *\fP\fIdata\fP\fB, size_t \fP\fIlength\fP\fB);\fP -\fBssize_t write(int \fP\fIfd\fP\fB, void *\fP\fIdata\fP\fB, size_t \fP\fIlength\fP\fB);\fP - -\fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_UPLOAD, struct dsp56k_upload *\fP\fIprogram\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_SET_TX_WSIZE, int \fP\fIwsize\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_SET_RX_WSIZE, int \fP\fIwsize\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *\fP\fIflags\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, DSP56K_HOST_CMD, int \fP\fIcmd\fP\fB);\fP -.fi -.SH 設定 -dsp56k デバイスは、メジャー番号 55、マイナー番号 0 の キャラクター・デバイスである。 -.SH 説明 -Motorola DSP56001 は、Atari Falcon030 互換のコンピュータで使われている フルプログラマブルな 24 -ビットのデジタルシグナルプロセッサーである。 スペシャルファイル \fIdsp56k\fP は、DSP56001 の制御と -双方向ハンドシェイクホストポートでのデータの送受信のために使われる。 -.PP -データストリームをシグナルプロセッサーに送信するためには、 デバイスに対して \fBwrite\fP(2) を使うこと。 -処理されたデータを受信するためには、 \fBread\fP(2) を使うこと。 ホスト側では、データは 8, 16, 24, 32 -ビット単位で送受信できるが、 DSP56001 内では、24 ビット単位で扱われる。 -.PP -次の \fBioctl\fP(2) コールが \fIdsp56k\fP デバイスを制御するために使われる。 -.IP \fBDSP56K_UPLOAD\fP -DSP56001 をリセットし、プログラムをアップロードする。 \fBioctl\fP(2) の 3 番目の引き数は、 構造体 \fIstruct -dsp56k_binary\fP へのポインタでなければならない。 構造体のメンバー \fIbin\fP は DSP56001 バイナリプログラムを指し、 -構造体のメンバー \fIlen\fP は 24 ビットワードで数えた プログラムの長さに設定されていなければならない。 -.IP \fBDSP56K_SET_TX_WSIZE\fP -送信ワードサイズを設定する。 設定できる値は 1 〜 4 の範囲で、このバイト数分だけ 1 度に DSP56001 に送信する。 -このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、 ゼロのバイトで埋められたり、切り詰められたりする。 -.IP \fBDSP56K_SET_RX_WSIZE\fP -受信ワードサイズを設定する。 設定できる値は 1 〜 4 の範囲で、 このバイト数分だけ 1 度に DSP56001 から受信する。 -このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、 切り詰められたり、NULL バイト (\(aq\e0\(aq) -で埋められたりする。 -.IP \fBDSP56K_HOST_FLAGS\fP -ホストフラグを読み書きする。 ホストフラグは、一般的な目的で使うことのできるビットで、 ホストコンピュータと DSP56001 -の両方から読むことができる。 ビット 0 と 1 は、ホストによって書き込むことができ、 ビット 2 と 3 は、DSP56001 -によって書き込むことができる。 - -ホストフラグにアクセスするためには、 \fBioctl\fP(2) の 3 番目の引き数が 構造体 \fIstruct dsp56k_host_flags\fP -へのポインタでなければならない。 この構造体のメンバー \fIdir\fP のビット 0 または 1 が設定されると、 メンバー \fIout\fP -の対応するビットの値がホストフラグに書き込まれる。 すべてのホストフラグの状態は、構造体のメンバー \fIstatus\fP の 下から 4 -ビットとして返される。 -.IP \fBDSP56K_HOST_CMD\fP -ホストコマンドを送信する。 送信できる値は 0 〜 31 の範囲で、DSP56001 で動作しているプログラムによって -処理されるユーザー定義コマンドである。 -.SH ファイル -.\" .SH AUTHORS -.\" Fredrik Noring , lars brinkhoff , -.\" Tomas Berndtsson . -/dev/dsp56k -.SH 関連項目 -\fIlinux/include/asm\-m68k/dsp56k.h\fP, \fIlinux/drivers/char/dsp56k.c\fP, -\fIhttp://dsp56k.nocrew.org/\fP, DSP56000/DSP56001 Digital Signal Processor -User's Manual -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/fd.4 b/draft/man4/fd.4 index 0d3b212e..6546c0bd 100644 --- a/draft/man4/fd.4 +++ b/draft/man4/fd.4 @@ -2,6 +2,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@cantor.informatik.rwth-aachen.de) .\" and 1994,1995 Alain Knaff (Alain.Knaff@imag.fr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified, Sun Feb 26 15:00:02 1995, faith@cs.unc.edu .\" @@ -79,7 +80,6 @@ _ \fBfd\fP\fIn\fP\fBh1494\fP 1494K 83 18 2 72 \fBfd\fP\fIn\fP\fBh1600\fP 1600K 80 20 2 92 .TE -.PP 3.5 インチ倍密度(double density)デバイスファイル: .TS lw(1i) l l l l l. @@ -186,6 +186,6 @@ Apple II や Macintosh コンピュータで使用されている、 GCR (group \fBchown\fP(1), \fBfloppycontrol\fP(1), \fBgetfdprm\fP(1), \fBmknod\fP(1), \fBsuperformat\fP(1), \fBmount\fP(8), \fBsetfdprm\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/full.4 b/draft/man4/full.4 index edaf3727..adcfc9f6 100644 --- a/draft/man4/full.4 +++ b/draft/man4/full.4 @@ -1,7 +1,6 @@ -.\" -*- nroff -*- -.\" .\" This man-page is Copyright (C) 1997 John S. Kallal .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" correction, aeb, 970825 .\"******************************************************************* @@ -52,6 +52,6 @@ full \- いつも full であるデバイス .SH 関連項目 \fBmknod\fP(1), \fBnull\fP(4), \fBzero\fP(4) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/hd.4 b/draft/man4/hd.4 index 4b4e6736..278f2a97 100644 --- a/draft/man4/hd.4 +++ b/draft/man4/hd.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 16:56:20 1993 by Rik Faith .\" Modified Mon Oct 21 21:38:51 1996 by Eric S. Raymond @@ -82,6 +83,6 @@ chown root:disk /dev/hd* .SH 関連項目 \fBchown\fP(1), \fBmknod\fP(1), \fBsd\fP(4) \fBmount\fP(8), .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/initrd.4 b/draft/man4/initrd.4 deleted file mode 100644 index 5a86859d..00000000 --- a/draft/man4/initrd.4 +++ /dev/null @@ -1,260 +0,0 @@ -.\" -*- nroff -*- -.\" This man-page is Copyright (C) 1997 John S. Kallal -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and author(s) of this work. -.\" -.\" If the you wish to distribute versions of this work under other -.\" conditions than the above, please contact the author(s) at the following -.\" for permission: -.\" -.\" John S. Kallal - -.\" email: -.\" mail: 518 Kerfoot Farm RD, Wilmington, DE 19803-2444, USA -.\" phone: (302)654-5478 -.\" -.\" $Id: initrd.4,v 0.9 1997/11/07 05:05:32 kallal Exp kallal $ -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH INITRD 4 2010\-09\-04 Linux "Linux Programmer's Manual" -.SH 名前 -initrd \- ブートローダによって初期化された RAM ディスク -.SH 設定 -\fI/dev/initrd\fP は、メジャー番号 1、マイナー番号 250 が割り当てられた 読み込み専用のブロックデバイスである。 普通、 -\fI/dev/initrd\fP の所有者は \fIroot.disk\fP であり、モードは 400 (root のみが読み出し可能) である。 -もし、Linux システムに作成済の \fI/dev/initrd\fP ファイルがなかった場合、以下のコマンドで作成することができる: -.nf -\fB - mknod \-m 400 /dev/initrd b 1 250 - chown root:disk /dev/initrd\fP - -.fi -.PP -.\" -.\" -.\" -また、 \fI/dev/initrd\fP を使用するためには、 "RAM disk" と "Initial RAM disk" の両方の機能が Linux -カーネルに直接組み込まれていなければならない (例えば、カーネルのコンパイル時の設定で \fBCONFIG_BLK_DEV_RAM=y\fP かつ -\fBCONFIG_BLK_DEV_INITRD=y\fP とする)。 \fI/dev/initrd\fP を使用する場合には、RAM -ディスクドライバをモジュールとして ロードすることはできない。 -.SH 説明 -\fI/dev/initrd\fP スペシャルファイルは読み込み専用のブロックデバイスである。 このデバイスはカーネルが起動される前にブートローダ (boot -loader) によって初期化 (例えば、ロード) される RAM ディスクである。 その後、カーネルは \fI/dev/initrd\fP -の内容を二段階のシステム起動 (two\-phase system boot\-up) で利用することができる。 -.PP -.\" -.\" -.\" -最初のブートアップ段階 (first boot\-up phase) では、カーネルは (例えば、ブートローダによって初期化された RAM disk -である) \fI/dev/initrd\fP の内容を初期ルートファイルシステム (root file\-system) としてマウント して起動する。 -第二段階では初期ルートデバイスに含まれているものから、追加のドライ バやその他のモジュールがロードされる。 -追加のモジュールがロードされた後、新しいルートファイルシステム (すなわち、通常時のルートファイルシステム) が別のデバイスからマウントされる。 -.SS ブートアップ作業 -\fBinitrd\fP を利用した時は、システムは次のようにブートする: -.IP 1. 3 -ブートローダはカーネルプログラムと \fI/dev/initrd\fP の内容をメモリにロードする。 -.IP 2. -カーネル起動時、カーネルは \fI/dev/initrd\fP デバイスの内容を展開 (uncompress) し、 \fI/dev/ram0\fP -にコピーする。さらに、 \fI/dev/initrd\fP の使っていたメモリを解放する。 -.IP 3. -カーネルは \fI/dev/ram0\fP デバイスを初期のルートファイルシステムとして読み書き可能な形式でマウン トする。 -.IP 4. -指示されたルートファイルシステムが初期ルートファイルシステム (例えば \fI/dev/ram0\fP) -と同一の場合は、カーネルは普通のブートシーケンスのための最後のステップを 省略する。 -.IP 5. -\fI/linuxrc\fP という実行可能なファイルが初期ルートファイルシステムに存在すれば、 \fI/linuxrc\fP を UID 0 -(すなわち、root) の権限で実行する。 (\fI/linuxrc\fP ファイルは実行可能パーミッションが与えられていなければならない。 -\fI/linuxrc\fP は正当な実行ファイルであればよく、シェルスクリプトでも構わない。) -.IP 6. -\fI/linuxrc\fP が実行されない、または、 \fI/linuxrc\fP の実行が終了した時は、通常時ルートファイルシステムがマウントされる。 -(\fI/linuxrc\fP を終了した時、何らかのファイルシステムが初期ルートファイルシステム上に マウントされている場合のカーネルの動作は -\fB決められていない (不定である)\fP。 現在のカーネルがどのように動作するかは、 「注意」のセクションを参照のこと。) -.IP 7. -通常時ルートファイルシステムに ディレクトリ \fI/initrd\fP があれば、 \fI/dev/ram0\fP デバイスは \fI/\fP から -\fI/initrd\fP に移動される。 \fI/initrd\fP ディレクトリが存在しない場合は、 \fI/dev/ram0\fP はアンマウントされる。 -(\fI/\fP が \fI/initrd\fP に移動された場合には、 \fI/dev/ram0\fP はアンマウントされず、その結果、 \fI/dev/ram0\fP -で走り始めたプロセスはそのまま残る事ができる。 もし、 \fI/initrd\fP ディレクトリが通常時ルートファイルシステムに存在せず、 -\fI/linuxrc\fP が終了した時に \fI/dev/ram0\fP 上で実行された、なんらかのプロセスが走り続けていた場合の カーネルの動作は -\fB決められていない (不定である)\fP。 現在のカーネルが、この時どのような動作をするかについては、 「注意」を参照のこと。) -.IP 8. -.\" -.\" -.\" -普通のブートシーケンス (例えば、 \fI/sbin/init\fP の起動) が通常時ルートファイルシステム上で行われる。 -.SS オプション -\fBinitrd\fP を用いる場合に、カーネルのブートアップ操作に影響を与える ブートローダ・オプションは次のようなものがある、 -.TP -\fBinitrd=\fP\fIfilename\fP -\fI/dev/initrd\fP の内容としてロードするファイルを指定する。 \fBLOADLIN\fP では、これはコマンドラインオプションである。 -\fBLILO\fP では、 \fBLILO\fP の設定ファイル \fI/etc/lilo.config\fP 内でコマンドとして使用しなければならない。 -このオプションで指定されるファイルは、多くの場合 gzip 圧縮された ファイルシステムイメージである。 -.TP -\fBnoinitrd\fP -この起動オプションは二段階の起動操作を無効にする。 カーネルは \fI/dev/initrd\fP -が初期化されていない場合と同様の、通常のブートアップ動作を行う。 このオプションを用いると、ブートローダによってメモリ上にロードされた -\fI/dev/initrd\fP の内容はそのまま保存される。 つまり、このオプションを用いることによって、 \fI/dev/initrd\fP の内容を -(ブート以外の目的に) 利用することが可能になる。また、その内容は ファイルシステムイメージに限定されない。 しかし、 \fI/dev/initrd\fP -デバイスは読みだしのみ可能であり、システムの起動後 1 度しか読み出す事 ができない。 -.TP -\fBroot=\fP\fIdevice\-name\fP -.\" -.\" -.\" -通常時ルートファイルシステムとして使われるデバイスを指定する。 \fBLOADLIN\fP では、これはコマンドラインオプションである。 \fBLILO\fP -ではコマンドラインオプション、または、 \fBLILO\fP の設定ファイルである \fI/etc/lilo.config\fP のオプションラインとして使用する。 -このオプションで指定されるデバイスは、適切なルートファイルシステムとし てマウント可能なデバイスでなければならない。 -.SS 通常時ルートファイルシステムの変更 -デフォルトでは、カーネルの設定 (例えば、 \fBrdev\fP(8) を用いてカーネルファイル内にセットされたもの、または、コンパイル時にカー -ネルファイル内に埋め込まれたもの)、 または、ブートローダのオプション設定によって指定されたものが通常時ルー トファイルシステムとして使われる。 NFS -マウントされた通常時ルートファイルシステムを利用する場合、 \fBnfs_root_name\fP と \fBnfs_root_addrs\fP -ブートオプションを使って NFS の設定を与えなければならない。 NFS マウントされたルート (ファイルシステム) についての -より詳しい情報は、カーネルのドキュメントファイル \fBDocumentation/filesystems/nfsroot.txt\fP を参照のこと。 -ルートファイルシステムの設定についてのより詳しい情報は、 \fBLILO\fP と \fBLOADLIN\fP のドキュメントも参照のこと。 -.PP -また、 \fI/linuxrc\fP を用いる事によっても通常時ルートファイルシステムデバイスを変更すること ができる。 \fI/linuxrc\fP -を用いて、通常時ルートデバイスを変更するためには、 \fI/proc\fP がマウントされていなければならない。 \fI/proc\fP をマウントした後で、 -\fI/linuxrc\fP は proc ファイル \fI/proc/sys/kernel/real\-root\-dev\fP, -\fI/proc/sys/kernel/nfs\-root\-name\fP, \fI/proc/sys/kernel/nfs\-root\-addrs\fP -に書き込みを行い、通常時ルートデバイスを変更する。 (NFS ではない) 物理的なルートデバイスの場合、 \fI/linuxrc\fP -が新しいルートファイルシステムのデバイス番号を \fI/proc/sys/kernel/real\-root\-dev\fP -に書き込むことで、ルートデバイスが変更される。 NFS ルートファイルシステムの場合、 \fI/linuxrc\fP が NFS の設定を -\fI/proc/sys/kernel/nfs\-root\-name\fP と \fI/proc/sys/kernel/nfs\-root\-addrs\fP -に書き込み、それから \fI/proc/sys/kernel/real\-root\-dev\fP に (疑似 NFS デバイスナンバーである) 0xff -を書き込むことで、 ルートデバイスが変更される。 例えば、次のシェルコマンドラインにより、通常時ルートデバイスを \fI/dev/hdb1\fP -に変更できるだろう: -.nf - - echo 0x365 >/proc/sys/kernel/real\-root\-dev - -.fi -また、NFS の場合、次のようなシェルコマンドラインにより、 193.8.232.2 という IP アドレスを持つ "idefix" という名前の -システムの、通常時ルートデバイスとして、 ローカルネットワークの 193.8.232.2 という IP アドレスを持つ NFS サーバの NFS -ディレクトリ \fI/var/nfsroot\fP をマウントするように変更できる: -.nf - - echo /var/nfsroot >/proc/sys/kernel/nfs\-root\-name - echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \e - >/proc/sys/kernel/nfs\-root\-addrs - echo 255 >/proc/sys/kernel/real\-root\-dev -.fi - -.\" FIXME the manual page should describe the pivot_root mechanism. -.\" -.\" -.\" -\fB注意\fP: ルートファイルシステムを変更するために \fI/proc/sys/kernel/real\-root\-dev\fP を使うのは以前の方法である。 -ルートファイルシステムを変更する新しい方法についての情報は、 カーネルソースに含まれる \fIDocumentation/initrd.txt\fP -ファイルや、 \fBpivot_root\fP(2) や \fBpivot_root\fP(8) を参照してほしい。 -.SS 使い方 -\fBinitrd\fP が実装された主な目的は、システムインストール時に、モジュール化されたカー ネルの設定を可能にすることであった。 -.PP -次のような流れのシステムインストールが可能になる: -.IP 1. 3 -ローダプログラムは、フロッピーやその他のメディアから、 最小限のカーネル (例えば、 \fI/dev/ram\fP, \fI/dev/initrd\fP, ext2 -ファイルシステムのみのサポートしたカーネル) をブートし、 gzip 圧縮された初期ファイルシステムイメージを \fI/dev/initrd\fP -にロードする。 -.IP 2. -実行ファイル \fI/linuxrc\fP は、(1) 通常時ルートファイルシステムのマウントに何が必要か -(すなわち、デバイスタイプ、デバイスドライバ、ファイルシステム)、 (2) 配布メディアに何が必要か (例えば、CD\-ROM, -ネットワーク、テープなど) を決定する。決定は、ユーザへの問い合わせ、自動検出、あるいはその両者の 方法を組み合わせて行われる。 -.IP 3. -実行ファイル \fI/linuxrc\fP は、初期ルートファイルシステムから必要なモジュールをロードする。 -.IP 4. -実行ファイル \fI/linuxrc\fP は、ルートファイルシステムを作成し、配置する (この段階では、通常時ルー -トファイルシステムは完全なシステムである必要はない)。 -.IP 5. -実行ファイル \fI/linuxrc\fP は、 \fI/proc/sys/kernel/real\-root\-dev\fP を設定し、 \fI/proc\fP、 -マウントされている通常時ファイルシステム及びその他のファイルシステム をアンマウントし、 実行を終了する。 -.IP 6. -次に、カーネルは、通常時ルートファイルシステムをマウントする。 -.IP 7. -この段階で、ファイルシステムは全く変更が行われていない状態で、 アクセスできる状態になる。 また、ブートローダをインストールすることができる。 -.IP 8. -ブートローダを設定し、システム起動時に使用されるカーネルモジュールのセッ トを含んだファイルシステムを \fI/dev/initrd\fP にロードする -(例えば、 \fI/dev/ram0\fP デバイスの内容を修正し、アンマウントする。最後に、 \fI/dev/ram0\fP のイメージをファイルに書き出す)。 -.IP 9. -これで、システムがブート可能になる。この後、さらにその他のインストール の作業を実行できる。 -.PP -上記の動作での \fI/dev/initrd\fP の役割のキーポイントは、初期カーネルの選択や大きなジェネリックカーネル、 -カーネルの再構築なしに、通常のシステム操作で再利用可能な設定データを利 用することにある。 -.PP -2 番目のケースは、一つの管理上のネットワークにおいて、異なる設定のハー ドウェアのシステム上で Linux を動作させるためのインストールを行う場合 -である。 このようなケースの場合、ごく小数のカーネルのセット (理想的にはたった一 つのカーネル) -のみを利用し、システム固有の設定情報は可能な限り小さくす ることが望ましいであろう。 この場合、全ての必要なモジュールが入った共通ファイルを作成する。 -そして、 \fI/linuxrc\fP ファイル、または、 \fI/linuxrc\fP から実行されるファイルのみを異なったものにしておく。 -.PP -3 番目のケースは、より便利な復旧用ディスクを作る場合である。 ルートファイルシステムのパーティションの位置といった情報は ブート時に必要ないため、 -\fI/dev/initrd\fP からロードされたシステムは、 必要な正常性チェックを行った後で、ユーザへの問い合わせや自動検出 (もしくはその両方) -を行うことができるようになる。 -.PP -.\" -.\" -.\" -(他にもたくさん例があるだろうが) 最後の例としては、 \fBinitrd\fP を利用すると、CD\-ROM 上の Linux ディストリビューションを -より簡単に CD\-ROM からインストールすることができるだろう。 ディストリビューションは、 \fBLOADLIN\fP -を使って、フロッピーを全く利用せずに CD\-ROM から \fI/dev/initrd\fP を直接ロードすることができる。 また、 \fBLILO\fP -ブートフロッピーを使ってブートを行い、 \fI/dev/initrd\fP を通して CD\-ROM からより大きな RAM ディスクを起動することもできる。 -.SH ファイル -\fI/dev/initrd\fP -.br -\fI/dev/ram0\fP -.br -\fI/linuxrc\fP -.br -.\" -.\" -.\" -\fI/initrd\fP -.SH 注意 -.IP 1. 3 -現在のカーネルでは、 \fI/dev/ram0\fP が \fI/\fP から \fI/initrd\fP -に移動された際に、移動時にマウントされていたファイルシステムは、 その後も継続的にアクセス可能である。しかし、 \fI/proc/mounts\fP -のエントリは更新されない。 -.IP 2. -現在のカーネルでは、ディレクトリ \fI/initrd\fP が存在しない場合、 \fI/dev/ram0\fP -を何らかのプロセスが利用していたり、何らかのファイルシステムが \fI/dev/ram0\fP 上にマウントされていると、 \fI/dev/ram0\fP -は完全にはアンマウント「されない」。 \fI/dev/ram0\fP が、完全にアンマウント「されなければ」、 \fI/dev/ram0\fP -はメモリ上に残ってしまうはずである。 -.IP 3. -.\" -.\" -.\" -.\" .SH AUTHORS -.\" The kernel code for device -.\" .BR initrd -.\" was written by Werner Almesberger and -.\" Hans Lermen . -.\" The code for -.\" .BR initrd -.\" was added to the baseline Linux kernel in development version 1.3.73. -\fI/dev/initrd\fP の利用者は、上記の注意事項で述べた動作に依存しないようにすべきである。 これらの動作は Linux -カーネルの将来のバージョンでは変更される かもしれないからだ。 -.SH 関連項目 -\fBchown\fP(1), \fBmknod\fP(1), \fBram\fP(4), \fBfreeramdisk\fP(8), \fBrdev\fP(8) - -カーネルソースパッケージに含まれるドキュメントファイル \fIinitrd.txt\fP、 LILO のドキュメント、LOADLIN -のドキュメント、SYSLINUX のドキュメント。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/intro.4 b/draft/man4/intro.4 index 0500ad27..bc9c7447 100644 --- a/draft/man4/intro.4 +++ b/draft/man4/intro.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 16:57:14 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -40,6 +41,6 @@ intro \- スペシャルファイルに関する序文 .SH 関連項目 \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/lp.4 b/draft/man4/lp.4 index 24f874e7..6720d65d 100644 --- a/draft/man4/lp.4 +++ b/draft/man4/lp.4 @@ -2,6 +2,7 @@ .\" Copyright (c) Michael Haardt (michael@cantor.informatik.rwth-aachen.de), .\" Sun Jan 15 19:16:33 1995 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified, Sun Feb 26 15:02:58 1995, faith@cs.unc.edu .\"******************************************************************* @@ -92,6 +93,6 @@ LP_PERRORP エラー信号、ローがアクティブ .SH 関連項目 \fBchmod\fP(1), \fBchown\fP(1), \fBmknod\fP(1), \fBlpcntl\fP(8), \fBtunelp\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/mem.4 b/draft/man4/mem.4 index 57fedb33..ce1187be 100644 --- a/draft/man4/mem.4 +++ b/draft/man4/mem.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 16:59:10 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -76,6 +77,6 @@ chown root:mem /dev/port .SH 関連項目 \fBchown\fP(1), \fBmknod\fP(1), \fBioperm\fP(2) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/mouse.4 b/draft/man4/mouse.4 index bbb7149a..57fdd0ba 100644 --- a/draft/man4/mouse.4 +++ b/draft/man4/mouse.4 @@ -1,8 +1,8 @@ .\" t -.\"roff.\" Copyright .\" This manpage is Copyright (C) 1996 Michael Haardt. .\" Updates Nov 1998, Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -22,6 +22,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -125,6 +126,6 @@ byte d7 d6 d5 d4 d3 d2 d1 d0 .SH 関連項目 \fBttyS\fP(4), \fBgpm\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/null.4 b/draft/man4/null.4 index fe6090e8..afed0efe 100644 --- a/draft/man4/null.4 +++ b/draft/man4/null.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:00:12 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -54,6 +55,6 @@ chown root:root /dev/null /dev/zero .SH 関連項目 \fBchown\fP(1), \fBmknod\fP(1), \fBfull\fP(4) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/pts.4 b/draft/man4/pts.4 deleted file mode 100644 index 33e556af..00000000 --- a/draft/man4/pts.4 +++ /dev/null @@ -1,52 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" This man page was written by Jeremy Phelps . -.\" Notes added - aeb -.\" Redistribute and revise at will. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PTS 4 2002\-10\-09 Linux "Linux Programmer's Manual" -.SH 名前 -ptmx, pts \- 擬似端末のマスタとスレーブ -.SH 説明 -ファイル \fI/dev/ptmx\fP は、メジャーナンバー (major number) 5、 マイナーナンバー (minor number) 2 -を持つキャラクタ・ファイルであり、 通常、モードは 0666 で、所有者.グループは root.root である。 このファイルは、擬似端末 -(pseudoterminal) のマスタとスレーブの ペアを作成するために使用される。 -.PP -プロセスが \fI/dev/ptmx\fP をオープンすると、そのプロセスには 擬似端末マスタ (pseudoterminal master; PTM) -へのファイル・ ディスクリプタが返され、 \fI/dev/pts\fP ディレクトリに擬似端末スレーブ (pseudoterminal slave; PTS) -デバイスが作成される。 \fI/dev/ptmx\fP をオープンして得られるファイル・ディスクリプタは それぞれ独立の PTM であり、対応する PTS -を各々持つ。 PTS のパス名は、PTM のファイル・ディスクリプタを \fBptsname\fP(3) に渡すと知ることができる。 -.PP -擬似端末スレーブをオープンする前に、必ず、マスタのファイル・ディスクリプタを 引き数として \fBgrantpt\fP(3) と -\fBunlockpt\fP(3) を呼び出さなければならない。 -.PP -擬似端末のマスタとスレーブの両方がオープンされた後は、スレーブは、 プロセスに対して、実端末 (real terminal) -と全く同じインタフェースを提供する。 -.PP -スレーブに書かれたデータはマスタ・ディスクリプタに対する入力として扱われ、 マスタに書かれたデータはスレーブに対する入力として扱われる。 -.PP -実例をあげると、擬似端末は \fBxterm\fP(1) のような端末エミュレータを実装するのに使用されている。 -端末エミュレータでは、擬似端末のマスタから読み込まれたデータは、 アプリケーションにとって実端末のデータと全く同じもののように見える。 また、 -\fBsshd\fP(8) のようなリモート・ログイン用のプログラムの実装では、 擬似端末マスタから読み込まれたデータは、ネットワークを経由して、 -端末や端末エミュレータに接続されているクライアント・プログラムに送信される。 -.PP -擬似端末は、 (\fBsu\fP(1) や \fBpasswd\fP(1) のような) 通常はパイプからの入力を拒否するプログラムに、 -入力を送信するためにも使用できる。 -.SH ファイル -\fI/dev/ptmx\fP, \fI/dev/pts/*\fP -.SH 注意 -(UNIX 98 pseudoterminal naming と呼ばれる) 上記の機能の Linux でのサポートは、通常 \fI/dev/pts\fP -にマウントされるはずの \fIdevpts\fP ファイルシステムを通して実現されている、 -.LP -この UNIX 98 スキームが導入される前は、マスタ擬似端末は \fI/dev/ptyp0\fP, ... 、スレーブ擬似端末は -\fI/dev/ttyp0\fP, ... と呼ばれており、あらかじめたくさんのデバイス・ノードを割り当てて おく必要があった。 -.SH 関連項目 -\fBgetpt\fP(3), \fBgrantpt\fP(3), \fBptsname\fP(3), \fBunlockpt\fP(3), \fBpty\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/ram.4 b/draft/man4/ram.4 index 54eeceaf..a2dc583d 100644 --- a/draft/man4/ram.4 +++ b/draft/man4/ram.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:01:11 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -46,6 +47,6 @@ chown root:disk /dev/ram .SH 関連項目 \fBchown\fP(1), \fBmknod\fP(1), \fBmount\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/random.4 b/draft/man4/random.4 deleted file mode 100644 index a627c97b..00000000 --- a/draft/man4/random.4 +++ /dev/null @@ -1,151 +0,0 @@ -.\" Copyright (c) 1997 John S. Kallal (kallal@voicenet.com) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" Some changes by tytso and aeb. -.\" -.\" 2004-12-16, John V. Belmonte/mtk, Updated init and quit scripts -.\" 2004-04-08, AEB, Improved description of read from /dev/urandom -.\" 2008-06-20, George Spelvin , -.\" Matt Mackall -.\" Add a Usage subsection that recommends most users to use -.\" /dev/urandom, and emphasizes parsimonious usage of /dev/random. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RANDOM 4 2010\-08\-29 Linux "Linux Programmer's Manual" -.SH 名前 -random, urandom \- カーネル乱数ソースデバイス -.SH 説明 -(Linux 1.3.30 から提供されている) \fI/dev/random\fP 、 \fI/dev/urandom\fP キャラクタスペシャルファイルは -カーネル乱数ジェネレータへのインタフェースを提供する。 \fI/dev/random\fP ファイルはメジャーデバイス番号 1 マイナーデバイス番号 8 -である。 \fI/dev/urandom\fP はメジャーデバイス番号 1 マイナーデバイス番号 9 である。 -.LP -乱数ジェネレータはデバイスドライバやその他の源からの環境ノイズを エントロピー・プールへ集める。 -また、ジェネレータはエントロピー・プール内のノイズのビット数の推定値を 保持する。 このエントロピー・プールから乱数が生成される。 -.LP -読み込みが行われると、 \fI/dev/random\fP デバイスはエントロピー・プールのノイズビットの数の推定値のうち、 ランダムバイトのみを返す。 -\fI/dev/random\fP はワンタイムパッド (one\-time pad) や鍵の生成のような -非常に高い品質を持った無作為性が必要になる用途に向いているだろう。 エントロピー・プールが空の時は、\fI/dev/random\fP からの読み出しは、 -更なる環境ノイズが得られるまで、ブロックされる。 -.LP -\fI/dev/urandom\fP デバイスから読み出しでは、 エントロピーがより高くなるのを待つためのブロックは行われない。 -その結果、もしエントロピー・プールに十分なエントロピーが存在しない場合、 返り値はこのドライバで使われているアルゴリズムに基づく暗号攻撃に対して、 -論理的には弱くなることになる。 この攻撃をどのように行うかという事については、現在研究論文などの -形で入手できる資料はない、しかし、そのような攻撃は論理的に存在可能である。 もし、この事が心配なら、(\fI/dev/urandom\fP ではなく) -\fI/dev/random\fP を利用すればいい。 -.SS 使い方 -\fI/dev/random\fP と \fI/dev/urandom\fP のどちらを使うべきか迷った場合、たいていは \fI/dev/urandom\fP -の方を使いたいと思っているはずだろう。 一般に、長期に渡って使われる GPG/SSL/SSH のキー以外の全てのものに \fI/dev/urandom\fP -を使用すべきである。 - -下記で推奨しているように再起動の前後で乱数種ファイルが保存される場合 (全ての主な Linux のディストリビューションは少なくとも 2000 年以降は -乱数種を保存するようになっている)、起動シーケンスにおいて乱数種が 再ロードされた直後から、その出力はローカルのルートアクセスができない -攻撃者に対して暗号的に安全なものとなり、ネットワーク暗号化のセッションキー として使うには完全に最適なものとなる。 \fI/dev/random\fP -からの読み出しは停止 (block) する可能性があるので、ユーザは普通 このファイルを非停止 (nonblocking) モードで開こうとし -(もしくはタイムアウトを指定して読み出しを実行し)、希望するレベルの エントロピーはすぐには利用できない場合には、何らかの通知を行うことだろう。 - -カーネルの乱数ジェネレータは、暗号疑似乱数ジェネレータ (Cryptographic pseudo\-random number generator; -CPRNG) の種として使用できる 高品質な乱数種の材料を少し生成するために設計されている。 これは速度ではなく安全性を重視して設計されており、 -ランダムなデータを大量に生成するのには全くもって適していない。 ユーザは \fI/dev/urandom\fP (と \fI/dev/random\fP) -から読み出す乱数種の材料の量をできるだけ節約すべきである。 このデバイスから不必要に大量のデータを読み出すと、このデバイスを使う -他のユーザにマイナスの影響を与えてしまうだろう。 - -暗号鍵を生成するのに必要な乱数種の材料の量は、鍵の実効サイズと同じである。 例えば、3072 ビットの RSA および Diffie\-Hellman -の秘密鍵の実効サイズは 128 ビット (この秘密鍵を破るには 2^128 回の操作が必要ということ) であり、 そのため鍵生成器が -\fI/dev/random\fP から読み出す必要がある乱数種の材料の量は 128 ビット (16 バイト) だけである。 - -CPRNG アルゴリズムの欠陥に対する保護として、この最小値に対していくらかの 安全上のマージンを取るのはもっともだが、現在利用可能な暗号プリミティブで -256 ビットより多くの安全な乱数を必要とするようなものはない。 起動する度に、もしくは乱数種を変更する妥当な間隔 (1 分より短くなることはない) -の度に、カーネルの乱数プールから 256 ビット (32 バイト) よりたくさん読み出す -ような場合には、そのプログラムの暗号処理がうまく実装されて「いない」可能性が あると考えるべきであろう。 -.SS Configuration -システムにあらかじめ作成された \fI/dev/random\fP と \fI/dev/urandom\fP が存在しないなら、次のようなコマンドで作成できる。 - -.nf - mknod \-m 644 /dev/random c 1 8 - mknod \-m 644 /dev/urandom c 1 9 - chown root:root /dev/random /dev/urandom -.fi - -オペレータの操作なしに Linux システムが起動した直後は、 エントロピー・プールは意外性の乏しい均一な状態にあるだろう。 -これにより、エントロピー・プールの実際のノイズ量は評価値より少なくなる。 この効果を打ち消すために、シャットダウンから (次の) 起動時まで持ち越した -エントロピー・プールの情報が助けになる。 エントロピー・プールを持ち越すためには、 Linux システムの起動時に実行される適切なスクリプトに、 -以下の行を追加すればよい: - -.nf - echo "Initializing random number generator..." - random_seed=/var/run/random\-seed - # 乱数種を今回のスタートアップから次回のスタートアップまで持ち越す。 - # ロードを行い、その後、全てのエントロピー・プールを保存する。 - if [ \-f $random_seed ]; then - cat $random_seed >/dev/urandom - else - touch $random_seed - fi - chmod 600 $random_seed - poolfile=/proc/sys/kernel/random/poolsize - [ \-r $poolfile ] && bytes=\`cat $poolfile\` || bytes=512 - dd if=/dev/urandom of=$random_seed count=1 bs=$bytes -.fi - -また、Linux システムのシャットダウン時に実行される適切なスクリプトに、 以下の行を追加すればよい: - -.nf - # 乱数種を今回のシャットダウンから次回のスタートアップまで持ち越す。 - # 全てのエントロピー・プールを保存する。 - echo "Saving random seed..." - random_seed=/var/run/random\-seed - touch $random_seed - chmod 600 $random_seed - poolfile=/proc/sys/kernel/random/poolsize - [ \-r $poolfile ] && bytes=\`cat $poolfile\` || bytes=512 - dd if=/dev/urandom of=$random_seed count=1 bs=$bytes -.fi -.SS "/proc インタフェース" -ディレクトリ \fI/proc/sys/kernel/random\fP にあるファイル (2.3.16 から存在する) は、 \fI/dev/random\fP -デバイスへのその他のインタフェースを提供する。 -.LP -読み込み専用のファイル \fIentropy_avail\fP は使用可能なエントロピーを表す。 通常、これは 4096 (ビット) -になり、エントロピー・プールが満杯の状態である。 -.LP -ファイル \fIpoolsize\fP はエントロピー・プールのサイズを表す。 このファイルの意味はカーネルバージョンにより異なる。 -.RS -.TP 12 -Linux 2.4: -このファイルはエントロピー・プールのサイズを「バイト」単位で規定する。 通常、このファイルの値は 512 になるが、書き込み可能であり、 -アルゴリズムで利用可能な任意の値に変更できる。 選択可能な値は 32, 64, 128, 256, 512, 1024, 2048 である。 -.TP -Linux 2.6: -このファイルは読み出し専用であり、 エントロピー・プールのサイズを「ビット」単位で規定する。 値は 4096 である。 -.RE -.LP -ファイル \fIread_wakeup_threshold\fP は \fI/dev/random\fP -からのエントロピーを待って休止しているプロセスを起こすのに必要な エントロピーのビット数を保持している。 デフォルトは 64 である。 ファイル -\fIwrite_wakeup_threshold\fP はエントロピーのビット数を保持しており、この値以下になったら \fI/dev/random\fP -への書き込みアクセスのために \fBselect\fP(2) または \fBpoll\fP(2) を実行するプロセスを起こす。 -この値はファイルに書き込みを行うことによって変更できる。 -.LP -読み込み専用のファイル \fIuuid\fP と \fIboot_id\fP は 6fd5a44b\-35f4\-4ad4\-a9b9\-6b9be13e1fe9 のような -ランダムな文字列を保持している。 前者は読み込みの度に新たに生成され、 後者は 1 度だけ生成される。 -.SH ファイル -/dev/random -.br -.\" .SH AUTHOR -.\" The kernel's random number generator was written by -.\" Theodore Ts'o (tytso@athena.mit.edu). -/dev/urandom -.SH 関連項目 -mknod (1) -.br -RFC\ 1750, "Randomness Recommendations for Security" -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/rtc.4 b/draft/man4/rtc.4 deleted file mode 100644 index 0e3b756c..00000000 --- a/draft/man4/rtc.4 +++ /dev/null @@ -1,197 +0,0 @@ -.\" rtc.4 -.\" Copyright 2002 Urs Thuermann (urs@isnogud.escape.de) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" $Id: rtc.4,v 1.4 2005/12/05 17:19:49 urs Exp $ -.\" -.\" 2006-02-08 Various additions by mtk -.\" 2006-11-26 cleanup, cover the generic rtc framework; David Brownell -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RTC 4 2010\-02\-25 Linux "Linux Programmer's Manual" -.SH 名前 -rtc \- リアルタイムクロック -.SH 書式 -#include -.sp -\fBint ioctl(\fP\fIfd\fP\fB, RTC_\fP\fIrequest\fP\fB, \fP\fIparam\fP\fB);\fP -.SH 説明 -これはリアルタイムクロック (RTC) のドライバのインタフェースである。 - -多くのコンピュータは、現在の「壁時計」時刻 ("wall clock" time) を記録する、 ハードウェアクロックを 1 個以上持っている。 -これらは「リアルタイムクロック」(RTC) と呼ばれる。 これらの時計のうち 1 つは、通常は電池でバックアップして駆動されるので、 -コンピュータのスイッチを切っても、時刻を保持できる。 多くの場合、RTC はアラームやその他の割り込みの機能を提供する。 - -全ての i386 PC と ACPI ベースのシステムには RTC がある。 この RTC は、元々の PC/AT に存在した Motorola -MC146818 チップと互換性がある。 このような RTC は、今日ではマザーボードの チップセット (サウスブリッジ) -内で実装されていることが多く、 交換可能な硬貨くらいの大きさのバックアップ電池を使っている。 - -システムオンチップ (system\-on\-chip) プロセッサを使って作られた 組み込みシステムといった、PC -以外のシステムでは、別な実装を用いている。 このようなシステムでは、PC/AT の RTC と同じ機能を提供していない場合が多い。 -.SS "RTC とシステムクロックの違い" -RTC をシステムクロックと混同すべきではない。 システムクロックは、カーネルに管理されるソフトウェアクロックであり、 -ファイルによるタイムスタンプ設定などとともに、 \fBgettimeofday\fP(2) や \fBtime\fP(2) を実装するのに使用されている。 -システムクロックは、POSIX における紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒とミリ秒を表す。 -1 つの一般的な実装ではタイマー割り込みを、"jiffy" 毎に 1 回、 100, 250, 1000 Hz という周波数でカウントする。 - -RTC とシステムクロックの重要な違いは、 RTC はシステムが低電力状態 (「オフ」の場合も含む) でも動作するのに対し、 -システムクロックは動作しない点である。 システムクロックは、初期化が行われるまでは、 POSIX -紀元からではなくシステムのブート時からの時刻しか返せない。 そのため、ブート時やシステムの低電力状態からの復帰 (resume) 後には、 -システムクロックは RTC を使って現在の壁時計時刻に設定される場合が多い。 RTC を持たないシステムでは、 -他の時計を使ってシステムクロックを設定する必要があり、 ネットワークにアクセスしたり、(時刻) データを手動で入力したりするだろう。 -.SS "RTC の機能" -RTC は \fBhwclock\fP(8) または下記の ioctl リクエストで読み書きができる。 - -日付と時間をカウントするのに加えて、 多くの RTC は以下のように割り込みを発生できる。 -.IP * 3 -クロックの更新毎 (つまり 1 秒毎)。 -.IP * -2 Hz から 8192 Hz までの 2 の乗数の周波数で、定期的な間隔。 -.IP * -前もって指定したアラーム時刻に達した時。 -.PP -これらの割り込み元は、個別に有効にしたり無効にしたりできる。 多くのシステムでは、アラーム割り込みをシステムの ウェイクアップイベントとして設定できる。 -このイベントは、RAM へのサスペンド (STR, ACPI システムで S3 と呼ばれる) や ハイバーネーション (ACPI システムで S4 -と呼ばれる) といった低電力状態や、 「オフ」(ACPI システムで S5 と呼ばれる) からでも、システムを復帰できる。 電池でバックアップされた -RTC が割り込みを発生できるシステムと、 できないシステムがある。 - -\fI/dev/rtc\fP (または \fI/dev/rtc0\fP, \fI/dev/rtc1\fP などの) デバイスは (クローズされるまで) 1 -回しかオープンすることができず、 読み込み専用である。 \fBread\fP(2) と \fBselect\fP(2) を呼び出したプロセスは、 RTC -からの割り込みを受け取るまで停止 (block) される。 割り込みの後、プロセスは long 型整数を読み出すことができる。 -この整数の最下位バイトは発生した割り込みの種別を コード化したビットマスクであり、 残りの 3 バイトは最後の \fBread\fP(2) -以降に発生した割り込みの回数である。 -.SS "ioctl(2) インタフェース" -以下の \fBioctl\fP(2) リクエストが RTC デバイスの接続された ファイルディスクリプタに対して定義されている: -.TP -\fBRTC_RD_TIME\fP -RTC の時刻を以下の構造体で返す: -.IP -.in +4n -.nf -struct rtc_time { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; /* 未使用 */ - int tm_yday; /* 未使用 */ - int tm_isdst; /* 未使用 */ -}; -.fi -.in -.IP -この構造体のフィールドは \fBgmtime\fP(3) で説明されている \fItm\fP 構造体のフィールドと同じ意味で同じ範囲である。 -この構造体へのポインタを \fBioctl\fP(2) の第 3 引き数として渡す。 -.TP -\fBRTC_SET_TIME\fP -\fBioctl\fP(2) の第 3 引き数が指す \fIrtc_time\fP 構造体の値を RTC 時刻に設定する。 RTC -時刻の設定する場合、プロセスは特権 (つまり \fBCAP_SYS_TIME\fP ケーパビリティ) を持たなければならない。 -.TP -\fBRTC_ALM_READ\fP, \fBRTC_ALM_SET\fP -アラームがサポートされている RTC に対して、 アラーム時刻の読み込みと設定を行う。 アラーム割り込みは、 \fBRTC_AIE_ON\fP, -\fBRTC_AIE_OFF\fP を使って、これとは別に有効または無効にしなければならない。 \fBioctl\fP(2) の第 3 引き数は、 -\fIrtc_time\fP 構造体へのポインタでなければならない。 この構造体の \fItm_sec\fP, \fItm_min\fP, \fItm_hour\fP -フィールドのみが使用される。 -.TP -\fBRTC_IRQP_READ\fP, \fBRTC_IRQP_SET\fP -周期的な割り込みがサポートされている RTC に対して、 周期的な割り込みの周波数の読み込みと設定を行う。 周期的な割り込みは、 -\fBRTC_PIE_ON\fP, \fBRTC_PIE_OFF\fP を使って、これとは別に有効または無効にしなければならない。 \fBioctl\fP(2) の第 3 -引き数は、それぞれ \fIunsigned long\ *\fP と \fIunsigned long\fP である。 この値は 1 -秒当たりの割り込みの回数である。 指定可能な周波数は、2 の乗数で 2 から 8192 の範囲である。 特権プロセス (つまり -\fBCAP_SYS_RESOURCE\fP ケーパビリティを持つプロセス) のみが、 \fI/proc/sys/dev/rtc/max\-user\-freq\fP -に書かれた上記の周波数を設定できる。 (このファイルにはデフォルトで 64 という値が書かれている)。 -.TP -\fBRTC_AIE_ON\fP, \fBRTC_AIE_OFF\fP -アラームがサポートされている RTC に対して、 アラーム割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3 引き数は無視される。 -.TP -\fBRTC_UIE_ON\fP, \fBRTC_UIE_OFF\fP -1 秒毎の割り込みがサポートされている RTC に対して、 クロック更新毎の割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3 -引き数は無視される。 -.TP -\fBRTC_PIE_ON\fP, \fBRTC_PIE_OFF\fP -周期的な割り込みがサポートされている RTC に対して、 周期的な割り込みを有効または無効にする。 \fBioctl\fP(2) の第 3 -引き数は無視される。 特権プロセス (つまり \fBCAP_SYS_RESOURCE\fP ケーパビリティを持つプロセス) のみが、 その時点で -\fI/proc/sys/dev/rtc/max\-user\-freq\fP に周期が上記の値に指定されている場合に、 周期的な割り込みを有効にできる。 -.TP -\fBRTC_EPOCH_READ\fP, \fBRTC_EPOCH_SET\fP -多くの RTC は年を 8 ビットのレジスタにコード化する。 年は 8 ビットのバイナリ数または BCD 数に変換される。 どちらの場合でも、その数値は -RTC の紀元から相対値に変換される。 多くのシステムでは RTC の紀元は 1900 に初期化されるが、 Alpha と MIPS では、RTC -レジスタの年の値に応じて、 1952, 1980, 2000 の何れかに初期化される。 これらの操作でそれぞれ RTC の紀元の読み込みと設定が可能な -RTC もある。 \fBioctl\fP(2) の第 3 引き数は、それぞれ \fIunsigned long\ *\fP と \fIunsigned long\fP -である。 返される値 (または指定される値) は紀元である。 RTC の紀元を設定する場合、プロセスは特権 (つまり \fBCAP_SYS_TIME\fP -ケーパビリティ) を持たなければならない。 -.TP -\fBRTC_WKALM_RD\fP, \fBRTC_WKALM_SET\fP -RTC の中にはより強力なアラームインタフェースをサポートするものもあり、 これらの ioctl を使うことで、以下のような構造体で RTC -のアラーム時刻を (それぞれ) 読み書きできる: -.PP -.RS -.in +4n -.nf -struct rtc_wkalrm { - unsigned char enabled; - unsigned char pending; - struct rtc_time time; -}; -.fi -.in -.RE -.IP -\fIenabled\fP フラグはアラーム割り込みを有効または無効したり、 現在の状態を読み込むのに使用される。 これらのフラグを使う場合、 -\fBRTC_AIE_ON\fP と \fBRTC_AIE_OFF\fP は使用されない。 \fIpending\fP フラグは \fBRTC_WKALM_RD\fP -で使用され、処理待ちの割り込みを表示する (EFI ファームウェアで管理される RTC と通信するとき以外、 Linux ではほとんど役に立たない)。 -\fItime\fP フィールドは \fBRTC_ALM_READ\fP や \fBRTC_ALM_SET\fP の場合と同じように使用されるが、 \fItm_mday\fP, -\fItm_mon\fP, \fItm_year\fP フィールドも有効であるという点が異なる。 この構造体へのポインタを \fBioctl\fP(2) の第 3 -引き数として渡さなければならない。 -.SH ファイル -\fI/dev/rtc\fP, \fI/dev/rtc0\fP, \fI/dev/rtc1\fP など: RTC 特殊キャラクターデバイスファイル - -\fI/proc/driver/rtc\fP: (1 つ目の) RTC の状態 -.SH 注意 -カーネルのシステムクロックを \fBadjtimex\fP(2) を使って外部参照で同期させる場合、 \fBadjtimex\fP(2) は指定された RTC -を 11 分毎に定期的に更新する。 これを行うためカーネルは周期的な割り込みを短期間無効にする必要がある。 これは RTC -を使うプログラムに影響を与える。 - -RTC の紀元は、システムクロックでのみ使用される POSIX の紀元とは何の関係もない。 - -RTC の紀元と年のレジスタに基づく年が 1970 未満である場合、 100 年後、つまり 2000 から 2069 であると仮定される。 - -RTC の中にはアラームフィールドに 「ワイルドカード」の値をサポートするものもあり、 毎時 15 -分や各月の初日など、定期的なアラームを行うシナリオをサポートする。 このような使い方は移植性がない。 -移植性の高いユーザ空間コードでは、単独のアラーム割り込みだけを想定し、 割り込みの受信後にアラームを無効または再初期化すべきである。 - -以下の機能をサポートする RTC もある。 1 秒の分数ではなく、1 秒の倍数を周期とする周期的な割り込み。 複数のアラーム。 -プログラム可能な出力クロックシグナル。 不揮発性 (nonvolatile) メモリ。 この API で現在提供していない、その他のハードウェア機能。 -.SH 関連項目 -\fBdate\fP(1), \fBadjtimex\fP(2), \fBgettimeofday\fP(2), \fBsettimeofday\fP(2), -\fBstime\fP(2), \fBtime\fP(2), \fBgmtime\fP(3), \fBtime\fP(7), \fBhwclock\fP(8), -/usr/src/linux/Documentation/rtc.txt -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/sd.4 b/draft/man4/sd.4 deleted file mode 100644 index ec14c821..00000000 --- a/draft/man4/sd.4 +++ /dev/null @@ -1,101 +0,0 @@ -.\" sd.4 -.\" Copyright 1992 Rickard E. Faith (faith@cs.unc.edu) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SD 4 2012\-05\-03 Linux "Linux Programmer's Manual" -.SH 名前 -sd \- SCSI ディスクドライブのためのドライバ -.SH 書式 -.nf -\fB#include \fP/* for HDIO_GETGEO */ -\fB#include \fP/* for BLKGETSIZE and BLKRRPART */ -.fi -.SH 設定 -このブロックデバイス (block device) の名前は、次のような形式をとる: \fBsd\fP\fIlp,\fP このうち、 \fIl\fP -は物理ドライブを意味する文字であり、 \fIp\fP はその物理ドライブ上のパーティション (partition) を意味する数字である。 -パーティションナンバー \fIp\fP がない場合は、そのデバイスファイルはドライブ全体をさす。 - -SCSI ディスクはメジャーナンバー 8 を持ち、次のような形式のマイナーナンバー を持つ。(16 * \fIdrive_number\fP) + -\fIpartition_number\fP、 この \fIdrive_number\fP は検出された物理ドライブの番号であり、 -\fIpartition_number\fP は次のようになる: -.sp -パーティション 0 はドライブ全体 -.br -パーティション 1 〜 4 は DOS の "基本 (primary)" パーティション -.br -パーティション 5 〜 8 は DOS の "拡張 (extended)" (または、"論理 (logical)") パーティション。 - -例えば、 \fI/dev/sda\fP はメジャーナンバー 8 マイナーナンバー 0 を持ち、システムの最初の SCSI ドライブ全体を参照する。そして、 -\fI/dev/sdb3\fP はメジャーナンバー 8 マイナーナンバー 19 を持ち、システムの二つ目の SCSI ドライブの三番目の DOS "基本" -パーティションを参照する。 - -現在は、ブロックデバイスだけが提供されている。ロー・デバイス (raw device) はまだ実装されていない。 -.SH 説明 -次の \fIioctl\fP が提供されている: -.TP -\fBHDIO_GETGEO\fP -.RS -次のような構造体を用いて BIOS のディスクパラメータを返す: -.in +4n -.nf - -struct hd_geometry { - unsigned char heads; - unsigned char sectors; - unsigned short cylinders; - unsigned long start; -}; -.fi -.in - -この構造体へのポインタが \fBioctl\fP(2) へのパラメータとして渡される。 - -このパラメータに入れられて返される情報は、 \fIDOS によって理解されるような\fP ドライブのジオメトリである。 -このジオメトリは、ドライブの物理的なジオメトリ \fIではない。\fP この情報はドライブのパーティションテーブルを作成する時に用いられる、 また、 -\fBfdisk\fP(1), \fBefdisk\fP(1), \fBlilo\fP(1) の適切な操作に必要である。 -もし、ジオメトリの情報が得られなければ、それぞれの値全てにゼロが入れ られて返される。 -.RE -.TP -\fBBLKGETSIZE\fP -セクタの数で表したデバイスのサイズが返される。 \fBioctl\fP(2) のパラメータは、 \fIlong\fP へのポインタでなければならない。 -.TP -\fBBLKRRPART\fP -強制的に、SCSI ディスクのパーティションテーブルの再読み込みを行う。 パラメータは必要ない。 - -SCSI の \fBioctl\fP(2) 操作も同様にサポートされる。 \fBioctl\fP(2) の -パラメータが必要で、そのパラメータが NULL の場合は、 -\fBioctl\fP(2) はエラー \fBEINVAL\fP で失敗する。 -.SH ファイル -/dev/sd[a\-h]: ドライブ全体 -.br -.\".SH "SEE ALSO" -.\".BR scsi (4) -/dev/sd[a\-h][0\-8]: 個々のブロックパーティション -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/sk98lin.4 b/draft/man4/sk98lin.4 deleted file mode 100644 index 43acee28..00000000 --- a/draft/man4/sk98lin.4 +++ /dev/null @@ -1,311 +0,0 @@ -.\" (C)Copyright 1999-2003 Marvell(R) -- linux@syskonnect.de -.\" sk98lin.4 1.1 2003/12/17 10:03:18 -.\" This manpage can be viewed using `groff -Tascii -man sk98lin.4 | less` -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SK98LIN 4 2012\-05\-10 Linux "Linux Programmer's Manual" -.SH 名前 -sk98lin \- Marvell/SysKonnect ギガビットイーサネットドライバ v6.21 -.SH 書式 -\fBinsmod sk98lin.o\fP [\fBSpeed_A=\fP\fIi,j,...\fP] [\fBSpeed_B=\fP\fIi,j,...\fP] -[\fBAutoNeg_A=\fP\fIi,j,...\fP] [\fBAutoNeg_B=\fP\fIi,j,...\fP] [\fBDupCap_A=\fP\fIi,j,...\fP] -[\fBDupCap_B=\fP\fIi,j,...\fP] [\fBFlowCtrl_A=\fP\fIi,j,...\fP] -[\fBFlowCtrl_B=\fP\fIi,j,...\fP] [\fBRole_A=\fP\fIi,j,...\fP] [\fBRole_B=\fP\fIi,j,...\fP] -[\fBConType=\fP\fIi,j,...\fP] [\fBModeration=\fP\fIi,j,...\fP] -[\fBIntsPerSec=\fP\fIi,j,...\fP] [\fBPrefPort=\fP\fIi,j,...\fP] [\fBRlmtMode=\fP\fIi,j,...\fP] -.SH 説明 -.ad l -.hy 0 -\fB注意\fP: この時代遅れのドライバはカーネル 2.6.26 で削除された。 - -\fBsk98lin\fP は Marvell と SysKonnect のネットワークアダプタカードの ギガビットイーサネットドライバである。 これは -SysKonnect SK\-98xx/SK\-95xx 互換のギガビットイーサネットアダプタと Yukon 互換のチップセットをサポートしている。 - -insmod を使ってドライバをロードする際、 ネットワークアダプタカードのパラメータを コンマで区切られたコマンドの列として指定することができる。 2 -つのネットワークアダプタが取り付けられている時に、 例えば、1 つ目のアダプタのポート A の自動ネゴシエーションは ON にするが、 2 -つ目のアダプタのポート A は OFF にする場合は、 以下のように入力すればよい: - - insmod sk98lin.o AutoNeg_A=On,Off - -\fBsk98lin\fP が 1 つ以上のアダプタカードに関連づけられていて、 かつ \fI/proc\fP ファイルシステムがシステムにマウントされている場合、 -取り付けられているネットワークアダプタカードの全てのポートについて、 (ポート単位に) 専用の統計ファイルがフォルダ -\fI/proc/net/sk98lin\fP に作られる。 これらのファイルは \fIeth[x]\fP という名前であり、 \fIx\fP -はインタフェースの番号である。 この番号はシステムによってポート毎に割り当てられたものである。 - -ロードが完了すると、 \fBifconfig\fP(8) コマンドを使って、各 \fIeth[x]\fP インタフェースに希望する IP -アドレスを割り当てることができる。 これによりアダプタがイーサネットに接続され、 コンソールに状態メッセージが表示される。 このメッセージでは、 -"ethx: network connection up using port y" の後に 設定されたり検出された接続パラメータが表示される。 - -\fBsk98lin\fP はラージフレーム (ジャンボフレームとも呼ばれる) もサポートする。 ジャンボフレームを使うと、大量のデータを転送する際に、 -スループットを大幅に向上させることができる。 ラージフレームを有効にするには、 インタフェースの MTU (maximum transfer unit, -最大転送単位) サイズを 大きな値に設定すればよい。 デフォルトの MTU サイズは 1500 であり、 最大で 9000 (バイト) -まで設定することができる。 MTU サイズを設定するのは、 インタフェースに IP アドレスを割り当てるときにもできるし、後から -\fBifconfig\fP(8) コマンドに mtu 引き数を指定することで設定することもできる。 例えば、eth0 に IP アドレスとラージフレーム -MTU サイズを 割り当てたい場合、以下の 2 つのコマンドを実行すればよい: - - ifconfig eth0 10.1.1.1 - ifconfig eth0 mtu 9000 - -これらの 2 つのコマンドは 1 つにまとめることもできる: - - ifconfig eth0 10.1.1.1 mtu 9000 - -ラージフレームを使用できるのは、ネットワーク環境全体で ラージフレームの使用が認められている場合のみである点に注意すること。 -つまり、イーサネットで使われている全てのスイッチでも ラージフレームがサポートされていなければならない。 -多くのスイッチがラージフレームをサポートしてはいるが、 設定を行う必要がある。 多くの場合、デフォルトの設定では標準フレーム (1500 バイトの -MTU サイズ) だけしかサポートしない。 ネットワーク内のスイッチに加え、 使用される全てのネットワークアダプタでも -ジャンボフレームが有効になっていなければならない。 アダプタがラージフレームを受け取るように設定されていない場合、 -アダプタはそのフレームを単純に捨ててしまう。 - -標準のイーサネットフレームサイズに戻すのは、再び \fBifconfig\fP(8) コマンドを使えばよい: - - ifconfig eth0 mtu 1500 - -Linux の Marvell/SysKonnect ギガビットイーサネットドライバは、 IEEE 規格 802.1, 802.1q, 802.3ad -に準拠する VLAN と Link Aggregation に対応している。 これらの機能は、インターネットにあるオープンソースモジュールを -インストールした後でのみ利用可能である: - -\fIVLAN\fP: http://www.candelatech.com/~greear/vlan.html -.br -\fILink\fP \fIAggregation\fP: http://www.st.rim.or.jp/~yumo - -.br -Marvell/SysKonnect は、これらのオープンソースモジュールに対するサポートは -行っておらず、これらを使った場合に生じるいかなる失敗や問題についても 責任を負わない点に注意すること。 -.SS パラメータ -.TP -\fBSpeed_A=\fP\fIi,j,...\fP -このパラメータはアダプタカードのポート A がサポートするリンク速度を 設定するのに使われる。これは Yukon copper -アダプタでのみ有効である。 使用可能な値は以下の通り: \fI10\fP, \fI100\fP, \fI1000\fP, \fIAuto\fP。 デフォルトは \fIAuto\fP -である。 通常、リンク速度はリンクの確立時に 2 つのポートの間で自動設定される。 これに失敗した場合、ポートはこの引き数で指定された設定になる。 -.TP -\fBSpeed_B=\fP\fIi,j,...\fP -このパラメータはアダプタカードのポート B がサポートするリンク速度を 設定するのに使われる。これは Yukon copper -アダプタでのみ有効である。 使用可能な値は以下の通り: \fI10\fP, \fI100\fP, \fI1000\fP, \fIAuto\fP。 デフォルトは \fIAuto\fP -である。 通常、リンク速度はリンクの確立時に 2 つのポートの間で自動設定される。 これに失敗した場合、ポートはこの引き数で指定された設定になる。 -.TP -\fBAutoNeg_A=\fP\fIi,j,...\fP -アダプタカードのポート A の自動設定 (autonegotiation) の使用を 有効または無効にする。使用可能な値は以下の通り: \fIOn\fP, -\fIOff\fP, \fISense\fP。 デフォルトは \fIOn\fP である。 \fISense\fP モードはリンクパートナが自動設定をサポートしているか否かを -自動的に検知する。 -.TP -\fBAutoNeg_B=\fP\fIi,j,...\fP -アダプタカードのポート B の自動設定 (autonegotiation) の使用を 有効または無効にする。使用可能な値は以下の通り: \fIOn\fP, -\fIOff\fP, \fISense\fP。 デフォルトは \fIOn\fP である。 \fISense\fP モードはリンクパートナが自動設定をサポートしているか否かを -自動的に検知する。 -.TP -\fBDupCap_A=\fP\fIi,j,...\fP -この引き数はアダプタカードのポート A で使う二重通信 (duplex) モードを示す。 使用可能な値は以下の通り: \fIHalf\fP, \fIFull\fP, -\fIBoth\fP。 デフォルトは \fIBoth\fP である。 この引き数はポート A の AutoNeg_A が \fISense\fP -に設定されていない場合にのみ有効である。 AutoNeg_A が \fIOn\fP の場合、DupCap_A の 3 つの値 (\fIHalf\fP, -\fIFull\fP, \fIBoth\fP) のうちどれでも指定することができる。 AutoNeg_A が \fIOff\fP の場合、DupCap_A の値 -\fIFull\fP と \fIHalf\fP のみを指定することができる。 この DupCap_A 引き数は、リンクパートナが全ての二重通信の組み合わせを -サポートしていない場合に役に立つ。 -.TP -\fBDupCap_B=\fP\fIi,j,...\fP -この引き数はアダプタカードのポート B で使う二重通信モードを示す。 使用可能な値は以下の通り: \fIHalf\fP, \fIFull\fP, \fIBoth\fP。 -デフォルトは \fIBoth\fP である。 この引き数はポート B の AutoNeg_B が \fISense\fP に設定されていない場合にのみ有効である。 -AutoNeg_B が \fIOn\fP の場合、DupCap_B の 3 つの値 (\fIHalf\fP, \fIFull\fP, \fIBoth\fP) -のうちどれでも指定することができる。 AutoNeg_B が \fIOff\fP の場合、DupCap_B の値 \fIFull\fP と \fIHalf\fP -のみを指定することができる。 この DupCap_B 引き数は、リンクパートナが全ての二重通信の組み合わせを サポートしていない場合に役に立つ。 -.TP -\fBFlowCtrl_A=\fP\fIi,j,...\fP -この引き数は自動設定時にポートが対向に伝える フロー制御機能を設定する。 使用可能な値は以下の通り: \fISym\fP, \fISymOrRem\fP, -\fILocSend\fP, \fINone\fP。 デフォルトは \fISymOrRem\fP である。 それぞれのモードには以下のような意味がある: - -.br -\fISym\fP -= Symmetric - リンクパートナの双方が PAUSE フレームを送ることができる。 -.br -\fISymOrRem\fP -= SymmetricOrRemote - リンクパートナの双方またはリモートパートナのみが -PAUSE フレームを送ることができる。 -.br -\fILocSend\fP -= LocalSend - ローカルリンクパートナのみが PAUSE フレームを送ることができる。 -.br -\fINone\fP -= None - リンクパートナのどちらも PAUSE フレームを送ることはできない。 - -このパラメータは AutoNeg_A が \fIOff\fP の場合には無視される点に注意すること。 -.TP -\fBFlowCtrl_B=\fP\fIi,j,...\fP -この引き数は自動設定時にポートが対向に伝える フロー制御機能を設定する。 使用可能な値は以下の通り: \fISym\fP, \fISymOrRem\fP, -\fILocSend\fP, \fINone\fP。 デフォルトは \fISymOrRem\fP である。 それぞれのモードには以下のような意味がある: - -\fISym\fP -= Symmetric - リンクパートナの双方が PAUSE フレームを送ることができる。 -.br -\fISymOrRem\fP -= SymmetricOrRemote - リンクパートナの双方またはリモートパートナのみが -PAUSE フレームを送ることができる。 -.br -\fILocSend\fP -= LocalSend - ローカルリンクパートナのみが PAUSE フレームを送ることができる。 -.br -\fINone\fP -= None - リンクパートナのどちらも PAUSE フレームを送ることはできない。 -.br - -このパラメータは AutoNeg_B が \fIOff\fP の場合には無視される点に注意すること。 -.TP -\fBRole_A=\fP\fIi,j,...\fP -この引き数は 1000Base\-T アダプタカードでのみ有効である。 2 つの 1000Base\-T ポートが通信する場合、 片方が -(タイミング情報を提供する) マスタの役割をしなければならず、 もう片方がスレーブにならなければならない。 使用可能な値は以下の通り: \fIAuto\fP, -\fIMaster\fP, \fISlave\fP。 デフォルトは \fIAuto\fP である。 通常、ポートの役割は 2 -つのポートでリンクを確立するときに自動設定される。 自動設定に失敗した場合、 アダプタカードのポート A はこの引き数で指定された設定になる。 -.TP -\fBRole_B=\fP\fIi,j,...\fP -この引き数は 1000Base\-T アダプタカードでのみ有効である。 2 つの 1000Base\-T ポートが通信する場合、 片方が -(タイミング情報を提供する) マスタの役割をしなければならず、 もう片方がスレーブにならなければならない。 使用可能な値は以下の通り: \fIAuto\fP, -\fIMaster\fP, \fISlave\fP。 デフォルトは \fIAuto\fP である。 通常、ポートの役割は 2 -つのポートでリンクを確立するときに自動設定される。 自動設定に失敗した場合、 アダプタカードのポート B はこの引き数で指定された設定になる。 -.TP -\fBConType=\fP\fIi,j,...\fP -この引き数は、ポート毎に指定する、全部で 5 個の引き数の組み合わせを、 1 つの引き数にしたものである。 これによりアダプタカードの 2 -つのポートの設定を簡略化できる。 この変数のそれぞれの値は、 ポート引き数の最も意味のある組み合わせを反映したものである。 -使用可能な値とそれに対応するポート毎のパラメータの組み合わせは、 以下の通り: - -.nf -ConType | DupCap AutoNeg FlowCtrl Role Speed -\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -\fIAuto\fP | Both On SymOrRem Auto Auto -.br -\fI100FD\fP | Full Off None Auto 100 -.br -\fI100HD\fP | Half Off None Auto 100 -.br -\fI10FD\fP | Full Off None Auto 10 -.br -\fI10HD\fP | Half Off None Auto 10 - -.fi -その他のポート引き数を \fIConType\fP 引き数と組み合わせて指定すると、それらの設定を結合した設定となる。 これは、ポート毎の引き数 (例えば -\fISpeed_A\fP) の方が組み合わせ変数 \fIConType\fP より優先順位が高いためである。 -.TP -\fBModeration=\fP\fIi,j,...\fP -割り込み調停 (interrupt moderation) は、ドライバが処理を開始しなければ ならない割り込み回数の最大値を設定するために使用される。 -つまり、ドライバが処理を行うまで、1回以上の割り込み (送信または受信パケットが処理されること) がキューに入れられる。 -キューに入れられた割り込みがいつ処理されるかは、 以下で説明する \fIIntsPerSec\fP 引き数で決定される。 使用可能な調停モードは以下の通り: -\fINone\fP, \fIStatic\fP, \fIDynamic\fP。 デフォルトは \fINone\fP である。 それぞれのモードは以下の意味を持つ: - -\fINone\fP アダプタカードに対して割り込み調停を適用しない。 よって送信または受信割り込みは、 -アダプタカードの割り込み線に現れると直ぐに処理される。 - -.br -\fIStatic\fP アダプタカードに対して割り込み調停が適用される。 全ての送信または受信割り込みは、調停間隔が完全に終わるまで キューに入れられる。 -この調停間隔が終わると、キューに入れられた全ての割り込みは、 1個の大きな塊として遅延なく処理される。 \fIStatic\fP -という用語は、あるインタフェースに現在どれだけの ネットワーク負荷がかかっているかに関わらず、 割り込み調停が常に有効になることを表している。 -さらに、調停間隔の時間は固定で、ドライバが動作している間は変化しない。 - -.br -\fIDynamic\fP システムの負荷に応じて、アダプタカードに対して割り込み調停が適用される。 ドライバがシステムの負荷が高すぎると検出した場合、 -割り込み調停を有効にすることにより、 過剰なネットワーク負荷からシステムを保護しようとする。 \(emその後に\(emCPU 利用率が再び下がった場合 -(またはネットワーク負荷が極わずかになった場合)、 割り込み調停は自動的に無効にされる。 - -ドライバが扱わなければならないインタフェースのうち ネットワーク負荷が高いものが 1 つ以上あり、 \(emその結果\(emCPU -利用率が高くなっている場合、 割り込み調停を使うべきである。 ネットワーク負荷が高い状況で調停が適用されると、 遅いコンピュータでは CPU 負荷が -20\-30% 削減されるだろう。 - -割り込み調停を使うことの欠点として、 往復遅延時間 (round\-trip\-time, RTT) の増加がある点に注意すること。 -これは、割り込みがキューに入れられ、まとめて処理されるためである。 -.TP -\fBIntsPerSec=\fP\fIi,j,...\fP -この引き数は割り込み調停の間隔を決定する。 静的 (static) 割り込み調停が使われている場合、 \fIIntsPerSec\fP 引き数の値が 2000 -であれば、割り込み調停の間隔は 500 ミリ秒になる。 この引き数に設定可能な値は 30...40000 の範囲で、 これは 1 -秒毎の割り込み回数である。 デフォルト値は 2000 である。 - -この引き数は静的 (static) または動的 (dynamic) 割り込み調停が 有効になっているときにのみ使用される。 -この引き数は割り込み調停が適用されていない場合には無視される。 - -調停間隔の期間は注意して選ぶこと。 一見したところでは、とても長い期間 (例えば 1 秒間に 100 回だけの割り込み) を -選ぶことに意味があるように見えるかもしれないが、そうすると パケット処理の遅延が激しく増加する。 -一方で、とても短い調停時間を選ぶと、割り込み調停を使う意味がなくなってしまう。 -.TP -\fBPrefPort=\fP\fIi,j,...\fP -この引き数は (2 ポートのネットワークアダプタで) 優先 (preferred) ポートを A または B のどちらにするかを指定するのに使われる。 -優先ポートとは、A と B の両方のポートが完全に機能していると検知された場合に 使用されるポートである。 使用可能な値は以下の通り: \fIA\fP または -\fIB\fP。 デフォルトは \fIA\fP である。 -.TP -\fBRlmtMode=\fP\fIi,j,...\fP -RLMT はポートの状態を監視する。 アクティブなポートのリンクが落ちた場合、 RLMT は即時に待機しているリンクに切り替える。 少なくとも 1 -つの「物理的」リンクが起動するまでは、仮想リンクが維持される。 この引き数は RLMT が両方のポートをどのように監視するかを決める。 -使用可能な値は以下の通り: \fICheckLinkState\fP, \fICheckLocalPort\fP, \fICheckSeg\fP, \fIDualNet\fP。 -デフォルトは \fICheckLinkState\fP である。 各モードは以下のような意味を持つ。 - -\fICheckLinkState\fP リンク状態のチェックのみ: RLMT は、各ポートについてアダプタハードウェアが報告するリンク状態を使い、 -そのポートが全てのネットワークトラフィックを送受信するのに使用可能かを 決定する。 - -.br -\fICheckLocalPort\fP このモードでは、RLMT はアダプタカードの 2 つのポートの間で 定期的にパケットを交換することにより、 2 -つのポートの間のネットワーク経路を監視する。 このモードでは 2 つのポートが互いに「見える」ような ネットワーク設定が必要である -(つまり、ポート間にルータがあってはならない)。 - -.br -\fICheckSeg\fP ローカルポートとセグメントをチェックする。 このモードは CheckLocalPort モードと同じ機能を提供し、 -更にポート間のネットワークセグメントをチェックする。 よって、このモードはネットワーク上に スパニングツリープロトコル (Spanning Tree -protocol) を 使うように設定されたギガビットイーサネットスイッチが 設置されている場合にのみ使用できる。 - -.br -\fIDualNet\fP このモードでは、ポート A と B が別々のデバイスとして使用される。 2 ポートのアダプタを持っている場合、ポート A を -\fIeth[x]\fP に、ポート B を \fIeth[x+1]\fP に設定することができる。 2 つのポートは別々の IP -アドレスを付けて独立に使用することができる。 優先ポートの設定は使用されない。 RLMT は無効にされる。 - -RLMT モード \fICheckLocalPort\fP と \fICheckLinkState\fP は、1 -つのアダプタ上のポート間でネットワーク経路があるような設定で 動作するように設計されている。 さらに、このモードはアダプタ同士が直結 -(back\-to\-back) で 接続されている状態で動作するようには設計されていない。 -.SH ファイル -.TP -\fI/proc/net/sk98lin/eth[x]\fP -.br -アダプタカードの特定のインタフェースの統計ファイル。 このファイルには、アダプタカードの一般的な情報と、 -全ての送信・受信カウンタの詳細な一覧が含まれる。 -.TP -\fI/usr/src/linux/Documentation/networking/sk98lin.txt\fP -.br -\fIsk98lin\fP ドライバの \fIREADME\fP ファイルである。 これには詳細なインストール HOWTO が含まれており、 -ドライバの全ての引き数が記述されている。 また一般的な問題とその解決法についても書かれている。 -.SH バグ -.\" .SH AUTHORS -.\" Ralph Roesler \(em rroesler@syskonnect.de -.\" .br -.\" Mirko Lindner \(em mlindner@syskonnect.de -バグは linux@syskonnect.de に報告してほしい。 -.SH 関連項目 -\fBinsmod\fP(8), \fBifconfig\fP(8), \fBmodprobe\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/st.4 b/draft/man4/st.4 deleted file mode 100644 index aed3a227..00000000 --- a/draft/man4/st.4 +++ /dev/null @@ -1,563 +0,0 @@ -.\" Copyright 1995 Robert K. Nichols (Robert.K.Nichols@att.com) -.\" Copyright 1999-2005 Kai Mäkisara (Kai.Makisara@kolumbus.fi) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ST 4 2010\-09\-04 Linux "Linux Programmer's Manual" -.SH 名前 -st \- SCSI テープデバイス -.SH 書式 -.nf -\fB#include \fP -.sp -\fBint ioctl(int \fP\fIfd\fP\fB, int \fP\fIrequest\fP\fB [, (void *)\fP\fIarg3\fP\fB]);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, MTIOCTOP, (struct mtop *)\fP\fImt_cmd\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, MTIOCGET, (struct mtget *)\fP\fImt_status\fP\fB);\fP -\fBint ioctl(int \fP\fIfd\fP\fB, MTIOCPOS, (struct mtpos *)\fP\fImt_pos\fP\fB);\fP -.fi -.SH 説明 -\fBst\fP ドライバーは様々な SCSI テープデバイスのインターフェイスを提供する。 現在では、ドライバーは検出された全ての -\(lqシーケンシャルアクセス (sequential\-access) \(rq タイプのデバイスへの 制御を行う。 \fBst\fP -ドライバーはメジャーデバイス番号 9 を用いる。 -.PP -それぞれのデバイスは 8 つのマイナーデバイス番号を使う。 マイナー番号の低位側の 5 ビットは、検出された順に割り当てられる。 カーネル 2.6 -では、 低位側 8 ビットよりも上位にあるビット群がこの 5 ビットに連結 (concatenate) され、テープ番号となる。 -マイナー番号は、それぞれ 4 つの数字からなる二つのセットに グループ分けされる。 基本 (自動巻き戻し) デバイス番号 \fIn\fP、 および -\(lq非巻き戻し (no\-rewind) \(rq デバイス番号 (\fIn\fP + 128). である。 -基本デバイス番号を用いてオープンされたデバイスには、 クローズする時に \fBREWIND\fP コマンドが送られる。 \(lq非巻き戻し\(rq -デバイス番号を用いてオープンされた場合は \s-1REWIND\s+1 コマンドは送られない (自動巻き戻しデバイスをテープの位置決めに (例えば mt -で) 用いても、 望む結果は得られない。テープは mt コマンドの後で巻き戻され、 次のコマンドはテープの先頭から始まってしまう)。 -.PP -それぞれのグループで、異なった特性 (ブロックサイズ・圧縮・ 密度など) のデバイスを定義するために 4 つのマイナー番号が利用できる。 -システムが起動したときには、最初のデバイスだけが使える。 他の 3 つはデフォルトの特性が定義されて初めて使えるようになる (後述)。 -(コンパイル時の定数を変更することによって、テープドライブの最大数と、 それぞれのドライブに割り当てられるマイナー番号の個数とを調整できる。 -デフォルトの割り当てでは 32 台までのテープドライブを制御できる。 例えば 64 台までのテープドライブを、異なったオプションを持つ -二つのマイナー番号で制御するようにもできる。) -.PP -デバイスは普通次のように作られる: -.in +4n -.nf - -mknod \-m 666 /dev/st0 c 9 0 -mknod \-m 666 /dev/st0l c 9 32 -mknod \-m 666 /dev/st0m c 9 64 -mknod \-m 666 /dev/st0a c 9 96 -mknod \-m 666 /dev/nst0 c 9 128 -mknod \-m 666 /dev/nst0l c 9 160 -mknod \-m 666 /dev/nst0m c 9 192 -mknod \-m 666 /dev/nst0a c 9 224 -.fi -.in -.PP -これらには対応するブロックデバイスは存在しない。 -.PP -ドライバは内部バッファを使い、その大きさは少なくともテープの 1 ブロックを保持できるように取られる。 2.1.121 以前のカーネルでは、 -バッファは連続する一つのブロックとして割り当てられる。この方法だと、 ブロックサイズの最大値はカーネルの割り当て可能な連続メモリブロックに -制限される。この制限は 32 ビットアーキテクチャでは 128 kB、 64 ビットアーキテクチャでは 256 kB である。これ以降のカーネルでは、 -ドライバは必要に応じていくつかにわかれたバッファを割り当てる。 デフォルトでは 16 個までの部分に分割できる。すなわち -ブロックサイズの最大値は非常に大きい (128 kB のブロック 16 個の 割り当てに成功すれば 2 MB となる)。 -.PP -ドライバの内部バッファのサイズはコンパイル時の定数で定義される。 これはカーネルの起動時オプションによって上書き可能である。 -さらにドライバは実行時にも、必要に応じてより大きな一時バッファを 割り当てようとする。しかし実行時に大きな連続メモリブロックを -割り当てようとすると失敗することがあるので、 2.1.121 以前のカーネルでは、動的なバッファ割り当てはあまりあてにしないほうが良い (これは -kerneld や kmod によるドライバのデマンドロードに関しても当てはまる)。 -.PP -ドライバはドライブのメーカやモデルを特定してサポートするわけではない。 システムが起動すると、テープデバイスのオプションがドライブの -ファームウェアによって定義される。例えば、 ドライブのファームウェアが固定長ブロックモードを選択すれば、 -テープデバイスは固定長ブロックモードを使うことになる。このオプションは \fBioctl\fP(2) コールを明示的に使えば変更でき、 -その変更はデバイスがクローズされて再びオープンされたときも残る。 オプションの設定は、 自動巻き戻しデバイスと非巻き戻しデバイスの両方に影響する。 -.PP -4 つのサブグループそれぞれのデバイスに対して異なるオプションを 与えることができる。オプションはデバイスがオープンされたときに -効力を発揮する。例えば、システム管理者はあるデバイスを 適当なブロックサイズの固定長ブロックモードで書き込むように定義し、 -別のデバイスを可変長ブロックモードで書き込むようにできる (ドライブが 両方のモードをサポートしていれば)。 -.PP -このドライバは、 \fBテープのパーティション\fP をサポートしている (ドライブがサポートしている場合)。 -(テープのパーティションはディスクパーティションとはなんの関係もない。 パーティション化されたテープは、一つのメディアに複数の論理テープが -存在するかのように見える。) パーティションのサポートは \fBioctl\fP(2) によって有効にできる。 パーティションが変更されると、 -テープの位置はそれぞれのパーティション内部で保存される。 パーティションの選択は \fBioctl\fP(2) で行う。 -それ以降のテープ操作の対象は、そのパーティションになる。 パーティションの切り替えは、次のテープ操作と同時に行われ、 -不必要なテープ移動をしなくてすむようになっている。 一つのテープにおけるパーティションの最大数は コンパイル時の定数によって定義される (通常は 4)。 -ドライバには、テープの 1 つまたは 2 つのパーティションをフォーマットできるような \fBioctl\fP(2) が用意されている。 -.PP -通常、システムのデフォルトのテープデバイスに対するハードリンク またはソフトリンクとして、デバイス \fI/dev/tape\fP が作成される。 -.PP -カーネル 2.6.2 以降では、このドライバは sysfs ディレクトリ \fI/sys/class/scsi_tape\fP -に、アタッチしたデバイスとそのデバイスに割当てたパラメータをエクスポートする。 -.SS データ転送 -このドライバは固定長ブロックモードと可変長ブロックモードの 両方をサポートしている (ドライブがサポートしていれば)。 -固定長ブロックモードでは、ドライブは決まったサイズのブロックを (複数個) 書き込む。このブロックサイズは write -システムコールのバイト数によらない。 可変長ブロックモードでは、 write コールごとに一つのテープブロックに書き込みが行われる。 -したがってバイト数が対応するテープブロックのサイズを決める。 テープ上のブロックには、書き込みモードの情報は一切含まれない。 -読み込みのときに重要なことは、テープのブロックサイズを受け入れる コマンドを使うかどうかだけである。 -.PP -可変長ブロックモードでは、読み込みバイト数はテープのブロックサイズと 必ずしも一致していなくても良い。バイト数がテープの次のブロックよりも -大きければ、ドライバはそのデータを返し、関数は実際のブロックサイズを返す。 ブロックサイズがバイト数よりも大きければ、要求された分のデータが -ブロックの先頭から読み込まれて返され、ブロックの残りは破棄される。 -.PP -固定長ブロックモードでは、バッファリングが有効になっていれば 読み込みバイト数は任意の大きさでよい。バッファリングが無効の場合は、 -テープのブロックサイズの整数倍でなければならない。 2.1.121 以前の カーネルでは、バッファリングが有効な場合には -任意のバイト数の書き込みができる。その他の場合すべて (2.1.121 以前のカーネルでバッファが無効な場合と、新しいカーネルの場合) -では、書き込みバイト数はテープブロックサイズの整数倍でなければならない。 -.PP -2.6 カーネルでは、このドライバはユーザバッファとデバイス間で、 データの直接転送 (direct transfer) を試みる。 -これが不可能な場合は、ドライバの内部バッファを用いる。 直接転送ができない理由としては、ユーザバッファのアラインメントが適切でない (デフォルトは -512 バイトだが HBA ドライバによって変更されている可能性がある)、 ユーザバッファのページのどれかが SCSI アダプタから見えない、 -などが考えられる。 -.PP -テープをクローズする直前のテープ操作命令が書き込みであれば、 ファイルマークが自動的にテープへ書き込まれる。 -.PP -読み込み時にファイルマークに出会うと、以下が実行される。 ファイルマークが見付かったときにバッファにデータが残っていると、 -バッファのデータが返される。次の読み込み操作は 0 バイトを返す。 その次の読み込みは次のファイルからのデータを返す。 -記録データの末尾は、読み込み操作が二回続けて 0 バイトを返して来るかたちで通知される。三回目の読み込みはエラーを返す。 -.SS ioctl -ドライバは 3 つの \fBioctl\fP(2) 要求をサポートしている。 \fBst\fP ドライバによって認識されなかった要求は \fBSCSI\fP -ドライバにわたされる。 以下の定義は \fI/usr/include/linux/mtio.h\fP による。 -.SS "MTIOCTOP \(em テープ操作の実行" -.PP -この要求は \fI(struct mtop *)\fP 型の引数をとる。全てのドライブが全ての操作をサポートしているわけではない。 -ドライブが操作を拒否すると、ドライバは \fBEIO\fP エラーを返す。 -.PP -.in +4n -.nf -/* Structure for MTIOCTOP \- mag tape op command: */ -struct mtop { - short mt_op; /* operations defined below */ - int mt_count; /* how many of them */ -}; -.fi -.in -.PP -通常のテープ利用のための磁気テープ操作: -.TP 14 -\fBMTBSF\fP -\fImt_count\fP 個のファイルマーク (filemark) 分の後方スペース (backward space)。 -.TP -\fBMTBSFM\fP -\fImt_count\fP 個のファイルマーク分の後方スペース。 テープの位置を最後のファイルマークの EOT 側に変更する。 -.TP -\fBMTBSR\fP -\fImt_count\fP 個のレコード (テープブロック) 分の後方スペース。 -.TP -\fBMTBSS\fP -\fImt_count\fP 個のセットマーク分の後方スペース。 -.TP -\fBMTCOMPRESSION\fP -\fImt_count\fP が 0 以外なら、ドライブのデータ圧縮を有効にする。 0 なら圧縮を無効にする。このコマンドは MODE ページ 15 -を用いる。 これはほとんどの DAT でサポートされている。 -.TP -\fBMTEOM\fP -(ファイルを追加するために) メディアの記録部分の最後まで進める。 -.TP -\fBMTERASE\fP -テープの内容を消去する。 2.6 カーネルでは、引数が 0 ならば short erase (テープが空だと印をつける) を行う。それ以外の場合は -long erase (全体を消去する) を行う。 -.TP -\fBMTFSF\fP -\fImt_count\fP 個のファイルマーク分の前方スペース (forward space)。 -.TP -\fBMTFSFM\fP -\fImt_count\fP 個のファイルマーク分の前方スペース。 テープの位置は最後のファイルマークの BOT 側変更される。 -.TP -\fBMTFSR\fP -\fImt_count\fP 個のレコード (テープブロック) 分の前方スペース。 -.TP -\fBMTFSS\fP -\fImt_count\fP 個のセットマーク分の前方スペース。 -.TP -\fBMTLOAD\fP -SCSI ロードコマンドを実行する。 HP オートローダに限って利用できる。 \fImt_count\fP が定数 -\fBMT_ST_HPLOADER_OFFSET\fP とある数値の和である場合、 その数値がドライブに送られ、オートローダの制御に用いられる。 -.TP -\fBMTLOCK\fP -テープドライブの扉をロックする。 -.TP -\fBMTMKPART\fP -テープを 1 または 2 パーティションにフォーマットする。 \fImt_count\fP が 0 でなければ、これが最初のパーティションのサイズを与え、 -二番目のパーティションがテープの残りになる。 \fImt_count\fP が 0 の場合は、テープは一つのパーティションとしてフォーマットされる。 -このコマンドは、パーティションのサポートが有効にされた ドライブでなければ使えない (以下の \fBMT_ST_CAN_PARTITIONS\fP を見よ)。 -.TP -\fBMTNOP\fP -何も操作を行わない。\(em副次的な効果として、ドライバーのバッファ をフラッシュする。 \fBMTIOCGET\fP -を使って状態を読み出す前にはこの操作を行うべきである。 -.TP -\fBMTOFFL\fP -巻き戻し (rewind) を行い、ドライブをオフライン (off line) にする。 -.TP -\fBMTRESET\fP -ドライブをリセットする。 -.TP -\fBMTRETEN\fP -テープをリテンション (re\-tension) する (テープを最後まで巻いた後、最初まで巻き戻す)。 -.TP -\fBMTREW\fP -巻き戻し。 -.TP -\fBMTSEEK\fP -\fImt_count\fP で指定されたテープブロック番号をシークする。 この操作が行えるのは、 \s-1LOCATE\s+1 コマンド -(デバイス固有のアドレス) をサポートする SCSI\-2 ドライブか、あるいは Tandberg 互換の SCSI\-1 ドライブ (Tandberg, -Archive, Viper, Wangtek,…) である。 デバイス固有のアドレスが利用されている場合は、ブロック番号は 以前に -\s-1MTIOCPOS\s+1 によって返されたものにすべきである。 -.TP -\fBMTSETBLK\fP -\fImt_count\fP の値をドライブのブロック長 (block length) としてセットする。 ブロック長を 0 -にするとドライブは可変長ブロックサイズモードにセッ トされる。 -.TP -\fBMTSETDENSITY\fP -テープ密度 (tape density) を \fImt_count\fP で示されるコードに変更する。ドライブでサポートされている密度コード -については、ドライブの文書に書いてあるだろう。 -.TP -\fBMTSETPART\fP -アクティブなパーティションを第 \fImt_count\fP 番目に切り替える。パーティションは 0 から数える。 -このコマンドは、パーティションのサポートが有効にされた ドライブでなければ使えない (以下の \fBMT_ST_CAN_PARTITIONS\fP を見よ)。 -.TP -\fBMTUNLOAD\fP -SCSI unload コマンドを実行する (テープのイジェクトは行わない)。 -.TP -\fBMTUNLOCK\fP -テープドライブの扉のロックを解除する。 -.TP -\fBMTWEOF\fP -\fImt_count\fP 個のファイルマークを書き込む。 -.TP -\fBMTWSM\fP -\fImt_count\fP 個のセットマークを書き込む。 -.PP -デバイスオプションの設定のための (スーパーユーザによる) 磁気テープ操作: -.TP 8 -\fBMTSETDRVBUFFER\fP -いろいろなドライブとドライバーのオプションを \fImt_count\fP にエンコードされた各ビットに従って設定する。 -オプションには、ドライブのバッファリングモード、 ブール値のドライバオプションの集合、 バッファの書き込み閾値 (デフォルトはブロックサイズと密度)、 -タイムアウト値が含まれる (カーネル 2.1 以降)。 一回の操作で変えられるのは、上記のリストのどれか一つだけである -(複数のブール値はまとめて一つと勘定される)。 -.IP -高位の4ビットがゼロである値は、 ドライブのバッファリングモードの設定に使われる。 バッファリングモードは以下の通り: -.RS 12 -.IP 0 4 -ドライブはライトコマンドに対し、 データブロックが実際に媒体に書き込まれるまで \fBGOOD\fP のステータスを返さない。 -.IP 1 -ドライブはライトコマンドに対し、 すべてのデータがドライブの内部バッファに転送されるとすぐに、 \fBGOOD\fP のステータスを返すことができる。 -.IP 2 -ライトコマンドに対し、以下の 2 つの条件がそろった場合、 ドライブはすぐに \fBGOOD\fP ステータスを返す事ができる。 (a) -すべてのデータがドライブの内部バッファに転送された。 (b) 別々のイニシエーターから来たバッファデータが、 すべて媒体へ問題なく書き込まれた。 -.RE -.IP -書き込み閾値を制御するには、 \fImt_count\fP には、定数 \fBMT_ST_WRITE_THRESHOLD\fP とブロックカウントのビット毎の OR -をとった値を 下位の 28ビットに含まねばならない。 このブロックカウントは 1024 バイトブロックを単位としたもので、 -テープの物理ブロックサイズを単位としたものではない。 また、閾値はドライバの内部バッファ (上記の説明参照) のサイズを越える事はできない。 -.IP -ブール値のフラグを設定・解除するには、 \fImt_count\fP の値は \fBMT_ST_BOOLEANS\fP, \fBMT_ST_SETBOOLEANS\fP, -\fBMT_ST_CLEARBOOLEANS\fP, \fBMT_ST_DEFBOOLEANS\fP -のいずれか一つの値に、以下のオプションの任意の組み合わせに対して ビット毎の OR を取ったものを指定する。 -\fBMT_ST_BOOLEANS\fPを用いると、 オプションを対応するビットに対して定義されている値に設定できる。 -\fBMT_ST_SETBOOLEANS\fPを用いると、 オプションは選択的に設定され、 \fBMT_ST_DEFBOOLEANS\fPを用いると -選択的に解除される。 -.IP "" -テープデバイスのデフォルトのオプションは \fBMT_ST_DEFBOOLEANS\fP によって設定される。 アクティブでないテープデバイス (例: -マイナー番号 が 32 や 160 のデバイス) は、それらに対するデフォルトのオプションが最初に定義されたときに -アクティブになる。アクティブにされたデバイスは、 起動時にアクティブにされたデバイスから、 明示的に指定されなかったオプションを継承する。 -.IP "" -ブール値のオプションは以下の通り: -.RS -.TP -\fBMT_ST_BUFFER_WRITES\fP (デフォルト: 真) -固定長ブロックモードにおけるすべての書き込み操作をバッファリングする。 このオプションが偽であり、かつドライブが固定長ブロックサイズの時は、 -すべての書き込み操作はブロックサイズの倍数の大きさで行わなければならない。 信頼性のあるマルチボリュームアーカイブを書き込むためには、 -このオプションは偽に設定されていなければならない。 -.TP -.TP -\fBMT_ST_ASYNC_WRITES\fP (デフォルト: 真) -このオプションが真の時には、データがドライバのバッファに収まる時には データがドライブに転送されるのを待たずに、すぐに書き込み操作が返って来る。 -バッファがどのくらい空いたら次の SCSI write コマンドを発行できるかは、 書き込み閾値によって決まる。 -ドライブが返すすべてのエラーは、次の操作まで保存される。 信頼性のあるマルチボリュームアーカイブを書き込むためには、 -このオプションは偽に設定されていなければならない。 -.TP -\fBMT_ST_READ_AHEAD\fP (デフォルト: 真) -このオプションを指定すると、 ドライバは固定長ブロックモードで読み込みバッファリングと先読みをするようになる。 -このオプションが偽であり、かつドライブが固定長ブロックサイズの時は、 すべての読み込み操作はブロックサイズの倍数の大きさで行わなければならない。 -.TP -\fBMT_ST_TWO_FM\fP (デフォルト: 偽) -このオプションはファイルがクローズされた時のドライバーの振舞いを変更する。 一つのファイルマークを書き込むのが通常の動作である。 -このオプションが真の時には、 ドライバーは 2 つのファイルマークを書き込んで、 2 つめのファイルマークのところに戻る。 -.IP -注意: QICテープドライブはファイルマークに上書きすることができないので、 このオプションを真にしてはならない。 -これらのドライブは記録データの末尾の検知に、 ファイルマークが 2つ続けてあるかではなく、 ブランクテープかどうかのテストを用いる。 -現在の他のほとんどのドライブも、記録データの末尾を検知する。 2 つのファイルマークが必要になるのは、 他のシステムとテープをやりとりする場合である。 -.TP -\fBMT_ST_DEBUGGING\fP (デフォルト: 偽) -このオプションを真にすると、 ドライバはいろいろなデバッグ用メッセージを出すようになる (\fBDEBUG\fP -を非ゼロに定義してドライバをコンパイルしている時のみ有効)。 -.TP -\fBMT_ST_FAST_EOM\fP (デフォルト: 偽) -このオプションを真にすると、 \fBMTEOM\fP 操作が直接ドライブに送られるようになる。 操作が早くなるはずだが、 -ドライバが現在のファイル番号を見失うことになる (これは通常なら \fBMTIOCGET\fP リクエストによって返される)。 -\fBMT_ST_FAST_EOM\fP が偽の時には、ドライバは \fBMTEOM\fP リクエストに応えるとき、前方にファイルを一つ一つ進めていく。 -.TP -\fBMT_ST_AUTO_LOCK\fP (デフォルト: 偽) -このオプションが真の時には、 デバイスがオープンされるとドライブの扉がロックされ、 クローズされるとアンロックされる。 -.TP -\fBMT_ST_DEF_WRITES\fP (デフォルト: 偽) -テープオプション (ブロックサイズ、モード、圧縮など) があるドライブにリンクされたデバイスで変更されると、 -その同じドライブにリンクされた他のデバイスでも変更されることがある (そのデバイスの定義による)。このオプションは、 ドライバによる変更をいつ SCSI -コマンドによって反映させるかと、 ドライブの自動検知機能がいつ信頼して良いのかを定義する。 このオプションを偽にしておくと、 -デバイスの変更があるとドライバはすぐに SCSI コマンドを送る。 真にしておくと、 SCSI コマンドは書き込みが要求されるまで送られない。 -後者の場合は、読み込みの際にドライブのファームウェアによって テープ構造の検知が行える。また SCSI コマンドは、 -テープが正しい指定に沿って書き込まれているかどうかの 確認のためだけに用いられる。 -.TP -\fBMT_ST_CAN_BSR\fP (デフォルト: 偽) -先読みを使うと、テープをクローズするときに、 場合によってはテープを正しい位置に逆戻ししなければならないことがある。 -これには、レコードを越えて逆戻しする SCSI コマンドが用いられる。 古いドライブでは、このコマンド処理の信頼性が低いことがあるが、 -このオプションを指定すると、 ドライバにこのコマンドの利用を禁止することができる。 先読みと固定長ブロックモードを用いていると、最終的な結果として、 -デバイスのクローズ時にテープが正しい位置にならないことがある。 2.6 カーネルでは、SCSI\-3 をサポートしているドライブに対して、 -この値のデフォルトは真となる。 -.TP -\fBMT_ST_NO_BLKLIMS\fP (デフォルト: 偽) -ドライブによっては \fBREAD BLOCK LIMITS SCSI\fP コマンドを受けつけないことがある。 -このオプションを用いると、ドライバはこのコマンドを用いない。 欠点は、指定したブロックサイズがドライブに受理されてしまうと、 -ドライバのコマンド送信前チェックができなくなる点である。 -.TP -\fBMT_ST_CAN_PARTITIONS\fP (デフォルト: 偽) -このオプションは、一つのテープに複数パーティションを置くことを サポートするかどうかを決める。 -このオプションはドライブにリンクされた全てのデバイスに適用される。 -.TP -このオプションは、 -seek および tell 操作 (両者とも \fBMTSEEK\fP・\fBMTIOCPOS\fP コマンドを伴い、テープ位置を変更するとき) の際に、 -SCSI\-2 の標準で定義されている論理ブロックアドレスを用いるかどうかを ドライバに伝える。 偽だとデバイス固有のアドレスが用いられる。 -ドライブが論理アドレスをサポートしているときは、 このオプションをセットすることを強く勧める。 このモードではファイルマークもカウントするからである。 -論理ブロックアドレスしかサポートしないドライブもいくつか存在している。 -.TP -\fBMT_ST_SYSV\fP (デフォルト: 偽) -このオプションが真になっていると、テープデバイスは SystemV のルールを用いる。偽だと BSD のルールを用いる。 -これらのルール間の最も大きな違いは、読み込みを行っていた デバイスがクローズされたときの振舞いである。 System V -のルールでは、テープは次のファイルマークを越えて移動する (デバイスの利用時にこれが行われなかった場合)。 BSD -のルールではテープ位置は変更されない。 -.TP -\fBMT_NO_WAIT\fP (デフォルト: 偽) -即時モード (immediate mode; コマンドの終了を待たない) を、ある種のコマンド (rewind など) に対して有効にする。 -.PP -例: -.in +4n -.nf - -struct mtop mt_cmd; -mt_cmd.mt_op = MTSETDRVBUFFER; -mt_cmd.mt_count = MT_ST_BOOLEANS | - MT_ST_BUFFER_WRITES | MT_ST_ASYNC_WRITES; -ioctl(fd, MTIOCTOP, mt_cmd); -.fi -.in -.RE -.IP "" -デバイスのデフォルトのブロックサイズは \fBMT_ST_DEF_BLKSIZE\fP によって設定でき、デフォルトの密度コードは -\fBMT_ST_DEFDENSITY\fP によって設定できる。 これらのパラメータの値は操作コードと OR して与える。 -.IP "" -2.1.x 以降のカーネルでは、タイムアウト値の設定は、 サブコマンド \fBMT_ST_SET_TIMEOUT\fP に秒単位のタイムアウト値を OR -して与えることによって行える。 long タイムアウト (巻き戻しなど、長い時間がかかるコマンドに対して用いられる) は -\fBMT_ST_SET_LONG_TIMEOUT\fP で設定できる。 カーネルのデフォルトは非常に長く、どのドライブでも -成功しているコマンドが決してタイムアウトしないようになっている。 したがって、ドライバはタイムアウトを待っているだけなのに、 刺さった (stuck -した) ように見えることがある。これらのコマンドを使えば、 特定のドライブに対してもう少し実際的な値に設定することができる。 -一つのデバイスに設定したタイムアウト値は、 それと同じドライブにリンクした全てのデバイスに適用される。 -.IP "" -2.4.19 および 2.5.43 以降のカーネルでは、 このドライバはドライブのクリーニングが必要かどうかを示す 状態ビットをサポートする。 -ドライブがクリーニング情報を返させるかどうかは、 \fBMT_ST_SEL_CLN\fP サブコマンドによって設定できる。 この値が 0 -だと、クリーニングビットは常に 0 となる。 値を 1 にすると、SCSI\-3 標準で規定されている TapeAlert データが用いられる -(まだ実装されていない) 値としては 2 から 17 が予約されている。 低位側の 8 ビットが 18 以上だと、拡張状態データ (extended -sense data) が用いられる。第 9\-16 ビットは注目すべきビットを選択するためのマスクを指定し、 第 17\-23 -ビットは探すべきビットパターンを指定する。 このビットパターンが 0 のときは、 マスク下のビット (群) がクリーニング要求を示す。パターンが 0 -でなければ、 このパターンがマスク後の状態データバイトにマッチしなければならない。 -.SS "MTIOCGET \(em ステータスの取得" -.PP -このリクエストは \fI(struct mtget *)\fP という型の引数をとる。 -.PP -.in +4n -.nf -/* structure for MTIOCGET \- mag tape get status command */ -struct mtget { - long mt_type; - long mt_resid; - /* the following registers are device dependent */ - long mt_dsreg; - long mt_gstat; - long mt_erreg; - /* The next two fields are not always used */ - daddr_t mt_fileno; - daddr_t mt_blkno; -}; -.fi -.in -.IP \fImt_type\fP 11 -ヘッダファイル中には多くの \fImt_type\fP の値が定義されているが、現行のドライバは汎用のタイプである \fBMT_ISSCSI1\fP (汎用 -SCSI\-1 テープ) および \fBMT_ISSCSI2\fP (汎用 SCSI\-2 テープ) のみを返す。 -.IP \fImt_resid\fP -現在のテープ位置番号。 -.IP \fImt_dsreg\fP -ドライブのブロックサイズと密度の現在の設定を報告する (下位 24 ビットがブロックサイズ、上位 8 ビットが密度)。 これらのフィールドは、 -\fBMT_ST_BLKSIZE_SHIFT\fP, \fBMT_ST_BLKSIZE_MASK\fP, \fBMT_ST_DENSITY_SHIFT\fP, -\fBMT_ST_DENSITY_MASK\fP で定義されている。 -.IP \fImt_gstat\fP -汎用の (デバイスに依存しない) ステータスを報告する。 これらのステータスビットをテストするためのマクロが ヘッダファイルで定義されている。 -.RS -.HP 4 -\fBGMT_EOF\fP(\fIx\fP): テープはファイルマークの直後に位置している。 (\fBMTSEEK\fP 操作の後では常に偽) -.HP -\fBGMT_BOT\fP(\fIx\fP): テープは最初のファイルの先頭に位置している。 (\fBMTSEEK\fP 操作の後では常に偽) -.HP -\fBGMT_EOT\fP(\fIx\fP): テープ操作はテープの物理的な終点に達した。 -.HP -\s-1GMT_SM(\s+1\fIx\fP\s-1)\s+1: テープは現在セットマークに位置している。 (\fBMTSEEK\fP 操作の後では常に偽) -.HP -\fBGMT_EOD\fP(\fIx\fP): テープは記録データの末尾に位置している。 -.HP -\fBGMT_WR_PROT\fP(\fIx\fP): ドライブはライトプロテクトされている。 これはドライブによっては、 -ドライブが現在のメディアタイプへの書き込みを サポートしていない事を意味する場合もある。 -.HP -\fBGMT_ONLINE\fP(\fIx\fP): もっとも最近の \fBopen\fP(2) が、テープが入っていて操作の準備ができているドライブを検知した。 -.HP -\fBGMT_D_6250\fP(\fIx\fP), \fBGMT_D_1600\fP(\fIx\fP), \fBGMT_D_800\fP(\fIx\fP): -この「汎用」のステータス情報は、 9\-トラック \(12" テープドライブの場合にのみ、 現在の密度の設定を報告する。 -.HP -\fBGMT_DR_OPEN\fP(\fIx\fP): ドライブにテープが入っていない。 -.HP -\fBGMT_IM_REP_EN\fP(\fIx\fP): 即時報告モード。 write コールが戻ったとき、 -テープに対して物理的な書き込みが行われたかどうかを保証できない場合に、 このビットがセットされる。ドライバがデータをバッファリングせず、 -ドライブもデータをバッファリングしない場合に限って、 この値は 0 にセットされる。 -.HP -\fBGMT_CLN\fP(\fIx\fP): ドライブがクリーニングを要求している。 カーネル 2.4.19 および 2.5.43 以降で実装された。 -.RE -.IP \fImt_erreg\fP -\fImt_erreg\fP で定義されているフィールドは一つだけで、 下位の 16 ビットがエラーをリカバーした回数である -(\fBMT_ST_SOFTERR_SHIFT\fP と \fBMT_ST_SOFTERR_MASK\fP で定義されている)。 -ドライブの報告するエラーリカバー数と矛盾することがあるので、 この数はほとんどの場合維持されない -(ほとんどのドライブでは、デフォルトではソフトエラーを報告しない。 しかしこれは SCSI MODE SELECT コマンドによって変更できる)。 -.IP \fImt_fileno\fP -(ゼロから数えた) 現在のファイル番号を報告する。 ファイル番号がわからない時 (例えば \fBMTBSS\fP や \fBMTSEEK\fP の後など) には -\-1 にセットされる。 -.IP \fImt_blkno\fP -現在のファイル中の(ゼロから数えた)ブロック番号を報告する。 ブロック番号がわからない時 (例えば \fBMTBSF\fP, \fBMTBSS\fP, -\fBMTSEEK\fP の後など) には \-1 にセットされる。 -.SS "MTIOCPOS \(em テープ位置の取得" -.PP -このリクエストは \fI(struct mtpos *)\fP 型の引数をとり、ドライブが保持している現在のテープブロック番号を報告する。 これは、 -\fBMTIOCGET\fP により返される \fImt_blkno\fP と同じではない。 ドライブは \fBREAD POSITION\fP コマンド -(デバイス固有アドレス) をサポートする SCSI\-2ドライブか、 Tandberg 互換の SCSI\-1 ドライブ (Tandberg, -Archive, Viper, Wangtek, ... ) でなければならない。 -.PP -.in +4n -.nf -/* structure for MTIOCPOS \- mag tape get position command */ -struct mtpos { - long mt_blkno; /* current block number */ -}; -.fi -.in -.SH 返り値 -.TP 14 -.TP -\fBEACCES\fP -書き込み保護されているテープに書き込みまたは消去を行おうとした。 (このエラーは \fBopen\fP(2) 中には検知されない。) -.TP -\fBEBUSY\fP -デバイスがすでに使われているか、 ドライバがバッファを割当てられなかった。 -.TP -\fBEFAULT\fP -コマンドの引数が、 呼びだしプロセスに属していないメモリ位置を指している。 -.TP -\fBEINVAL\fP -\fBioctl\fP(2) の引数が不正であるか、要求したブロックサイズが不正。 -.TP -\fBEIO 14\fP -要求された操作が最後まで行えなかった。 -.TP -\fBENOMEM\fP -\fBread\fP(2) のバイト数が、テープにある次の物理ブロックより小さい (2.2.18 および 2.4.0\-test6 -以前では、黙って余分のバイトを無視していた)。 -.TP -\fBENOSPC\fP -メディアの終点に達したため、書き込み操作が完了しなかった。 -.TP -\fBENOSYS\fP -不明な \fBioctl\fP(2)。 -.TP -\fBENXIO\fP -オープンする時にテープデバイスが存在しなかった。 -.TP -\fBEOVERFLOW\fP -ドライバの内部バッファより大きいサイズの可変長ブロックを 読み書きしようとした。 -.TP -\fBEROFS\fP -ドライブに入っているテープがライトプロテクトされている場合に、 \fBO_WRONLY\fP または \fBO_RDWR\fP で open を行おうとした。 -.SH ファイル -.TP 12 -\fI/dev/st*\fP -自動巻き戻しの SCSI テープデバイス。 -.TP 12 -\fI/dev/nst*\fP -.\" .SH AUTHOR -.\" The driver has been written by Kai M\(:akisara (Kai.Makisara@metla.fi) -.\" starting from a driver written by Dwayne Forsyth. -.\" Several other -.\" people have also contributed to the driver. -巻き戻しをしない SCSI テープデバイス。 -.SH 注意 -.IP 1. 4 -異なるシステムでデータを相互にやりとりする場合、 両方のシステムで物理的なテープブロックサイズを一致させる必要がある。 -起動直後のドライブのパラメータは、大多数の OS がそのデバイスに対して 用いている値と異なっていることもよくある。多くのシステムは、 -ドライブが対応していれば可変長ブロックモードを用いる。 DAT、 8mm ヘリカルスキャンドライブ、 DLT などの最近のドライブの -ほとんどは可変長ブロックモードに対応しているから。 これらのドライブは (少なくとも他のシステムとのデータ交換が ある場合は)、 Linux -でも可変長ブロックモードで使うほうが 良いかもしれない (つまりシステムの起動時のモード設定に \fBMTSETBLK\fP または -\fBMTSETDEFBLK\fP を用いる)。 欠点としては、比較的大きなテープブロックサイズを用いなければ、 SCSI -バス上で満足のいく転送速度が得られないことである。 -.IP 2. -多くのプログラム (\fBtar\fP(1) など) では、 コマンドラインからユーザがブロック関連の値を指定できる。 -この値によってテープ上の物理的なブロックサイズを決定できるのは、 可変長ブロックモードに限られることに注意。 -.IP 3. -SCSI テープドライブを用いるには、基本の SCSI ドライバ、 SCSI アダプタのドライバ、 SCSI テープドライバのすべてが -カーネルに組み込まれているか、あるいはモジュールとしてロードされている 必要がある。 SCSI テープドライバがないと、 ドライブは認識されるが、 -このページで記述されているテープのサポートは利用できない。 -.IP 4. -ドライバはエラーメッセージをコンソールとログとに書き出す。 カーネル設定で verbose SCSI messages が有効にされていると、 -SENSE コードが自動的にテキストに変換されて、 いくつかのメッセージに書きだされる。 -.IP 5. -.\" .SH COPYRIGHT -.\" Copyright \(co 1995 Robert K. Nichols. -.\" .br -.\" Copyright \(co 1999-2005 Kai M\(:akisara. -.\" .PP -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" Additional permissions are contained in the header of the source file. -このドライバの内部バッファリングは、固定ブロックモードなら \fBread\fP(2) や \fBwrite\fP(2) -のバイト数が小さくても良いスループットを出す。 直接転送ではこれは不可能なので、2.6 カーネルに移行したときに驚くかもしれない。 -解決法としては、ソフトウェアにより大きな転送を行うよう伝える (たいていはより大きなブロックを使わせる) ことである。 -これが不可能なら、直接転送を無効にすることもできる。 -.SH 関連項目 -\fBmt\fP(1) -.PP -カーネルソースの \fIdrivers/scsi/README.st\fP や \fIDocumentation/scsi/st.txt\fP (カーネル 2.6 -以降) の各ファイルには、 ドライバに関するより新しい情報や、 その設定可能な範囲に関する内容が含まれている。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/tty.4 b/draft/man4/tty.4 index 7ff7b395..f0a7f1e4 100644 --- a/draft/man4/tty.4 +++ b/draft/man4/tty.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) .\" Modified 2003-04-07 by Michael Kerrisk @@ -54,6 +55,6 @@ root.tty となっている。 プロセスの制御端末が存在する場合 \fBchown\fP(1), \fBmknod\fP(1), \fBioctl\fP(2), \fBtermios\fP(3), \fBconsole\fP(4), \fBtty_ioctl\fP(4), \fBttyS\fP(4), \fBagetty\fP(8), \fBmingetty\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/ttyS.4 b/draft/man4/ttyS.4 index cb6f5e2d..cf786952 100644 --- a/draft/man4/ttyS.4 +++ b/draft/man4/ttyS.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:03:24 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -52,6 +53,6 @@ chown root:tty /dev/ttyS[0\-3] \fBchown\fP(1), \fBmknod\fP(1), \fBtty\fP(4), \fBagetty\fP(8), \fBmingetty\fP(8), \fBsetserial\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/tty_ioctl.4 b/draft/man4/tty_ioctl.4 deleted file mode 100644 index 38b960bb..00000000 --- a/draft/man4/tty_ioctl.4 +++ /dev/null @@ -1,328 +0,0 @@ -.\" Copyright 2002 Walter Harms -.\" and Andries Brouwer . -.\" Distributed under GPL. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TTY_IOCTL 4 2008\-10\-29 Linux "Linux Programmer's Manual" -.SH 名前 -tty_ioctl \- 端末とシリアルラインの ioctl (入出力制御) -.SH 書式 -\fB#include \fP -.sp -\fBint ioctl(int \fP\fIfd\fP\fB, int \fP\fIcmd\fP\fB, ...);\fP -.SH 説明 -端末とシリアルポートについての \fBioctl\fP(2) コールは、多くのコマンド引き数を受け付ける。 多くがいろいろな型の 3 -番目の引き数を必要とする。 ここでは \fIargp\fP または \fIarg\fP と呼ぶ。 -.LP -\fIioctl\fP を使用すると移植性のないプログラムになる。 可能な場合は、 \fBtermios\fP(3) に記述されている POSIX -インタフェースを使うこと。 -.SS 端末属性の取得と設定 -.TP -\fBTCGETS struct termios *\fP\fIargp\fP -\fItcgetattr(fd, argp)\fP と同じ。 -.br -現在のシリアルポートの設定を取得する。 -.TP -\fBTCSETS const struct termios *\fP\fIargp\fP -\fItcsetattr(fd, TCSANOW, argp)\fP と同じ。 -.br -現在のシリアルポートの設定を変更する。 -.TP -\fBTCSETSW const struct termios *\fP\fIargp\fP -\fItcsetattr(fd, TCSADRAIN, argp)\fP と同じ。 -.br -排出 (drain) を行うための出力バッファの使用を許可し、 現在のシリアルポートの設定を変更する。 -.TP -\fBTCSETSF const struct termios *\fP\fIargp\fP -\fItcsetattr(fd, TCSAFLUSH, argp)\fP と同じ。 -.br -排出 (drain) を行うための出力バッファの使用を許可し、 処理していない入力を破棄して、 現在のシリアルポートの設定を変更する。 -.LP -以下の 4 つの ioctl は \fBTCGETS\fP, \fBTCSETS\fP, \fBTCSETSW\fP, \fBTCSETSF\fP と似ている。 ただし、 -\fIstruct termios *\fP の代わりに \fIstruct termio *\fP を取る。 -.TP -\fBTCGETA struct termio *\fP\fIargp\fP -.TP -\fBTCSETA const struct termio *\fP\fIargp\fP -.TP -\fBTCSETAW const struct termio *\fP\fIargp\fP -.TP -\fBTCSETAF const struct termio *\fP\fIargp\fP -.SS "termios 構造体のロック" -端末の \fItermios\fP 構造体はロックすることが可能である。 このロック自体は \fItermios\fP 構造体であり、 0 -でないビットまたはフィールドはロックされた値を示す。 -.TP -\fBTIOCGLCKTRMIOS struct termios *\fP\fIargp\fP -端末の \fItermios\fP 構造体のロック状態を取得する。 -.TP -\fBTIOCSLCKTRMIOS const struct termios *\fP\fIargp\fP -端末の \fItermios\fP 構造体のロック状態を設定する。 root のみ (より正確には、 \fBCAP_SYS_ADMIN\fP -ケーパビリティを持つプロセス) がこれを実行できる。 -.SS ウィンドウサイズの取得と設定 -ウィンドウサイズはカーネル内に保持されるが、 カーネルによって使用されない (仮想コンソールの場合は例外であり、新しいフォントを読み込んだ場合など、 -仮想端末のサイズが変更された場合、カーネルはウィンドウサイズを更新する)。 - -以下の定数と構造体は \fI\fP で定義されている。 -.TP -\fBTIOCGWINSZ struct winsize *\fP\fIargp\fP -ウィンドウサイズを取得する。 -.TP -\fBTIOCSWINSZ const struct winsize *\fP\fIargp\fP -ウィンドウサイズを設定する。 -.LP -これらの ioctl で使用される構造体は、以下のように定義される。 - -.in +4n -.nf -struct winsize { - unsigned short ws_row; - unsigned short ws_col; - unsigned short ws_xpixel; /* 未使用 */ - unsigned short ws_ypixel; /* 未使用 */ -}; -.fi -.in - -ウィンドウサイズが変更された場合、 フォアグラウンドプロセスグループに \fBSIGWINCH\fP シグナルが送られる。 -.SS "break の送信" -.TP -\fBTCSBRK int \fP\fIarg\fP -\fItcsendbreak(fd, arg)\fP と同じ。 -.br -端末が非同期シリアルデータ転送を使用しており、 \fIarg\fP が 0 の場合、0.25 から 0.5 秒の間に break (0 -のビット列のストリーム) が送信される。 端末が非同期シリアルデータ転送を使用している場合、 break が送信されるか、この関数は何もせずに返る。 -\fIarg\fP が 0 以外の場合、何が起こるか分からない。 - -(SVr4, UnixWare, Solaris, Linux は、 \fItcsendbreak(fd,arg)\fP の \fIarg\fP が 0 -以外の場合、 \fItcdrain(fd)\fP のように扱う。 SunOS は \fIarg\fP を倍数として扱い、ビットのストリームを \fIarg\fP -回送信する。 \fIarg\fP が 0 の場合も同じ。 DG/UX と AIX は、(0 以外の場合) \fIarg\fP をミリ秒単位の時間間隔として扱う。 -HP\-UX は \fIarg\fP を無視する。) -.TP -\fBTCSBRKP int \fP\fIarg\fP -いわゆる「POSIX 版」の \fBTCSBRK\fP である。 これは 0 以外の \fIarg\fP を 1/10 秒単位の時間間隔として扱う。 またドライバが -break をサポートしていない場合は、何もしない。 -.TP -\fBTIOCSBRK void\fP -break をオンにする。 つまり 0 のビット列の送信を開始する。 -.TP -\fBTIOCCBRK void\fP -break をオフにする。 つまり 0 のビット列の送信を停止する。 -.SS ソフトウェアフロー制御 -.TP -\fBTCXONC int \fP\fIarg\fP -\fItcflow(fd, arg)\fP と同じ。 -.br -\fBtcflow\fP(3) の引き数 \fBTCOOFF\fP, \fBTCOON\fP, \fBTCIOFF\fP, \fBTCION\fP を参照すること。 -.SS "バッファのカウントと書き出し (flush)" -.TP -\fBFIONREAD int *\fP\fIargp\fP -入力バッファにあるバイト数を取得する。 -.TP -\fBTIOCINQ int *\fP\fIargp\fP -\fBFIONREAD\fP と同じ。 -.TP -\fBTIOCOUTQ int *\fP\fIargp\fP -出力バッファにあるバイト数を取得する。 -.TP -\fBTCFLSH int \fP\fIarg\fP -\fItcflush(fd, arg)\fP と同じ。 -.br -\fBtcflush\fP(3) の引き数 \fBTCIFLUSH\fP, \fBTCOFLUSH\fP, \fBTCIOFLUSH\fP を参照すること。 -.SS 入力の偽装 -.TP -\fBTIOCSTI const char *\fP\fIargp\fP -指定されたバイトを入力キューに挿入する。 -.SS コンソール出力のリダイレクト -.TP -\fBTIOCCONS void\fP -\fI/dev/console\fP または \fI/dev/tty0\fP に送られる出力を、指定された端末リダイレクトする。 指定された端末が疑似端末 -(pseudoterminal) のマスタの場合、 出力はスレーブに送られる。 バージョン 2.6.10 より前の Linux -では、出力がまだリダイレクトされて いなければ、誰でもリダイレクトを行うことができる。 バージョン 2.6.10 以降では、root -(\fBCAP_SYS_ADMIN\fP ケーパビリティを持つプロセス) だけがリダイレクトを行うことができる。 出力がすでにリダイレクトされている場合は -\fBEBUSY\fP が返されるが、 \fI/dev/console\fP か \fI/dev/tty0\fP を指している \fIfd\fP に対してこの ioctl -を使用することで、リダイレクトを止めることができる。 -.SS 端末の制御 -.TP -\fBTIOCSCTTY int \fP\fIarg\fP -指定された端末を呼び出し元のプロセスの制御端末にする。 呼び出し元のプロセスはセッションリーダでなければならず、 -かつ既に制御端末を持っていてはならない。 この端末が既に他のセッショングループの制御端末である場合、 ioctl は \fBEPERM\fP -で失敗する。ただし呼び出したユーザが root で (より正確には \fBCAP_SYS_ADMIN\fP ケーパビリティを持っていて)、かつ \fIarg\fP -が 1 である場合を除く。 この場合、端末は盗まれ (stolen)、 この端末を制御端末としていた全てのプロセスは端末を失う。 -.TP -\fBTIOCNOTTY void\fP -指定された端末が呼び出し元のプロセスの制御端末である場合、 この制御端末を放棄する。 プロセスがセッションリーダの場合、 -フォアグラウンドプロセスグループに \fBSIGHUP\fP と \fBSIGCONT\fP を送り、カレントセッションの全てのプロセスは制御端末を失う。 -.SS "グループ ID とセッション ID の処理" -.TP -\fBTIOCGPGRP pid_t *\fP\fIargp\fP -成功した場合、 \fI*argp = tcgetpgrp(fd)\fP と同じ。 -.br -この端末上のフォアグラウンドプロセスのプロセスグループ ID を取得する。 -.TP -\fBTIOCSPGRP const pid_t *\fP\fIargp\fP -\fItcsetpgrp(fd, *argp)\fP と同じ。 -.br -この端末のフォアグラウンドプロセスのグループ ID を設定する。 -.TP -\fBTIOCGSID pid_t *\fP\fIargp\fP -指定された端末のセッション ID を取得する。 端末がマスタ疑似端末または制御端末でない場合は、 \fBENOTTY\fP で失敗する。 奇妙だ。 -.SS 排他モード -.TP -\fBTIOCEXCL void\fP -端末を排他モードにする。 端末に対して、これ以降の \fBopen\fP(2) 操作を禁止する。 (root 以外の場合、つまり -\fBCAP_SYS_ADMIN\fP ケーパビリティを持たないプロセスの場合、これ以降の \fBopen\fP(2) は \fBEBUSY\fP で失敗する。) -.TP -\fBTIOCNXCL void\fP -排他モードを無効にする。 -.SS "ライン制御 (line discipline)" -.TP -\fBTIOCGETD int *\fP\fIargp\fP -端末のライン制御の情報を取得する。 -.TP -\fBTIOCSETD const int *\fP\fIargp\fP -端末のライン制御の情報を設定する。 -.SS "疑似端末の ioctl" -.TP -\fBTIOCPKT const int *\fP\fIargp\fP -パケットモードを有効 (*\fIargp\fP が 0 以外の場合) または無効にする。 疑似端末のマスタ側にのみ適用できる (それ以外の場合は -\fBENOTTY\fP を返す)。 パケットモードでは、その後に実行される \fBread\fP(2) は、値が 0 以外の 1 -つの制御バイトを含むパケットか、 値が 0 の 1 バイト (\(aq\e0\(aq) に疑似端末のスレーブ側で書き込まれた -データが続くパケットを返す。 最初のバイトが \fBTIOCPKT_DATA\fP (0) でない場合、以下のビットの 1 つ以上を OR したものである: - -.nf -TIOCPKT_FLUSHREAD 端末の読み込みキューがフラッシュ (flush) される。 -TIOCPKT_FLUSHWRITE 端末の書き出しキューがフラッシュされる。 -TIOCPKT_STOP 端末への出力が停止される。 -TIOCPKT_START 端末への出力が再開される。 -TIOCPKT_DOSTOP 開始文字と終了文字が \fB^S\fP/\fB^Q\fP である。 -TIOCPKT_NOSTOP 開始文字と終了文字が \fB^S\fP/\fB^Q\fP でない。 -.fi - -このモードが使われている場合、 制御状態情報の存在がマスタ側から読み込めるかは、 例外的な条件で \fBselect\fP(2) -を使うことにより知ることができる。 - -このモードは \fBrlogin\fP(1) と \fBrlogind\fP(8) で使われ、リモートエコーのリモートログインと ローカルでの -\fB^S\fP/\fB^Q\fP フロー制御のリモートログインを実装している。 - -BSD の ioctl である \fBTIOCSTOP\fP, \fBTIOCSTART\fP, \fBTIOCUCNTL\fP, \fBTIOCREMOTE\fP -は、Linux では実装されていない。 -.SS モデム制御 -.TP -\fBTIOCMGET int *\fP\fIargp\fP -モデムビット列の状態を取得する。 -.TP -\fBTIOCMSET const int *\fP\fIargp\fP -モデムビット列の状態を設定する。 -.TP -\fBTIOCMBIC const int *\fP\fIargp\fP -指定されたモデムビット列をクリアする。 -.TP -\fBTIOCMBIS const int *\fP\fIargp\fP -指定されたモデムビット列を設定する。 -.LP -これらの 4 つの ioctl で使われるビットは以下の通り: - -.nf -TIOCM_LE DSR (data set ready/line enable) -TIOCM_DTR DTR (data terminal ready) -TIOCM_RTS RTS (request to send) -TIOCM_ST Secondary TXD (transmit) -TIOCM_SR Secondary RXD (receive) -TIOCM_CTS CTS (clear to send) -TIOCM_CAR DCD (data carrier detect) -TIOCM_CD TIOCM_CAR を参照。 -TIOCM_RNG RNG (ring) -TIOCM_RI TIOCM_RNG を参照。 -TIOCM_DSR DSR (data set ready) -.fi -.SS 回線をローカルとしてマークする -.TP -\fBTIOCGSOFTCAR int *\fP\fIargp\fP -("ソフトウェアキャリアフラグの取得") \fItermios\fP 構造体の c_cflag フィールドの \fBCLOCAL\fP フラグの状態を取得する。 -.TP -\fBTIOCSSOFTCAR const int *\fP\fIargp\fP -("ソフトウェアキャリアフラグの設定") *\fIargp\fP が 0 以外の場合、 \fItermios\fP 構造体の \fBCLOCAL\fP -フラグを設定する。 0 の場合はクリアする。 -.LP -ラインの \fBCLOCAL\fP フラグがオフの場合、 ハードウェアキャリア検出 (hardware carrier detect, DCD) -シグナルが重要であり、 \fBO_NONBLOCK\fP フラグが指定されない限り、対応する端末の \fBopen\fP(2) は DCD -が示されるまでブロックされる。 \fBCLOCAL\fP が設定されている場合、 ラインは常に DCD が示されているかのように動作する。 -ソフトウェアキャリアフラグは、ローカルデバイスでは通常はオンになっており、 モデムのラインではオフになっている。 -.SS "Linux 固有の ioctl" -\fBTIOCLINUX\fP ioctl については、 \fBconsole_ioctl\fP(4) を参照すること。 -.SS カーネルデバッギング -\fB#include \fP -.TP -\fBTIOCTTYGSTRUCT struct tty_struct *\fP\fIargp\fP -.\" -.\" .SS "Serial info" -.\" .BR "#include " -.\" .sp -.\" .TP -.\" .BI "TIOCGSERIAL struct serial_struct *" argp -.\" Get serial info. -.\" .TP -.\" .BI "TIOCSSERIAL const struct serial_struct *" argp -.\" Set serial info. -\fIfd\fP に対応する \fItty_struct\fP を取得する。 -.SH 返り値 -\fBioctl\fP(2) システムコールは、成功した場合は 0 を返す。 エラーの場合は \-1 を返し、 \fIerrno\fP を適切に設定する。 -.SH エラー -.TP -\fBEINVAL\fP -不正なコマンド引き数である。 -.TP -\fBENOIOCTLCMD\fP -不明なコマンドである。 -.TP -\fBENOTTY\fP -\fIfd\fP が不適切である。 -.TP -\fBEPERM\fP -権限が不足している。 -.SH 例 -シリアルポートの DTR の状態をチェックする。 - -.nf -#include -#include -#include - -int -main(void) -{ - int fd, serial; - - fd = open("/dev/ttyS0", O_RDONLY); - ioctl(fd, TIOCMGET, &serial); - if (serial & TIOCM_DTR) - puts("TIOCM_DTR が設定されていない。"); - else - puts("TIOCM_DTR が設定されている。"); - close(fd); -} -.fi -.SH 関連項目 -.\" -.\" FIONBIO const int * -.\" FIONCLEX void -.\" FIOCLEX void -.\" FIOASYNC const int * -.\" from serial.c: -.\" TIOCSERCONFIG void -.\" TIOCSERGWILD int * -.\" TIOCSERSWILD const int * -.\" TIOCSERGSTRUCT struct async_struct * -.\" TIOCSERGETLSR int * -.\" TIOCSERGETMULTI struct serial_multiport_struct * -.\" TIOCSERSETMULTI const struct serial_multiport_struct * -.\" TIOCGSERIAL, TIOCSSERIAL (see above) -\fBioctl\fP(2), \fBtermios\fP(3), \fBconsole_ioctl\fP(4), \fBpty\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/vcs.4 b/draft/man4/vcs.4 index a006cddc..581f6415 100644 --- a/draft/man4/vcs.4 +++ b/draft/man4/vcs.4 @@ -1,6 +1,7 @@ .\" Copyright (c) 1995 James R. Van Zandt .\" Sat Feb 18 09:11:07 EST 1995 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified, Sun Feb 26 15:08:05 1995, faith@cs.unc.edu .\" 2007-12-17, Samuel Thibault : @@ -132,6 +133,6 @@ main(void) .SH 関連項目 \fBconsole\fP(4), \fBtty\fP(4), \fBttyS\fP(4), \fBgpm\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man4/wavelan.4 b/draft/man4/wavelan.4 deleted file mode 100644 index 5ab7a00d..00000000 --- a/draft/man4/wavelan.4 +++ /dev/null @@ -1,88 +0,0 @@ -.\" From jt@hplb.hpl.hp.com Thu Dec 19 18:31:49 1996 -.\" From: Jean Tourrilhes -.\" Address: HP Labs, Filton Road, Stoke Gifford, Bristol BS12 6QZ, U.K. -.\" Jean II - HPLB - '96 -.\" wavelan.c.4 -.\" -.\" Provenance of this page is unclear. Licensed under the GPL, -.\" after inquiries with Jean Tourrilhes and Bruce Janson -.\" (mtk, July 2006) -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH WAVELAN 4 1996\-10\-22 Linux "Linux Programmer's Manual" -.SH 名前 -wavelan \- AT&T GIS WaveLAN ISA デバイスドライバ -.SH 書式 -\fBinsmod wavelan_cs.o [io=\fP\fIB,B..\fP\fB] [ irq=\fP\fII,I..\fP\fB] -[name=\fP\fIN,N..\fP\fB]\fP -.SH 説明 -\fIwavelan\fP は、NCR / AT&T / Lucent の \fBWaveLan ISA\fP と Digital(DEC) の -\fBRoamAbout DS\fP というワイアレス・イーサネット (wireless ethernet) アダプタのための -ローレベル・デバイスドライバである。このドライバはモジュールとしても、また、 カーネルに組み込んだ形でも利用できる。また、どちらの場合でも、複数カード -(最大 4 枚まで) をサポートし、明示的にデバイスの名前を指定しない限り (これに関しては、下を見よ)、発見されたそれぞれのカードには、利用可能な -次のイーサネットデバイス(eth0..eth#)が割り当てられる。このデバイス名は MAC アドレス、NWID、カードによって利用される周波数とともに -カーネルログファイルに報告される。 -.SS パラメータ -このセクションのパラメーターは、モジュールとして使用する場合 に適用され、 \fBinsmod\fP(8) のコマンド・ライン引き数として用いる。 -カーネルにドライバが含まれている場合は、 \fIether=IRQ,IO,NAME\fP という形式のパラメータをカーネル・コマンドラインに渡す。 -.TP -\fBio\fP -wavelan カードを検出する時にどこのベースアドレスをサーチするかという リストを指定する (カードが利用するベースアドレスはカードのディップ -スイッチで設定する)。もし io アドレスが指定されなければドライバは 0x390 と 0x3E0 -をスキャンする(このアドレスは他のハードと衝突することも考えられる)。 -.TP -\fBirq\fP -それぞれの wavelan カードが利用する irq のリストをセットする (この値は 将来的な利用のためにパーマネント・ストレージに保存される)。 -.TP -\fBname\fP -それぞれの wavelan カードデバイスに (\fBifconfig\fP(8) が利用する)名前のリストをセットする。 -.SS "ワイアレス拡張 (Wireless Extentions)" -ワイアレス拡張の操作には \fBiwconfig\fP(8) を使う。 -.SS "NWID (or ドメイン)" -ネットワーク IDを [\fI0\fP から \fIFFFF\fP] に設定するか、 [\fIoff\fP] その利用を無効にする。 NWID -はカードのパーマネント・ストレージエリア (Permanent Strage Area) に 格納されるので、NWID -はドライバが呼び出されるたびに利用できる。 -.SS 周波数とチャネル -2.4GHz 2.00 ハードウェアでは、10 の定義済みのチャネル (\fI2.412\fP \fI2.422, 2.425, 2.4305, 2.432, -2.442, 2.452, 2.460, 2.462\fP \fI2.484\fP) のうちの一つを指定するか、その値を直接指定することによって周波数を設定 -することができる。 周波数は直後に変更され、また、その変更は恒久的である。 どの周波数が利用できるかということは、(その国の) 法律に依存する… -.SS "統計スパイ (Statics spy)" -(8 つまでの) MAC アドレスのリストをドライバに設定して、 それぞれのリンクの品質を得る (\fBiwspy\fP(8) を参照)。 -.SS /proc/net/wireless -\fIstatus\fP はモデムから報告されたステータスである。 \fIlink quality\fP -は通信中の(直接拡散スペクトラム通信方式における)変調の品質を報告する [最大 = 16]。 \fILevel\fP と \fINoise\fP -は信号レベルとノイズのレベルを参照する [最大 = 64]。 \fI暗号化されていて廃棄されたパケット(crypt discarded packet)\fP -と \fIそれ以外の廃棄されたパケット(misc discarded packet)\fP のカウンターは実装されていない。 -.SS "ドライバ固有のIOCTL (Private Ioctl)" -\fBiwpriv\fP(8) をドライバ固有の ioctl の操作のために利用できる。 -.SS "品質とレベルの閾値 (Quality and Level threshold)" -モデムで使われる品質とレベルの閾値 (そのレベルを下回ったパケットは 破棄される) を定義することができる。 -.SS "ヒストグラム (Histogram)" -この機能により、 シグナルレベル区間の数の設定と、設定したそれぞれの区間での 受信パケット数をカウントすることができる。 -この分布はシグナルレベルの最瀕値標準偏差の計算に役立つだろう。 -.SS 特定のドライバでの注意 -このドライバはいくつかの \fBNCR/AT&T/Lucent ではない\fP Wavelan カードの検出に失敗するだろう。 -これがあなたの持っているカードで起こった場合 、そのカードの検出処理をどのように加えればいいかと いうことについてソースコードを確認する必要がある。 -.PP -.\" .SH AUTHOR -.\" Bruce Janson \(em bruce@cs.usyd.edu.au -.\" .br -.\" Jean Tourrilhes \(em jt@hplb.hpl.hp.com -.\" .br -.\" (and others; see source code for details) -.\" -.\" SEE ALSO part -.\" -ここまでで述べてきた機能のうちのいくつかは、選択可能である。 ドライバの先頭部分のフラグを変更してコンパイルしなおすことによって、 -その機能を無効にすることも可能である。 -.SH 関連項目 -\fBwavelan_cs\fP(4), \fBifconfig\fP(8), \fBinsmod\fP(8), \fBiwconfig\fP(8), -\fBiwpriv\fP(8), \fBiwspy\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/acct.5 b/draft/man5/acct.5 deleted file mode 100644 index fa0a89b3..00000000 --- a/draft/man5/acct.5 +++ /dev/null @@ -1,145 +0,0 @@ -.\" Copyright (C) 2008, Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ACCT 5 2008\-06\-15 Linux "Linux Programmer's Manual" -.SH 名前 -acct \- プロセス・アカウンティング・ファイル -.SH 書式 -\fB#include \fP -.SH 説明 -カーネルがプロセス・アカウンティングのオプション (\fBCONFIG_BSD_PROCESS_ACCT\fP) を有効にして作成されていると、以下のように -\fBacct\fP(2) を呼び出すとプロセス・アカウンティングが開始される。 - -.in +4n -acct("/var/log/pacct"); -.in - -プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロセスが終了するたびにアカウンティングファイルに レコードを書き込む。 -このレコードは、終了したプロセスに関する情報を保持するもので、 \fI\fP で以下のように定義されている。 - -.in +4n -.nf -#define ACCT_COMM 16 - -typedef u_int16_t comp_t; - -struct acct { - char ac_flag; /* Accounting flags */ - u_int16_t ac_uid; /* Accounting user ID */ - u_int16_t ac_gid; /* Accounting group ID */ - u_int16_t ac_tty; /* Controlling terminal */ - u_int32_t ac_btime; /* Process creation time - (seconds since the Epoch) */ - comp_t ac_utime; /* User CPU time */ - comp_t ac_stime; /* System CPU time */ - comp_t ac_etime; /* Elapsed time */ - comp_t ac_mem; /* Average memory usage (kB) */ - comp_t ac_io; /* Characters transferred (unused) */ - comp_t ac_rw; /* Blocks read or written (unused) */ - comp_t ac_minflt; /* Minor page faults */ - comp_t ac_majflt; /* Major page faults */ - comp_t ac_swaps; /* Number of swaps (unused) */ - u_int32_t ac_exitcode; /* Process termination status - (see wait(2)) */ - char ac_comm[ACCT_COMM+1]; - /* Command name (basename of last - executed command; null\-terminated) */ - char ac_pad[\fIX\fP]; /* padding bytes */ -}; - -enum { /* Bits that may be set in ac_flag field */ - AFORK = 0x01, /* Has executed fork, but no exec */ - ASU = 0x02, /* Used superuser privileges */ - ACORE = 0x08, /* Dumped core */ - AXSIG = 0x10 /* Killed by a signal */ -}; -.fi -.in -.PP -データ型 \fIcomp_t\fP は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビット幅の仮数部から 構成される。 \fIcomp_t\fP -型の値 \fIc\fP は以下のようにして (long 型の) 整数に変換できる。 -.nf - - v = (c & 0x1fff) << (((c >> 13) & 0x7) * 3); -.fi -.PP -フィールド \fIac_utime\fP, \fIac_stime\fP, \fIac_etime\fP は "clock ticks" 単位で計測した時間である。 -これらの値を \fIsysconf(_SC_CLK_TCK)\fP で割ると、秒に変換できる。 -.SS "バージョン 3 のアカウンティングファイルのフォーマット" -カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成することができ、 これを使うにはカーネル構築時に -\fBCONFIG_BSD_PROCESS_ACCT_V3\fP オプションが有効になっている必要がある。 -このオプションが設定されると、アカウンティングファイルに書き込まれる レコードにフィールドが追加される。 また、フィールド \fIc_uid\fP と -\fIac_gid\fP の幅が 16 ビットから 32 ビットに拡張される (これは Linux 2.4 以降で UID と GID -のサイズが増えているのに 対応したものである)。 このレコードは以下のように定義されている。 - -.in +4n -.nf -struct acct_v3 { - char ac_flag; /* Flags */ - char ac_version; /* Always set to ACCT_VERSION (3) */ - u_int16_t ac_tty; /* Controlling terminal */ - u_int32_t ac_exitcode; /* Process termination status */ - u_int32_t ac_uid; /* Real user ID */ - u_int32_t ac_gid; /* Real group ID */ - u_int32_t ac_pid; /* Process ID */ - u_int32_t ac_ppid; /* Parent process ID */ - u_int32_t ac_btime; /* Process creation time */ - float ac_etime; /* Elapsed time */ - comp_t ac_utime; /* User CPU time */ - comp_t ac_stime; /* System time */ - comp_t ac_mem; /* Average memory usage (kB) */ - comp_t ac_io; /* Characters transferred (unused) */ - comp_t ac_rw; /* Blocks read or written - (unused) */ - comp_t ac_minflt; /* Minor page faults */ - comp_t ac_majflt; /* Major page faults */ - comp_t ac_swaps; /* Number of swaps (unused) */ - char ac_comm[ACCT_COMM]; /* Command name */ -}; - -.fi -.in -.SH バージョン -\fIacct_v3\fP 構造体はバージョン 2.6 以降の glibc で定義されている。 -.SH 準拠 -プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存在するが、標準化されておらず、 -その詳細はシステムによりいくらか異なる。 -.SH 注意 -アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。 - -バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成されたスレッドでは -スレッド毎に別々のアカウンティングレコードが書き込まれていた。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 -プロセス全体についてのアカウンティングレコードが一つだけ書き込まれる。 - -\fIproc/sys/kernel/acct\fP ファイル (\fBproc\fP(5) で説明されている) は、ディスク容量の残りが少なくなった際の -プロセス・アカウンティングの動作を制御する設定を保持している。 -.SH 関連項目 -\fBlastcomm\fP(1), \fBacct\fP(2), \fBaccton\fP(8), \fBsa\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/charmap.5 b/draft/man5/charmap.5 deleted file mode 100644 index 6d0b3242..00000000 --- a/draft/man5/charmap.5 +++ /dev/null @@ -1,98 +0,0 @@ -.\" Hey emacs, this is -*- nroff -*- -.\" -.\" This file is part of locale(1) which displays the settings of the -.\" current locale. -.\" Copyright (C) 1994 Jochen Hein (Hein@Student.TU-Clausthal.de) -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CHARMAP 5 1994\-11\-28 "" "Linux User Manual" -.SH 名前 -charmap \- 文字符号化を定義するための文字シンボル -.SH 説明 -.\" Not true anymore: -.\" The portable character set is defined in the file -.\" .I /usr/lib/nls/charmap/POSIX -.\" .I /usr/share/i18n/charmap/POSIX -.\" for reference purposes. -文字集合記述 (charmap) は使用できる文字集合とその符号化を定義する。 サポートされる全ての文字集合は妥当なサブセットとして \fB共通文字集合 -(portable character set)\fP を持たなければならない。 -.SS 文法 -charmap ファイルは以下のキーワードからなるヘッダーで始まる: -.TP -\fI\fP -はコードセットの名前を指定する。 -.TP -\fI\fP -は複数バイト文字の一文字あたりの最大バイト数を指定する。 複数バイト文字は現在のところサポートされていない。デフォルトは 1 である。 -.TP -\fI\fP -は一文字あたりの最低バイト数を指定する。この値は \fBmb_cur_max\fP 以下でなければならない。 もし指定されなければデフォルトは -\fBmb_cur_max\fP と同じである。 -.TP -\fI\fP -ファイルの残りの部分でエスケープ・キャラクターとして使用する文字 を指定する。これで特殊な意味に解釈される文字をエスケープする。 -デフォルトはバックスラッシュ (\fB\e\fP) である。 -.TP -\fI\fP -はファイルの残りの部分でコメント・キャラクターとして使用する文字 を指定する。デフォルトではシャープ (\fB#\fP) である。 -.PP -charmap の定義そのものは第一カラムにキーワード \fBCHARMAP\fP を置くことで始める。 - -以下の行は文字の符号化を定義するための二つの方法である: -.TP -\fI \fP -これは一つの文字とその符号化を定義する。 -.TP -\fI... \fP -この形式は複数の文字を定義する。これは複数バイト文字 (現在は実装されていない) のみで有用である。 -.PP -charmap の定義の最後の行は \fBEND CHARMAP\fP を置く。 -.SS シンボル名 -文字の \fBシンボル名 (symbolic name)\fP は \fB共通文字集合(portable character set)\fP -の文字のみを含んでいる。 この名前はかぎかっこ < > で挟む。 \fB\fP -に続く文字はそれ自身として解釈される。例えば \fB<\e\e\e>>\fP のような文字列は \fB\e>\fP -というシンボル名をかぎかっこで狭んで表現している。 -.SS 文字符号化 -符号化は以下の三つの形式のどれかで表す: -.TP -\fId<数字>\fP -は 10 進の数値を表す。 -.TP -\fIx<数字>\fP -は 16 進の数値を表す。 -.TP -\fI<数字>\fP -.\" FIXME comments -.\" FIXME char ... char -は 8 進の数値を表す。 -.SH ファイル -.\" .SH AUTHOR -.\" Jochen Hein (jochen.hein@delphi.central.de) -\fI/usr/share/i18n/charmaps/*\fP -.SH 準拠 -POSIX.2. -.SH 関連項目 -\fBlocale\fP(1), \fBlocaledef\fP(1), \fBlocaleconv\fP(3), \fBsetlocale\fP(3), -\fBlocale\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/core.5 b/draft/man5/core.5 deleted file mode 100644 index 5dc28597..00000000 --- a/draft/man5/core.5 +++ /dev/null @@ -1,290 +0,0 @@ -.\" Copyright (c) 2006, 2008 by Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH CORE 5 2012\-01\-17 Linux "Linux Programmer's Manual" -.SH 名前 -core \- コアダンプファイル -.SH 説明 -ある種のシグナルを受けた場合のデフォルトのアクションは、 プロセスを終了し (terminate)、 \fIコアダンプファイル (core dump -file)\fP を生成することである。コアダンプファイルは、ディスク上に生成される 終了時のプロセスのメモリイメージを内容とするファイルである。 -このイメージをデバッガ (例えば \fBgdb\fP(1)) に読み込んで、 プログラムが終了した時点のプログラムの状態を検査することができる。 -どのシグナルを受けたときにプロセスがコアダンプを生成するかのリストは \fBsignal\fP(7) に書かれている。 - -プロセスはソフト・リソース制限 \fBRLIMIT_CORE\fP を設定することで、「コアダンプ」シグナルを受信した際に生成される -コアダンプファイルのサイズに上限を課すことができる。詳細は \fBgetrlimit\fP(2) を参照。 - -コアダンプファイルが生成されない状況がいくつかある: -.IP * 3 -プロセスがコアファイルを書き込む許可を持たない場合 (デフォルトでは、コアファイルは \fIcore\fP -という名前で、カレント・ワーキング・ディレクトリに生成される。 命名規則の詳細は下記を参照)。 -コアファイルを生成しようとしたディレクトリが書き込み可能でない場合、 もしくは同じ名前のファイルが存在し、そのファイルが書き込み可能でも -通常のファイルでもない場合 (例えば、ディレクトリやシンボリックリンク)、 コアファイルの生成は失敗する。 -.IP * -コアダンプに使おうとしたのと同じ名前の (書き込み可能な、通常の) ファイルが すでに存在し、そのファイルに対するハードリンクが 2個以上ある場合。 -.IP * -コアダンプファイルを生成しようとしたファイルシステムがフルであるか、 inode が全て使用されているか、読み込み専用でマウントされている場合。 -または、そのユーザのディスク使用量がそのファイルシステムの クオータ (quota) に達している。 -.IP * -コアダンプファイルを生成しようとしたディレクトリが存在しない場合。 -.IP * -プロセス毎のリソース制限 \fBRLIMIT_CORE\fP (コアファイルのサイズ) か \fBRLIMIT_FSIZE\fP (ファイルサイズ) が 0 -に設定されている場合。 \fBgetrlimit\fP(2) やシェルの \fIulimit\fP コマンドのドキュメント (\fBcsh\fP(1) の -\fIlimit\fP) を参照。 -.IP * -プロセスが実行したバイナリファイルの読み出し許可が有効になっていない場合。 -.IP * -.\" FIXME . Perhaps relocate discussion of /proc/sys/fs/suid_dumpable -.\" and PR_SET_DUMPABLE to this page? -プロセスが実行している set\-user\-ID (set\-group\-ID) プログラムの所有者の ユーザ (グループ) が、プロセスの実 UID (実 -GID) と異なる場合 (但し、 \fBprctl\fP(2) \fBPR_SET_DUMPABLE\fP 操作の説明と、 \fBproc\fP(5) の -\fI/proc/sys/fs/suid_dumpable\fP ファイルの説明も参照のこと)。 -.SS コアダンプファイルの名前 -デフォルトでは、コアダンプファイルの名前は \fIcore\fP となるが、コアダンプファイルの名前を決めるのに使われるテンプレートを -\fI/proc/sys/kernel/core_pattern\fP ファイルに定義することで、ファイル名を変更することができる -(\fI/proc/sys/kernel/core_pattern\fP は Linux 2.6 および 2.4.21 以降で利用できる)。 テンプレートには -% 指示子 (specifier) を入れることができる。 これはコアファイルが生成される際に、以下の値に置き換えられる。 -.PP -.RS 4 -.PD 0 -.TP 4 -%% -1 つの % 文字 -.TP -%p -ダンプされたプロセスのプロセスID (PID) -.TP -%u -ダンプされたプロセスの実ユーザ ID (real UID) -.TP -%g -ダンプされたプロセスの実グループ ID (real GID) -.TP -%s -ダンプを引き起こしたシグナルの番号 -.TP -%t -ダンプ時刻、紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒数。 -.TP -%h -ホスト名 (\fBuname\fP(2) で返される \fInodename\fP と同じ) -.TP -%e -実行ファイル名 (パス名のプレフィックスは含まれない) -.TP -%E -実行ファイルのパス名。スラッシュ (\(aq/\(aq) は感嘆符 (\(aq!\(aq) に置き換えられる。 -.TP -%c -クラッシュしたプロセスのコアファイルのサイズに関するソフトリソース上限 (Linux 2.6.24 以降) -.PD -.RE -.PP -テンプレートの末尾に 1 個だけ % がある場合、 その % はコアファイル名には含められない。また、上で列挙されて いない % -と文字の組み合わせがあった場合も同様である。 テンプレートにおける他の文字は、 コアファイル名としてそのまま使われる。 テンプレートには -\(aq/\(aq 文字を入れることができ、 ディレクトリ名の区切り文字と解釈される。 結果として生成されるコアファイル名の最大サイズは 128 -バイトである (2.6.19 より前のカーネルでは 64 バイト)。 このファイルのデフォルト値は "core" である。 以前のものとの互換性のため、 -\fI/proc/sys/kernel/core_pattern\fP に "%p" が含まれず、 かつ -\fI/proc/sys/kernel/core_uses_pid\fP (下記参照) が 0 でない場合は、.PID がコアファイル名に追加される。 - -バージョン 2.4 以降の Linux では コアダンプファイルの名前を制御する原始的な方法も提供されている。 -\fI/proc/sys/kernel/core_uses_pid\fP ファイルに値 0 が書かれている場合、コアダンプファイルは単純に \fIcore\fP -という名前になる。このファイルに 0 以外の値が書かれている場合、 コアダンプファイルは \fIcore.PID\fP -という形式の名前になり、ファイル名にプロセス ID が含まれる。 -.SS コアダンプのプログラムへのパイプ -カーネル 2.6.19 以降では、Linux は \fI/proc/sys/kernel/core_pattern\fP -ファイルの別の構文をサポートしている。 このファイルの最初の文字がパイプ記号 (\fB|\fP) であれば、 -その行の残りの部分は実行するプログラムとして解釈される。 コアダンプは、ディスク上のファイルに書き込まれるのではなく、 -プログラムの標準入力として渡される。 以下の点に注意すること。 -.IP * 3 -プログラムは絶対パス名 (もしくはルートディレクトリ \fI/\fP からの 相対パス名) で指定されなければならない。 また、'|' -文字の直後から始めなければならない。 -.IP * -プログラムを実行するために生成されるプロセスは、 ユーザ、グループとも \fIroot\fP として実行される。 -.IP * -コマンドライン引き数をプログラムに与えることができ (カーネル 2.6.24 以降)、 引き数はホワイトスペースで区切る (1行の最大長は 128 -バイトが上限である)。 -.IP * -コマンドライン引き数には、上記のリストにある % 指示子を含めることができる。 例えば、ダンプされるプロセスの PID を渡すには、 引き数に -\fI%p\fP を指定する。 -.SS どのマッピングをコアダンプに書き込むかを制御する -カーネル 2.6.23 以降では、Linux 固有のファイル \fI/proc/PID/coredump_filter\fP を使って、対応するプロセス ID -を持つプロセスに対してコアダンプが行われる 際に、どのメモリセグメントをコアダンプファイルに書き込むかを制御できる。 - -このファイルの値はメモリマッピング種別 (\fBmmap\fP(2) 参照) のビットマスクである。 -マスク内のあるビットがセットされると、そのビットに対応する種別の メモリマッピングがダンプされる。セットされていないものはダンプされない。 -このファイルの各ビットは以下の意味を持つ。 -.PP -.PD 0 -.RS 4 -.TP -bit 0 -無名のプライベートマッピング (anonymous private mappings) をダンプする。 -.TP -bit 1 -無名の共有マッピング (anonymous shared mappings) をダンプする。 -.TP -bit 2 -ファイルと関連付けられたプライベートマッピング (file\-backed private mappings) をダンプする。 -.TP -bit 3 -.\" file-backed shared mappings of course also update the underlying -.\" mapped file. -ファイルと関連付けられた共有マッピング (file\-backed shared mappings) をダンプする。 -.TP -bit 4 (Linux 2.6.24 以降) -ELF ヘッダをダンプする。 -.TP -bit 5 (Linux 2.6.28 以降) -プライベートなヒュージページ (private huge page) をダンプする。 -.TP -bit 6 (Linux 2.6.28 以降) -共有されたヒュージページ (shared huge page) をダンプする。 -.RE -.PD -.PP -デフォルトでは、ビット 0, 1, 4, 5 がセットされる。 (ビット 4 がセットされるのは、カーネルが設定オプション -\fBCONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS\fP を有効にして作成された場合である)。 このファイルの値は 16 -進形式で表示される (したがって、デフォルト値は 33 と表示される)。 - -\fIcoredump_filter\fP の値に関わらず、フレームバッファなどの memory\-mapped I/O に関する -ページは決してダンプされず、仮想 DSO ページは常にダンプされる。 - -\fBfork\fP(2) で作成される子プロセスは親プロセスの \fIcoredump_filter\fP の値を継承する。 \fBexecve\fP(2) -の前後で \fIcoredump_filter\fP の値は保持される。 - -例のように、プログラムを実行する前に親シェルの \fIcoredump_filter\fP を設定しておくと役立つことがある。 - -.in +4n -.nf -$\fB echo 0x7 > /proc/self/coredump_filter\fP -$\fB ./some_program\fP -.fi -.in -.PP -このファイルが提供されるのは、カーネルが設定オプション \fBCONFIG_ELF_CORE\fP を有効にして作成された場合だけである。 -.SH 注意 -\fBgdb\fP(1) の \fIgcore\fP コマンドを使用すると、実行中のプロセスのコアダンプを取得できる。 - -.\" Always including the PID in the name of the core file made -.\" sense for LinuxThreads, where each thread had a unique PID, -.\" but doesn't seem to serve any purpose with NPTL, where all the -.\" threads in a process share the same PID (as POSIX.1 requires). -.\" Probably the behavior is maintained so that applications using -.\" LinuxThreads continue appending the PID (the kernel has no easy -.\" way of telling which threading implementation the userspace -.\" application is using). -- mtk, April 2006 -マルチスレッドプロセス (より正確には、 \fBclone\fP(2) の \fBCLONE_VM\fP で生成された別プロセスとメモリを共有しているプロセス) -がコアダンプを生成する場合、 コアファイル名にプロセス ID が必ず付加される。 ただし、 -\fI/proc/sys/kernel/core_pattern\fP の %p 指定によりコアファイル名のどこか他の場所にプロセス ID が -すでに含まれている場合は、プロセス ID が末尾に付加されない。 (この機能がまず役に立つのは LinuxThreads 実装を利用している場合である。 -LinuxThreads 実装では、プロセス内の個々のスレッドは異なるプロセス ID を持つ。) -.SH 例 -以下のプログラムは \fI/proc/sys/kernel/core_pattern\fP ファイルのパイプ構文の使用例を示している。 -以下のシェルのセッションはこのプログラムの使用例を示すものである (コンパイルして \fIcore_pattern_pipe_test\fP -という名前の実行ファイルを作成している)。 -.PP -.in +4n -.nf -$\fB cc \-o core_pattern_pipe_test core_pattern_pipe_test.c\fP -$\fB su\fP -Password: -#\fB echo "|$PWD/core_pattern_pipe_test %p UID=%u GID=%g sig=%s" > \e\fP -\fB/proc/sys/kernel/core_pattern\fP -#\fB exit\fP -$\fB sleep 100\fP -\fB^\e\fP # type control\-backslash -Quit (core dumped) -$\fB cat core.info\fP -argc=5 -argc[0]= -argc[1]=<20575> -argc[2]= -argc[3]= -argc[4]= -Total bytes in core dump: 282624 -.fi -.in -.SS プログラムのソース -\& -.nf -/* core_pattern_pipe_test.c */ - -#define _GNU_SOURCE -#include -#include -#include -#include -#include -#include - -#define BUF_SIZE 1024 - -int -main(int argc, char *argv[]) -{ - int tot, j; - ssize_t nread; - char buf[BUF_SIZE]; - FILE *fp; - char cwd[PATH_MAX]; - - /* Change our current working directory to that of the - crashing process */ - - snprintf(cwd, PATH_MAX, "/proc/%s/cwd", argv[1]); - chdir(cwd); - - /* Write output to file "core.info" in that directory */ - - fp = fopen("core.info", "w+"); - if (fp == NULL) - exit(EXIT_FAILURE); - - /* Display command\-line arguments given to core_pattern - pipe program */ - - fprintf(fp, "argc=%d\en", argc); - for (j = 0; j < argc; j++) - fprintf(fp, "argc[%d]=<%s>\en", j, argv[j]); - - /* Count bytes in standard input (the core dump) */ - - tot = 0; - while ((nread = read(STDIN_FILENO, buf, BUF_SIZE)) > 0) - tot += nread; - fprintf(fp, "Total bytes in core dump: %d\en", tot); - - exit(EXIT_SUCCESS); -} -.fi -.SH 関連項目 -\fBbash\fP(1), \fBgdb\fP(1), \fBgetrlimit\fP(2), \fBmmap\fP(2), \fBprctl\fP(2), -\fBsigaction\fP(2), \fBelf\fP(5), \fBproc\fP(5), \fBpthreads\fP(7), \fBsignal\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/dir_colors.5 b/draft/man5/dir_colors.5 deleted file mode 100644 index c6ba79d7..00000000 --- a/draft/man5/dir_colors.5 +++ /dev/null @@ -1,236 +0,0 @@ -.\" -.\" manpage for /etc/dir_colors, config file for dircolors(1) -.\" extracted from color-ls 3.12.0.3 dircolors(1) manpage -.\" -.\" This file may be copied under the conditions described -.\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998 -.\" that should have been distributed together with this file. -.\" -.\" Modified Sat Dec 22 22:25:33 2001 by Martin Schulze -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH DIR_COLORS 5 2001\-12\-26 GNU "Linux User Manual" -.SH 名前 -dir_colors \- dircolors(1) の設定ファイル -.SH 説明 -プログラム \fBls\fP(1) は、環境変数 \fBLS_COLORS\fP を使い、ファイル名を何色で表示するかを決定する。 この環境変数は、通常 - -.RS -eval \`dircolors some_path/dir_colors\` -.RE - -のようなコマンドで設定される。 このコマンドは \fI/etc/profile\fP や \fI/etc/csh.cshrc\fP -といったシステムのシェル初期化ファイルにある。 (\fBdircolors\fP(1) を参照すること。) 通常、ここで使われるファイルは -\fI/etc/DIR_COLORS\fP であるが、ホームディレクトリの \fI.dir_colors\fP ファイルで上書きすることができる。 -.PP -設定ファイルは 1 行毎に書かれたステートメントで構成される。 ハッシュマーク (#) が行の始めにある場合や、 ハッシュマークの前に少なくとも 1 -つの空白がある場合、 ハッシュマークの後ろはコメントとして扱われる。 空行は無視される。 -.PP -このファイルの \fIグローバル\fP セクションは、 最初の \fBTERM\fP ステートメントより前にある任意のステートメントからなる。 -グローバルセクションにあるステートメントは、 すべての端末タイプについて有効であるとみなされる。 グローバルセクションの次には、 \fI端末固有\fP -セクションが続く。 各端末固有セクションの先頭には、1 つ以上の \fBTERM\fP ステートメントが置かれる。 \fBTERM\fP -ステートメントは、その後に続く宣言が適用される (環境変数 \fBTERM\fP で与えられる) 端末タイプを指定する。 -グローバル宣言をその後に続く端末固有の宣言で上書きすることが常に可能である。 -.PP -次のステートメントが認識される。大文字と小文字は区別されない。 -.TP -\fBTERM \fP\fIterminal\-type\fP -端末固有セクションを開始し、どの端末に適用するかを指定する。 複数の端末タイプに適用するため、複数の \fBTERM\fP ステートメントを使うことができる。 -.TP -\fBCOLOR yes|all|no|none|tty\fP -(Slackware のみ; GNU \fBdircolors\fP(1) では無視される。) カラー表示を常に有効にするのか (\fIyes\fP または -\fIall\fP)、 常に無効にするのか (\fIno\fP または \fInone\fP)、 出力先が端末の場合にのみ有効にするのか (\fItty\fP) を指定する。 -デフォルトは \fIno\fP である。 -.TP -\fBEIGHTBIT yes|no\fP -(Slackware のみ; GNU \fBdircolors\fP(1) では無視される。) デフォルトで 8 ビットの ISO 8859 -文字を有効にするかを指定する。 互換性のため、1 で \fIyes\fP を、0 で \fIno\fP を指定することができる。 デフォルトは \fIno\fP である。 -.TP -\fBOPTIONS \fP\fIoptions\fP -(Slackware のみ; GNU \fBdircolors\fP(1) では無視される。) コマンドラインオプションをデフォルトの \fBls\fP -コマンドラインに追加する。 このオプションには、すべての有効な \fBls\fP のコマンドラインオプションを指定できる。 -オプションの前にはマイナス記号を置かなければならない。 \fBdircolors\fP がオプションの有効性を検証しない点に注意すること。 -.TP -\fBNORMAL \fP\fIcolor\-sequence\fP -(ファイル名でない) 通常のテキストに使われる色を指定する。 -.TP -\fBFILE \fP\fIcolor\-sequence\fP -通常のファイルに使われる色を指定する。 -.TP -\fBDIR \fP\fIcolor\-sequence\fP -ディレクトリに使われる色を指定する。 -.TP -\fBLINK \fP\fIcolor\-sequence\fP -シンボリックリンクに使われる色を指定する。 -.TP -\fBORPHAN \fP\fIcolor\-sequence\fP -孤立した (存在しないファイルを指している) シンボリックリンクに使われる色を指定する。 指定されない場合、 \fBls\fP は \fBLINK\fP -の色を代わりに使う。 -.TP -\fBMISSING \fP\fIcolor\-sequence\fP -行方不明のファイル (存在しないにもかかわらず シンボリックリンクが指しているファイル) に使われる色を指定する。 指定されない場合、 \fBls\fP は -\fBFILE\fP の色を代わりに使う。 -.TP -\fBFIFO \fP\fIcolor\-sequence\fP -FIFO (名前付きパイプ) に使われる色を指定する。 -.TP -\fBSOCK \fP\fIcolor\-sequence\fP -ソケットに使われる色を指定する。 -.TP -\fBDOOR \fP\fIcolor\-sequence\fP -(fileutils 4.1 以降でサポートされる) door (Solaris 2.5 以降) で使われる色を指定する。 -.TP -\fBBLK \fP\fIcolor\-sequence\fP -ブロックデバイススペシャルファイルに使われる色を指定する。 -.TP -\fBCHR \fP\fIcolor\-sequence\fP -キャラクターデバイススペシャルファイルに使われる色を指定する。 -.TP -\fBEXEC \fP\fIcolor\-sequence\fP -実行属性が設定されているファイルに使われる色を設定する。 -.TP -\fBLEFTCODE \fP\fIcolor\-sequence\fP -ISO\ 6429 端末 (下記参照) 以外で \fIleft code\fP に使われる色を指定する。 -.TP -\fBRIGHTCODE \fP\fIcolor\-sequence\fP -ISO\ 6429 端末 (下記参照) 以外で \fIright code\fP に使われる色を指定する。 -.TP -\fBENDCODE \fP\fIcolor\-sequence\fP -ISO\ 6429 端末 (下記参照) 以外で \fIend code\fP に使われる色を指定する。 -.TP -\fB*\fP\fIextension\fP \fIcolor\-sequence\fP -\fIextension\fP で終るすべてのファイルに使われる色を指定する。 -.TP - \fB.\fP\fIextension\fP \fIcolor\-sequence\fP -\fB*\fP.\fIextension\fP と同じ。 \fIextension\fP で終るすべてのファイルに使われる色を指定する。 ピリオドは拡張子に含まれ、 -\fBemacs\fP のバックアップファイル \fB~\fP のようなピリオドで始まらない拡張子を指定することができない点に注意すること。 -この形式は古いものと考えられている。 -.SS "ISO 6429 (ANSI) カラーシーケンス" -最近のカラー表示可能な ASCII 端末の大部分は、 ISO 6429 (ANSI) カラーシーケンスを用いる。 \fBxterm\fP や広く使われている -DEC VT100 クローンを含む カラー表示できない一般的な端末の多くは、 ISO 6429 -カラーコードを認識し、出力から実害なく削除するか、エミュレートする。 \fBls\fP は、カラー表示が有効であることを仮定し、ISO 6429 -コードをデフォルトで使う。 - -ISO 6429 カラーシーケンスは、セミコロンで区切られた数字のシーケンスで作られる。 最も一般的なコードを示す。 -.sp -.RS +.2i -.ta 1.0i -.nf - 0 デフォルトカラーを保存 - 1 明るい色 - 4 アンダーラインされたテキスト - 5 フラッシュするテキスト -30 前景色:黒 -31 前景色:赤 -32 前景色:緑 -33 前景色:黄 (もしくは茶) -34 前景色:青 -35 前景色:紫 -36 前景色:シアン -37 前景色:白 (もしくは灰) -40 背景色:黒 -41 背景色:赤 -42 背景色:緑 -43 背景色:黄 (もしくは茶) -44 背景色:青 -45 背景色:紫 -46 背景色:シアン -47 背景色:白 (もしくは灰) -.fi -.RE -.sp -システムと表示デバイスによっては、動作しないコマンドもある。 -.PP -\fBls\fP は以下をデフォルトとして使う。 -.sp -.RS +.2i -.ta 1.0i 2.5i -.nf -\fBNORMAL\fP 0 (ファイル名でない) 通常のテキスト -\fBFILE\fP 0 通常のファイル -\fBDIR\fP 32 ディレクトリ -\fBLINK\fP 36 シンボリックリンク -\fBORPHAN\fP 未定義 孤立したシンボリックリンク -\fBMISSING\fP 未定義 行方不明のファイル -\fBFIFO\fP 31 名前付きパイプ (FIFO) -\fBSOCK\fP 33 ソケット -\fBBLK\fP 44;37 ブロックデバイス -\fBCHR\fP 44;37 キャラクターデバイス -\fBEXEC\fP 35 実行ファイル -.fi -.RE -.sp -デフォルトの設定を完全に認識できない端末プログラムも少数存在する。 ディレクトリをリストした後にすべてのテキストがカラー表示されたなら、 -\fBNORMAL\fP と \fBFILE\fP のコードを通常の前景色と背景色のための数値コードに変更すること。 -.SS "その他の端末タイプ (高度な設定)" -カラー表示可能 (またはハイライト表示可能) だが、 異なるコードセットを使う端末 (あるいはプリンター!) を持っている場合でも、 -それに適した設定を作ることができる。 そのためには、 \fBLEFTCODE\fP, \fBRIGHTCODE\fP, \fBENDCODE\fP 定義を使う必要がある。 -.PP -ファイル名を出力する場合、 \fBls\fP は " \fBLEFTCODE\fP \fItypecode\fP \fBRIGHTCODE\fP \fIfilename\fP -\fBENDCODE\fP " という出力シーケンスを生成する。 ここで、 \fItypecode\fP はファイルのタイプや名前に依存したカラーシーケンスである。 -\fBENDCODE\fP が未定義の場合、シーケンス \fBLEFTCODE NORMAL RIGHTCODE\fP が代わりに使われる。 leftcode と -rightcode の目的は、単に必要な打ち込む回数を減らす (さらに、見苦しいエスケープコードをユーザーに隠す) ことにある。 -シーケンスがその端末にとって適切でない場合、 行内のそれぞれのキーワード自身を指定して削除することができる。 -.PP -\fB注意:\fP \fBENDCODE\fP が設定ファイルのグローバルセクションで定義されている場合、 ファイルの端末固有セクションで未定義にすることは -\fIできない\fP。 これは、 \fBNORMAL\fP の定義が何も影響を及ぼさないことを意味する。 しかし、異なった \fBENDCODE\fP -を指定することで同じ効果を得ることができる。 -.SS エスケープシーケンス -カラーシーケンスやファイル名の拡張子で制御文字やブランク文字を指定するために、 C 言語スタイルの \e エスケープ表記と \fBstty\fP スタイルの -^ 表記の両方を使うことができる。 C 言語スタイルの表記には以下の文字が含まれる。 -.sp -.RS +.2i -.ta 1.0i -.nf -\fB\ea\fP ベル (ASCII 7) -\fB\eb\fP バックスペース (ASCII 8) -\fB\ee\fP エスケープ (ASCII 27) -\fB\ef\fP フォームフィード (ASCII 12) -\fB\en\fP 改行 (ASCII 10) -\fB\er\fP キャリッジリターン (ASCII 13) -\fB\et\fP タブ (ASCII 9) -\fB\ev\fP 垂直タブ (ASCII 11) -\fB\e?\fP デリート (ASCII 127) -\fB\e\fP\fInnn\fP (8 進数表記の) 任意の文字 -\fB\ex\fP\fInnn\fP (16 進数表記の) 任意の文字 -\fB\e_\fP スペース -\fB\e\e\fP バックスラッシュ (\e) -\fB\e^\fP キャレット (^) -\fB\e#\fP ハッシュマーク (#) -.fi -.RE -.sp -ハッシュマークを始めの文字として入力するときと同様に、 スペース・バックスラッシュ・キャレット・制御文字を文字列の任意の部分に -入力するためには、エスケープが必要であることに注意すること。 -.SH ファイル -.TP -\fI/etc/DIR_COLORS\fP -システム全体の設定ファイル。 -.TP -\fI~/.dir_colors\fP -ユーザー毎の設定ファイル。 -.PP -このページは fileutils\-4.1 パッケージで使われている \fBdir_colors\fP のファイル形式について説明している。 -その他のバージョンでは少し違いがあるかも知れない。 -.SH 注意 -ISO 6429 端末で使われる \fBLEFTCODE\fP と \fBRIGHTCODE\fP のデフォルトの定義は、次のようになっている。 -.sp -.RS +.2i -.ta 1.0i -.nf -\fBLEFTCODE\fP \ee[ -\fBRIGHTCODE\fP m -.fi -.RE -.sp -\fBENDCODE\fP のデフォルトは定義されていない。 -.SH 関連項目 -\fBdircolors\fP(1), \fBls\fP(1), \fBstty\fP(1), \fBxterm\fP(1) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/elf.5 b/draft/man5/elf.5 deleted file mode 100644 index 5022de60..00000000 --- a/draft/man5/elf.5 +++ /dev/null @@ -1,1361 +0,0 @@ -.\" $OpenBSD: elf.5,v 1.12 2003/10/27 20:23:58 jmc Exp $ -.\"Copyright (c) 1999 Jeroen Ruigrok van der Werven -.\"All rights reserved. -.\" -.\"Redistribution and use in source and binary forms, with or without -.\"modification, are permitted provided that the following conditions -.\"are met: -.\"1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\"2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\"SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man5/elf.5,v 1.21 2001/10/01 16:09:23 ru Exp $ -.\" -.\" Slightly adapted - aeb, 2004-01-01 -.\" 2005-07-15, Mike Frysinger , various fixes -.\" 2007-10-11, Mike Frysinger , various fixes -.\" 2007-12-08, mtk, Converted from mdoc to man macros -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ELF 5 2010\-06\-19 Linux "Linux Programmer's Manual" -.SH 名前 -elf \- 実行可能リンクフォーマット (ELF) ファイルのフォーマット -.SH 書式 -.nf -.\" .B #include -\fB#include \fP -.fi -.SH 説明 -ヘッダファイル \fI\fP は ELF 実行可能バイナリファイルのフォーマットを定義する。 -これらのファイルとしては、通常の実行可能ファイル・ 再配置可能オブジェクトファイル・コアファイル・共有ライブラリがある。 -.PP -ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダの後にプログラムヘッダテーブルまたは セクションヘッダテーブル (またはその両方) -が続く構成である。 ELF ヘッダは常にファイルのオフセット 0 にある。 プログラムヘッダテーブルとセクションヘッダテーブルの -ファイル内でのオフセットは、ELF ヘッダに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を記述する。 -.PP -.\" Applications which wish to process ELF binary files for their native -.\" architecture only should include -.\" .I -.\" in their source code. -.\" These applications should need to refer to -.\" all the types and structures by their generic names -.\" "Elf_xxx" -.\" and to the macros by -.\" ELF_xxx". -.\" Applications written this way can be compiled on any architecture, -.\" regardless of whether the host is 32-bit or 64-bit. -.\" .PP -.\" Should an application need to process ELF files of an unknown -.\" architecture, then the application needs to explicitly use either -.\" "Elf32_xxx" -.\" or -.\" "Elf64_xxx" -.\" type and structure names. -.\" Likewise, the macros need to be identified by -.\" "ELF32_xxx" -.\" or -.\" "ELF64_xxx". -.\" .PP -このヘッダファイルは上記のヘッダを C 言語の構造体で記述し、 また動的セクション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。 -.PP -以下の型は N ビットアーキテクチャで使われる (N=32,64 であり \fIElfN\fP は \fIElf32\fP または \fIElf64\fP を表し、 -\fIuintN_t\fP は \fIuint32_t\fP または \fIuint64_t\fP を表す): -.in +4n -.nf - -.\" Elf32_Size Unsigned object size -ElfN_Addr 符号なしのプログラムアドレス, uintN_t -ElfN_Off 符号なしのファイルオフセット, uintN_t -ElfN_Section 符号なしのセクションインデックス, uint16_t -ElfN_Versym 符号なしのバージョンシンボル情報, uint16_t -Elf_Byte unsigned char -ElfN_Half uint16_t -ElfN_Sword int32_t -ElfN_Word uint32_t -ElfN_Sxword int64_t -ElfN_Xword uint64_t -.fi -.in -.PP -(注意: *BSD での用語は少し異なる。 \fIElf64_Half\fP は \fIElf32_Half\fP の 2 倍であり、 -\fIElf64Quarter\fP が \fIuint16_t\fP に用いられる。 混乱を避けるため、以下では、これらの型はサイズが自明な型に置き換えてある。) -.PP -このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "自然な" サイズと配置の指針に従う。 -必要な場合、データ構造体では明示的なパディング (padding, 詰め込み) が行なわれる。これは 4 バイトオブジェクトに対する 4 -バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどである。 -.PP -ELF ヘッダは型 \fIElf32_Ehdr\fP または \fIElf64_Ehdr\fP で記述される: -.in +4n -.nf - -#define EI_NIDENT 16 - -typedef struct { - unsigned char e_ident[EI_NIDENT]; - uint16_t e_type; - uint16_t e_machine; - uint32_t e_version; - ElfN_Addr e_entry; - ElfN_Off e_phoff; - ElfN_Off e_shoff; - uint32_t e_flags; - uint16_t e_ehsize; - uint16_t e_phentsize; - uint16_t e_phnum; - uint16_t e_shentsize; - uint16_t e_shnum; - uint16_t e_shstrndx; -} ElfN_Ehdr; -.fi -.in -.PP -.\" .Bl -tag -width "e_phentsize" -フィールドは以下の意味を持つ: -.TP 12 -\fIe_ident\fP -このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解釈 (interpret) するために指定される。 -この配列内のすべてのものは、接頭辞 \fBEI_\fP で始まるマクロの名前が付き、接頭辞 \fBELF\fP で始まる値を持つ。 以下のマクロが定義されている: -.RS 12 -.\" .Bl -tag -width "EI_VERSION" \" EI_ABIVERSION -.TP 12 -\fBEI_MAG0\fP -マジックナンバーの第 1 バイト。 \fBELFMAG0\fP で埋めなければならない。 (0: 0x7f) -.TP -\fBEI_MAG1\fP -マジックナンバーの第 2 バイト。 \fBELFMAG1\fP で埋めなければならない。 (1: \(aqE\(aq) -.TP -\fBEI_MAG2\fP -マジックナンバーの第 3 バイト。 \fBELFMAG2\fP で埋めなければならない。 (2: \(aqL\(aq) -.TP -\fBEI_MAG3\fP -マジックナンバーの第 4 バイト。 \fBELFMAG3\fP で埋めなければならない。 (3: \(aqF\(aq) -.TP -\fBEI_CLASS\fP -第 5 バイトは、このバイナリのアーキテクチャを示す: -.RS 12 -.\" .Bl -tag -width "ELFCLASSNONE" -compact -.TP 14 -.PD 0 -\fBELFCLASSNONE\fP -このクラスは不正である。 -.TP -\fBELFCLASS32\fP -32 ビットアーキテクチャを定義する。 ファイルと仮想アドレス空間が 4 ギガバイトまでのマシンをサポートする。 -.TP -\fBELFCLASS64\fP -64 ビットアーキテクチャを定義する。 -.PD -.RE -.\" .El -.TP -\fBEI_DATA\fP -.\" .Bl -tag -width "ELFDATA2LSB" -compact -第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定する。 現在のところ以下のエンコーディングがサポートされている: -.RS 12 -.TP 14 -.PD 0 -\fBELFDATANONE\fP -不明なデータフォーマット。 -.TP -\fBELFDATA2LSB\fP -2 の補数、リトルエンディアン。 -.TP -\fBELFDATA2MSB\fP -2 の補数、ビッグエンディアン。 -.PD -.RE -.\" .El -.TP -.PD 0 -\fBEI_VERSION\fP -.\" .Bl -tag -width "EV_CURRENT" -compact -ELF 仕様のバージョン番号: -.RS 12 -.TP 14 -\fBEV_NONE\fP -不正なバージョン。 -.TP -\fBEV_CURRENT\fP -現在のバージョン。 -.PD -.RE -.\".El -.TP -\fBEI_OSABI\fP -.\" .Bl -tag -width "ELFOSABI_STANDALONE" -compact -このバイトはオブジェクトのターゲットとなる オペレーティングシステムと ABI を示す。 他の ELF 構造体のフィールドには、 -プラットフォーム固有の意味を持つフラグや値を持つものもある; これらのフィールドの解釈は、このバイトの値によって決定される。 例えば: -.RS 12 -.TP 20 -.PD 0 -\fBELFOSABI_NONE\fP -.\" 0 -ELFOSABI_SYSV と同じ。 -.TP -\fBELFOSABI_SYSV\fP -.\" 0 -.\" synonym: ELFOSABI_NONE -UNIX System V ABI. -.TP -\fBELFOSABI_HPUX\fP -.\" 1 -HP\-UX ABI. -.TP -\fBELFOSABI_NETBSD\fP -.\" 2 -NetBSD ABI. -.TP -\fBELFOSABI_LINUX\fP -.\" 3 -.\" .TP -.\" .BR ELFOSABI_HURD -.\" Hurd ABI. -.\" 4 -.\" .TP -.\" .BR ELFOSABI_86OPEN -.\" 86Open Common IA32 ABI. -.\" 5 -Linux ABI. -.TP -\fBELFOSABI_SOLARIS\fP -.\" 6 -.\" .TP -.\" .BR ELFOSABI_MONTEREY -.\" Monterey project ABI. -.\" Now replaced by -.\" ELFOSABI_AIX -.\" 7 -Solaris ABI. -.TP -\fBELFOSABI_IRIX\fP -.\" 8 -IRIX ABI. -.TP -\fBELFOSABI_FREEBSD\fP -.\" 9 -FreeBSD ABI. -.TP -\fBELFOSABI_TRU64\fP -.\" 10 -.\" ELFOSABI_MODESTO -.\" 11 -.\" ELFOSABI_OPENBSD -.\" 12 -TRU64 UNIX ABI. -.TP -\fBELFOSABI_ARM\fP -.\" 97 -ARM アーキテクチャ ABI. -.TP -\fBELFOSABI_STANDALONE\fP -.\" 255 -.\" .El -スタンドアロン (組み込み) ABI. -.PD -.RE -.TP -\fBEI_ABIVERSION\fP -このバイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 このフィールドは互換性のない ABI -のバージョンを区別するために使われる。 このバージョン番号の解釈は、 \fBEI_OSABI\fP フィールドで識別される ABI に依存する。 -この仕様に準拠するアプリケーションは、値 0 を使う。 -.TP -\fBEI_PAD\fP -.\" As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is -.\" not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html) -.\" It looks to be a BSDism -.\" .TP -.\" .BR EI_BRAND -.\" Start of architecture identification. -パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これらを読み込むプログラムは、これらのバイトを無視すべきである。 -現在使われていないバイトに意味が与えられる場合、 \fBEI_PAD\fP の値は将来変更されるかもしれない。 -.TP -\fBEI_NIDENT\fP -.\" .El -\fIe_ident\fP 配列のサイズ。 -.RE -.TP -\fIe_type\fP -この構造体のメンバはオブジェクトファイルタイプを示す: -.RS 12 -.\" .Bl -tag -width "ET_NONE" -compact -.TP 12 -.PD 0 -\fBET_NONE\fP -不明なタイプ。 -.TP -\fBET_REL\fP -再配置可能ファイル。 -.TP -\fBET_EXEC\fP -実行可能ファイル。 -.TP -\fBET_DYN\fP -共有オブジェクト。 -.TP -\fBET_CORE\fP -コアファイル。 -.PD -.RE -.\" .El -.TP -\fIe_machine\fP -このメンバは個々のファイルに必要とされるアーキテクチャを指定する。 例: -.RS 12 -.\" .Bl -tag -width "EM_MIPS_RS4_BE" -compact -.TP 12 -.PD 0 -\fBEM_NONE\fP -.\" 0 -不明なマシン。 -.TP -\fBEM_M32\fP -.\" 1 -AT&T WE 32100. -.TP -\fBEM_SPARC\fP -.\" 2 -Sun Microsystems SPARC. -.TP -\fBEM_386\fP -.\" 3 -Intel 80386. -.TP -\fBEM_68K\fP -.\" 4 -Motorola 68000. -.TP -\fBEM_88K\fP -.\" 5 -.\" .TP -.\" .BR EM_486 -.\" Intel 80486. -.\" 6 -Motorola 88000. -.TP -\fBEM_860\fP -.\" 7 -Intel 80860. -.TP -\fBEM_MIPS\fP -.\" 8 -.\" EM_S370 -.\" 9 -.\" .TP -.\" .BR EM_MIPS_RS4_BE -.\" MIPS RS4000 (big-endian only). Deprecated. -.\" 10 -.\" EM_MIPS_RS3_LE (MIPS R3000 little-endian) -.\" 10 -MIPS RS3000 (ビッグエンディアンのみ)。 -.TP -\fBEM_PARISC\fP -.\" 15 -HP/PA. -.TP -\fBEM_SPARC32PLUS\fP -.\" 18 -拡張命令セット付き SPARC。 -.TP -\fBEM_PPC\fP -.\" 20 -PowerPC. -.TP -\fBEM_PPC64\fP -.\" 21 -PowerPC 64\-bit. -.TP -\fBEM_S390\fP -.\" 22 -IBM S/390 -.TP -\fBEM_ARM\fP -.\" 40 -Advanced RISC Machines -.TP -\fBEM_SH\fP -.\" 42 -Renesas SuperH -.TP -\fBEM_SPARCV9\fP -.\" 43 -SPARC v9 64\-bit. -.TP -\fBEM_IA_64\fP -.\" 50 -Intel Itanium -.TP -\fBEM_X86_64\fP -.\" 62 -AMD x86\-64 -.TP -\fBEM_VAX\fP -.\" 75 -.\" EM_CRIS -.\" 76 -.\" .TP -.\" .BR EM_ALPHA -.\" Compaq [DEC] Alpha. -.\" .TP -.\" .BR EM_ALPHA_EXP -.\" Compaq [DEC] Alpha with enhanced instruction set. -DEC Vax. -.PD -.RE -.\" .El -.TP -\fIe_version\fP -.\" .Bl -tag -width "EV_CURRENT" -compact -このメンバはファイルバージョンを示す: -.RS 12 -.TP 12 -.PD 0 -\fBEV_NONE\fP -不正なバージョン。 -.TP -\fBEV_CURRENT\fP -.\" .El -現在のバージョン。 -.PD -.RE -.TP -\fIe_entry\fP -このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレスを指定する。 ファイルにエントリポイントが関連付けられていない場合、 -このメンバには 0 が入る。 -.TP -\fIe_phoff\fP -このメンバはプログラムヘッダテーブルの ファイルオフセット (バイト単位) を保持する。 ファイルにプログラムヘッダテーブルがない場合、 このメンバには -0 が入る。 -.TP -\fIe_shoff\fP -このメンバはセクションヘッダテーブルの ファイルオフセット (バイト単位) を保持する。 ファイルにセクションヘッダテーブルがない場合、 このメンバには -0 が入る。 -.TP -\fIe_flags\fP -このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグの名前は EF_`machine_flag' という形式である。 -現在のところフラグは定義されていない。 -.TP -\fIe_ehsize\fP -このメンバは ELF ヘッダサイズ (バイト単位) を保持する。 -.TP -\fIe_phentsize\fP -このメンバはこのファイルのプログラムヘッダテーブルの 1 エントリあたりのサイズ (バイト単位) を保持する; 全てのエントリは同じサイズである。 -.TP -\fIe_phnum\fP -このメンバはプログラムヘッダテーブルにあるエントリの数を保持する。 よって \fIe_phentsize\fP と \fIe_phnum\fP の積がテーブルサイズ -(バイト単位) になる。 ファイルにプログラムヘッダがない場合、 \fIe_phnum\fP は値 0 を保持する。 -.IP -.\" This is a Linux extension, added in Linux 2.6.34. -.\" .Bl -tag -width "PN_XNUM" -プログラムヘッダテーブルのエントリー数が \fBPN_XNUM\fP (0xffff) 以上の場合、 -このメンバは \fBPN_XNUM\fP (0xffff) になり、プログラムヘッダテーブルの -エントリーの実際の数は、セクションヘッダテーブルの最初のエントリーの -\fIsh_info\fP メンバに格納される。それ以外の場合、セクションヘッダテーブルの -最初のエントリーの \fIsh_info\fP メンバには値 0 が格納される。 -.RS 12 -.TP 9 -\fBPN_XNUM\fP -\fIe_phnum\fP が保持できる最大値を表し、 0xffff に定義されている。 \fIe_phnum\fP -はプログラムヘッダの実際の数がどこに割り当てられているかを示す。 -.PD -.RE -.\" .El -.IP -.TP -\fIe_shentsize\fP -このメンバはセクションヘッダのサイズ (バイト単位) を保持する。 セクションヘッダはセクションヘッダテーブルの 1 つのエントリである; -全てのエントリは同じサイズである。 -.TP -\fIe_shnum\fP -このメンバはセクションヘッダテーブルにあるエントリの数を保持する。 よって \fIe_shentsize\fP と \fIe_shnum\fP -の積はセクションヘッダテーブルのサイズ (バイト単位) になる。 ファイルにセクションヘッダテーブルがない場合、 \fIe_shnum\fP は値 0 -を保持する。 -.IP -セクションヘッダテーブルのエントリー数が \fBSHN_LORESERVE\fP (0xff00) 以上の場合、 -\fIe_shnum\fP には値 0 が入り、セクションヘッダテーブルのエントリーの実際の数は -セクションヘッダテーブルの最初のエントリーの \fIsh_size\fP メンバに格納される。 -それ以外の場合、セクションヘッダテーブルの最初のエントリーの \fIsh_info\fP メンバ -には値 0 が格納される。 -.TP -\fIe_shstrndx\fP -このメンバはセクション名文字列テーブルに関連付けられたエントリの セクションヘッダテーブルインデックスを保持する。 -ファイルにセクション名文字列テーブルがない場合、 このメンバは値 \fBSHN_UNDEF\fP を保持する。 \fBSHN_UNDEF\fP. -.IP -セクション名前文字列テーブルのインデックスが \fBSHN_LORESERVE\fP (0xff00) 以上の -場合、このメンバには \fBSHN_XINDEX\fP (0xffff) が入り、セクション名前文字列 -テーブルの実際のインデックスはセクションヘッダテーブルの最初のエントリーの -\fIsh_link\fP メンバに格納される。それ以外の場合、セクションヘッダテーブルの -最初のエントリーの \fIsh_link\fP メンバには値 0 が格納される。 -.RS 12 -.\" .Bl -tag -width "SHN_LORESERVE" -.TP 14 -\fBSHN_UNDEF\fP -この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であることを表す。 例えば、セクション番号 \fBSHN_UNDEF\fP -に関連づけて「定義」されたシンボルは、「未定義」なシンボルである。 -.TP -\fBSHN_LORESERVE\fP -この値は予約済みのインデックス領域の下限を指定する。 -.TP -\fBSHN_LOPROC\fP -この値以上で \fBSHN_HIPROC\fP 以下の値はプロセッサ固有の意味に予約されている。 -.TP -\fBSHN_HIPROC\fP -この値以下で \fBSHN_HIPROC\fP 以上の値はプロセッサ固有の意味に予約されている。 -.TP -\fBSHN_ABS\fP -この値は対応する参照の絶対値を指定する。 例えば、セクション番号 \fBSHN_ABS\fP に関連づけられたシンボルは絶対値を保持し、再配置に影響されない。 -.TP -\fBSHN_COMMON\fP -このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割り当て external 変数のような、 -共通シンボルである。 -.TP -\fBSHN_HIRESERVE\fP -この値は予約されたインデックスの範囲の上限を指定する。 \fBSHN_LORESERVE\fP と \fBSHN_HIRESERVE\fP は含まれる。 -この値はセクションヘッダテーブルを参照しない。 つまり、セクションヘッダテーブルは 予約されたインデックスのエントリを \fI含まない 。\fP -.RE -.\" .El -.\" .El -.PP -実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 システムによるプログラム実行準備に必要な、 -セグメント等の情報を記述する構造体の配列である。 オブジェクトファイルの \fIセグメント\fP には 1 つ以上の \fIセクション\fP が含まれる。 -プログラムヘッダは実行可能ファイルと共有オブジェクトファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダサイズを ELF ヘッダの -\fIe_phentsize\fP メンバと \fIe_phnum\fP メンバで指定する。 ELF プログラムヘッダは \fIElf32_Phdr\fP 型または -\fIElf64_Phdr\fP 型で記述される (どちらになるかはアーキテクチャ依存): -.in +4n -.nf - -typedef struct { - uint32_t p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - uint32_t p_filesz; - uint32_t p_memsz; - uint32_t p_flags; - uint32_t p_align; -} Elf32_Phdr; -.fi -.in -.in +4n -.nf - -typedef struct { - uint32_t p_type; - uint32_t p_flags; - Elf64_Off p_offset; - Elf64_Addr p_vaddr; - Elf64_Addr p_paddr; - uint64_t p_filesz; - uint64_t p_memsz; - uint64_t p_align; -} Elf64_Phdr; -.fi -.in -.PP -.\" .Bl -tag -width "p_offset" -32 ビットと 64 ビットのプログラムヘッダの主な違いは、構造体における \fIp_flags\fP メンバの位置にある。 -.TP 12 -\fIp_type\fP -.\" .Bl -tag -width "PT_DYNAMIC" -Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述しているか、 またはこの配列要素の情報をどのように解釈するか、を表す。 -.RS 12 -.TP 12 -\fBPT_NULL\fP -この配列要素は使用されておらず、その他のメンバの値は未定義である。 これにより、このプログラムヘッダのエントリは無視される。 -.TP -\fBPT_LOAD\fP -この配列要素は \fIp_filesz\fP と \fIp_memsz\fP で記述されるロード可能セグメントを指定する。 -このファイルからのバイトデータが、このメモリセグメントの先頭からマップされる。 セグメントのメモリサイズ \fISy\fPp_memsz がファイルサイズ -\fISy\fPp_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント初期化データの後ろに置かれると定められている。 -ファイルサイズはメモリサイズより大きくてはいけない。 プログラムヘッダテーブルのロード可能セグメントエントリは、 \fIp_vaddr\fP -メンバの昇順にソートされて出現する。 -.TP -\fBPT_DYNAMIC\fP -この配列要素は動的リンク情報を指定する。 -.TP -\fBPT_INTERP\fP -この配列要素は、インタプリタとして起動されるパス名 (NULL 文字終端) の位置とサイズを指定する。 このセグメント型は -(共有オブジェクトにもあるかも知れないが) 実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファイルに 2 -回以上出現してはならない。 もし存在する場合、このセグメント型は 全てのロード可能セグメントエントリより前になければならない。 -.TP -\fBPT_NOTE\fP -この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。 -.TP -\fBPT_SHLIB\fP -このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素を保持するプログラムは ABI に準拠しない。 -.TP -\fBPT_PHDR\fP -この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリイメージ双方における プログラムヘッダテーブル自身の位置とサイズを指定する。 -このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、このセグメント型が存在してもよいのは、プログラムヘッダテーブルが -プログラムのメモリイメージの一部である場合のみである。 もし存在する場合、これは全てのロード可能セグメントエントリより 前になければならない。 -.TP -\fBPT_LOPROC\fP -この値以上で \fBPT_HIPROC\fP 以下の値はプロセッサ固有の意味に予約されている。 -.TP -\fBPT_HIPROC\fP -この値以下で \fBPT_LOPROC\fP 以上の値はプロセッサ固有の意味に予約されている。 -.TP -\fBPT_GNU_STACK\fP -.\" .El -GNU 拡張であり、Linux カーネルが \fIp_flags\fP のメンバーにセットされたフラグ経由でスタックの状態を制御するために使用する。 -.RE -.TP -\fIp_offset\fP -このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを保持する。 -.TP -\fIp_vaddr\fP -このメンバは、セグメントの先頭バイトがある メモリの仮想アドレスを保持する。 -.TP -\fIp_paddr\fP -物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスとして予約されている。 BSD ではこのメンバは使用されない。0 -でなければならない。 -.TP -\fIp_filesz\fP -このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でもよい。 -.TP -\fIp_memsz\fP -このメンバはセグメントのメモリイメージのバイト数を保持する。 これは 0 でもよい。 -.TP -\fIp_flags\fP -.\" .Bl -tag -width "PF_X" -compact -このメンバはセグメントに関連するフラグのビットマップを保持する: -.RS 12 -.TP -.PD 0 -\fBPF_X\fP -実行可能セグメント。 -.TP -\fBPF_W\fP -書き込み可能セグメント. -.TP -\fBPF_R\fP -読み込み可能セグメント。 -.PD -.RE -.\" .El -.IP -テキストセグメントは一般にフラグ \fBPF_X\fP と \fBPF_R\fP を持つ。 データセグメントは一般に \fBPF_X\fP, \fBPF_W\fP, -\fBPF_R\fP を持つ。 -.TP -\fIp_align\fP -.\" .El -このメンバは、セグメントがメモリおよびファイルにおいて配置 (align) される値を保持する。 -ロード可能プロセスセグメントは、ページサイズを法として \fIp_vaddr\fP と \fIp_offset\fP と合同でなければならない -(訳注:「p_vaddr mod ページサイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 -という値は配置が必要ないことを意味する。 それ以外の場合、 \fIp_align\fP は正で 2 の整数乗でなければならず、 \fIp_vaddr\fP は -\fIp_align\fP を法として \fIp_offset\fP と合同でなければならない (訳注:「p_vaddr mod p_align = -p_offset mod p_align」でなければならない)。 -.PP -ファイルのセクションヘッダテーブルには、 全てのファイルセクションの場所が記述されている。 セクションヘッダテーブルは \fIElf32_Shdr\fP -構造体または \fIElf64_Shdr\fP 構造体の配列である。 ELF ヘッダの \fIe_shoff\fP メンバはファイルの先頭から -セクションヘッダテーブルへのバイトオフセットである。 \fIe_shnum\fP はセクションヘッダテーブルに含まれるエントリの数を保持する。 -\fIe_shentsize\fP は各エントリのサイズ (バイト単位) を保持する。 -.PP -.\" .Bl -tag -width "SHN_LORESERVE" -セクションヘッダテーブルインデックスは、この配列の添字である。 -いくつかのセクションヘッダテーブルインデックスは予約されている。予約されて -いるのは、最初のエントリーと、\fBSHN_LORESERVE\fP と \fBSHN_HIRESERVE\fP の間の -インデックスである。 -最初のエントリーは、ELF 拡張で \fIe_phnum\fP, \fIe_shnum\fP, \fIe_strndx\fP に使用 -される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。 -オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはない。 -.RS -.TP 14 -\fBSHN_UNDEF\fP -この値は未定義・不明・無関係・無意味なセクション参照の印となる。 -.TP -\fBSHN_LORESERVE\fP -この値は予約済みのインデックス領域の下限を指定する。 -.TP -\fBSHN_LOPROC\fP -この値以上で \fBSHN_HIPROC\fP 以下の値はプロセッサ固有の意味に予約されている。 -.TP -\fBSHN_HIPROC\fP -この値以下で \fBSHN_HIPROC\fP 以上の値はプロセッサ固有の意味に予約されている。 -.TP -\fBSHN_ABS\fP -この値は対応する参照の絶対値を指定する。 例えば、セクション番号 \fBSHN_ABS\fP に関連して定義されているシンボルは、 -絶対値を保持しているので、再配置に影響されない。 -.TP -\fBSHN_COMMON\fP -このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の未割り当て外部変数のような共通シンボルである。 -.TP -\fBSHN_HIRESERVE\fP -この値は予約済みのインデックス領域の上限を指定する。 システムは \fBSHN_LORESERVE\fP と \fBSHN_HIRESERVE\fP -を含む範囲を予約する。 セクションヘッダテーブルは予約されたインデックスに対応するエントリを持たない。 -.RE -.\" .El -.PP -セクションヘッダは以下の構造体を持つ: -.in +4n -.nf - -typedef struct { - uint32_t sh_name; - uint32_t sh_type; - uint32_t sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - uint32_t sh_size; - uint32_t sh_link; - uint32_t sh_info; - uint32_t sh_addralign; - uint32_t sh_entsize; -} Elf32_Shdr; -.fi -.in -.in +4n -.nf - -typedef struct { - uint32_t sh_name; - uint32_t sh_type; - uint64_t sh_flags; - Elf64_Addr sh_addr; - Elf64_Off sh_offset; - uint64_t sh_size; - uint32_t sh_link; - uint32_t sh_info; - uint64_t sh_addralign; - uint64_t sh_entsize; -} Elf64_Shdr; -.fi -.in -.PP -.\" .Bl -tag -width "sh_addralign" -32 ビットと 64 ビットのセクションヘッダには実際の違いはない。 -.TP 10 -\fIsh_name\fP -このメンバはセクション名を定める。 この値はセクションヘッダ文字列テーブルセクションのインデックスであり、 NULL -文字で終端された文字列の場所を示す。 -.TP -\fIsh_type\fP -.\" .Bl -tag -width "SHT_PROGBITS" -このメンバはセクションの内容と意味が含まれるカテゴリを示す。 -.RS 10 -.TP 15 -\fBSHT_NULL\fP -この値はセクションヘッダが不活性であることを示す。 これは関連するセクションを持たない。 このセクションヘッダの他のメンバは、未定義の値を持つ。 -.TP -\fBSHT_PROGBITS\fP -このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意味は、ひとえにプログラムによって決定される。 -.TP -\fBSHT_SYMTAB\fP -このセクションはシンボルテーブルを保持する。 一般には \fBSHT_SYMTAB\fP はリンク編集のためのシンボルを提供するが、 動的リンクにも使われる。 -完全なシンボルテーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェクトファイルも \fBSHT_DYNSYM\fP -セクションを持つことができる。 -.TP -\fBSHT_STRTAB\fP -このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列テーブルセクションを持つことができる。 -.TP -\fBSHT_RELA\fP -このセクションは明示的な加数 (addend) を持つ再配置エントリを保持する。 再配置エントリの型は、オブジェクトファイルの 32 ビットクラスでは -\fIElf32_Rela\fP である。 オブジェクトファイルは複数の再配置セクションを持つことができる。 -.TP -\fBSHT_HASH\fP -このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェクトは、 シンボルハッシュテーブルを含んでいなければならない。 -オブジェクトファイルは 1 つのハッシュテーブルのみを持つことができる。 -.TP -\fBSHT_DYNAMIC\fP -このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動的セクションのみを持つことができる。 -.TP -\fBSHT_NOTE\fP -このセクションはファイルに何らかの印を付ける情報を保持する。 -.TP -\fBSHT_NOBITS\fP -このタイプのセクションはファイルの領域を使わないという以外は、 \fBSHT_PROGBITS\fP と似ている。 このセクションは 1 バイトも含まないが、 -\fIsh_offset\fP メンバは概念的なファイルオフセットを持つ。 -.TP -\fBSHT_REL\fP -このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフセットの型は、オブジェクトファイルの 32 ビットクラスでは -\fIElf32_Rel\fP である。 オブジェクトファイルは複数の再配置セクションを持つことができる。 -.TP -\fBSHT_SHLIB\fP -このセクションは予約されているが、意味は指定されていない。 -.TP -\fBSHT_DYNSYM\fP -このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイルは \fBSHT_SYMTAB\fP セクションも含むことができる。 -.TP -\fBSHT_LOPROC\fP -この値以上で \fBSHT_HIPROC\fP 以下の範囲はプロセッサ固有の意味に予約されている。 -.TP -\fBSHT_HIPROC\fP -この値以下で \fBSHT_LOPROC\fP 以上の範囲はプロセッサ固有の意味に予約されている。 -.TP -\fBSHT_LOUSER\fP -この値はアプリケーションプログラムのために予約される インデックス範囲の下限を指定する。 -.TP -\fBSHT_HIUSER\fP -.\" .El -この値はアプリケーションプログラムのために予約される インデックス範囲の上限を指定する。 \fBSHT_LOUSER\fP から \fBSHT_HIUSER\fP -の間のセクションタイプは、 現在または将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで使用することができる。 -.RE -.TP -\fIsh_flags\fP -.\" .Bl -tag -width "SHF_EXECINSTR" -compact -様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグビットが \fIsh_flags\fP -に設定された場合、そのセクションについての属性は "オン" になる。 それ以外の場合、属性が "オフ" であるか属性が適用されない。 未定義の属性は 0 -に設定される。 -.RS 10 -.TP 15 -\fBSHF_WRITE\fP -このセクションはプロセス実行中に書き込み可能なデータを含む。 -.TP -\fBSHF_ALLOC\fP -このセクションはプロセス実行中にメモリを使用する。 制御セクションの中には、オブジェクトファイルのメモリイメージには 存在しないものもある。 -そうしたセクションの場合、この属性はオフである。 -.TP -\fBSHF_EXECINSTR\fP -このセクションは実行可能なマシン命令を含む。 -.TP -\fBSHF_MASKPROC\fP -このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。 -.RE -.\" .El -.TP -\fIsh_addr\fP -このセクションがプロセスのメモリイメージにある場合、 このメンバはセクションの最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは -0 である。 -.TP -\fIsh_offset\fP -このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフセットを保持する。 セクションタイプ \fBSHT_NOBITS\fP -はファイルの領域を全く使用せず、このタイプの \fIsh_offset\fP メンバはファイルの概念的な位置を示す。 -.TP -\fIsh_size\fP -このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが \fBSHT_NOBITS\fP でない限り、そのセクションはファイル中の -\fIsh_size\fP バイトを使用する。 タイプが \fBSHT_NOBITS\fP のセクションはサイズが 0 でないが、ファイルの領域を使用しない。 -.TP -\fIsh_link\fP -このメンバは、セクションヘッダテーブルインデックスリンクを保持する。 この解釈はセクションタイプに依存する。 -.TP -\fIsh_info\fP -このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。 -.TP -\fIsh_addralign\fP -アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を保持する場合、 -システムは全てのセクションについて倍長語の配置を保証しなければならない。 つまり、 \fIsh_addr\fP の値は \fIsh_addralign\fP -の値を法として 0 と合同でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならない)。 2 の 0 -乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に制約がないことを意味する。 -.TP -\fIsh_entsize\fP -.\" .El -シンボルテーブルのような固定サイズエントリのテーブルを保持する セクションもある。 このようなセクションでは、 このメンバは各エントリのサイズ -(バイト単位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリのテーブルを保持しない。 -.PP -.\" .Bl -tag -width ".shstrtab" -さまざまなセクションにプログラム情報・制御情報が保持される: -.TP 10 -\&\fI.bss\fP -このセクションはプログラムのメモリイメージに配置される 非初期化データを保持する。 定義上、システムはプログラムの実行開始時に、データを 0 -で初期化する。 このセクションのタイプは \fBSHT_NOBITS\fP である。 属性タイプは \fBSHF_ALLOC\fP と \fBSHF_WRITE\fP -である。 -.TP -\&\fI.comment\fP -このセクションはバージョン制御情報を保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 属性タイプは使用されない。 -.TP -\&\fI.ctors\fP -このセクションは C++ コンストラクタ関数への初期化されたポインタを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性タイプは \fBSHF_ALLOC\fP と \fBSHF_WRITE\fP である。 -.TP -\&\fI.data\fP -このセクションはプログラムのメモリイメージに配置される 初期化済みデータを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性タイプは \fBSHF_ALLOC\fP と \fBSHF_WRITE\fP である。 -.TP -\&\fI.data1\fP -このセクションはプログラムのメモリイメージに配置される 初期化済みデータを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性タイプは \fBSHF_ALLOC\fP と \fBSHF_WRITE\fP である。 -.TP -\&\fI.debug\fP -このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されていない。 このセクションのタイプは \fBSHT_PROGBITS\fP -である。 属性タイプは使用されない。 -.TP -\&\fI.dtors\fP -このセクションは C++ デストラクタ関数への初期化されたポインタを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性タイプは \fBSHF_ALLOC\fP と \fBSHF_WRITE\fP である。 -.TP -\&\fI.dynamic\fP -このセクションは動的リンク情報を保持する。 このセクションの属性は \fBSHF_ALLOC\fP ビットを含む。 \fBSHF_WRITE\fP -ビットが設定されるか否かはプロセッサによる。 このセクションのタイプは \fBSHT_DYNAMIC\fP である。 上記の属性を参照すること。 -.TP -\&\fI.dynstr\fP -このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字列はシンボルテーブルエントリと 関連づけられた名前を表す。 -このセクションのタイプは \fBSHT_STRTAB\fP である。 使用される属性タイプは \fBSHF_ALLOC\fP である。 -.TP -\&\fI.dynsym\fP -このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプは \fBSHT_DYNSYM\fP である。 使用される属性タイプは -\fBSHF_ALLOC\fP である。 -.TP -\&\fI.fini\fP -このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセスが正常に終了した場合、システムはこのセクションにある -コードを配置して実行する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 使用される属性タイプは \fBSHF_ALLOC\fP と -\fBSHF_EXECINSTR\fP である。 -.TP -\&\fI.gnu.version\fP -このセクションはバージョン・シンボル・テーブルを保持する。 その内容は \fIElfN_Half\fP 要素の配列である。 このセクションのタイプは -\fBSHT_GNU_versym\fP である。 使用される属性タイプは \fBSHF_ALLOC\fP である。 -.TP -\&\fI.gnu.version_d\fP -このセクションはバージョンシンボルの定義を保持する。 その内容は \fIElfN_Verdef\fP 構造体のテーブルである。 このセクションのタイプは -\fBSHT_GNU_verdef\fP である。 使用される属性タイプは \fBSHF_ALLOC\fP である。 -.TP -\&\fI.gnu.version_r\fP -このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は \fIElfN_Verneed\fP 構造体のテーブルである。 -このセクションのタイプは \fBSHT_GNU_versym\fP である。 使用される属性タイプは \fBshf_alloc\fP である。 -.TP -\&\fI.got\fP -このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性はプロセッサ毎に異なる。 -.TP -\&\fI.hash\fP -このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは \fBSHT_HASH\fP である。 使用される属性は \fBSHF_ALLOC\fP -である。 -.TP -\&\fI.init\fP -このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プログラムが実行を開始すると、 -システムはメインプログラムエントリポイントを呼び出す前に、 このセクションにあるコードを配置して実行する。 このセクションはのタイプは -\fBSHT_PROGBITS\fP である。 使用される属性は \fBSHF_ALLOC\fP と \fBSHF_EXECINSTR\fP である。 -.TP -\&\fI.interp\fP -このセクションはプログラムインタプリタのパス名を保持する。 ファイルにこのセクションを含むロード可能セグメントがある場合、 そのセクションの属性には -\fBSHF_ALLOC\fP ビットが含まれる。 それ以外の場合このビットはオフになる。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -.TP -\&\fI.line\fP -このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプログラムソースコードとマシンコードの対応関係が記述される。 -内容は指定されていない。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 属性タイプは使用されない。 -.TP -\&\fI.note\fP -このセクションは "Note Section" 形式で情報を保持する。このセクションのタイプ -は \fBSHT_NOTE\fP である。属性タイプは使用されない。通常 OpenBSD ネイティブ実行 -可能ファイルは自身を識別するために \fI.note.openbsd.ident\fP セクションを持つ。 -これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレーショ -ンテストを回避できる。 -.TP -\&\fI.note.GNU\-stack\fP -このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使用される。 セクションのタイプは \fBSHT_PROGBITS\fP -である。使用される属性は \fBSHF_EXECINSTR\fP だけである。この属性は GNU リンカに対して オブジェクトファイルが実行可能なスタック -(executable stack) を必要とする 示すものである。 -.TP -\&\fI.plt\fP -このセクションは手続き (procedure) リンクテーブルを保持する。 このセクションのタイプは \fBSHT_PROGBITS\fP である。 -属性はプロセッサ毎に異なる。 -.TP -\&\fI.relNAME\fP -このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含むロード可能セグメントを持っている場合、 このセクションの属性は -\fBSHF_ALLOC\fP ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 "NAME" -は再配置が適用されるセクションが指定される。 よって \fB.text\fP についての再配置セクションは、通常は \fB.rel.text\fP -という名前を持つ。 このセクションのタイプは \fBSHT_REL\fP である。 -.TP -\&\fI.relaNAME\fP -このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含むロード可能セグメントを持っている場合、 このセクションの属性は -\fBSHF_ALLOC\fP ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 "NAME" -は再配置が適用されるセクションが指定される。 よって \fB.text\fP についての再配置セクションは、通常は \fB.rela.text\fP -という名前を持つ。 このセクションのタイプは \fBSHT_RELA\fP である。 -.TP -\&\fI.rodata\fP -このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメージにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは -\fBSHT_PROGBITS\fP である。 使用される属性は \fBSHF_ALLOC\fP である。 -.TP -\&\fI.rodata1\fP -このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメージにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは -\fBSHT_PROGBITS\fP である。 使用される属性は \fBSHF_ALLOC\fP である。 -.TP -\&\fI.shstrtab\fP -このセクションはセクション名を保持する。 このセクションのタイプは \fBSHT_STRTAB\fP である。 属性タイプは使用されない。 -.TP -\&\fI.strtab\fP -このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエントリに関連づけられた 名前を表す文字列である。 -ファイルがシンボル文字列テーブルを含むロード可能セグメントを持つ場合、 セクションの属性は \fBSHF_ALLOC\fP ビットを含む。 -それ以外の場合、そのビットはオフである。 このセクションのタイプは \fBSHT_STRTAB\fP である。 -.TP -\&\fI.symtab\fP -このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含むロード可能セグメントを持つ場合、 セクションの属性は -\fBSHF_ALLOC\fP ビットを含む。 それ以外の場合、ビットはオフである。 このセクションのタイプは \fBSHT_SYMTAB\fP である。 -.TP -\&\fI.text\fP -.\" .El -このセクションはプログラムの "テキスト" または実行可能命令を保持する。 セクションのタイプは \fBSHT_PROGBITS\fP である。 -使用される属性は \fBSHF_ALLOC\fP と \fBSHF_EXECINSTR\fP である。 -.PP -文字列テーブルセクションは NULL 文字で終端されたキャラクタ配列 (通常文字列と呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を -シンボル名とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのインデックスとして参照される。 インデックス 0 -の最初のバイトは、NULL バイト (\(aq\e0\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも NULL -文字を保持すると定義されている。 これは全ての文字列が NULL バイトで終端されていることを保証するためである。 -.PP -オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配置または再配置するのに 必要な情報を保持する。 -.in +4n -.nf - -typedef struct { - uint32_t st_name; - Elf32_Addr st_value; - uint32_t st_size; - unsigned char st_info; - unsigned char st_other; - uint16_t st_shndx; -} Elf32_Sym; -.fi -.in -.in +4n -.nf - -typedef struct { - uint32_t st_name; - unsigned char st_info; - unsigned char st_other; - uint16_t st_shndx; - Elf64_Addr st_value; - uint64_t st_size; -} Elf64_Sym; -.fi -.in -.PP -.\" .Bl -tag -width "st_value" -32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。 -.TP 10 -\fIst_name\fP -このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が -0 でない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場合、シンボルテーブルは名前を持たない。 -.TP -\fIst_value\fP -このメンバは関連づけられたシンボルの値を表す。 -.TP -\fIst_size\fP -多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たない場合、またはサイズが不明な場合、 このメンバは 0 である。 -.TP -\fIst_info\fP -.\" .Bl -tag -width "STT_SECTION" -このメンバはシンボルのタイプとバインディング (binding) 属性を指定する: -.RS 10 -.TP 12 -\fBSTT_NOTYPE\fP -シンボルのタイプが定義されていない。 -.TP -\fBSTT_OBJECT\fP -シンボルはデータオブジェクトに関連づけられている。 -.TP -\fBSTT_FUNC\fP -シンボルは関数またはその他の実行コードに関連づけられている。 -.TP -\fBSTT_SECTION\fP -シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエントリは、 主として再配置のために存在し、通常は \fBSTB_LOCAL\fP -バインディングを持つ。 -.TP -\fBSTT_FILE\fP -慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイルの名前を指定する。 ファイルシンボルは \fBSTB_LOCAL\fP -バインディングを持ち、そのセクションインデックスは \fBSHN_ABS\fP である。 ファイルシンボルは、ファイルに他の \fBSTB_LOCAL\fP -シンボルがある場合は、それよりも先に来る。 -.TP -\fBSTT_LOPROC\fP -この値以上で \fBSTT_HIPROC\fP 以下の範囲はプロセッサ固有の意味に予約されている。 -.TP -\fBSTT_HIPROC\fP -.\" .El -.\" .Bl -tag -width "STB_GLOBAL" -この値以下で \fBSTT_LOPROC\fP 以上の範囲はプロセッサ固有の意味に予約されている。 -.TP -\fBSTB_LOCAL\fP -局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名前の局所的シンボルは、お互いに影響を受けることなく、 -複数のファイルに存在できる。 -.TP -\fBSTB_GLOBAL\fP -大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つのファイルで大域的シンボルが定義されていたら、 -他のファイルでは同じシンボルへの参照は未定義でなければならない。 -.TP -\fBSTB_WEAK\fP -弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。 -.TP -\fBSTB_LOPROC\fP -この値以上で \fBSTB_HIPROC\fP 以下の範囲はプロセッサ固有の意味に予約されている。 -.TP -\fBSTB_HIPROC\fP -この値以下で \fBSTB_LOPROC\fP 以上の範囲はプロセッサ固有の意味に予約されている。 -.IP -バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがある: -.IP -\fBELF32_ST_BIND\fP(info) または \fBELF64_ST_BIND\fP(info) \fIst_info\fP -の値からバインディングを取り出す。 -.IP -\fBELF32_ST_TYPE\fP(info) または \fBELF64_ST_TYPE\fP(info) -.br -\fIst_info\fP の値からタイプを取り出す。 -.IP -\fBELF32_ST_INFO\fP(bind, type) または \fBELF64_ST_INFO\fP(bind, type) -.br -バインディングとタイプを \fIst_info\fP の値に変換する。 -.RE -.\" .El -.TP -\fIst_other\fP -.\" .Bl -tag -width "STV_PROTECTED" -このメンバはシンボルの visibility (見える範囲) を規定する。 -.RS 10 -.TP 16 -.PD 0 -\fBSTV_DEFAULT\fP -デフォルトのシンボル visibility ルール。 -.TP -\fBSTV_INTERNAL\fP -プロセッサ固有の隠しクラス。 -.TP -\fBSTV_HIDDEN\fP -シンボルは他のモジュールからは利用できない。 -.TP -\fBSTV_PROTECTED\fP -横取りできず (not preemptible)、公開されない。 -.PD -.PP -visibility 種別を抽出するためのマクロがある。 -.PP -\fBELF32_ST_VISIBILITY\fP(other) または \fBELF64_ST_VISIBILITY\fP(other) -.RE -.\" .El -.TP -\fIst_shndx\fP -.\" .El -各シンボルテーブルエントリは、いくつかのセクションに関連して "定義されている"。 このメンバは関連するセクションヘッダテーブルインデックスを保持する。 -.PP -再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイルはセクションの内容をどのように修正するかに関する -情報を持たなければならない。 これにより、実行可能ファイルと共有オブジェクトファイルは -プロセスのプログラムイメージについての正しい情報を持つことができる。 再配置エントリは以下のようなデータである。 -.PP -加数を必要としない再配置構造体。 -.in +4n -.nf - -typedef struct { - Elf32_Addr r_offset; - uint32_t r_info; -} Elf32_Rel; -.fi -.in -.in +4n -.nf - -typedef struct { - Elf64_Addr r_offset; - uint64_t r_info; -} Elf64_Rel; -.fi -.in -.PP -加数を必要とする再配置構造体。 -.in +4n -.nf - -typedef struct { - Elf32_Addr r_offset; - uint32_t r_info; - int32_t r_addend; -} Elf32_Rela; -.fi -.in -.in +4n -.nf - -typedef struct { - Elf64_Addr r_offset; - uint64_t r_info; - int64_t r_addend; -} Elf64_Rela; -.fi -.in -.\" .Bl -tag -width "r_offset" -.TP 12 -\fIr_offset\fP -このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、この値はセクションの先頭から 再配置で影響を受ける格納単位 (storage -unit) までのバイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この値は再配置で影響を受ける格納単位の仮想アドレスである。 -.TP -\fIr_info\fP -このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 適用される再配置のタイプの両方を与える。 -再配置タイプはプロセッサ毎に異なる。 テキストが再配置エントリの再配置タイプ またはシンボルテーブルインデックスを参照している場合、 それぞれエントリの -\fIr_info\fP メンバに対して、それぞれ \fBELF_[32|64]_R_TYPE\fP と \fBELF[32|64]_R_SYM\fP -を適用した結果を意味する。 -.TP -\fIr_addend\fP -.\" .El -このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される値を計算するために使われる。 -.PP -\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を保持する。 d_tag メンバは d_un の解釈を制御する。 -.in +4n -.nf - -typedef struct { - Elf32_Sword d_tag; - union { - Elf32_Word d_val; - Elf32_Addr d_ptr; - } d_un; -} Elf32_Dyn; -extern Elf32_Dyn _DYNAMIC[]; -.fi -.in -.in +4n -.nf - -typedef struct { - Elf64_Sxword d_tag; - union { - Elf64_Xword d_val; - Elf64_Addr d_ptr; - } d_un; -} Elf64_Dyn; -extern Elf64_Dyn _DYNAMIC[]; -.fi -.in -.\" .Bl -tag -width "d_tag" -.TP 10 -\fId_tag\fP -.\" .Bl -tag -width "DT_SYMBOLIC" -このメンバは以下の値を持つことができる: -.RS 10 -.TP 12 -\fBDT_NULL\fP -動的セクションの終りのマーク -.TP -\fBDT_NEEDED\fP -必要なライブラリの名前への文字列テーブルオフセット -.TP -\fBDT_PLTRELSZ\fP -PLT 再配置 (reloc) テーブルのサイズ (バイト単位) -.TP -\fBDT_PLTGOT\fP -PLT と GOT (または何れか一方) のアドレス -.TP -\fBDT_HASH\fP -シンボルハッシュテーブルのアドレス -.TP -\fBDT_STRTAB\fP -文字列テーブルのアドレス -.TP -\fBDT_SYMTAB\fP -シンボルテーブルのアドレス -.TP -\fBDT_RELA\fP -Rela 再配置テーブルのアドレス -.TP -\fBDT_RELASZ\fP -Rela テーブルのサイズ (バイト単位) -.TP -\fBDT_RELAENT\fP -Rela テーブルエントリのサイズ (バイト単位) -.TP -\fBDT_STRSZ\fP -文字列テーブルのサイズ (バイト単位) -.TP -\fBDT_SYMENT\fP -シンボルテーブルエントリのサイズ (バイト単位) -.TP -\fBDT_INIT\fP -初期化関数のアドレス -.TP -\fBDT_FINI\fP -終了関数のアドレス -.TP -\fBDT_SONAME\fP -共有オブジェクトの名前への文字列テーブルオフセット -.TP -\fBDT_RPATH\fP -ライブラリ検索パスへの文字列テーブルオフセット (推奨されない) -.TP -\fBDT_SYMBOLIC\fP -リンカがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場合は、警告を出す。 -.TP -\fBDT_REL\fP -Rel 再配置テーブルのアドレス -.TP -\fBDT_RELSZ\fP -Rel テーブルのサイズ (バイト単位) -.TP -\fBDT_RELENT\fP -Rel テーブルエントリのサイズ (バイト単位) -.TP -\fBDT_PLTREL\fP -PLT が参照する再配置テーブルのタイプ (Rela または Rel) -.TP -\fBDT_DEBUG\fP -デバッグのために使用されている。内容は定義されていない。 -.TP -\fBDT_TEXTREL\fP -これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されない。 -.TP -\fBDT_JMPREL\fP -PLT 専用の再配置エントリのアドレス -.TP -\fBDT_BIND_NOW\fP -実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカに指示する。 -.TP -\fBDT_RUNPATH\fP -ライブラリ検索パスへの文字列テーブルオフセット -.TP -\fBDT_LOPROC\fP -プロセッサ固有の意味の開始 -.TP -\fBDT_HIPROC\fP -プロセッサ固有の意味の終了 -.RE -.\" .El -.TP -\fId_val\fP -このメンバは様々な意味に解釈される整数値である。 -.TP -\fId_ptr\fP -このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際に、 実際のアドレスは元々のファイルの値と -メモリの基底アドレスから計算される。 ファイルにはこれらのアドレスを修正するための 再配置エントリを含めてはならない。 -.TP -\fI_DYNAMIC\fP -.\" .El -\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリンカに渡される。 -.SH 注意 -.\" OpenBSD -.\" ELF support first appeared in -.\" OpenBSD 1.2, -.\" although not all supported platforms use it as the native -.\" binary file format. -ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 ELF フォーマットは採択された標準である。 -.PP -.\" .SH AUTHORS -.\" The original version of this manual page was written by -.\" .An Jeroen Ruigrok van der Werven -.\" .Aq asmodai@FreeBSD.org -.\" with inspiration from BSDi's -.\" .Bsx -.\" .Nm elf -.\" man page. -\fIe_phnum\fP, \fIe_shnum\fP, \fIe_strndx\fP に対する拡張は、いずれも Linux での拡張で -ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。 -.SH 関連項目 -\fBas\fP(1), \fBgdb\fP(1), \fBld\fP(1), \fBobjdump\fP(1), \fBexecve\fP(2), \fBcore\fP(5) -.PP -Hewlett\-Packard, \fIElf\-64 Object File Format\fP. -.PP -Santa Cruz Operation, \fISystem V Application Binary Interface\fP. -.PP -UNIX System Laboratories, "Object Files", \fIExecutable and Linking Format -(ELF)\fP. -.PP -Sun Microsystems, \fILinker and Libraries Guide\fP. -.PP -AMD64 ABI Draft, \fISystem V Application Binary Interface AMD64 Architecture -Processor Supplement\fP. -.PP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/filesystems.5 b/draft/man5/filesystems.5 index 600b163d..9b363daf 100644 --- a/draft/man5/filesystems.5 +++ b/draft/man5/filesystems.5 @@ -1,5 +1,6 @@ .\" Copyright 1996 Daniel Quinlan (Daniel.Quinlan@linux.org) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2007-12-14 mtk Added Reiserfs, XFS, JFS. .\" @@ -27,7 +28,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH FILESYSTEMS 5 2010\-05\-24 Linux "Linux Programmer's Manual" +.TH FILESYSTEMS 5 2012\-08\-05 Linux "Linux Programmer's Manual" .nh .SH 名前 filesystems \- Linux のファイルシステム種別: minix, ext, ext2, ext3, ext4, @@ -136,15 +137,20 @@ POSIX 形式のパーミッション、デバイスファイル などの情報 Manager が使っている。 .sp \fBsmb\fP ファイルシステムを使うためには ksmbfs パッケージに含まれる 特殊なマウントプログラムが必要である。 ksmbfs は -\fIftp://sunsite.unc.edu/pub/Linux/system/Filesystems/smbfs\fP にある。 +.UR ftp://sunsite.unc.edu\:/pub\:/Linux\:/system\:/Filesystems\:/smbfs +.UE +にある。 .TP \fBncpfs\fP は NCP プロトコルをサポートしたファイルシステムである。Novell NetWare が 使っている。 .sp -\fBncpfs\fP を使うためには \fIftp://linux01.gwdg.de/pub/ncpfs\fP にある特殊なプログラムが必要である。 +\fBncpfs\fP を使うためには +.UR ftp://linux01.gwdg.de\:/pub\:/ncpfs +.UE +にある特殊なプログラムが必要である。 .SH 関連項目 \fBproc\fP(5), \fBfsck\fP(8), \fBmkfs\fP(8), \fBmount\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/ftpusers.5 b/draft/man5/ftpusers.5 index c92a7374..a2bfe2b4 100644 --- a/draft/man5/ftpusers.5 +++ b/draft/man5/ftpusers.5 @@ -1,5 +1,6 @@ .\" Copyright (c) 2000 Christoph J. Thompson .\" +.\" %%%LICENSE_START(GPLv2+_DOC_MISC) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -11,9 +12,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -38,6 +40,6 @@ University FTP サーバーデーモン (wuftpd) と Professional FTP デーモ .SH 関連項目 \fBpasswd\fP(5), \fBproftpd\fP(8), \fBwuftpd\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/group.5 b/draft/man5/group.5 index 8adba438..7e6a49d1 100644 --- a/draft/man5/group.5 +++ b/draft/man5/group.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:06:03 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -59,6 +60,6 @@ group_name:password:GID:user_list .SH 関連項目 \fBlogin\fP(1), \fBnewgrp\fP(1), \fBgetgrent\fP(3), \fBgetgrnam\fP(3), \fBpasswd\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/host.conf.5 b/draft/man5/host.conf.5 index 2be4d249..cbba9730 100644 --- a/draft/man5/host.conf.5 +++ b/draft/man5/host.conf.5 @@ -1,5 +1,7 @@ .\" Copyright (c) 1997 Martin Schulze (joey@infodrom.north.de) +.\" Much of the text is copied from the manpage of resolv+(8). .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,11 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. -.\" -.\" Much of the text is copied from the manpage of resolv+(8). +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2003-08-23 Martin Schulze Updated according to glibc 2.3.2 .\"******************************************************************* @@ -117,6 +117,6 @@ syslog 機能を通じた警告を発しない。 このオプションを \fIwa .SH 関連項目 \fBgethostbyname\fP(3), \fBhostname\fP(7), \fBnamed\fP(8), \fBresolv+\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/hosts.5 b/draft/man5/hosts.5 index c39456a2..748b1536 100644 --- a/draft/man5/hosts.5 +++ b/draft/man5/hosts.5 @@ -1,6 +1,6 @@ -.\" Hey, Emacs! This is an -*- nroff -*- source file. .\" Copyright (c) 2000 Manoj Srivastava .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Minor polishing, aeb .\" Modified, 2002-06-16, Mike Coleman @@ -86,12 +86,13 @@ Information Control Center (NIC) によって 管理される公式ホストデ 209.237.226.90 www.opensource.org .fi .SH 関連項目 +\fBhostname\fP(1), \fBresolver\fP(3), \fBresolver\fP(5), \fBhostname\fP(7), \fBnamed\fP(8) + .\" .SH AUTHOR .\" This manual page was written by Manoj Srivastava , .\" for the Debian GNU/Linux system. -\fBhostname\fP(1), \fBresolver\fP(3), \fBresolver\fP(5), \fBhostname\fP(7), \fBnamed\fP(8), Internet RFC\ 952 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/hosts.equiv.5 b/draft/man5/hosts.equiv.5 index a73506c3..1459c5e2 100644 --- a/draft/man5/hosts.equiv.5 +++ b/draft/man5/hosts.equiv.5 @@ -1,5 +1,8 @@ .\" Copyright (c) 1995 Peter Tobias +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file may be distributed under the GNU General Public License. +.\" %%%LICENSE_END .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -44,6 +47,6 @@ netgroup を指定することもでき、その場合は @ 記号を前につ .SH 関連項目 \fBrhosts\fP(5), \fBrlogind\fP(8), \fBrshd\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/intro.5 b/draft/man5/intro.5 index f5c3f37b..e8141234 100644 --- a/draft/man5/intro.5 +++ b/draft/man5/intro.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:06:52 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Jan 14 00:34:09 1996 by Andries Brouwer (aeb@cwi.nl) @@ -39,6 +40,6 @@ intro \- ファイルフォーマットの紹介 .SH 関連項目 \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/issue.5 b/draft/man5/issue.5 index 6a9c9f80..16409510 100644 --- a/draft/man5/issue.5 +++ b/draft/man5/issue.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sun Jul 25 11:06:22 1993 by Rik Faith .\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond @@ -40,6 +41,6 @@ issue \- ログイン前に表示されるメッセージとシステム情報 .SH 関連項目 \fBmotd\fP(5), \fBagetty\fP(8), \fBmingetty\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/locale.5 b/draft/man5/locale.5 deleted file mode 100644 index d4f4d300..00000000 --- a/draft/man5/locale.5 +++ /dev/null @@ -1,332 +0,0 @@ -.\" Hey Emacs, this is -*- nroff -*- -.\" -.\" This file is part of locale(1) which displays the settings of the -.\" current locale. -.\" Copyright (C) 1994 Jochen Hein (Hein@Student.TU-Clausthal.de) -.\" Copyright (C) 2008 Petr Baudis (pasky@suse.cz) -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. -.\" -.\" 2008-06-17 Petr Baudis -.\" LC_TIME: Describe first_weekday and first_workday -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LOCALE 5 2008\-06\-17 Linux "Linux User Manual" -.SH 名前 -locale \- ロケール定義ファイル -.SH 説明 -\fBロケール (locale)\fP 定義ファイルは \fBlocaledef\fP(1) コマンドがバイナリのロケール・データベースに変換するのに -必要な全ての情報を含んでいる。 - -定義ファイルは、いくつかのセクションから構成されており、各セクション にはロケールのカテゴリが詳細に記述される。 -.SS 文法 -ロケール定義ファイルは以下のキーワードから構成されるヘッダーで始まる: -.TP -\fI\fP -ファイルの残りの部分でエスケープ・キャラクターとして使用する文字を 指定する。これは特殊な意味に解釈される文字をエスケープするのに使用する。 -デフォルトはバックスラッシュ (\e) である。 -.TP -\fI\fP -ファイルの残りの部分でコメント・キャラクターとして使用する文字 を指定する。デフォルトではシャープ (#) である。 -.PP -.\" FIXME glibc 2.2.2 added new nonstandard locale categories: -.\" LC_ADDRESS, LC_IDENTIFICATION, LC_MEASUREMENT, LC_NAME, -.\" LC_PAPER, LC_TELEPHONE. These need to be documented. -ロケールの定義はロケールのカテゴリ毎の定義を行う部分から構成される。 各部分は、定義済みの他のロケールのコピーを元に定義することもできるし、 -最初から定義することもできる。カテゴリをコピーする場合、定義の中に \fBcopy\fP というキーワードに続けてコピーするロケールの名前を書く。 -.SS LC_CTYPE -\fBLC_CTYPE\fP カテゴリの定義は最初のカラムに \fILC_CTYPE\fP という文字列を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIupper\fP -大文字 (uppercase letter) のリストを指定する。 \fBA\fP から \fBZ\fP までの文字は自動的に含まれる。 \fBcntrl\fP, -\fBdigit\fP, \fBpunct\fP, \fBspace\fP に指定された文字を指定することはできない。 -.TP -\fIlower\fP -小文字 (lowercase letter) のリストを指定する。 \fBa\fP から \fBz\fP までの文字は自動的に含まれる。 \fBcntrl\fP, -\fBdigit\fP, \fBpunct\fP, \fBspace\fP に指定された文字を指定することはできない。 -.TP -\fIalpha\fP -アルファベットの文字を指定する。 \fBupper\fP と \fBlower\fP を指定した全ての文字は自動的に含まれる。 \fBcntrl\fP, -\fBdigit\fP, \fBpunct\fP, \fBspace\fP に指定された文字を指定することはできない。 -.TP -\fIdigit\fP -数字として使用される文字を指定する。数字としては \fB0\fP から \fB9\fP のみが使用できる。これらはデフォルトで含まれている。 -.TP -\fIspace\fP -空白として使用する文字のリストを指定する。 \fBupper\fP, \fBlower\fP, \fBalpha\fP, \fBdigit\fP, \fBgraph\fP, -\fBxdigit\fP に指定された文字を指定することはできない。 \fB\fP, \fB\fP, -\fB\fP, \fB\fP, \fB\fP, -\fB\fP は自動的に含まれる。 -.TP -\fIcntrl\fP -コントロール・キャラクターのリストを指定する。 \fBupper\fP, \fBlower\fP, \fBalpha\fP, \fBdigit\fP, \fBpunct\fP, -\fBgraph\fP, \fBprint\fP, \fBxdigit\fP に指定された文字を指定することはできない。 -.TP -\fIpunct\fP -句読点文字のリストを指定する。 \fBupper\fP, \fBlower\fP, \fBalpha\fP, \fBdigit\fP, \fBcntrl\fP, \fBxdigit\fP, -\fB\fP に指定された文字を指定することはできない。 -.TP -\fIgraph\fP -表示可能文字のリストを指定するが、 \fB\fP 文字は含まない。 \fBupper\fP, \fBlower\fP, \fBalpha\fP, -\fBdigit\fP, \fBxdigit\fP, \fBpunct\fP を指定した文字は自動的に含まれる。 \fBcntrl\fP -に指定された文字を指定することはできない。 -.TP -\fIprint\fP -\fB\fP 文字を含めた表示可能文字のリストを指定する。 \fBupper\fP, \fBlower\fP, \fBalpha\fP, -\fBdigit\fP, \fBxdigit\fP, \fBpunct\fP, \fB\fP に指定した文字は自動的に含まれる。 \fBcntrl\fP -に指定された文字を指定することはできない。 -.TP -\fIxdigit\fP -16 進数として使用する文字のリストを指定する。10 進の数字に加えて、 6 文字を昇順で続ける。デフォルトでは以下の文字が含まれている: \fB0\fP -から \fB9\fP、 \fBa\fP から \fBf\fP、 \fBA\fP から \fBF\fP。 -.TP -\fIblank\fP -\fB無地 (blank)\fP に分類される文字のリストを指定する。 \fB\fP と \fB\fP -は自動的に含まれる。 -.TP -\fItoupper\fP -小文字から大文字への対応リストを指定する。各対応は小文字と大文字のペアを \fB,\fP で区切って括弧で括って指定する。 -リストの各メンバーはセミコロンで区切る。 -.TP -\fItolower\fP -大文字から小文字への対応リストを指定する。tolower という キーワードが無い場合には toupper を逆にしたものが使用される。 -.PP -\fBLC_CTYPE\fP の定義は \fIEND LC_CYTPE\fP という文字列で終了する。 -.SS LC_COLLATE -\fBLC_COLLATE\fP カテゴリは整列順序を定義している。libc による制限のため POSIX オプションの全てが実装されているわけではない。 - -このカテゴリの定義は最初のカラムに \fBLC_COLLATE\fP を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIcollating\-element\fP -.TP -\fIcollating\-symbol\fP -.PP -順序の定義は以下の行で始める: -.TP -\fIorder_start\fP -.PP -これに \fBforward\fP, \fBbackward\fP, \fBposition\fP のいずれかのキーワードが続く。 -順序を記述する行が続き、以下のキーワードで終る: -.TP -\fIorder_end\fP -.PP -より詳しくは \fI/usr/lib/nls/src\fP にあるソース・ファイルを参照のこと。特に \fBPOSIX\fP の例、 \fBExample\fP と -\fBExample2\fP を見るとよい。 -.PP -\fBLC_COLLATE\fP 定義は \fIEND LC_COLLATE\fP という文字列で終了する。 -.SS LC_MONETARY -\fBLC_MONETARY\fP の定義は最初のカラムに \fBLC_MONETARY\fP を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIint_curr_symbol\fP -国際通貨記号を指定する。これは ISO 4217 規格に定義された国際通貨 記号 (3 文字) に区切り文字を続けた 4 文字である必要がある。 -.TP -\fIcurrency_symbol\fP -地域的な通貨記号を指定する。 -.TP -\fImon_decimal_point\fP -金額をフォーマットする際の小数点に使用する文字列を指定する。 -.TP -\fImon_thousands_sep\fP -金額をフォーマットする際に桁の区切りに使用する文字列を指定する。 -.TP -\fImon_grouping\fP -数字をフォーマットする際に何桁ごとに区切るかを指定する。 -.TP -\fIpositive_sign\fP -数値において正の符号に使用する文字列を指定する。 -.TP -\fInegative_sign\fP -数値において負の符号に使用する文字列を指定する。 -.TP -\fIint_frac_digits\fP -\fBint_curr_symbol\fP でフォーマットする時に使用すべき端数の桁数を指定する。 -.TP -\fIfrac_digits\fP -\fBcurrency_symbol\fP でフォーマットする際に使用すべき端数の桁数を指定する。 -.TP -\fIp_cs_precedes\fP -\fIcurrency_symbol\fP または \fIint_curr_symbol\fP をフォーマットした金額の前に付ける場合には \fB1\fP -を、後ろに付ける場合には \fB0\fP を指定する。 -.TP -\fIp_sep_by_space\fP -以下の整数のいずれかを指定する。 -.RS -.TP -\fB0\fP -記号と数値の間に空白を入れない。 -.TP -\fB1\fP -記号と数値の間に空白を入れる。 -.TP -\fB2\fP -記号と数値が隣接していれば間に空白を入れる。 -.RE -.TP -\fIn_cs_precedes\fP -.RS -.TP -\fB0\fP -\- 記号は数値の後におく。 -.TP -\fB1\fP -\- 記号は数値の前におく。 -.RE -.TP -\fIn_sep_by_space\fP -以下の整数のいずれかを指定する。 \fB0\fP は \fIcurrency_symbol\fP または \fIint_curr_symbol\fP -と負の金額との間に空白を入れないことを、 \fB1\fP は負の数値と記号の間に空白を入れることを、 \fB2\fP -は隣接していた場合にのみ空白を入れることを意味する。 -.TP -\fIp_sign_posn\fP -.RS -.TP -\fB0\fP -値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP を括弧で括る。 -.TP -\fB1\fP -符号を値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の前に置く。 -.TP -\fB2\fP -符号を値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の後に置く。 -.TP -\fB3\fP -符号を \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の前に置く。 -.TP -\fB4\fP -符号を \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の後に置く。 -.RE -.TP -\fIn_sign_posn\fP -.RS -.TP -\fB0\fP -値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP を括弧で括る。 -.TP -\fB1\fP -符号を値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の前に置く。 -.TP -\fB2\fP -符号を値と \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の後に置く。 -.TP -\fB3\fP -符号を \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の前に置く。 -.TP -\fB4\fP -符号を \fIcurrency_symbol\fP または \fIint_curr_symbol\fP の後に置く。 -.RE -.PP -\fBLC_MONETARY\fP の定義は \fIEND LC_MONETARY\fP という文字列で終了する。 -.SS LC_NUMERIC -このカテゴリの定義は最初のカラムに \fBLC_NUMERIC\fP という文字列を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIdecimal_point\fP -数値をフォーマットする際に小数点に使用する文字列を指定する。 -.TP -\fIthousands_sep\fP -数値をフォーマットする際に桁の区切りに使用する文字列を指定する。 -.TP -\fIgrouping\fP -数字をフォーマットする際に何桁ごとに区切るかを指定する。 -.PP -The \fBLC_NUMERIC\fP の定義は \fIEND LC_NUMERIC\fP という文字列で終了する。 -.SS LC_TIME -このカテゴリの定義は最初のカラムに \fBLC_TIME\fP という文字列を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIabday\fP -曜日の名前の省略形のリストを指定する。 リストは \fIweek\fP で指定された週の開始曜日 (デフォルトでは日曜日) から始める。 -.TP -\fIday\fP -曜日の名前のリストを指定する。 リストは \fIweek\fP で指定された週の開始曜日 (デフォルトでは日曜日) から始める。 -.TP -\fIabmon\fP -月の名前の省略形のリストを指定する。 -.TP -\fImon\fP -月の名前のリストを指定する。 -.TP -\fIam_pm\fP -それぞれ \fB午前 (am)\fP と \fB午後 (pm)\fP に対応する文字列を指定する。 -.TP -\fId_t_fmt\fP -適切な日付け (date) と時刻 (time) のフォーマットを指定する。 -.TP -\fId_fmt\fP -適切な日付け (date) のフォーマットを指定する。 -.TP -\fIt_fmt\fP -適切な時刻 (time) のフォーマットを指定する。 -.TP -\fIt_fmt_ampm\fP -12 時間方式を使用した時刻のフォーマットを指定する。 -.TP -\fIweek\fP -3 つの値からなるリストを指定する。 リストは、一週間の日数 (デフォルトでは 7)、 週の開始曜日 (デフォルトでは日曜に対応)、 -一年の最初の週の最小の長さ (デフォルトでは 4) から構成される。 週の開始曜日については、週の開始日が日曜日の場合には \fB19971130\fP -を、月曜日の場合には \fB19971201\fP を使用する。したがって、 \fIday\fP リストの最初の日として、 \fB19971130\fP -を使う国ではその地域の日曜日の名前を、 \fB19971201\fP を使う国ではその地域の月曜日の名前を設定すべきである。 -.TP -\fIfirst_weekday\fP (glibc 2.2 以降) -カレンダーアプリケーションで最初に表示する曜日の \fIday\fP リストにおける番号。 デフォルト値の 1 は日曜日か月曜日に対応する。 -どちらに対応するかは \fIweek\fP リストの二番目の項目の値で決まる。 -.TP -\fIfirst_workday\fP (glibc 2.2 以降) -最初の就業日を示す \fIday\fP リストにおける曜日の番号。 -.PP -\fBLC_TIME\fP の定義は \fIEND LC_TIME\fP という文字列で終了する。 -.SS LC_MESSAGES -このカテゴリの定義は最初のカラムに \fBLC_MESSAGES\fP という文字列を置くことで始める。 - -ここでは以下のキーワードが使用できる: -.TP -\fIyesexpr\fP -「はい (yes)」を意味する正規表現を指定する。 -.TP -\fInoexpr\fP -「いいえ (no)」を意味する正規表現を指定する。 -.PP -\fBLC_MESSAGES\fP の定義は \fIEND LC_MESSAGES\fP という文字列で終了する。 - -より詳しくは POSIX.2 規格を参照のこと。 -.SH ファイル -/usr/lib/locale/ \(em 現在のロケール設定のデータベース -.br -/usr/lib/nls/charmap/* \(em 文字定義ファイル -.SH 準拠 -POSIX.2, ISO/IEC 14652. -.SH バグ -.\" .SH AUTHOR -.\" Jochen Hein (Hein@Student.TU-Clausthal.de) -このマニュアルは完全ではない。 -.SH 関連項目 -\fBlocale\fP(1), \fBlocaledef\fP(1) \fBlocaleconv\fP(3), \fBsetlocale\fP(3), -\fBcharmap\fP(5), -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/motd.5 b/draft/man5/motd.5 index 836362c5..17e94f7f 100644 --- a/draft/man5/motd.5 +++ b/draft/man5/motd.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:08:16 1993 by Rik Faith .\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond @@ -41,6 +42,6 @@ motd \- 今日のお知らせ(message of the day) .SH 関連項目 \fBlogin\fP(1), \fBissue\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/networks.5 b/draft/man5/networks.5 index 9ecceb64..f171cf6b 100644 --- a/draft/man5/networks.5 +++ b/draft/man5/networks.5 @@ -1,5 +1,6 @@ .\" Copyright (c) 2001 Martin Schulze .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\" 2008-09-04, mtk, taken from Debian downstream, with a few light edits .\" .\"******************************************************************* @@ -43,7 +45,6 @@ DARPA ネットワークとその分かりやすい名前を記載したファ ライブラリ関数はこの文字とその行のそれ以降の文字を無視する。 フィールドの説明は以下のとおり。 - .TP \fIname\fP ネットワークの分かりやすい名前 (symbolic name)。 @@ -71,6 +72,6 @@ DARPA ネットワークとその分かりやすい名前を記載したファ \fBgetnetbyaddr\fP(3), \fBgetnetbyname\fP(3), \fBgetnetent\fP(3), \fBnetstat\fP(8), \fBroute\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/nologin.5 b/draft/man5/nologin.5 index d179083c..697ff2a2 100644 --- a/draft/man5/nologin.5 +++ b/draft/man5/nologin.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sun Jul 25 11:06:34 1993 by Rik Faith (faith@cs.unc.edu) .\" Corrected Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond (esr@thyrsus.com) @@ -40,6 +41,6 @@ nologin \- 非特権ユーザのログインを禁止する .SH 関連項目 \fBlogin\fP(1), \fBshutdown\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/nscd.conf.5 b/draft/man5/nscd.conf.5 deleted file mode 100644 index 5532804d..00000000 --- a/draft/man5/nscd.conf.5 +++ /dev/null @@ -1,130 +0,0 @@ -.\" -*- nroff -*- -.\" Copyright (c) 1999, 2000 SuSE GmbH Nuernberg, Germany -.\" Author: Thorsten Kukuk -.\" -.\" This program is free software; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of the -.\" License, or (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -.\" General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this program; see the file COPYING. If not, -.\" write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -.\" Boston, MA 02111-1307, USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH NSCD.CONF 5 1999\-10\-01 GNU "Linux Programmer's Manual" -.SH 名前 -/etc/nscd.conf \- ネームサービスキャッシュデーモンの設定ファイル -.SH 説明 -\fBnscd\fP(8) は起動時にファイル \fI/etc/nscd.conf\fP を読み込む。 -各行には「属性・値」または「属性・サービス・値」を指定する。 フィールドはスペース文字またはタブ文字で区切られる。 \(aq#\(aq (ナンバー記号) -はコメントの始まりを表す。 この記号から行末までは nscd によって解釈されない。 - -指定可能なサービスは \fIpasswd\fP, \fIgroup\fP, \fIhosts\fP である。 - -\fBlogfile\fP \fIdebug\-file\-name\fP -.RS -デバッグ情報が書き込まれるファイルの名前を指定する。 -.RE - -\fBdebug\-level\fP \fIvalue\fP -.RS -希望するデバッグレベルを設定する。 -.RE - -\fBthreads\fP \fInumber\fP -.RS -スレッドをいくつ起動してリクエストを待つのかを指定する。 少なくとも 5 つのスレッドが常に作成される。 -.RE - -\fBserver\-user\fP \fIuser\fP -.RS -このオプションが設定されると、 nscd は root ではなく、この user として実行される。 (\-S パラメータにより) -各ユーザー毎に別々のキャッシュが使われる場合、 このオプションは無視される。 -.RE - -\fBenable\-cache\fP \fIservice\fP \fI\fP -.RS -指定した \fIservice\fP のキャッシュを有効または無効にする。 -.RE - -\fBpositive\-time\-to\-live\fP \fIservice\fP \fIvalue\fP -.RS -指定した \fIservice\fP のキャッシュにあるポジティブエントリ (成功した問い合わせ) の TTL (time\-to\-live) を設定する。 -\fIvalue\fP の単位は秒である。 値を大きくすると、ヒット率が高くなり平均応答時間を短くできるが、 キャッシュのコヒーレンス (coherence, -キャッシュが実際のデータと一致していること) に問題が生じる。 -.RE - -\fBnegative\-time\-to\-live\fP \fIservice\fP \fIvalue\fP -.RS -指定した \fIservice\fP のキャッシュにあるネガティブエントリ (失敗した問い合わせ) の TTL (time\-to\-live) を設定する。 -\fIvalue\fP の単位は秒である。 システムデータベースにない UID (ユーザーID) で所有されるファイル (たとえば root で tar -を展開した linux カーネルのソース) が少ないと、 顕著な性能の向上が見られる。 -キャッシュのコヒーレンス問題を少なくするために小さな値にすべきである。 -.RE - -\fBsuggested\-size\fP \fIservice\fP \fIvalue\fP -.RS -内部ハッシュテーブルの大きさを指定する。 効率を最適にするために \fIvalue\fP は素数にしておくべきである。 -.RE - -\fBcheck\-files\fP \fIservice\fP \fI\fP -.RS -指定した \fIservice\fP に関連するファイルの変更のチェックを有効または無効にする。 ファイルは \fI/etc/passwd\fP, -\fI/etc/group\fP, \fI/etc/hosts\fP である。 -.RE - -\fBmax\-threads\fP \fIthreads\fP -.RS -開始するスレッドの最大数を指定する。 -.RE - -\fBstat\-user\fP \fIusername\fP -.RS -統計情報の参照を許可するユーザを指定する。 -.RE - -\fBreload\-count\fP unlimited | \fInumber\fP -.RS -キャッシュされたエントリが使用されなかったときに、 削除される前に何回リロードされるかを設定する。 -.RE - -\fBparanoia\fP \fI\fP -.RS -パラノイアモードを有効にする。 パラノイアモードでは nscd を定期的に再起動する。 -.RE - -\fBrestart\-interval\fP \fItime\fP -.RS -パラノイアモードが有効で定期的に再起動する場合の、 再起動間隔を \fItime\fP 秒に設定する。 -.RE - -\fBpersistent\fP \fIservice\fP \fI\fP -.RS -サーバの再起動の前後で \fIservice\fP のキャッシュ内容を保持する。 \fBparanoia\fP モードが有効の場合に便利である。 -.RE - -\fBshared\fP \fIservice\fP \fI\fP -.RS -\fIservice\fP の nscd データベースのメモリ・マッピングをクライアント間で共有する。 -これにより、検索を実行する度にソケット経由でデーモンに問い合わせを 行わずに、直接データベースを検索できるようになる。 -.RE -.SH 関連項目 -.\" .SH AUTHOR -.\" .B nscd -.\" was written by Thorsten Kukuk and Ulrich Drepper. -\fBnscd\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/nsswitch.conf.5 b/draft/man5/nsswitch.conf.5 deleted file mode 100644 index 66b398a5..00000000 --- a/draft/man5/nsswitch.conf.5 +++ /dev/null @@ -1,276 +0,0 @@ -.\" Copyright (c) 1998, 1999 Thorsten Kukuk (kukuk@vt.uni-paderborn.de) -.\" Copyright (c) 2011, Mark R. Bannister -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -.\" MA 02111, USA. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH NSSWITCH.CONF 5 2012\-04\-14 Linux "Linux Programmer's Manual" -.SH 名前 -nsswitch.conf \- ネームサービススイッチの設定ファイル -.SH 説明 -ネームサービススイッチ (Name Service Switch; NSS) の設定ファイル -\fI/etc/nsswitch.conf\fP は、 GNU C ライブラリが -いろいろなカテゴリの名前サービス情報を、どの情報源から -どの順序で取得するかを判断するのに使用される -(情報の各カテゴリはデータベース名で識別される)。 -.LP -設定ファイルは通常の ASCII テキストで、列はスペースかタブ文字で -区切られる。最初の列はデータベース名を示す。 -残りの列は、情報を問い合わせる情報源の順序と、 -検索結果に対して実行するアクションを規定する。 -.LP -GNU C ライブラリでは以下のデータベースを扱うことができる。 -.TP 12 -\fBaliases\fP -メールのエイリアス。 \fBgetaliasent\fP(3) や関連する関数が使用する。 -.TP -\fBethers\fP -イーサーネット番号。 -.TP -\fBgroup\fP -ユーザーのグループ。 \fBgetgrent\fP(3) や関連する関数が使用する。 -.TP -\fBhosts\fP -ホスト名とホスト番号。 \fBgethostbyname\fP(3) や関連する関数が使用する。 -.TP -\fBnetgroup\fP -ネットワークワイドに用いられるホストやユーザーのリスト。アクセス制限に利用 -される。 glibc 2.1 より前の C ライブラリは、 NIS による netgroup のみを -サポートしていた。 -.TP -\fBnetworks\fP -ネットワーク名と番号。 \fBgetnetent\fP(3) と関連する関数が使用する。 -.TP -\fBpasswd\fP -ユーザーパスワード。 \fBgetpwent\fP(3) や関連する関数が使用する。 -.TP -\fBprotocols\fP -ネットワークプロトコル。 \fBgetprotoent\fP(3) や関連する関数が使用する。 -.TP -\fBpublickey\fP -NIS+ と NFS によって用いられる secure_rpc の公開鍵と秘密鍵。 -.TP -\fBrpc\fP -リモート手続き呼び出し (remote procedure call) の名前と番号。 -\fBgetrpcbyname\fP(3) と関連する関数が使用する。 -.TP -\fBservices\fP -ネットワークサービス。 \fBgetservent\fP(3) や関連する関数が使用する。 -.TP -\fBshadow\fP -シャドウユーザーパスワード。 \fBgetspnam\fP(3) や関連する関数が使用する。 -.LP -以下は \fI/etc/nsswitch.conf\fP ファイルの例である。 -.LP -.RS 4 -.PD 0 -.TP 16 -passwd: -compat -.TP -group: -compat -.TP -shadow: -compat -.sp 1n -.TP -hosts: -dns [!UNAVAIL=return] files -.TP -networks: -nis [NOTFOUND=return] files -.TP -ethers: -nis [NOTFOUND=return] files -.TP -protocols: -nis [NOTFOUND=return] files -.TP -rpc: -nis [NOTFOUND=return] files -.TP -services: -nis [NOTFOUND=return] files -.PD -.RE -.LP -最初の列はデータベース名である。 -残りの列で以下を指定する。 -.IP * 3 -1 個以上のサービス指定 (例: "files", "db", "nis")。この行に記載された -サービスの順序で、結果が得られるまで、指定されたサービスに対する -問い合わせが順番に行われる。 -.IP * -特定の結果が直前のサービスで得られた場合に実行されるアクション -(例: "[NOTFOUND=return]")。アクションは省略可能である。 -.RE -.LP -利用しているシステムでどのサービス指定が利用できるかは、共有ライブラリ -があるかどうかに依存しており、そのためサービス指定は拡張できるように -なっている。\fI/lib/libnss_SERVICE.so.\fP\fBX\fP という名前のライブラリが -\fISERVICE\fP という名前のサービスを提供する。標準のインストールを行った -場合、"files", "db", "nis", "nisplus" が利用できる。 -データベース \fBhosts\fP の場合には、追加で "dns" も指定できる。 -データベース \fBpasswd\fP, \fBgroup\fP, \fBshadow\fP の場合には、追加で -"compat" (下記の \fB互換モード\fP を参照)。バージョン番号 \fBX\fP は、 -glibc 2.0 の場合は 1、glibc 2.1 の場合は 2 で、それ以降も同様である。 -追加のライブラリがインストールされているシステムでは、"hesiod", -"ldap", "winbind", "wins" などの追加のサービスが利用できる。 -.LP -サービス指定の次にアクションを指定することもできる。アクションを -使うと、直前のデータ源から結果が得られた後の動作を変更できる。 -アクション指定は、一般的には以下の形式となる。 -.LP -.RS 4 -[\fISTATUS\fP=\fIACTION\fP] -.br -[!\fISTATUS\fP=\fIACTION\fP] -.RE -.LP -STATUS と ACTION はそれぞれ以下の値を取る。 -.LP -.RS 4 -\fISTATUS\fP => \fBsuccess\fP | \fBnotfound\fP | \fBunavail\fP | \fBtryagain\fP -.br -\fIACTION\fP => \fBreturn\fP | \fBcontinue\fP -.RE -.LP -! はテスト結果を反転させる。 -つまり、指定された以外の全ての結果にマッチする。 -キーワードの大文字、小文字は無視される。 -.LP -\fISTATUS\fP は、直前のサービス指定で呼び出しされた検索処理の結果に -対して照合が行われる。 \fISTATUS\fP には以下のいずれかを指定できる。 -.RS 4 -.TP 12 -\fBsuccess\fP -エラーは発生せず、要求されたエントリが返された。 -この場合のデフォルトのアクションは "return" である。 -.TP -\fBnotfound\fP -検索は成功したが、要求されたエントリが見つからなかった。 -この場合のデフォルトのアクションは "continue" である。 -.TP -\fBunavail\fP -サービスが永続的に利用できない。 -必要なファイルを読み込むことができない、 -ネットワークサービスの場合には、サーバが利用できないとか、 -サーバが問い合わせを許可していない、などが考えられる。 -この場合のデフォルトのアクションは "continue" である。 -.TP -\fBtryagain\fP -サービスが一時的に利用できない。 -ファイルがロックされている、サーバがこれ以上接続を受け付けることができない、 -などが考えられる。デフォル トのアクションは "continue" である。 -.RE -.LP -\fIACTION\fP には以下のいずれかを指定できる。 -.RS 4 -.TP 12 -\fBreturn\fP -この時点で結果を返す。これ以上の検索処理は行われない。 -.TP -\fBcontinue\fP -次の検索処理を呼び出す。 -.RE -.SS "互換モード (compat)" -NSS "compat" サービスは "files" と似ているが、システムにアクセスできる -ユーザやネットグループ (netgroup) のメンバの指定に \fI/etc/passwd\fP で -特別なエントリを追加で使うことができる点が異なる。 -このモードでは、以下のエントリを使うことができる。 -.RS 4 -.TP 12 -\fB+\fP\fIuser\fP -NIS パスワードマップの指定された \fIuser\fP を含める。 -.TP -\fB+@\fP\fInetgroup\fP -指定された \fInetgroup\fP の全ユーザを含める。 -.TP -\fB\-\fP\fIuser\fP -NIS パスワードマップの指定された \fIuser\fP を除外する。 -.TP -\fB\-@\fP\fInetgroup\fP -指定された \fInetgroup\fP の全ユーザを除外する。 -.TP -\fB+\fP -NIS パスワードマップのユーザのうち、 -それまでに除外されていない全てのユーザを含める。 -.RE -.LP -デフォルトでは、データ源は "nis" だが、 -擬似データベース \fBpasswd_compat\fP, \fBgroup_compat\fP, \fBshadow_compat\fP -ではデータ源として "nisplus" を指定することもできる。 -.SH ファイル -\fISERVICE\fP という名前のサービスは \fIlibnss_SERVICE.so.\fP\fBX\fP という -名前の共有オブジェクトライブラリで実装されている。 -これは \fI/lib\fP に置かれる。 -.RS 4 -.TP 25 -.PD 0 -\fI/etc/nsswitch.conf\fP -NSS の設定ファイル。 -.TP -\fI/lib/libnss_compat.so.\fP\fBX\fP -"compat" ソースを実装したもの。 -.TP -\fI/lib/libnss_db.so.\fP\fBX\fP -"db" ソースを実装したもの。 -.TP -\fI/lib/libnss_dns.so.\fP\fBX\fP -"dns" ソースを実装したもの。 -.TP -\fI/lib/libnss_files.so.\fP\fBX\fP -"files" ソースを実装したもの。 -.TP -\fI/lib/libnss_hesiod.so.\fP\fBX\fP -"hesoid" ソースを実装したもの。 -.TP -\fI/lib/libnss_nis.so.\fP\fBX\fP -"nis" ソースを実装したもの。 -.TP -\fI/lib/libnss_nisplus.so.\fP\fBX\fP -"nisplus" ソースを実装したもの。 -.PD -.RE -.SH 注意 -\fInsswitch.conf\fP を利用するプロセスは、ファイルは一度しか読み込まない。 -その後で nsswitch.conf が書き換えられても、そのプロセスは古い設定のままで -動作を継続する。 -.LP -伝統的には、サービス情報の情報源は一つだけであり、 -その設定ファイルの形式も一つであった (例えば \fI/etc/passwd\fP)。 -一方で、 Network Information Service (NIS) や Domain Name Service -(DNS) などの他の名前サービスが一般的になるに連れて、C ライブラリに埋め -込まれた固定順序ではなく、検索順序を柔軟に指定する方法が必要になった。 -ネームサービススイッチ機構は、この問題に対するよりきれいな解決方法と -なっている。ネームサービススイッチ機構は、 Sun Microsystems が -Solaris 2 の C ライブラリで使った機構が基になっている。 -.SH 関連項目 -\fBgetent\fP(1), \fBnss\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/passwd.5 b/draft/man5/passwd.5 index cf08b16a..c3d5c26c 100644 --- a/draft/man5/passwd.5 +++ b/draft/man5/passwd.5 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sun Jul 25 10:46:28 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sun Aug 21 18:12:27 1994 by Rik Faith (faith@cs.unc.edu) @@ -132,6 +133,6 @@ gcos 欄は $IDENT カード用の情報を 隠しておくための場所なん \fBlogin\fP(1), \fBpasswd\fP(1), \fBsu\fP(1), \fBgetpwent\fP(3), \fBgetpwnam\fP(3), \fBcrypt\fP(3), \fBgroup\fP(5), \fBshadow\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/proc.5 b/draft/man5/proc.5 deleted file mode 100644 index a38257ca..00000000 --- a/draft/man5/proc.5 +++ /dev/null @@ -1,1870 +0,0 @@ -.\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com) -.\" and Copyright (C) 2002-2008 Michael Kerrisk -.\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk) -.\" and scsi additions from Michael Neuffer (neuffer@mail.uni-mainz.de) -.\" and sysctl additions from Andries Brouwer (aeb@cwi.nl) -.\" and System V IPC (as well as various other) additions from -.\" Michael Kerrisk -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified 1995-05-17 by faith@cs.unc.edu -.\" Minor changes by aeb and Marty Leisner (leisner@sdsp.mc.xerox.com). -.\" Modified 1996-04-13, 1996-07-22 by aeb@cwi.nl -.\" Modified 2001-12-16 by rwhron@earthlink.net -.\" Modified 2002-07-13 by jbelton@shaw.ca -.\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25 -.\" by Michael Kerrisk -.\" 2004-11-17, mtk -- updated notes on /proc/loadavg -.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in 2.6.8 -.\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list -.\" 2005-05-12, mtk, updated 'stat' -.\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/* -.\" 2005-09-16, mtk, Added /proc/sys/fs/suid_dumpable -.\" 2005-09-19, mtk, added /proc/zoneinfo -.\" 2005-03-01, mtk, moved /proc/sys/fs/mqueue/* material to mq_overview.7. -.\" 2008-06-05, mtk, Added /proc/[pid]/oom_score, /proc/[pid]/oom_adj, -.\" /proc/[pid]/limits, /proc/[pid]/mountinfo, /proc/[pid]/mountstats, -.\" and /proc/[pid]/fdinfo/*. -.\" 2008-06-19, mtk, Documented /proc/[pid]/status. -.\" 2008-07-15, mtk, added /proc/config.gz -.\" -.\" FIXME 2.6.13 seems to have /proc/vmcore implemented -.\" in the source code, but there is no option available under -.\" 'make xconfig'; eventually this should be fixed, and then info -.\" from the patch-2.6.13 and change log could be used to write an -.\" entry in this man page. -.\" Needs CONFIG_VMCORE -.\" -.\" FIXME cross check against Documentation/filesystems/proc.txt -.\" to see what information could be imported from that file -.\" into this file. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH PROC 5 2012\-05\-03 Linux "Linux Programmer's Manual" -.SH 名前 -proc \- プロセスの情報を含む擬似ファイルシステム -.SH 説明 -\fIproc\fP ファイルシステムは擬似的なファイルシステムであり、 カーネル内のデータへのインターフェースとして使用される。 一般的には -\fI/proc\fP にマウントされる。 大部分のファイルは読み出し専用 (read\-only) であるが、 いくつかのファイルは書き込み可能であり、 -そのファイルに書き込めばカーネルの内部変数を変更できる。 -.LP -以下は \fI/proc\fP 階層の簡単なあらましである。 -.PD 1 -.TP -\fI/proc/[pid]\fP -.\" FIXME Describe /proc/[pid]/attr and -.\" /proc/[pid]/task/[tid]/attr -.\" This is a directory -.\" Added in ??? -.\" CONFIG_SECURITY -.\" -実行中のプロセスについてのサブディレクトリ。 サブディレクトリ名は (そのプロセスの) プロセス ID である。 -各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。 -.TP -\fI/proc/[number]/auxv\fP (カーネル 2.6.0\-test7 以降) -実行時にプロセスに渡された ELF インタプリタ情報が格納されている。 個々のエントリは、\fIunsigned long\fP 型の ID 1 個に -\fIunsigned long\fP 型の値 1 個が続くフォーマットである。 最後のエントリには 0 が 2 個入っている。 -.TP -\fI/proc/[pid]/cgroup\fP (Linux 2.6.24 以降) -.\" Info in Documentation/cgroups/cgroups.txt -このファイルは、プロセスやタスクが所属するコントロールグループを示す。 -cgroup の各階層についてエントリーが 1 つあり、 -各エントリーは以下の形式のコロン区切りのフィールドで構成される。 -.nf - -\f(CW 5:cpuacct,cpu,cpuset:/daemons\fP -.fi -.IP -コロン区切りの各フィールドは、左から右の順で、以下の意味を持つ。 -.RS 11 -.IP 1. 3 -階層 ID 番号 -.IP 2. -その階層に関連付けたサブシステムの集合 -.IP 3. -プロセスが所属する階層内のコントロールグループ -.RE -.IP -.\" -.\" FIXME Describe /proc/[pid]/clear_refs -.\" Added in 2.6.22 -.\" "Clears page referenced bits shown in smaps output" -.\" write-only -.\" CONFIG_PROC_PAGE_MONITOR -このファイルが存在するのは、カーネルのコンフィギュレーション・オプショ -ン \fBCONFIG_CGROUPS\fP を有効にした場合だけである。 -.TP -\fI/proc/[pid]/cmdline\fP -.\" In 2.3.26, this also used to be true if the process was swapped out. -プロセスの完全なコマンド行を保持する。ただし、そのプロセスがゾンビプロセス -の場合は、このファイルは空となる。つまり、このファイルを読み出しても一文字 -も返らない。このファイルではコマンドライン引き数が、 -NULL バイト (\(aq\e0\(aq) で区切られた文字列として書かれており、 -最後の文字列の後に NULL バイトが一つ置かれる。 -.TP -\fI/proc/[pid]/coredump_filter\fP (kernel 2.6.23 以降) -\fBcore\fP(5) 参照。 -.TP -\fI/proc/[pid]/cpuset\fP (kernel 2.6.12 以降) -.\" and/proc/[pid]/task/[tid]/cpuset -\fBcpuset\fP(7) 参照。 -.TP -\fI/proc/[pid]/cwd\fP -プロセスのカレントワーキングディレクトリへのシンボリックリンク。 例えば、プロセス 20 のカレントワーキングディレクトリを見つけるためには、 -次のようにすればよい。 - -.in +4n -.nf -$\fB cd /proc/20/cwd; /bin/pwd\fP -.fi -.in - -\fIpwd\fP コマンドはシェルの内部コマンドのことがよくあり、 -うまく動作しないかもしれない。 -\fBbash\fP(1) では \fIpwd\ \-P\fP を使ってもよい。 - -.\" The following was still true as at kernel 2.6.13 -マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常 -\fBpthread_exit\fP(3) を呼び出しにより行われる)。 -.TP -\fI/proc/[pid]/environ\fP -このファイルはプロセスの環境変数を含んでいる。 各エントリは NULL バイト (\(aq\e0\(aq) で区切られていて、 末尾に NULL -バイトがあるかもしれない。 したがって、プロセス 1 の環境変数を表示するためには 次のようにすればよい。 -.in +4n -.nf - -$\fB (cat /proc/1/environ; echo) | tr \(aq\e000\(aq \(aq\en\(aq\fP -.fi -.in -.TP -\fI/proc/[pid]/exe\fP -.\" The following was still true as at kernel 2.6.13 -Linux 2.2 以降では、このファイルはシンボリックリンクで、 実行可能コマンドの実際のパス名を格納している。 -このシンボリックリンクは通常のように辿ることができる; これをオープンすると実行可能ファイルがオープンされる。 (コマンドラインで) -\fI/proc/[pid]/exe\fP と入力すると、プロセス番号 [pid] で実行されている 実行可能ファイルをもう一つ実行することができる。 -マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常 -\fBpthread_exit\fP(3) を呼び出しにより行われる)。 - -Linux 2.0 以前では、 \fI/proc/[pid]/exe\fP は実行されたバイナリへのポインタで、シンボリックリンクのように見える。 Linux -2.0 以前では、このファイルに対して \fBreadlink\fP(2) を実行すると、次のフォーマットの文字列が返る。 - - [デバイス番号]:iノード番号 - -たとえば、[0301]:1502 はメジャーデバイス番号 03 (IDE, MFM などのドライブ) マイナーデバイス番号 01 -(最初のドライブの最初のパーティション) の デバイス上の iノード番号 1502 である。 - -\fI\-inum\fP オプションをつけて \fBfind\fP(1) を使うと、 -このファイルの所在を探すことができる。 -.TP -\fI/proc/[pid]/fd\fP -プロセスがオープンしたファイル各々に対するエントリを含むサブディレクトリ。 ファイルディスクリプタがファイル名で、 -実際のファイルへのシンボリックリンクになっている。 したがって 0 は標準入力、1 は標準出力、2 は標準エラー出力、などとなる。 - -.\" The following was still true as at kernel 2.6.13 -マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このディレクトリの内容は参照できない (スレッドの終了は通常 -\fBpthread_exit\fP(3) を呼び出しにより行われる)。 - -コマンドライン引き数としてファイル名を受け取るが、引き数が 渡されなかった場合 -に標準入力から入力を受け取らないようなプログラムや、 コマンドライン引き数とし -て書き込みファイルを受け取るが、引き数が 渡されなかった場合に標準出力に出力を -行わないようなプログラムであっても、 \fI/proc/[pid]/fd\fP を使うことで標準入力や -標準出力を使用できるようになる。 例えば、 \fI\-i\fP を入力ファイルを指定するフラ -グ、 \fI\-o\fP を出力ファイルを指定するフラグと仮定すると、 -.in +4n -.nf - -$\fB foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 ...\fP -.fi -.in - -.\" The following is not true in my tests (MTK): -.\" Note that this will not work for -.\" programs that seek on their files, as the files in the fd directory -.\" are not seekable. -を実行することにより、フィルタとして動作させることができる。 - -\fI/proc/self/fd/N\fP は、ある種の UNIX や UNIX 風のシステムにある \fI/dev/fd/N\fP -とだいたい同じである。 事実 Linux のたいていの MAKEDEV スクリプトは、 -\fI/dev/fd\fP を \fI/proc/self/fd\fP へのシンボリックリンクにしている。 - -ほとんどのシステムでは、シンボリックリンク \fI/dev/stdin\fP, \fI/dev/stdout\fP, \fI/dev/stderr\fP -が提供されており、それぞれ \fI/proc/self/fd\fP 内のファイル \fI0\fP, \fI1\fP, \fI2\fP にリンクされている。 -したがって、上述のサンプルコマンドは次のようにも書くことができる。 -.in +4n -.nf - -$\fB foobar \-i /dev/stdin \-o /dev/stdout ...\fP -.fi -.in -.\" FIXME Describe /proc/[pid]/loginuid -.\" Added in 2.6.11; updating requires CAP_AUDIT_CONTROL -.\" CONFIG_AUDITSYSCALL -.TP -\fI/proc/[pid]/fdinfo/\fP (kernel 2.6.22 以降) -このサブディレクトリには、そのプロセスがオープンしているファイル毎の エントリが入っており、ファイルディスクリプタがファイル名となっている。 -各ファイルの内容を読み出すことで、対応するファイルディスクリプタに関する 情報を得ることができる。以下に例を示す。 -.in +4n -.nf - -$\fB cat /proc/12015/fdinfo/4\fP -pos: 1000 -flags: 01002002 -.fi -.in - -\fIpos\fP フィールドは 10 進数で、現在のファイルオフセットを示す。 \fIflags\fP フィールドは 8 進数で、 -ファイルのアクセスモードとファイル状態フラグを示す (\fBopen\fP(2) 参照)。 - -.\" FIXME document /proc/[pid]/io -.\" .TP -.\" .IR /proc/[pid]/io " (since kernel 2.6.20)" -このディレクトリのファイルは、プロセスの所有者だけが読み出すことができる。 -.TP -\fI/proc/[pid]/limits\fP (kernel 2.6.24 以降) -このファイルは、そのプロセスの各リソース制限について、 ソフト・リミット、ハード・リミット、計測単位を表示する (\fBgetrlimit\fP(2) -参照)。 このファイルは、プロセスの実 UID を持つものだけが読み出すことができる。 -.TP -\fI/proc/[pid]/maps\fP -現在マップされているメモリ領域とそのアクセスパーミッションを含む。 - -フォーマットは以下のとおり: - -.nf -\f(CWaddress perms offset dev inode pathname -08048000\-08056000 r\-xp 00000000 03:0c 64593 /usr/sbin/gpm -08056000\-08058000 rw\-p 0000d000 03:0c 64593 /usr/sbin/gpm -08058000\-0805b000 rwxp 00000000 00:00 0 -40000000\-40013000 r\-xp 00000000 03:0c 4165 /lib/ld\-2.2.4.so -40013000\-40015000 rw\-p 00012000 03:0c 4165 /lib/ld\-2.2.4.so -4001f000\-40135000 r\-xp 00000000 03:0c 45494 /lib/libc\-2.2.4.so -40135000\-4013e000 rw\-p 00115000 03:0c 45494 /lib/libc\-2.2.4.so -4013e000\-40142000 rw\-p 00000000 00:00 0 -bffff000\-c0000000 rwxp 00000000 00:00 0\fP -.fi - -ここで "address" はプロセスのアドレス空間でそのメモリ領域が占めている アドレスで、"perms" はパーミッションのセットである。 - -.nf -.in +5 -r = read -w = write -x = execute -s = shared -p = private (copy on write) -.fi -.in - -\&"offset" はファイル (などの) 中でのオフセット、 \&"dev" はデバイス (メジャーデバイス番号:マイナーデバイス番号)、 -\&"inode" はそのデバイスの i ノード番号である。 これが 0 のときは、bss (初期化されていないデータ領域) の場合のように -このメモリ領域にはどの i ノードも割り当てられていないことを意味している。 - -Linux 2.0 ではパス名を書いたフィールドがない。 -.TP -\fI/proc/[pid]/mem\fP -このファイルは、 \fBopen\fP(2), \fBread\fP(2), \fBlseek\fP(2) -を通して、プロセスのメモリのページにアクセスするために使われる。 -.TP -\fI/proc/[pid]/mountinfo\fP (Linux 2.6.26 以降) -.\" This info adapted from Documentation/filesystems/proc.txt -このファイルには、マウントポイントについての情報が入っている。 以下のような形式の行から構成される。 -.nf - -\f(CW36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 \- ext3 /dev/root rw,errors=continue -(1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11)\fP -.fi -.IP -括弧付きの数字は、以下の説明のためのものである。 -.RS 7 -.TP 5 -(1) -マウント ID: マウントの一意な識別子 (\fBumount\fP(2) の後は再利用されるかもしれない)。 -.TP -(2) -parent ID: 親マウントの ID (マウントツリーの最上位の場合は自分自身の ID となる)。 -.TP -(3) -major:minor: ファイルシステム上のファイルの \fIst_dev\fP の値 (\fBstat\fP(2) 参照)。 -.TP -(4) -ルート: そのファイルシステム内のマウントのルート。 -.TP -(5) -マウントポイント: マウントポイントのそのプロセスのルートからの相対パス。 -.TP -(6) -マウントオプション: 各マウントのオプション。 -.TP -(7) -オプションフィールド: "tag[:value]" 形式のフィールドが 0 個以上並ぶ。 -.TP -(8) -セパレータ: オプションフィールドの終わりを示す。 -.TP -(9) -ファイルシステム種別: ファイルシステムの名前。 "type[.subtype]" という形式となる。 -.TP -(10) -マウント元: ファイルシステム固有の情報。ない場合は "none" となる。 -.TP -(11) -super options: スーパーブロック単位のオプション。 -.RE -.IP -解釈する側は認識できないオプションフィールドは全て無視すべきである。 現在のところ、オプションフィールドとしては以下のようなものがある。 -.RS 12 -.TP 18 -shared:X -マウントはピアグループ (peer group) X で共有されている。 -.TP -master:X -マウントはピアグループ (peer group) X のスレーブである。 -.TP -propagate_from:X -マウントはスレーブであり、ピアグループ X (*) から mount propagation を受信する。 -.TP -unbindable -マウントは unbind できない。 -.RE -.IP -(*) X は、プロセスの root で直近の dominant peer group である。 X がマウントの直接のマスターである場合や、 同じ -root に dominant peer group がない場合は、 "master:X" フィールドだけが存在し、 -"propagate_from:X" フィールドは存在しない。 - -mount propagation の詳細については、カーネルソースツリー内の -\fIDocumentation/filesystems/sharedsubtree.txt\fP を参照。 -.TP -\fI/proc/[pid]/mounts\fP (Linux 2.4.19 以降) -そのプロセスのマウント名前空間に現在マウントされている 全ファイルシステムのリスト。 このファイルのフォーマットは \fBfstab\fP(5) -に載っている。 カーネル 2.6.15 以降では、このファイルを監視することができる (pollable)。 -このファイルを読み出し用にオープンした後で、このファイルに変更があると (つまりファイルシステムのマウントやアンマウントがあると)、 -\fBselect\fP(2) ではそのファイルディスクリプタは読み出し可能となり、 \fBpoll\fP(2) と \fBepoll_wait\fP(2) -ではそのファイルはエラー状態として通知される。 -.TP -\fI/proc/[pid]/mountstats\fP (Linux 2.6.17 以降) -このファイルを通じて、そのプロセスの名前空間内のマウントポイントに関する 各種情報 (統計、設定情報) を参照できる。 -ファイルの各行は以下のフォーマットである。 -.nf - -device /dev/sda7 mounted on /home with fstype ext3 [statistics] -( 1 ) ( 2 ) (3 ) (4) -.fi -.IP -各行のフィールドは以下の通りである。 -.RS 7 -.TP 5 -(1) -マウントされているデバイス名 (対応するデバイスがない場合は "nodevice" となる)。 -.TP -(2) -マウントポイントのファイルシステムツリーにおけるパス名。 -.TP -(3) -ファイルシステム種別。 -.TP -(4) -追加の統計や設定情報。 現在のところ (Linux 2.6.26 時点では)、 このフィールドで情報が提供されているのは NFS -ファイルシステムだけである。 -.RE -.IP -このファイルはプロセスの所有者だけが読み出すことができる。 -.TP -\fI/proc/[pid]/ns/\fP (Linux 3.0 以降) -.\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f -このサブディレクトリには、名前空間毎に 1 エントリが置かれる。 -各エントリは \fBsetns\fP(2) による操作をサポートしている。 -名前空間に関する情報は \fBclone\fP(2) を参照。 -.TP -\fI/proc/[pid]/ns/ipc\fP (Linux 3.0 以降) -このファイルをファイルシステムのどこか他の場所に bind mount することで (\fBmount\fP(2) -参照)、現在この名前空間にいる全てのプロセスが終了したとしても、 \fIpid\fP で指定されたプロセスの IPC 名前空間は有効な状態で保たれる。 - -このファイルをオープンすると、 \fIpid\fP で指定されたプロセスの IPC -名前空間のファイルハンドルが返される。このファイルディスクリプタがオープンされている限り、この名前空間にいる全てのプロセスが終了したとしても、この -IPC 名前空間は有効なままとなる。このファイルディスクリプタは \fBsetns\fP(2) に渡すことができる。 -.TP -\fI/proc/[pid]/ns/net\fP (Linux 3.0 以降) -このファイルをファイルシステムのどこか他の場所に bind mount することで (\fBmount\fP(2) -参照)、現在この名前空間にいる全てのプロセスが終了したとしても、 \fIpid\fP で指定されたプロセスのネットワーク名前空間は有効な状態で保たれる。 - -このファイルをオープンすると、 \fIpid\fP -で指定されたプロセスのネットワーク名前空間のファイルハンドルが返される。このファイルディスクリプタがオープンされている限り、この名前空間にいる全てのプロセスが終了したとしても、このネットワーク名前空間は有効なままとなる。このファイルディスクリプタは -\fBsetns\fP(2) に渡すことができる。 -.TP -\fI/proc/[pid]/ns/uts\fP (Linux 3.0 以降) -このファイルをファイルシステムのどこか他の場所に bind mount することで (\fBmount\fP(2) -参照)、現在この名前空間にいる全てのプロセスが終了したとしても、 \fIpid\fP で指定されたプロセスの UTS 名前空間は有効な状態で保たれる。 - -このファイルをオープンすると、 \fIpid\fP で指定されたプロセスの UTS -名前空間のファイルハンドルが返される。このファイルディスクリプタがオープンされている限り、この名前空間にいる全てのプロセスが終了したとしても、この -UTS 名前空間は有効なままとなる。このファイルディスクリプタは \fBsetns\fP(2) に渡すことができる。 -.TP -\fI/proc/[pid]/numa_maps\fP (Linux 2.6.14 以降) -\fBnuma\fP(7) を参照。 -.TP -\fI/proc/[pid]/oom_adj\fP (Linux 2.6.11 以降) -このファイルは、メモリ不足 (OOM) の状況下で どのプロセスを殺すべきかを選択す -るのに使用されるスコアを 調整するのに使用される。 カーネルは、プロセスの -\fIoom_score\fP 値のビットシフト操作に、この値を使用する。 この値として有効な値 -は \-16 から +15 までと、 特別な意味を持つ \-17 である。 \-17 はそのプロセス -に対する OOM\-killing を完全に無効にすることを意味する。 正の値ほど、そのプロ -セスが OOM\-killer により殺される可能性が高くなり、 負の値ほど可能性が低くなる。 -このファイルのデフォルト値は 0 である。 新しいプロセスは親プロセスの -\fIoom_adj\fP の設定を継承する。 このファイルを変更するためには、プロセスは特権 -(\fBCAP_SYS_RESOURCE\fP) を持っていなければならない。 -.TP -\fI/proc/[pid]/oom_score\fP (Linux 2.6.11 以降) -.\" See mm/oom_kill.c::badness() in the 2.6.25 sources -.\" See mm/oom_kill.c::badness() in the 2.6.25 sources -このファイルは、OOM\-killer のプロセス選択用として、カーネルが このプロセス -に対して与えた現在のスコアを表示する。 高いスコアは、そのプロセスが -OOM\-killer により選択される 可能性が高いことを意味する。 このスコアの基本は -そのプロセスが使用しているメモリ量であり、 以下の要因により加算 (+) 減算 (\-) -が行われる。 -.RS -.IP * 2 -そのプロセスが多くの子プロセスを \fBfork\fP(2) を使って作成しているか (+)。 -.IP * -そのプロセスが長時間実行されて来たか、 -もしくは 多くの CPU 時間を使用しているか (\-)。 -.IP * -そのプロセスが低い nice 値 (> 0) を持っているか (+)。 -.IP * -.\" More precisely, if it has CAP_SYS_ADMIN or CAP_SYS_RESOURCE -そのプロセスが特権を持っているか (\-)。 -.IP * -.\" More precisely, if it has CAP_SYS_RAWIO -そのプロセスが direct hardware access を行っているか (\-)。 -.RE -.IP -.\" FIXME Describe /proc/[pid]/pagemap -.\" Added in 2.6.25 -.\" CONFIG_PROC_PAGE_MONITOR -\fIoom_score\fP は、そのプロセスの \fIoom_adj\fP 設定で規定されるビットシフト調整にも影響を与える。 -.TP -\fI/proc/[pid]/root\fP -UNIX と Linux では、 ファイルシステムのルート (/) をプロセスごとに別々に -できる。これはシステムコール \fBchroot\fP(2) によって設定する。 このファイルは -プロセスのルートディレクトリを指すシンボリックリンクで、 exe や fd/* など -と同じような動作をする。 - -.\" The following was still true as at kernel 2.6.13 -.\" FIXME Describe /proc/[pid]/seccomp -.\" Added in 2.6.12 -.\" FIXME Describe /proc/[pid]/sessionid -.\" Added in 2.6.25; read-only; only readable by real UID -.\" CONFIG_AUDITSYSCALL -.\" FIXME Describe /proc/[pid]/sched -.\" Added in 2.6.23 -.\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS -.\" Displays various scheduling parameters -.\" This file can be written, to reset stats -.\" FIXME Describe /proc/[pid]/schedstats and -.\" /proc/[pid]/task/[tid]/schedstats -.\" Added in 2.6.9 -.\" CONFIG_SCHEDSTATS -マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常 -\fBpthread_exit\fP(3) を呼び出しにより行われる)。 -.TP -\fI/proc/[pid]/smaps\fP (Linux 2.6.14 以降) -.\" CONFIG_PROC_PAGE_MONITOR -このファイルは、そのプロセスの各マッピングのメモリ消費量を表示する。 マッピングのそれぞれについて、以下のような内容が表示される。 -.in +4n -.nf - -08048000\-080bc000 r\-xp 00000000 03:02 13130 /bin/bash -Size: 464 kB -Rss: 424 kB -Shared_Clean: 424 kB -Shared_Dirty: 0 kB -Private_Clean: 0 kB -Private_Dirty: 0 kB - -.fi -.in -最初の行には、 \fI/proc/[pid]/maps\fP で表示されるマッピングと同じ情報が表示される。 残りの行には、マッピングのサイズ、現在 RAM -上に存在するマッピングの量、 マッピング内の共有ページのうちクリーンなページ数、ダーティなページ数、 -マッピング内のプライベートページのうちクリーンなページ数、 ダーティなページ数、を示す。 - -このファイルが存在するのは、カーネルのコンフィギュレーション・オプション \fBCONFIG_MMU\fP を有効にした場合だけである。 -.TP -\fI/proc/[pid]/stat\fP -プロセスの状態についての情報。 これは \fBps\fP(1) で使われ、 \fI/usr/src/linux/fs/proc/array.c\fP -で定義されている。 - -各フィールドを順番に、 \fBscanf\fP(3) のフォーマット指定子付きで以下に示す。 -.RS -.TP 12 -\fIpid\fP %d -プロセス ID。 -.TP -\fIcomm\fP %s -括弧でくくられた実行形式のファイル名。 実行形式がスワップアウトされているかどうかによらず、見ることができる。 -.TP -\fIstate\fP %c -"RSDZTW" のどれか 1 文字。 R は実行中 (running)、 S は割り込み可能な休眠状態 (sleeping in an -interruptible wait)、 D は割り込み不可能なディスクスリープの待機状態 (waiting in uninterruptible -disk sleep)、 Z はゾンビ状態 (zombie)、 T はトレースされている (traced) か (シグナルにより) 停止している状態 -(stopped)、 W はページング中 (paging) を表している。 -.TP -\fIppid\fP %d -親プロセスの PID。 -.TP -\fIpgrp\fP %d -プロセスのプロセスグループ ID。 -.TP -\fIsession\fP %d -プロセスのセッション ID。 -.TP -\fItty_nr\fP %d -プロセスの制御端末 (マイナー・デバイス番号はビット 31〜20 と 7〜0 にまたがって格納され、 メジャー・デバイス番号はビット 15〜8 -に格納される)。 -.TP -\fItpgid\fP %d -.\" This field and following, up to and including wchan added 0.99.1 -プロセスの制御端末のフォアグランド・プロセス・グループの ID。 -.TP -\fIflags\fP %u (Linux 2.6.22 より前は %lu) -プロセスのカーネルフラグワード。 ビットの意味は、 \fI\fP で定義されている PF_* を参照すること。 -詳細はカーネルのバージョンに依存する。 -.TP -\fIminflt\fP %lu -プロセスが引き起こしたマイナーフォールト (minor fault、ディスクから メモリページへのロードを必要としないフォールト) の回数。 -.TP -.\" field 11 -\fIcminflt\fP %lu -(そのプロセスが終了を待っている) 子プロセスが引き起こしたマイナーフォールトの回数。 -.TP -\fImajflt\fP %lu -プロセスが引き起こしたメジャーフォールト (major fault、ディスクから メモリページへのロードを必要とするフォールト) の回数。 -.TP -\fIcmajflt\fP %lu -(そのプロセスが終了を待っている) 子プロセスが引き起こしたメジャーフォールトの回数。 -.TP -\fIutime\fP %lu -このプロセスがユーザーモードでスケジューリングされた時間の合計。 clock tick 単位で計測される -(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 この値にはゲスト時間 \fIguest_time\fP (仮想 CPU -の実行に消費された時間) も含まれる。これは、ゲスト時間のフィールドを認識しないアプリケーション -において、ゲスト時間分を計算に入れ損ねないようにするためである。 -.TP -\fIstime\fP %lu -プロセスのカーネルモードでの実行時間 (単位 jiffies)。 このプロセスがカーネルモードでスケジューリングされた時間の合計。 clock tick -単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 -.TP -\fIcutime\fP %ld -このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、 ユーザモードでスケジューリングされた時間の合計。 clock tick -単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 (\fBtimes\fP(2) も参照すること。) -この値にはゲスト時間 \fIcguest_time\fP (仮想 CPU を実行するのに消費した時間、下記参照) も含まれる。 -.TP -\fIcstime\fP %ld -このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、 カーネルモードでスケジューリングされた時間の合計。 clock tick -単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 -.TP -\fIpriority\fP %ld -(Linux 2.6 の場合の説明) リアルタイム・スケジューリングポリシー (下記の -\fIpolicy ;\fP \fBsched_setscheduler\fP(2) 参照) で動作しているプロセスでは、 この -値はスケジューリング優先度を反転した値 (スケジューリング優先度を マイナスにし -た値) となる。値は \-2 から \-100 までの範囲の数値で、 それぞれリアルタイム優先 -度の 1 から 9 に対応する。 リアルタイム以外のスケジューリングポリシーで動作し -ているプロセスでは、 この値はカーネル内で管理されている nice 値そのもの -(\fBsetpriority\fP(2)) となる。 カーネルは nice 値を 0 (高) から 39 (低) の範囲 -の値として保持しており、 それぞれユーザに見える nice 値の \-20 から 19 に対応 -する。 - -.\" And back in kernel 1.2 days things were different again. -Linux 2.6 より前では、このプロセスに割り当てられたスケジューリング 重みを変換した値が表示されていた。 -.TP -\fInice\fP %ld -.\" Back in kernel 1.2 days things were different. -nice 値 (\fBsetpriority\fP(2) 参照)。 19 (最低優先) から \-20 (最高優先) -の範囲の値である。 -.TP -.\" .TP -.\" \fIcounter\fP %ld -.\" The current maximum size in jiffies of the process's next timeslice, -.\" or what is currently left of its current timeslice, if it is the -.\" currently running process. -.\" .TP -.\" \fItimeout\fP %u -.\" The time in jiffies of the process's next timeout. -.\" timeout was removed sometime around 2.1/2.2 -\fInum_threads\fP %ld -このプロセスのスレッド数 (Linux 2.6 以降)。 カーネル 2.6 より前では、このフィールドは削除されたフィールドの 場所埋めとして 0 -にハードコードされていた。 -.TP -.\" field 21 -\fIitrealvalue\fP %ld -インターバルタイマによって、次に \fBSIGALRM\fP がプロセスへ送られるまでの時間 (単位 jiffies)。 カーネル 2.6.17 -以降では、このフィールドはメンテナンスされなくなり、 0 にハードコードされている。 -.TP -\fIstarttime\fP %llu (Linux 2.6 より前は %lu) -プロセスの起動時刻。システムが起動した時刻が起点 (単位 jiffies)。 -.TP -\fIvsize\fP %lu -仮想メモリのサイズ。単位はバイト。 -.TP -\fIrss\fP %ld -Resident Set Size。プロセスが持っている実メモリ上のページ数。 -これはちょうどテキスト、データ、スタック空間に使われているページ数である。 デマンドロードされていないページや -スワップアウトされたページの数は含んでいない。 -.TP -\fIrsslim\fP %lu -このプロセスの rss の現在のソフト・リミット (バイト単位)。 \fBgetpriority\fP(2) の \fBRLIMIT_RSS\fP の説明を参照。 -.TP -\fIstartcode\fP %lu -プログラムテキストが実行可能であるような領域の先頭アドレス。 -.TP -\fIendcode\fP %lu -プログラムテキストが実行可能であるような領域の末尾アドレス。 -.TP -\fIstartstack\fP %lu -スタックの開始アドレス (すなわち、スタックの底)。 -.TP -\fIkstkesp\fP %lu -現在の ESP (スタックポインタ) の値。 プロセスのカーネルスタックページにある。 -.TP -\fIkstkeip\fP %lu -現在の EIP (インストラクションポインタ) の値。 -.TP -.\" field 31 -\fIsignal\fP %lu -処理待ちのシグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。 -リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。 -.TP -\fIblocked\fP %lu -ブロックされた (blocked) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。 -リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。 -.TP -\fIsigignore\fP %lu -無視された (ignored) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。 -リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。 -.TP -\fIsigcatch\fP %lu -捕捉された (caught) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。 -リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。 -.TP -\fIwchan\fP %lu -プロセスが待っている「チャネル」。 これはシステムコールのアドレスであり、 -文字名が必要ならば (アドレスとシステムコール名との) 対応表から見つけられる -(もし \fI/etc/psdatabase\fP [訳注: このファイル名はパッケージによる] を更新 -しているならば、 \fIps \-l\fP して WCHAN フィールドを見よ)。 -.TP -\fInswap\fP %lu -.\" nswap was added in 2.0 -スワップされたページ数 (メンテナンスされていない)。 -.TP -\fIcnswap\fP %lu -.\" cnswap was added in 2.0 -子プロセスの \fInswap\fP の累計 (メンテナンスされていない)。 -.TP -\fIexit_signal\fP %d (Linux 2.1.22 以降) -プロセスが死んだときに親プロセスに送られるシグナル。 -.TP -\fIprocessor\fP %d (Linux 2.2.8 以降) -このプロセスを最後に実行した CPU の番号。 -.TP -\fIrt_priority\fP %u (Linux 2.5.19 以降; Linux 2.6.22 より前は %lu) -リアルタイム・スケジューリングの優先度。 リアルタイム・ポリシーの元でスケジューリングされるプロセスでは 1 から 99 の範囲の値となり、 -リアルタイム以外のスケジューリングポリシーのプロセスでは 0 となる (\fBsched_setscheduler\fP(2) 参照)。 -.TP -.\" field 41 -\fIpolicy\fP %u (Linux 2.5.19 以降; Linux 2.6.22 より前は %lu) -スケジューリング・ポリシー (\fBsched_setscheduler\fP(2) 参照)。 値は、 \fIlinux/sched.h\fP の SCHED_* -定数を使ってデコードすればよい。 -.TP -\fIdelayacct_blkio_ticks\fP %llu (Linux 2.6.18 以降) -(clock tick (100分の1秒) 単位での) ブロック I/O の総遅延量。 -.TP -\fIguest_time\fP %lu (Linux 2.6.24 以降) -プロセスのゲスト時間 (ゲスト OS の仮想 CPU を実行するのに消費された時間)。 clock tick 単位で計測される -(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 -.TP -\fIcguest_time\fP %ld (Linux 2.6.24 以降) -プロセスの子プロセスのゲスト時間。 clock tick 単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 -.RE -.TP -\fI/proc/[pid]/statm\fP -(ページ単位で計測した) メモリ使用量についての情報を提供する。 各列は以下の通りである。 -.in +4n -.nf - -.\" (not including libs; broken, includes data segment) -.\" (including libs; broken, includes library text) -size プログラムサイズの総計 - (\fI/proc/[pid]/status\fP の VmSize と同じ) -resident 実メモリ上に存在するページ - (\fI/proc/[pid]/status\fP の VmRSS と同じ) -share 共有ページ (共有マッピングされているページ) -text テキスト (コード) -lib ライブラリ (Linux 2.6 では未使用) -data データ + スタック -dt ダーティページ (Linux 2.6 では未使用) -.fi -.in -.TP -\fI/proc/[pid]/status\fP -\fI/proc/[pid]/stat\fP と \fI/proc/[pid]/statm\fP にある多くの情報を、人間が解析しやすい形式で提供する。 -以下に例を示す。 -.in +4n -.nf - -$\fB cat /proc/$$/status\fP -Name: bash -State: S (sleeping) -Tgid: 3515 -Pid: 3515 -PPid: 3452 -TracerPid: 0 -Uid: 1000 1000 1000 1000 -Gid: 100 100 100 100 -FDSize: 256 -Groups: 16 33 100 -VmPeak: 9136 kB -VmSize: 7896 kB -VmLck: 0 kB -VmHWM: 7572 kB -VmRSS: 6316 kB -VmData: 5224 kB -VmStk: 88 kB -VmExe: 572 kB -VmLib: 1708 kB -VmPTE: 20 kB -Threads: 1 -SigQ: 0/3067 -SigPnd: 0000000000000000 -ShdPnd: 0000000000000000 -SigBlk: 0000000000010000 -SigIgn: 0000000000384004 -SigCgt: 000000004b813efb -CapInh: 0000000000000000 -CapPrm: 0000000000000000 -CapEff: 0000000000000000 -CapBnd: ffffffffffffffff -Cpus_allowed: 00000001 -Cpus_allowed_list: 0 -Mems_allowed: 1 -Mems_allowed_list: 0 -voluntary_ctxt_switches: 150 -nonvoluntary_ctxt_switches: 545 -.fi -.in -.IP -フィールドの詳細は以下の通りである。 -.RS -.IP * 2 -\fIName\fP: このプロセスにより実行されたコマンド。 -.IP * -\fIState\fP: プロセスの現在の状態。 "R (running; 実行中)", "S (sleeping; 休眠状態)", "D (disk -sleep; ディスク待ちの休眠状態)", "T (stopped; 停止状態)", "T (tracing stop; トレースによる停止)", "Z -(zombie; ゾンビ状態)", "X (dead; 死亡)" のいずれかである。 -.IP * -\fITgid\fP: スレッドグループ ID (すなわち、プロセス ID)。 -.IP * -\fIPid\fP: スレッド ID (\fBgettid\fP(2) 参照)。 -.IP * -\fIPPid\fP: 親プロセスの PID。 -.IP * -\fITracerPid\fP: このプロセスをトレースしているプロセスの PID (トレースされていない場合は 0)。 -.IP * -\fIUid\fP, \fIGid\fP: 実 UID/GID、実効 UID/GID、保存 set\-UID/GID、ファイルシステム UID/GID。 -.IP * -\fIFDSize\fP: 現在割り当てられているファイルディスクリプタのスロット数。 -.IP * -\fIGroups\fP: 補助グループのリスト。 -.IP * -\fIVmPeak\fP: 仮想メモリサイズのピーク値。 -.IP * -\fIVmSize\fP: 仮想メモリサイズ。 -.IP * -\fIVmLck\fP: ロックされているメモリサイズ (\fBmlock\fP(3) 参照)。 -.IP * -\fIVmHWM\fP: 実メモリ上に存在するページサイズ (resident set size) のピーク値 ("high water mark")。 -.IP * -\fIVmRSS\fP: 実メモリ上に存在するページサイズ。 -.IP * -\fIVmData\fP, \fIVmStk\fP, \fIVmExe\fP: データ、スタック、テキストセグメントのサイズ。 -.IP * -\fIVmLib\fP: 共有ライブラリ・コードのサイズ。 -.IP * -\fIVmPTE\fP: ページ・テーブル・エントリのサイズ (Linux 2.6.10 以降)。 -.IP * -\fIThreads\fP: このスレッドが属するプロセスのスレッド数。 -.IP * -\fISigQ\fP: このフィールドにはスラッシュで区切られた 2 つの数字が入っている。この数字はこのプロセスの実ユーザ ID -宛にキューイングされたシグナルに関するものである。一つ目の数字は、この実ユーザ ID -宛に現在キューイングされているシグナル数である。二つ目の数字は、このプロセス宛にキューイングされたシグナル数に関するリソース上限値である -(\fBgetrlimit\fP(2) の \fBRLIMIT_SIGPENDING\fP の説明を参照)。 -.IP * -\fISigPnd\fP, \fIShdPnd\fP: スレッド宛およびプロセス全体宛の処理待ちシグナルの数 (\fBpthreads\fP(7), -\fBsignal\fP(7) 参照)。 -.IP * -\fISigBlk\fP, \fISigIgn\fP, \fISigCgt\fP: ブロックされるシグナル、無視されるシグナル、捕捉待ちのシグナルを 示すマスク値 -(\fBsignal\fP(7))。 -.IP * -\fICapInh\fP, \fICapPrm\fP, \fICapEff\fP: 継承可能 (inheritable)、許可 (permitted)、実効 -(effective) の各ケーパビリティセットで有効になっているケーパビリティのマスク値 (\fBcapabilities\fP(7) 参照)。 -.IP * -\fICapBnd\fP: ケーパビリティ・バウンディングセット (カーネル 2.6.26 以降、 \fBcapabilities\fP(7) 参照)。 -.IP * -\fICpus_allowed\fP: このプロセスが実行を許可されている CPU のマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7) -参照)。 -.IP * -\fICpus_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7) -参照)。 -.IP * -\fIMems_allowed\fP: このプロセスが使用できるメモリノードのマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7) -参照)。 -.IP * -\fIMems_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7) -参照)。 -.IP * -\fIvoluntary_context_switches\fP, \fInonvoluntary_context_switches\fP: -自発的/非自発的なコンテキストスイッチの回数 (Linux 2.6.23 以降)。 -.RE -.TP -\fI/proc/[pid]/task\fP (Linux 2.6.0\-test6 以降) -このディレクトリには、そのプロセスのスレッド情報を含む サブディレクトリが 1 スレッドにつき 1 つ置かれる。 -各サブディレクトリの名前はスレッドのスレッド ID (\fI[tid]\fP) を示す数字である \fB(\fPgettid\fB(2)\fP を参照)。 -これらの各サブディレクトリには、 \fI/proc/[pid]\fP ディレクトリ以下と同じ名前と内容のファイル群がある。 -すべてのスレッドで共有される属性の場合、 \fItask/[tid]\fP サブディレクトリ以下の各ファイルの内容は 親ディレクトリ -\fI/proc/[pid]\fP の対応するファイルと同じになることだろう (例えば、マルチスレッド・プロセスではファイル -\fItask/[tid]/cwd\fP はいずれも親ディレクトリ内の \fI/proc/[pid]/cwd\fP -と同じ値を持つことになる。なぜなら、一つのプロセスに属すすべての スレッドは作業ディレクトリを共有するからである)。 スレッド毎に独立な属性の場合、 -\fItask/[tid]\fP サブディレクトリ以下の各ファイルは異なる値を持つことがある (例えば、ファイル \fItask/[tid]/status\fP -はスレッド毎に異なる値を持つ可能性がある)。 - -.\" The following was still true as at kernel 2.6.13 -マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 \fI/proc/[pid]/task\fP ディレクトリの内容は参照できない -(スレッドの終了は通常 \fBpthread_exit\fP(3) を呼び出しにより行われる)。 -.TP -\fI/proc/apm\fP -Advanced Power Management のバージョンとバッテリ情報。 カーネルのコンパイル時に \fBCONFIG_APM\fP -を定義したときに存在する。 -.TP -\fI/proc/bus\fP -インストールされている各バス用にサブディレクトリがある。 -.TP -\fI/proc/bus/pccard\fP -PCMCIA デバイスの情報が書かれるサブディレクトリ。 カーネルのコンパイル時に \fBCONFIG_PCMCIA\fP を定義したときに存在する。 -.TP -\fI/proc/bus/pccard/drivers\fP -.TP -\fI/proc/bus/pci\fP -いくつかのサブディレクトリがあり、 PCI バス・インストールされているデバイス・ デバイスドライバの情報が書かれた仮想ファイルがある。 -これらのファイルのうちいくつかは ASCII フォーマットではない。 -.TP -\fI/proc/bus/pci/devices\fP -PCI デバイスの情報。 \fBlspci\fP(8) や \fBsetpci\fP(8) でアクセスすることができる。 -.TP -\fI/proc/cmdline\fP -ブート時に Linux カーネルに渡された引き数。 引き数の受け渡しは、たいてい \fBlilo\fP(8) や \fBgrub\fP(8) -といったブートマネージャを使って行われる。 -.TP -\fI/proc/config.gz\fP (Linux 2.6 以降) -このファイルでは、現在実行中のカーネルの構築時に使用された 設定オプションを参照できる。 書式は、 (\fImake xconfig\fP, \fImake -config\fP などを使って) カーネルの設定を変更した際に生成される \fI.config\fP ファイルのものと同じである。 -ファイルの内容は圧縮されており、 \fBzcat\fP(1), \fBzgrep\fP(1) などを使うと、表示や検索ができる。 ファイルが変更されていない限り、 -\fI/proc/config.gz\fP の内容は次のコマンドで得られる内容と同じである。 -.in +4n -.nf - -cat /lib/modules/$(uname \-r)/build/.config -.fi -.in -.IP -\fI/proc/config.gz\fP が提供されるのは、カーネルの設定で \fBCONFIG_IKCONFIG_PROC\fP -が有効になっている場合のみである。 -.TP -\fI/proc/cpuinfo\fP -このファイルは、CPU およびシステムアーキテクチャに依存する項目を 集めたもので、リストの内容はサポートされているアーキテクチャ毎に異なる。 2 -つだけ共通の項目がある。 \fIprocessor\fP はプロセッサ番号で、 \fIbogomips\fP はカーネルの初期化時に計算されるシステム定数である。 -SMP マシンでは各 CPU についての情報が書かれている。 -.TP -\fI/proc/devices\fP -メジャーデバイス番号とデバイスグループのテキスト形式のリスト。 MAKEDEV スクリプトはこのファイルを使って、 -カーネルとの整合性を保つことができる。 -.TP -\fI/proc/diskstats\fP (Linux 2.5.69 以降) -このファイルには各ディスクデバイスのディスク I/O 統計情報が書かれている。 更に詳しい情報は、カーネルソースファイル -\fIDocumentation/iostats.txt\fP を参照すること。 -.TP -\fI/proc/dma\fP -登録されている \fIISA\fP DMA (direct memory access) チャネルのリスト。 -.TP -\fI/proc/driver\fP -空のサブディレクトリ。 -.TP -\fI/proc/execdomains\fP -実行ドメインのリスト (ABI パーソナリティ)。 -.TP -\fI/proc/fb\fP -カーネルのコンパイル時に \fBCONFIG_FB\fP が定義されている場合、フレームバッファの情報が書かれる。 -.TP -\fI/proc/filesystems\fP -カーネルが対応しているファイルシステムのテキスト形式のリスト。 カーネルに組み込まれてコンパイルされたファイルシステムと、 -カーネルモジュールが現在ロードされているファイルシステムが列挙される (\fBfilesystems\fP(5) 参照)。 ファイルシステムに -"nodev" という印が付いている場合、 そのファイルシステムがマウントするためのブロックデバイスを 必要としないことを意味する (例えば、 -仮想ファイルシステム、ネットワークファイルシステムなど)。 - -ちなみに、マウント時にファイルシステムが指定されず、 どうやってもファイルシステムの種類を判定できなかった際に、 このファイルを \fBmount\fP(8) -が使用するかもしれない。 その場合、このファイルに含まれるファイルシステムが試される (ただし、"nodev" の印がついたものは除く)。 -.TP -\fI/proc/fs\fP -空のサブディレクトリ。 -.TP -\fI/proc/ide\fP -このディレクトリは IDE バスをもつシステムに存在する。 各 IDE チャネルとそれに取り付けられている各デバイスごとにディレクトリがあり、 -以下のファイルが含まれている。 - -.in +4n -.nf -cache バッファサイズ (KB) -capacity セクタ数 -driver ドライバのバージョン -geometry 物理ジオメトリと論理ジオメトリ -identify 16 進数表記 -media メディアのタイプ -model 製造者のモデル番号 -settings ドライブの設定 -smart_thresholds 16 進数表記 -smart_values 16 進数表記 -.fi -.in - -\fBhdparm\fP(8) ユーティリティは、分かりやすい形式で この情報にアクセスするための手段を提供する。 -.TP -\fI/proc/interrupts\fP -IO デバイス毎の CPU 別の割り込み回数の記録に使われる。 Linux 2.6.24 以降、少なくとも i386 と x86_64 -アーキテクチャでは、 (デバイスと関連がない) システム内部の割り込みについても記録される。 システム内部の割り込みには、NMI -(nonmaskable interrupt), LOC (local timer interrupt) や、SMP システムでは TLB (TLB -flush interrupt), RES (rescheduling interrupt), CAL (remote function call -interrupt) などがある。 簡単に読むことのできるフォーマットで、ASCII で表記されている。 -.TP -\fI/proc/iomem\fP -Linux 2.4 における I/O メモリマップ。 -.TP -\fI/proc/ioports\fP -現在登録され使われている I/O ポート領域のリスト。 -.TP -\fI/proc/kallsyms\fP (Linux 2.5.71 以降) -カーネルの外部シンボル定義を保持する。 \fBmodules\fP(X) 関係のツールがローダブルモジュールを動的にリンクしたり バインド (bind) -するのに使われる。 Linux 2.5.47 以前では、微妙に異なる書式の似たようなファイルが \fIksyms\fP という名前であった。 -.TP -\fI/proc/kcore\fP -このファイルはシステムの物理メモリを表現しており、 ELF コアファイル形式 (core file format) で保持されている。 -この擬似ファイルと strip されていないカーネルのバイナリ (\fI/usr/src/linux/vmlinux\fP) [訳注: -パッケージに依存する]) があれば、 GDB はカーネル内の任意のデータ構造の現在の状態を調べられる。 - -このファイルの大きさは物理メモリ (RAM) のサイズに 4KB を加えた値である。 -.TP -\fI/proc/kmsg\fP -このファイルは \fBsyslog\fP(2) システムコールでカーネルメッセージを読み出す代りに使える。 -プロセスがこのファイルを読むためにはスーパーユーザー権限が必要であり、 ファイルを読み出すのは 1 つのプロセスのみに限るべきである。 -カーネルメッセージを記録するために、 \fBsyslog\fP(2) システムコールの機能を使う syslog プロセスが稼働している場合、 -このファイルを読み出すべきではない。 - -このファイルの中の情報は \fBdmesg\fP(1) によって表示される。 -.TP -\fI/proc/ksyms\fP (Linux 1.1.23\-2.5.47) -\fI/proc/kallsyms\fP を参照。 -.TP -\fI/proc/loadavg\fP -このファイルの最初の 3 つのフィールドはロードアベレージの数値で、 1, 5, 15 分 -あたりの実行キュー内 (state R) または ディスク I/O 待ち (state D) のジョブ数 -を与える。 これは \fBuptime\fP(1) などのプログラムによって得られる値と同じである。 -4 番目のフィールドはスラッシュ (/) で区切られた 2 つの数値から構成される。 -この数値のうち最初のものは、現在実行可能なカーネルスケジュールエンティティ -(プロセス、スレッド) の数である。スラッシュの後の数値は、現在システム上に -存在するカーネルスケジュールエンティティの数である。 5 番目のフィールドは -システム上に最も最近生成されたプロセスの PID である。 -.TP -\fI/proc/locks\fP -このファイルは現在のファイルロック (\fBflock\fP(2) と \fBfcntl\fP(2)) とリース (\fBfcntl\fP(2)) を表示する。 -.TP -\fI/proc/malloc\fP (Linux 2.2 以前のみ) -.\" It looks like this only ever did something back in 1.0 days -コンパイルのときに \fBCONFIGDEBUGMALLOC\fP が定義されているときのみ、このファイルは存在する。 -.TP -\fI/proc/meminfo\fP -このファイルはシステム上のメモリ使用量に関する統計情報を表示する。 \fBfree\fP(1) は、このファイルを参照し、 -システムの未使用および使用中のメモリ量 (物理メモリとスワップ) と、 カーネルに使われている共有メモリとバッファの情報を報告する。 -.TP -\fI/proc/modules\fP -現在システムにロードされているモジュールのテキスト形式のリスト。 \fBlsmod\fP(8) も参照。 -.TP -\fI/proc/mounts\fP -カーネル 2.4.19 より前では、このファイルは現在システムにマウントされている 全てのファイルシステムのリストであった。 Linux 2.4.19 -でプロセス単位のマウント名前空間が導入されたことに伴い、 このファイルは \fI/proc/self/mounts\fP へのリンクとなった。 -\fI/proc/self/mounts\fP はそのプロセス自身のマウント名前空間のマウントポイントのリストである。 このファイルのフォーマットは -\fBfstab\fP(5) に記述されている。 -.TP -\fI/proc/mtrr\fP -Memory Type Range Registers。 詳細は、カーネルソースファイル \fIDocumentation/mtrr.txt\fP -を参照すること。 -.TP -\fI/proc/net\fP -さまざまなネットワークについての擬似ファイルで、 それぞれがネットワーク層の各種の状態を与える。 これらのファイルの内容は ASCII 形式なので、 -\fBcat\fP(1) で読み出せる。 とはいえ基本コマンドの \fBnetstat\fP(8) はこれらのファイルの内容のよりすっきりとした表示を提供する。 -.TP -\fI/proc/net/arp\fP -アドレス解決に使われるカーネルの ARP テーブルの ASCII 可読なダンプを保持している。 動的結合されたものと固定 (preprogrammed) -の両方の APP エントリを見ることができる。フォーマットは以下のとおり: - -.nf -.in 8n -\f(CWIP address HW type Flags HW address Mask Device -192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0 -192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0\fP -.fi -.in - -ここで IP address はマシンの IPv4 アドレス、 HW type はそのアドレスの RFC\ 826 で定められているハードウェアの形式、 -Flags は ARP 構造体 (\fI/usr/include/linux/if_arp.h\fP 内で定義されている) の内部フラグ、 HW -address はその IP アドレスにマップされているデータリンク層のアドレス (もしわかっていれば) である。 -.TP -\fI/proc/net/dev\fP -擬似ファイル dev はネットワークデバイスの状態情報を含んでいる。 これは送受信したパケット数、エラーとコリジョン (collision) の回数、 -その他の基本的な統計を与える。 これらは \fBifconfig\fP(8) がデバイスの状態を報告するのに使われる。 フォーマットは以下のとおり: - -.nf -.in 1n -\f(CWInter\-| Receive | Transmit - face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed - lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0 - eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0 - ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0 - tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0\fP -.in -.fi -.\" .TP -.\" .I /proc/net/ipx -.\" No information. -.\" .TP -.\" .I /proc/net/ipx_route -.\" No information. -.TP -\fI/proc/net/dev_mcast\fP -\fI/usr/src/linux/net/core/dev_mcast.c\fP で定義されており、以下の形式である。 -.nf -.in +5 -indx interface_name dmi_u dmi_g dmi_address -2 eth0 1 0 01005e000001 -3 eth1 1 0 01005e000001 -4 eth2 1 0 01005e000001 -.in -.fi -.TP -\fI/proc/net/igmp\fP -Internet Group Management Protocol (インターネットグループ管理プロトコル)。 -\fI/usr/src/linux/net/core/igmp.c\fP で定義されている。 -.TP -\fI/proc/net/rarp\fP -このファイルは \fIarp\fP と同じフォーマットで 逆アドレス解決サービス (reverse address lookup services) -\fBrarp\fP(8) に提供するために使われる現在の逆マップデータベースの内容を含んでいる。 RARP -がカーネルコンフィグレーションに設定されていなければ、 このファイルは存在しない。 -.TP -\fI/proc/net/raw\fP -.\" .TP -.\" .I /proc/net/route -.\" No information, but looks similar to -.\" .BR route (8). -RAW ソケットテーブルのダンプを保持している。 ほとんどの情報はデバッグ以外では -使われない。 \&"sl" の値はソケットのカーネルハッシュスロット、 -\&"local_address" はローカルアドレスとプロトコル番号のペア -[訳者追加: "rem_address" はリモートアドレスとプロトコル番号のペア]。 -\&"st" はソケットの内部状態。 \&"tx_queue" と "rx_queue" はカーネルメモリを -消費している 送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と -"rexmits" フィールドは RAW では使われていない。 -\&"uid" フィールドはソケット生成者の実効 UID を保持している。 -.TP -\fI/proc/net/snmp\fP -このファイルは SNMP エージェントが必要とする IP, ICMP, TCP, UDP 管理情報を ASCII データとして保持している。 -.TP -\fI/proc/net/tcp\fP -TCP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には -使われない。 sl はソケットのカーネルハッシュスロットの値、 \&"local_address" -はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は) -\&"rem_address" はリモートアドレスとポート番号の対である。 \&"st" はソケット -の内部状態である。 \&"tx_queue" と "rx_queue" はカーネルメモリを消費している -送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と "rexmits" -フィールドはソケット状態のカーネル 内部情報を保持しているが、 -これらはデバッグのときにしか役に立たない。 \&"uid" フィールドはソケット -生成者の実効 UID を保持している。 -.TP -\fI/proc/net/udp\fP -UDP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には -使われない。 sl はソケットのカーネルハッシュスロットの値、 "local_address" -はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は) -"rem_address" はリモートアドレスとポート番号のペアである。 "st" はソケットの -内部状態である。 "tx_queue" と "rx_queue" はカーネルメモリを消費している -送信/受信データキューのサイズ。 "tr" と "tm\->when" と "rexmits" -フィールドは UDP では使われていない。 "uid" フィールドはソケット生成者の -実効 UID を保持している。 フォーマットは以下のとおり: - -.nf -.in 1n -\f(CWsl local_address rem_address st tx_queue rx_queue tr rexmits tm\->when uid - 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0 - 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0 - 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0\fP -.in -.fi -.TP -\fI/proc/net/unix\fP -UNIX ドメインソケットのリスト。 フォーマットは以下のとおり: -.nf -.sp .5 -\f(CWNum RefCount Protocol Flags Type St Path - 0: 00000002 00000000 00000000 0001 03 - 1: 00000001 00000000 00010000 0001 01 /dev/printer\fP -.sp .5 -.fi - -ここで、Num はカーネルのテーブルスロット数、 RefCount はソケットを使用して -いるユーザー数、 Protocol はいまのところいつも 0 で、Flags はソケットの状態 -を保持している カーネル内部のフラグである。 Type はいまのところいつも 1 -(UNIX ドメインのデータグラムソケットは、現在のカーネルではサポートされていない -[訳注: 2.0.34 ではサポートされているようだ])。 -St はソケットの内部状態で、Path は(もしあれば) ソケットのパス名である。 -.TP -\fI/proc/partitions\fP -各パーティションのメジャー番号とマイナー番号が書かれている。 さらに、ブロック数とパーティション名も書かれている。 -.TP -\fI/proc/pci\fP -カーネルの初期化時に見つかったすべての PCI デバイスのリストと その設定。 - -.\" FIXME /proc/sched_debug -.\" .TP -.\" .IR /proc/sched_debug " (since Linux 2.6.23)" -.\" See also /proc/[pid]/sched -このファイルは非推奨であり、新しい PCI 用の \fI/proc\fP インターフェイス (\fI/proc/bus/pci\fP) を使うこと。 -このファイルは Linux 2.2 でオプションになった (カーネルのコンパイル時に \fBCONFIG_PCI_OLD_PROC\fP -をセットすると利用可能であった)。 Linux 2.4 で再びオプションなしで有効に戻った。 さらに、Linux 2.6 で非推奨となり -(\fBCONFIG_PCI_LEGACY_PROC\fP をセットするとまだ利用可能であった)、 最終的に Linux 2.6.17 -以降で完全に削除された。 -.TP -\fI/proc/scsi\fP -\fIscsi\fP 中間レベル擬似ファイルといくつかの SCSI 低レベルドライバの ディレクトリを含むディレクトリ。 これらのファイルは ASCII -で表現されているので \fBcat\fP(1) で読める。 - -いくつかのファイルは書き込み可能で、サブシステムの設定を変更したり、 特定の機能をオン/オフすることができる。 -.TP -\fI/proc/scsi/scsi\fP -カーネルが知っているすべての SCSI デバイスのリスト。 このリストは起動時に (コンソールで) 見られるものとほぼ同じである。 scsi -は現在のところ \fIadd\-single\-device\fP コマンドのみをサポートしている。 これによりルート (root) -は既知のデバイスリストへ活線挿抜 (hotplugged) デバイスを加えることができる。 - -次のコマンドを実行すると、 -.in +4n -.nf - -echo \(aqscsi add\-single\-device 1 0 5 0\(aq > /proc/scsi/scsi - -.fi -.in -ホストアダプタ scsi1 は SCSI チャネル 0 で ID 5 LUN 0 のデバイスを探す。 もしこのアドレスに既知のデバイスがあるか、 -不正なアドレスであったならばエラーが返る。 -.TP -\fI/proc/scsi/[drivername]\fP -いまのところ \fI[drivername]\fP は NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, -buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, -seagate, t128, u15\-24f, ultrastore, wd7000 のどれかである。 少なくとも 1 つの SCSI -ホストバスアダプタ (HBA) に ドライバが割り当てられていると、そのドライバに対応したディレクトリが現れる。 それぞれのディレクトリには、 -登録されたホストアダプタに対応してファイルが作られる。 このファイルの名前は、システムの初期化の際に ホストアダプタに割り当てられた番号になる。 - -これらのファイルを読めばドライバとホストアダプタの設定や 統計などを見ることができる。 - -これらのファイルへの書き込みはホストアダプタごとに異なる動作を引き起こす。 たとえば \fIlatency\fP と \fInolatency\fP -コマンドを用いると、 ルート (root、スーパーユーザー) は eata_dma ドライバの隠し測定コードの オン/オフを切り替えることができる。 -また \fI lockup\fP と \fIunlock\fP コマンドを用いると、ルートは scsi_debug ドライバがシミュレートするバスロックアップ -(bus lockup) を 制御することができる。 -.TP -\fI/proc/self\fP -このディレクトリはプロセスに (プロセス自身の) \fI/proc\fP ファイルシステムへのアクセスを参照させる。 これは \fI/proc\fP 内の -(このプロセスの) プロセス ID が名前となっている ディレクトリと全く同一である。 -.TP -\fI/proc/slabinfo\fP -Linux 2.6.16 以降では、 カーネル設定オプション \fBCONFIG_SLAB\fP が有効の場合にのみ、このファイルは存在する。 -カーネルキャッシュの情報。 \fI/proc/slabinfo\fP のフィールドは以下のとおり。 -.in +4n -.nf - -cache\-name -num\-active\-objs -total\-objs -object\-size -num\-active\-slabs -total\-slabs -num\-pages\-per\-slab -.fi -.in - -詳細は \fBslabinfo\fP(5) を参照すること。 -.TP -\fI/proc/stat\fP -カーネル/システムの統計。 アーキテクチャによって異なる。 共通エントリには以下のものが含まれる。 -.RS -.TP -\fIcpu 3357 0 4313 1362393\fP -.\" 1024 on Alpha and ia64 -.\" FIXME Actually, the following info about the /proc/stat 'cpu' field -.\" does not seem to be quite right (at least in 2.6.12) -ユーザーモード、 低い優先度 (nice) でのユーザーモード、 システムモード、 タスク待ち (idle task)、 -でそれぞれシステムが消費した時間を USER_HZ を単位として計測した積算値。 (ほとんどのアーキテクチャでは USER_HZ は 1/100 -秒である。 正しい値は \fIsysconf(_SC_CLK_TCK)\fP を使って取得できる。) 最後の値 (タスク待ち) は疑似ファイル uptime -の 2番目のエントリの値を USER_HZ 倍したものである。 - -Linux 2.6 では、この行に 3つの欄が追加されている: -\fIiowait\fP (I/O の完了を待っていた時間; 2.5.41 以降); -\fIirq\fP (割り込み処理を行った時間; 2.6.0\-test4 以降); -\fIsoftirq\fP (ソフト割り込みの処理を行った時間; 2.6.0\-test4 以降)。 - -Linux 2.6.11 以降では、 -8 個目の欄として \fIsteal\fP (盗まれた時間; stolen time) が存在する。 -これは、仮想化環境での動作時に他のオペレーティングシステムにより -消費された時間である。 - -.\" See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de -Linux 2.6.24 以降では、9 個目の欄として、 \fIguest\fP がある。これは、 Linux -カーネルの制御下のゲストオペレーティングシステムの仮想 CPU の 実行に消費された時間である。 -.TP -\fIpage 5741 1808\fP -システムが (ディスクから) ページイン/ページアウトしたページ数。 -.TP -\fIswap 1 0\fP -スワップイン/スワップアウトされたページ数。 -.TP -.\" FIXME The following is not the full picture for the 'intr' of -.\" /proc/stat on 2.6: -\fIintr 1462898\fP -この行はシステム起動時以降に処理された割り込みの回数を示す。 最初の欄は処理された割り込み全ての合計であり、それ以降の欄は -個々の割り込みについての合計数である。 -.TP -\fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP... -(メジャー番号, ディスクインデックス番号):(情報なし (noinfo), 読み込み回数, 読み込みブロック数, 書き出し回数, 書き出しブロック数) -.br -(Linux 2.4 のみ) -.TP -\fIctxt 115315\fP -コンテクスト・スイッチの延べ回数。 -.TP -\fIbtime 769041601\fP -起動時刻、紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒数。 -.TP -\fIprocesses 86031\fP -システム起動時からの延べフォーク (fork) 数。 -.TP -\fIprocs_running 6\fP -実行中状態のプロセス数 (Linux 2.5.45 以降)。 -.TP -\fIprocs_blocked 2\fP -I/O 完了待ちで停止 (blocked) しているプロセス数 (Linux 2.5.45 以降)。 -.RE -.TP -\fI/proc/swaps\fP -使用中のスワップ領域。 \fBswapon\fP(8) も参照すること。 -.TP -\fI/proc/sys\fP -このディレクトリ (1.3.57 以降に存在) はカーネル変数に対応するいくつかの -ファイルとサブディレクトリを含む。 これらの変数は読み出し可能である。 -また場合によっては \fI/proc\fP ファイルシステムや、 (非推奨の) システムコール -\fBsysctl\fP(2) を用いて書き換えることもできる。 -.TP -\fI/proc/sys/abi\fP (Linux 2.4.10 以降) -.\" On some systems, it is not present. -このディレクトリにはアプリケーションのバイナリ情報が入ったファイルが置かれる。 更に詳しい情報は、カーネルソースファイル -\fIDocumentation/sysctl/abi.txt\fP を参照すること。 -.TP -\fI/proc/sys/debug\fP -このディレクトリは空の場合もある。 -.TP -\fI/proc/sys/dev\fP -このディレクトリにはデバイス特有の情報 (たとえば \fIdev/cdrom/info\fP) が含まれる。 -このディレクトリが空になっているシステムもある。 -.TP -\fI/proc/sys/fs\fP -このディレクトリには、ファイルシステムに関連するカーネル変数用の -ディレクトリとサブディレクトリが含まれる。 -.TP -\fI/proc/sys/fs/binfmt_misc\fP -このディレクトリ以下のファイルについてのドキュメントは、 カーネルソースの \fIDocumentation/binfmt_misc.txt\fP にある。 -.TP -\fI/proc/sys/fs/dentry\-state\fP (Linux 2.2 以降) -このファイルには、ディレクトリキャッシュ (dcache) の状態に関する情報が 入っている。ファイルには、 \fInr_dentry\fP, -\fInr_unused\fP, \fIage_limit\fP (秒単位の age), \fIwant_pages\fP (システムがリクエストしたページ数), -ダミーの 2 つの値、 という 6 つの数字が書かれている。 -.RS -.IP * 2 -\fInr_dentry\fP は割り当てられた dentry (dcache エントリ) の数である。 このフィールドは Linux 2.2 -では使用されない。 -.IP * -\fInr_unused\fP は未使用の dentry 数である。 -.IP * -.\" looks like this is unused in kernels 2.2 to 2.6 -\fIage_limit\fP は、メモリが不足している場合に次に dcache entry を再要求できるように なるまでの残り時間 (秒数) である。 -.IP * -.\" looks like this is unused in kernels 2.2 to 2.6 -\fIwant_pages\fP は、カーネルが shrink_dcache_pages() を呼び出したが dcache がまだ縮小されていない場合に、0 -以外の値となる。 -.RE -.TP -\fI/proc/sys/fs/dir\-notify\-enable\fP -このファイルは \fBfcntl\fP(2) に記述されている \fIdnotify\fP インターフェースをシステム全体で無効にしたり有効にしたりする。 -このファイルに値 0 が書かれている場合はインターフェースが無効になり、 値 1 の場合は有効になる。 -.TP -\fI/proc/sys/fs/dquot\-max\fP -このファイルにはキャッシュされるディスク quota エントリの最大数が書かれている。 (2.4 系の) -システムの中には、このファイルが存在しないものもある。 キャッシュされるディスク quota エントリの空きが非常に少なく、 -とても多くのシステムユーザーが同時に存在する場合、 この制限を上げるといいかもしれない。 -.TP -\fI/proc/sys/fs/dquot\-nr\fP -このファイルには割り当てられているディスク quota のエントリ数と、 空いているディスク quota のエントリ数が書かれている。 -.TP -\fI/proc/sys/fs/epoll\fP (Linux 2.6.28 以降) -このディレクトリには、ファイル \fImax_user_watches\fP がある。 これらは、 \fIepoll\fP -インタフェースが消費するカーネルメモリ量を制限するのに使用できる。 詳細は \fBepoll\fP(7) を参照。 -.TP -\fI/proc/sys/fs/file\-max\fP -このファイルはシステム全体でプロセスがオープンできる ファイル数の上限を定義する。 (各プロセスがオープンできるファイル数の上限を -\fBRLIMIT_NOFILE\fP によって設定する \fBsetrlimit\fP(2) も参照すること。) -ファイルハンドルを使い果たして大量にエラーメッセージが出る場合は、 以下のようにしてこの値を増加させてみよ: -.br - -.br -.nf -\f(CW echo 100000 > /proc/sys/fs/file\-max\fP -.fi - -\fIfile\-max\fP に書かれている値は、カーネル定数 \fBNR_OPEN\fP に制限される。 - -\fI/proc/sys/fs/file\-max\fP を増やした場合は、 \fI/proc/sys/fs/inode\-max\fP を新しい -\fI/proc/sys/fs/file\-max\fP の値の 3\-4 倍に増やしておくこと。 こうしないと inode を使い果たしてしまうだろう。 - -特権プロセス (\fBCAP_SYS_ADMIN\fP) は \fIfile\-max\fP 上限を上書きできる。 -.TP -\fI/proc/sys/fs/file\-nr\fP -(このファイルは読み出し専用で) 読み出すと 現在オープンされているファイルの数が得られる。 このファイルには、割り当てられているファイルハンドル数・ -空いているファイルハンドル数・ファイルハンドル数の最大値、 という 3 つの数値が書かれている。 カーネルはファイルハンドルを動的に割り当てるが、 -それを再び解放しない。 割り当てられているファイル数が最大値に近づいた場合は、 最大値を大きくすることを考慮すべきである。 -空いているファイルハンドル数が多い場合は、 ファイルハンドルの使用のピークを経験したことがあり、 最大値を大きくする必要はないだろう。 -.TP -\fI/proc/sys/fs/inode\-max\fP -このファイルには、メモリ内 inode の最大値が書かれている。 (2.4 系の) システムによっては、このファイルが存在しないかもしれない。 この値は -\fIfile\-max\fP の値の 3\-4 倍にすべきである。 これは \fIstdin\fP, \fIstdout\fP, ネットワークソケットを扱うにも inode -が必要なためである。 日常的に inode を使い果たしている場合は、この値を増やす必要がある。 -.TP -\fI/proc/sys/fs/inode\-nr\fP -このファイルには、 \fIinode\-state\fP の最初の 2 つの値が書かれている。 -.TP -\fI/proc/sys/fs/inode\-state\fP -このファイルには 7 個の値が書かれている: \fInr_inodes,\fP \fInr_free_inodes\fP, \fIpreshrink\fP と 4 -つのダミーの値である。 \fInr_inodes\fP はシステムが確保する inode の数である。 Linux は 1 度に 1 ページ分いっぱいに -nr_inode を確保するので、この値が \fIinode\-max\fP より幾分大きくなることもある。 \fInr_free_inodes\fP は空いている -inode の数を表す。 \fInr_inodes\fP > \fIinode\-max\fP の場合、 \fIpreshrink\fP は 0 以外の値になる。 -この場合システムは inode をさらに確保するのではなく、 inode リストを切り詰める必要がある。 -.TP -\fI/proc/sys/fs/inotify\fP (Linux 2.6.13 以降) -このディレクトリには、ファイル \fImax_queued_events\fP, \fImax_user_instances\fP, and -\fImax_user_watches\fP がある。これらは、 \fIinotify\fP インタフェースが消費するカーネルメモリ量を制限するのに利用できる。 -詳細は \fBinotify\fP(7) を参照。 -.TP -\fI/proc/sys/fs/lease\-break\-time\fP -このファイルは、ファイルを保持しているプロセスに対して カーネルがシグナルを送り、 -他のプロセスがそのファイルをオープンするのを待っていることを通知してから、 そのプロセスに対してカーネルがファイルのリース (lease, 貸し出し) -(\fBfcntl\fP(2) を参照) を許す猶予期間を指定する。 リースホルダ (lease holder: ファイルの貸し出しを受けているプロセス) -が 猶予期間中にリースを削除するか階級を低くしない場合、 カーネルはファイルのリースを強制的に止める。 -.TP -\fI/proc/sys/fs/leases\-enable\fP -このファイルはシステム全体でのファイルリース (\fBfcntl\fP(2) を参照) を有効または無効にする。 ファイルに値 0 -が書き込まれている場合、リースは無効である。 0 以外の場合にはリースは有効である。 -.TP -\fI/proc/sys/fs/mqueue\fP (Linux 2.6.6 以降) -このディレクトリにはファイル \fImsg_max\fP, \fImsgsize_max\fP, and \fIqueues_max\fP がある。これらは POSIX -メッセージキューで使用されるリソースの 制御を行う。 詳細は \fBmq_overview\fP(7) を参照。 -.TP -\fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP -これらのファイルにより、ユーザーは固定 UID と固定 GID の値を変更できる。 デフォルトは 65534 である。 Linux の UID と -GID は 32 ビットであるが、 16 ビットの UID と GID しかサポートしないファイルシステムもある。 -このようなファイルシステムが書き込みを許可してマウントされた場合、 65535 を超える UID と GID は、 -ディスクに書き込まれる前にオーバーフロー値に変換される。 -.TP -\fI/proc/sys/fs/pipe\-max\-size\fP (Linux 2.6.35 以降) -このファイルの値により、 \fBfcntl\fP(2) の \fBF_SETPIPE_SZ\fP -操作で増やすことができるパイプ容量の上限値が定義される。この上限は非特権プロセスにのみ適用される。このファイルのデフォルト値は 1,048,576 -である。このファイルに設定した値は切り上げられて、実装側で利用するのに都合のよい値に変更される場合がある。切り上げられた値を確認するには、値を設定した後でこのファイルの内容を表示すればよい。このファイルに設定できる最小値はシステムのページサイズである。 -.TP -\fI/proc/sys/fs/suid_dumpable\fP (Linux 2.6.13 以降) -.\" The following is based on text from Documentation/sysctl/kernel.txt -このファイルの値により、set\-user\-ID されたバイナリや、 保護がかかった (protected) バイナリ / tainted な -(汚染された; ライセンスがカーネルと適合しない) バイナリに対して、コアダンプファイルを 生成するかどうかが決定される。 以下の -3つの値を指定することができる: -.sp -\fI0\ (default)\fP この値を指定すると、以前と同じ (Linux 2.6.13 より前の) 動作をする。 (\fBseteuid\fP(2), -\fBsetgid\fP(2) などを呼び出すことや、set\-user\-ID や set\-group\-ID されたプログラムを 実行することで) 資格情報 -(credentials) が変更されているプロセスや、 プロセスの実行バイナリの読み出し許可がないプロセスに対して、 コアダンプを生成しない。 -.sp -\fI1\ ("debug")\fP すべてのプロセスで、可能であればコアダンプを行う。 コアダンプファイルの所有者は、ダンプを行うプロセスのファイルシステム -UID となり、セキュリティ上の考慮は行われない。 この値は、システムデバッグの場面だけを想定して設けられている。 ptrace -のチェックも行われない。 -.sp -\fI2\ ("suidsafe")\fP 通常はダンプされないようなバイナリ (上記の "0" 参照) を root だけが読み出し可能な形でダンプする。 -この場合、ユーザはそのコアダンプファイルを削除することはできるが、 読むことはできない。 セキュリティ上の理由から、このモードのコアダンプでは、 -既存のダンプファイルや他のファイルを上書きすることはない。 このモードは、管理者が通常の環境で問題を解析しようとする際に 適している。 -.TP -このファイルはスーパブロックの値を制御する。 -この値はカーネルがマウントできるファイルシステムの最大値になる。 現在、 \fIsuper\-max\fP で許可されているファイルシステム数以上に -マウントする必要がある場合は、この値を増加させるだけでよい。 -.TP -\fI/proc/sys/fs/super\-nr\fP -このファイルには現在マウントされているファイルシステム数が書かれている。 -.TP -\fI/proc/sys/kernel\fP -このディレクトリには、以下で説明する様々なカーネルパラメータを 制御するためのファイルが配置されている。 -.TP -\fI/proc/sys/kernel/acct\fP -このファイルには 3 つの値が含まれている: \fIhighwater\fP, \fIlowwater\fP, \fIfrequency\fP である。 -BSD\-style process accounting が有効になっている場合、 これら 3 つの値が動作を制御する。 -ログファイルのあるファイルシステムの空き領域が \fIlowwater\fP パーセント以下になった場合は、ログ記録を一時停止する。 空き領域が -\fIhighwater\fP パーセント以上になった場合に、ログ記録を再開する。 \fIfrequency\fP はカーネルが空き領域のチェックをする頻度である -(単位は秒)。 デフォルトの値は、4, 2, 30 である。 つまり、空き領域が 2% 以下になるとログ記録を一時停止し、 空き領域が 4% -以上となったときに再開する。 空き領域についての情報は 30 秒間有効である点に注意すること。 -.TP -\fI/proc/sys/kernel/cap\-bound\fP (Linux 2.2 to 2.6.24 以降) -\fI/proc/sys/kernel/cap\-bound\fP このファイルにはカーネルの \fIcapability bounding set\fP (符号付き -10 進数表現) の値が書かれている。 \fBexecve\fP(2) 中は、このセットとプロセスに許可されている権限の AND がとられる。 Linux -2.6.25 以降では、システム全体のケーパビリティバウンディングセットは なくなり、スレッド単位のバウンディングセットに置き換えられた。 -\fBcapabilities\fP(7) を参照。 -.TP -\fI/proc/sys/kernel/core_pattern\fP -\fBcore\fP(5) 参照。 -.TP -\fI/proc/sys/kernel/core_uses_pid\fP -\fBcore\fP(5) 参照。 -.TP -\fI/proc/sys/kernel/ctrl\-alt\-del\fP -このファイルはキーボードの Ctrl\-Alt\-Del の扱いを制御する。 このファイルにある値が 0 の場合、 Ctrl\-Alt\-Del が捕捉されると -\fBinit\fP(8) プログラムに送られて、正しく再起動される。 値が 0 より大きい場合、Vulcan Nerve Pinch (tm) -に反応して、 Linux はダーティバッファを同期させることなく、すぐに再起動を行う。 注意: プログラム (dosemu など) に "raw" -モードのキーボードがある場合、 ctrl\-alt\-del はカーネルの tty レイヤーに到達する前に プログラムに遮断され、 -プログラムに送られてどのように扱うかが決められる。 -.TP -\fI/proc/sys/kernel/hotplug\fP -このファイルはホットプラグ・ポリシー・エージェントのパスが書かれている。 このファイルのデフォルト値は \fI/sbin/hotplug\fP である。 -.TP -\fI/proc/sys/kernel/domainname\fP と \fI/proc/sys/kernel/hostname\fP -これらのファイルは、コマンド \fBdomainname\fP(1), \fBhostname\fP(1) と全く同じ方法で、 マシンの NIS/YP -ドメイン名とホスト名の設定に使える。 すなわち - -.in +4n -.nf -#\fB echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname\fP -#\fB echo \(aqmydomain\(aq > /proc/sys/kernel/domainname\fP -.fi -.in - -は、以下と同じ効果がある。 - -.in +4n -.nf -#\fB hostname \(aqdarkstar\(aq\fP -#\fB domainname \(aqmydomain\(aq\fP -.fi -.in - -注意: 典型的な darkstar.frop.org という名前には、 ホスト名 "darkstar" と DNS (Internet Domain -Name Server) ドメイン名 "frop.org" が含まれているが、DNS ドメイン名と NIS (Network Information -Service) または YP (Yellow Pages) のドメイン名を混同してはならない。 一般にこれら 2 つのドメイン名は異なる。 -詳細な議論は、 \fBhostname\fP(1) の man ページを参照すること。 -.TP -\fI/proc/sys/kernel/htab\-reclaim\fP -(PowerPC のみ) このファイルを 0 以外の値に設定すると、 PowerPC htab (カーネルソースファイル -\fIDocumentation/powerpc/ppc_htab.txt\fP 参照) を、システムがアイドルループになるたびに切り詰める。 -.TP -\fI/proc/sys/kernel/l2cr\fP -(PowerPC のみ) このファイルには G3 プロセッサボードの L2 キャッシュを制御するフラグが含まれる。 0 の場合、キャッシュは無効になる。 -0 以外の場合は有効になる。 -.TP -\fI/proc/sys/kernel/modprobe\fP -このファイルには、カーネルモジュールローダへのパスが含まれる。 デフォルトの値は \fI/sbin/modprobe\fP である。このファイルは、 -\fBCONFIG_KMOD\fP オプションを有効にしてカーネルが作成されている場合にのみ存在する。 このファイルについては、カーネルソースファイル -\fIDocumentation/kmod.txt\fP (カーネル 2.4 以前のみに存在) に記述されている。 -.TP -\fI/proc/sys/kernel/msgmax\fP -このファイルは、System V メッセージキューに書き込まれる 1 つのメッセージの 最大バイト数を、システム全体で制限する。 -.TP -\fI/proc/sys/kernel/msgmni\fP -このファイルはメッセージキュー識別子の最大数をシステム全体で制限する。 -(このファイルは Linux 2.4 以降にしか存在しない)。 -.TP -\fI/proc/sys/kernel/msgmnb\fP -このファイルは、 \fImsg_qbytes\fP の設定を初期化するシステム全体のパラメータで -ある。 \fImsg_qbytes\fP は以降で作成されるメッセージキューで使われる。 -\fImsg_qbytes\fP 設定では、メッセージキューに書き込まれる最大バイト数を指定する。 -.TP -\fI/proc/sys/kernel/ostype\fP と \fI/proc/sys/kernel/osrelease\fP -これらのファイルは文字列 \fI/proc/version\fP の各部分を与える。 -.TP -\fI/proc/sys/kernel/overflowgid\fP と \fI/proc/sys/kernel/overflowuid\fP -これらのファイルは \fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP -を複製したものである。 -.TP -\fI/proc/sys/kernel/panic\fP -このファイルはカーネル変数 \fIpanic_timeout\fP への読み出しと書き込みのアクセスを与える。 この値が 0 ならば、パニック時にカーネルは -(無限) ループに入る。 0 でなければ、その秒数だけ待ってから自動的に再起動する。 ソフトウェア watchdog ドライバを使っている場合、 -推奨される設定は 60 である。 -.TP -\fI/proc/sys/kernel/panic_on_oops\fP (Linux 2.5.68 以降) -このファイルは、oops や BUG が起こった場合のカーネルの動作を制御する。 ファイルに 0 が書かれている場合、システムは操作を続行しようとする。 -1 が書かれている場合、システムは (klogd が oops 出力を記録する時間を与えるために) 数秒間遅延した後、 panic を起こす。 -\fI/proc/sys/kernel/panic\fP ファイルも 0 でない場合、マシンは再起動される。 -.TP -\fI/proc/sys/kernel/pid_max\fP (Linux 2.5.34 以降) -.\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit -.\" platforms, but this broke /proc/[pid] -.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2 -このファイルは、PID をいくつで終了にするかを指定する (すなわち、このファイルの値は最大 PID より 1 大きい)。 このファイルのデフォルト値は -32768 であり、 その場合には以前のカーネルと同じ PID の範囲になる。 32ビットのプラットフォームでは、 \fIpid_max\fP の最大値は -32768 である。 64ビットのプラットフォームでは、 2^22 (\fBPID_MAX_LIMIT\fP, 約 4,000,000) -までの任意の値を設定できる。 -.TP -\fI/proc/sys/kernel/powersave\-nap\fP (PowerPC のみ) -このファイルにはフラグが書かれている。 フラグが設定されると、Linux\-PPC は 省電力の "nap" モードを使う。 -設定されない場合は、"doze" モードが使われる。 -.TP -\fI/proc/sys/kernel/printk\fP -このファイルにある 4 つの値は、 \fIconsole_loglevel\fP, \fIdefault_message_loglevel\fP, -\fIminimum_console_loglevel\fP, \fIdefault_console_loglevel\fP である。 -これらの値はエラーメッセージを表示したり記録したりする \fIprintk()\fP の動作に影響する。 各 loglevel の情報については、 -\fBsyslog\fP(2) を参照すること。 優先度が \fIconsole_loglevel\fP 以上のメッセージは、コンソールに表示される。 -優先度が明示されていないメッセージは、優先度が \fIdefault_message_level\fP のときに表示される。 -\fIminimum_console_loglevel\fP は \fIconsole_loglevel\fP に設定できる最小 (最高) の値である。 -\fIdefault_console_loglevel\fP は \fIconsole_loglevel\fP のデフォルトの値である。 -.TP -\fI/proc/sys/kernel/pty\fP (Linux 2.6.4 以降) -このディレクトリは、UNIX 98 疑似端末 (\fBpts\fP(4) を参照) の数に関連する -2 つのファイルを含む。 -.TP -\fI/proc/sys/kernel/pty/max\fP -このファイルは疑似端末の最大数を定義する。 -.TP -\fI/proc/sys/kernel/pty/nr\fP -この読み出し専用のファイルは、現在いくつの疑似端末が使われているかを表す。 -.TP -\fI/proc/sys/kernel/random\fP -このディレクトリは、ファイル \fI/dev/random\fP の操作を制御する様々なパラメータが書かれている。 詳細は \fBrandom\fP(4) -を参照。 -.TP -\fI/proc/sys/kernel/real\-root\-dev\fP -このファイルはカーネルソースファイル \fIDocumentation/initrd.txt\fP に記述されている。 -.TP -\fI/proc/sys/kernel/reboot\-cmd\fP (Sparc のみ) -このファイルは SPARC ROM/Flash ブートローダに引き数を渡す方法を 提供しているように思われる。 -再起動後に何をするかを指定しているのだろうか? -.TP -\fI/proc/sys/kernel/rtsig\-max\fP -(2.6.7 までのカーネルにのみ存在する。 \fBsetrlimit\fP(2) を参照すること) このファイルはシステムで発行される POSIX -real\-time (queued) signal の 最大数を調整するのに使用される。 -.TP -\fI/proc/sys/kernel/rtsig\-nr\fP -(2.6.7 までのカーネルにのみ存在する) このファイルは現在キューに入っている POSIX real\-time signal の数を表す。 -.TP -\fI/proc/sys/kernel/sem\fP (Linux 2.4 以降) -このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。 これらのフィールドは次の順番に並んでいる: -.RS -.IP SEMMSL 8 -セマフォ集合ごとのセマフォ数の最大値。 -.IP SEMMNS 8 -システム全体での、全てのセマフォ集合におけるセマフォ数の制限。 -.IP SEMOPM 8 -\fBsemop\fP(2) コールに指定されるオペレーション数の最大値。 -.IP SEMMNI 8 -システム全体でのセマフォ識別子の最大値。 -.RE -.TP -\fI/proc/sys/kernel/sg\-big\-buff\fP -このファイルは、汎用 SCSI デバイス (sg) のバッファサイズの最大値を表す。 今はこれを変更することはできないが、 コンパイル時に -\fIinclude/scsi/sg.h\fP を編集して \fBSG_BIG_BUFF\fP の値を変えれば変更できる。 -ただし、この値を変更する理由はないだろう。 -.TP -\fI/proc/sys/kernel/shmall\fP -このファイルには System V 共有メモリの総ページ数の システム全体での制限が書かれている。 -.TP -\fI/proc/sys/kernel/shmmax\fP -このファイルを通じて、(System V IPC) 共有メモリセグメントを作成するときの 最大サイズの実行時上限 (run\-time limit) -を取得または設定できる。 現在は 1GB までの共有メモリセグメントが カーネルでサポートされている。 この値のデフォルトは \fBSHMMAX\fP -である。 -.TP -\fI/proc/sys/kernel/shmmni\fP -(Linux 2.4 以降で使用可能) このファイルは、システム全体で作成可能な System V 共有メモリセグメント数を指定する。 -.TP -\fI/proc/sys/kernel/sysrq\fP -このファイルは、SysRq キーにより起動が許可されている関数群を制御する ものである。デフォルトでは、ファイルの内容は 1 であり、 -これは起こり得る全ての SysRq リクエストが許可されることを意味する (古いバージョンのカーネルでは、SysRq はデフォルトでは無効になっており、 -実行時に明示的に有効にする必要があったが、今はそうではない)。 このファイルで指定可能な値は以下の通り。 - - 0 \- sysrq を完全に無効にする - 1 \- sysrq の全ての関数を有効にする - >1 \- 許可する sysrq 関数のビットマスク。内訳は以下の通り。 - 2 \- コンソールのログ・レベルの制御を有効にする - 4 \- キーボードの制御を有効にする (SAK, unraw) - 8 \- プロセスなどのデバッグ・ダンプを有効にする - 16 \- sync コマンドを有効にする - 32 \- 読み出し専用での再マウントを有効にする - 64 \- プロセスへのシグナル発行を有効にする (term, kill, oom\-kill) - 128 \- リブート/電源オフを許可する - 256 \- 全てのリアルタイム・タスクの nice 値の変更を許可する - -カーネル設定オプション \fBCONFIG_MAGIC_SYSRQ\fP が有効な場合のみ、このファイルは存在する。 詳細は、カーネルソースファイル -\fIDocumentation/sysrq.txt\fP を参照のこと。 -.TP -\fI/proc/sys/kernel/version\fP -このファイルには、以下のような文字列が書かれている: - - #5 Wed Feb 25 21:49:24 MET 1998 - -\&"#5" はこのソースで構築された 5 番目のカーネルであることを意味する。 その後にある日付はカーネルが構築された時刻を表す。 -.TP -\fI/proc/sys/kernel/threads\-max\fP (Linux 2.3.11 以降) -このファイルは、システム全体で作成可能なスレッド数 (タスク数) の上限を指定する。 -.TP -\fI/proc/sys/kernel/zero\-paged\fP (PowerPC のみ) -このファイルはフラグを含む。 (0 以外の値で) 有効された場合、Linux\-PPC はアイドルループで pre\-zero page -を行うので、get_free_pages の速度が向上する可能性がある。 -.TP -\fI/proc/sys/net\fP -このディレクトリにはネットワーク関係の情報が入っている。 このディレクトリにあるファイルのいくつかについては、 \fBtcp\fP(7) や -\fBip\fP(7) に説明がある。 -.TP -\fI/proc/sys/net/core/somaxconn\fP -このファイルは \fBlisten\fP(2) の \fIbacklog\fP 引き数の上限値を規定する。 詳細は \fBlisten\fP(2) -のマニュアルページを参照。 -.TP -\fI/proc/sys/proc\fP -このディレクトリは空の場合もある。 -.TP -\fI/proc/sys/sunrpc\fP -このディレクトリはネットワークファイルシステム (NFS) への Sun remote procedure call (遠隔手続き呼び出し) -をサポートする。 これが存在しないシステムもある。 -.TP -\fI/proc/sys/vm\fP -このディレクトリにはメモリ管理の調整、バッファやキャッシュ管理のための ファイルがある。 -.TP -\fI/proc/sys/vm/drop_caches\fP (Linux 2.6.16 以降) -このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。 - -ページキャッシュを解放するには、 \fIecho 1 > /proc/sys/vm/drop_caches\fP とする。 dentry、inode -を解放するには、 \fIecho 2 > /proc/sys/vm/drop_caches\fP とする。ページキャッシュ、dentry、inode -を解放するには、 \fIecho 3 > /proc/sys/vm/drop_caches\fP とする。 - -この操作は非破壊的な操作で、ダーティな (dirty) オブジェクトは 解放されないので、この操作を行う際は最初に \fBsync\fP(8) -を実行しておくべきである。 -.TP -\fI/proc/sys/vm/legacy_va_layout\fP (Linux 2.6.9 以降) -.\" The following is from Documentation/filesystems/proc.txt -0 以外の場合、新しい 32ビットメモリマッピング配置が無効になり、 カーネルは全てのプロセスに対して従来の (カーネル 2.4 の) 配置方法を -使用する。 -.TP -\fI/proc/sys/vm/memory_failure_early_kill\fP (Linux 2.6.32 以降) -.\" The following is based on the text in Documentation/sysctl/vm.txt -このファイルは、カーネルが処理できない訂正不能なメモリエラー (通常はメモリモジュールでの 2 ビットエラー) -がバックグラウンドでハードウェアにより検出された際に、プロセスをどのように kill するかを制御する。 -(ページの有効なコピーがディスク上にも存在するなど) -いくつかの場面では、カーネルはアプリケーションに影響を与えずに透過的に故障を処理する。しかし、データの最新のコピーが他にはない場合には、データ破壊が波及するのを防ぐため、カーネルはプロセスを -kill する。 - -このファイルは以下のいずれかの値を持つ。 -.RS -.IP 1: 4 -データ破壊が検出されるとすぐに、故障が検出され復元できないページ (corrupted\-and\-not\-reloadable page) -をマップしている全てのプロセスを kill する。この機能は、(カーネル内部で割り当てられたデータやスワップのキャッシュなど) -少数のいくつかのタイプのページではサポートされていないが、大半のユーザページではこの機能は働く。 -.IP 0: 4 -データ破壊が検出されたページの全てのプロセスからの unmap のみを行い、そのページにアクセスしようとしたプロセスのみを kill する。 -.RE -.IP -この kill は \fIsi_code\fP に \fBBUS_MCEERR_AO\fP を設定した \fBSIGBUS\fP -シグナルを使って行われる。プロセス側では必要であればこのシグナルを処理することができる。詳細は \fBsigaction\fP(2) を参照。 - -この機能は、高度なマシンチェック機構を持ったアーキテクチャ/プラットフォームにおいてのみ有効であり、ハードウェア機能にも依存している。 - -アプリケーションは \fBprctl\fP(2) の \fBPR_MCE_KILL\fP 操作を使って個別に -\fImemory_failure_early_kill\fP の設定を上書きすることができる。 -.IP -カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ -存在する。 -.TP -\fI/proc/sys/vm/memory_failure_recovery\fP (Linux 2.6.32 以降) -.\" The following is based on the text in Documentation/sysctl/vm.txt -メモリ故障回復 (memory failure recovery) を有効にする - (プラットフォームがサポートしている場合) -.RS -.IP 1: 4 -回復を試みる。 -.IP 0: 4 -メモリ故障時には常に panic を起こす。 -.RE -.IP -カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ -存在する。 -.TP -\fI/proc/sys/vm/oom_dump_tasks\fP (Linux 2.6.25 以降) -.\" The following is from Documentation/sysctl/vm.txt -カーネルが OOM\-killing を実行する際に、システム全体のタスク・ダンプ (カーネルスレッドを除く) を生成するかを制御する。 -ダンプには、タスク (スレッド、プロセス) 毎に以下の情報が出力される: スレッド ID、実ユーザ ID、スレッドグループ ID (プロセス ID)、 -仮想メモリサイズ、Resident Set Size (実メモリ上に存在するページサイズ)、 タスクがスケジューリングされた CPU、 oom_adj -スコア (\fI/proc/[pid]/oom_adj\fP の説明を参照)、コマンド名。 このダンプ情報は、なぜ OOM\-killer -が起動されたかを知り、 その原因となったならず者のタスクを特定するのに役に立つ。 - -このファイルの内容が値 0 の場合、ダンプ情報の出力は行われない。 タスクが何千もある非常に巨大なシステムでは、 -各々のタスクについてメモリ状態をダンプするのは適切でないかもしれない。 そのようなシステムでは、ダンプ情報が必要でもないときに メモリ不足 (OOM) -の状況で性能面の不利益が起こらないようにすべきだろう。 - -このファイルの内容が 0 以外の場合、 OOM\-killer が実際にメモリを占有したタスクを kill する度に ダンプ情報が出力される。 - -デフォルト値は 0 である。 -.TP -\fI/proc/sys/vm/oom_kill_allocating_task\fP (Linux 2.6.24 以降) -.\" The following is from Documentation/sysctl/vm.txt -このファイルは、メモリ不足 (OOM) の状況が起こった際に、 メモリ不足のきっかけとなったタスクを kill するかどうかを制御する。 - -このファイルが 0 に設定された場合、 OOM\-killer はタスクリスト全体をスキャンし、経験則に基づき kill するタスクを選択する。 -通常は、kill した場合に多くのメモリが解放できる、 ならず者のメモリ占有タスクが選択される。 - -このファイルが 0 以外に設定された場合、 OOM\-killer はメモリ不足の状況が発生するきっかけとなったタスクを 単純に kill -するだけである。 これにより、たいていは重い処理となるタスクリストのスキャンを回避できる。 - -\fI/proc/sys/vm/panic_on_oom\fP が 0 以外の場合、 -\fI/proc/sys/vm/oom_kill_allocating_task\fP にどのような値が入っていたとしても、 -\fI/proc/sys/vm/panic_on_oom\fP の方が優先される。 - -デフォルト値は 0 である。 -.TP -\fI/proc/sys/vm/overcommit_memory\fP -このファイルにはカーネル仮想メモリのアカウントモードが書かれている。 値は以下の通り: -.RS -.IP -0: 発見的なオーバーコミット (heuristic overcommit) (これがデフォルトである) -.br -1: 常にオーバーコミットし、チェックしない。 -.br -2: 常にチェックし、オーバーコミットしない。 -.RE -.IP -モード 0 では、 \fBMAP_NORESERVE\fP を設定して呼び出された \fBmmap\fP(2) はチェックされない。 -またデフォルトのチェックはとても脆弱で、 プロセスを "OOM\-kill" してしまうリスクを引き起こす。 Linux 2.4 では 0 -以外の値はモード 1 を意味する。 (Linux 2.6 以降で利用可能な) モード 2 では、 システム上の仮想アドレス空間の合計が (SS + -RAM*(r/100)) に制限されている。 ここで、SS はスワップ空間のサイズ、 RAM は物理メモリのサイズ、r はファイル -\fI/proc/sys/vm/overcommit_ratio\fP の内容である。 -.TP -\fI/proc/sys/vm/overcommit_ratio\fP -\fI/proc/sys/vm/overcommit_memory\fP の説明を参照すること。 -.TP -\fI/proc/sys/vm/panic_on_oom\fP (Linux 2.6.18 以降) -.\" The following is adapted from Documentation/sysctl/vm.txt -このファイルは、メモリ不足時にカーネルパニックを 起こすか起こさないかを制御する。 - -このファイルに値 0 を設定すると、 カーネルの OOM\-killer がならず者のプロセスを kill する。 普通は、OOM\-killer -がならず者のプロセスを kill することができ、 システムは何とか動き続けることができる。 - -このファイルに値 1 を設定すると、 メモリ不足の状況が発生すると、カーネルは普通はパニックする。 しかしながら、プロセスが メモリポリシー -(\fBmbind\fP(2) の \fBMPOL_BIND\fP) や cpusets (\fBcpuset\fP(7)) -を使って特定のノードへのメモリ割り当てを制限していて、 それらのノードでメモリ枯渇状態に至った場合は、 一つのプロセスが OOM\-killer により -kill されるだけかもしれない。 この場合には、カーネルパニックは発生しない。 なぜなら、他のノードのメモリには空きがあるかもしれず、 -したがって、システム全体としてはメモリ不足の状況にまだ達していないかも しれないからである。 - -このファイルに値 2 を設定すると、 メモリ不足の状況が発生するとカーネルは常にパニックを起こす。 - -デフォルト値は 0 である。 1 と 2 はクラスタリングのフェイルオーバー用である。 フェイルオーバーの方針に応じてどちらかの値を選択すること。 -.TP -\fI/proc/sys/vm/swappiness\fP -.\" The following is from Documentation/sysctl/vm.txt -このファイルの値により、カーネルがどの程度激しくメモリページの スワップを行う -かが制御される。 大きな値ほどスワップが激しくなり、小さい値ほど激しくなくなる。 -デフォルト値は 60 である。 -.TP -\fI/proc/sysrq\-trigger\fP (Linux 2.4.21 以降) -このファイルに文字 character を書き込むと、 キーボードから ALT\-SysRq\- を入力した場合と -同じ SysRq 関数が起動される (\fI/proc/sys/kernel/sysrq\fP の説明を参照)。 通常、このファイルへ書き込みができるのは -\fIroot\fP だけである。詳細については、カーネルソースファイルの \fIDocumentation/sysrq.txt\fP を参照のこと。 -.TP -\fI/proc/sysvipc\fP -疑似ファイル \fImsg\fP, \fIsem\fP, \fIshm\fP を含むサブディレクトリ。 これらのファイルは、現在システム上に存在する System V -プロセス間通信 (Interprocess Communication, IPC) オブジェクト (それぞれ: メッセージキュー、セマフォ、共有メモリ) -のリストであり、 \fBipcs\fP(1) で取得できる情報と同じものを提供する。 これらのファイルにはヘッダがあり、理解しやすいように (1 行につき -1 個の IPC オブジェクトの形式で) フォーマットされている。 \fBsvipc\fP(7) -にはこれらのファイルから分かる情報の詳細な背景が書かれている。 -.TP -\fI/proc/tty\fP -疑似ファイルを含むサブディレクトリ。 tty ドライバとライン設定 (line discipline) の書かれた サブディレクトリも含まれる。 -.TP -\fI/proc/uptime\fP -このファイルは システム起動時から経過した時間 (秒) と アイドル (idle) しているプロセスが消費した時間 (秒) の 2 つの数を含む。 -.TP -\fI/proc/version\fP -現在稼働しているカーネルのバージョン識別子である文字列。 これには \fI/proc/sys/ostype\fP, -\fI/proc/sys/osrelease\fP, \fI/proc/sys/version\fP の内容が含まれる。 たとえばこのように: -.nf -.in -2 -\f(CWLinux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994\fP -.in +2 -.fi -.\" FIXME Document /proc/timer_list -.\" .TP -.\" .IR /proc/timer_list " (since Linux 2.6.21)" -.\" See the 2.6.21 Change log -.\" FIXME Document /proc/timer_stats -.\" .TP -.\" .IR /proc/timer_stats " (since Linux 2.6.21)" -.\" See the 2.6.21 Change log -.TP -\fI/proc/vmstat\fP (Linux 2.6 以降) -このファイルは仮想メモリの様々な統計情報を表示する。 -.TP -\fI/proc/zoneinfo\fP (Linux 2.6.13 以降) -.\" FIXME more should be said about /proc/zoneinfo -このファイルはメモリのゾーン (memory zone) に関する情報を表示する。 仮想メモリの振舞いを分析するのに役立つ。 -.SH 注意 -ほとんどの文字列 (たとえば環境変数やコマンド行) は内部表現のままなので、 -各フィールドは NULL バイト (\(aq\e0\(aq) で区切られている。だから、 -\fIod \-c\fP や \fItr "\e000" "\en"\fP を使えば、それらはより読みやすくなる。 -また \fIecho \`cat \`\fP でもよい。 - -.\" .SH ACKNOWLEDGEMENTS -.\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on -.\" kernel source documentation files written by Rik van Riel. -このマニュアルは不完全であり、たぶん不正確で、しばしば更新される必要がある。 -.SH 関連項目 -\fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBps\fP(1), \fBtr\fP(1), -\fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2), -\fBslabinfo\fP(5), \fBhier\fP(7), \fBtime\fP(7), \fBarp\fP(8), \fBhdparm\fP(8), -\fBifconfig\fP(8), \fBinit\fP(8), \fBlsmod\fP(8), \fBlspci\fP(8), \fBmount\fP(8), -\fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8) -.br -カーネルのソースファイル: \fIDocumentation/filesystems/proc.txt\fP, -\fIDocumentation/sysctl/vm.txt\fP -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/protocols.5 b/draft/man5/protocols.5 index 7bcffe0f..dcfebe42 100644 --- a/draft/man5/protocols.5 +++ b/draft/man5/protocols.5 @@ -1,5 +1,6 @@ .\" Copyright (c) 1995 Martin Schulze .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1995-10-18 Martin Schulze .\" * first released @@ -30,7 +31,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH PROTOCOLS 5 2008\-09\-23 Linux "Linux Programmer's Manual" +.TH PROTOCOLS 5 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 protocols \- プロトコル定義ファイル .SH 説明 @@ -70,8 +71,9 @@ Numbers Authority) によって指定される。 .SH 関連項目 \fBgetprotoent\fP(3) -http://www.iana.org/assignments/protocol\-numbers +.UR http://www.iana.org\:/assignments\:/protocol\-numbers +.UE .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/resolv.conf.5 b/draft/man5/resolv.conf.5 deleted file mode 100644 index cd020e9c..00000000 --- a/draft/man5/resolv.conf.5 +++ /dev/null @@ -1,182 +0,0 @@ -.\" Copyright (c) 1986 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms are permitted -.\" provided that the above copyright notice and this paragraph are -.\" duplicated in all such forms and that any documentation, -.\" advertising materials, and other materials related to such -.\" distribution and use acknowledge that the software was developed -.\" by the University of California, Berkeley. The name of the -.\" University may not be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.\" -.\" @(#)resolver.5 5.9 (Berkeley) 12/14/89 -.\" $Id: resolver.5,v 8.6 1999/05/21 00:01:02 vixie Exp $ -.\" -.\" Added ndots remark by Bernhard R. Link - debian bug #182886 -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH RESOLV.CONF 5 2012\-05\-04 "" "Linux Programmer's Manual" -.UC 4 -.SH 名前 -resolv.conf \- レゾルバ設定ファイル -.SH 書式 -\fB/etc/resolv.conf\fP -.SH 説明 -\fIresolver\fP は、インターネットのドメインネームシステム (DNS) へのアクセスを提供する C ライブラリのルーチン群である。 -レゾルバ設定ファイルには、レゾルバルーチンがプロセスによって最初に 起動されたときに読み込まれる情報が格納されている。 -このファイルは人間に可読なように設計されている。 キーワードと値のリストが含まれ、いろいろなタイプのレゾルバ情報を提供する。 -.LP -このファイルが存在しない場合、問い合わせはローカルマシン上の -ネームサーバに対してのみ行われる。ドメイン名はホスト名から決定され、 -ドメインの検索パスはドメイン名から作成される。 -.LP -この状態を変更するための設定オプションには、以下のようなものがある。 -.TP -\fBnameserver\fP ネームサーバの IP アドレス -レゾルバが問い合わせをするネームサーバの (ドット表記の) インターネットアドレス。 このキーワード 1 つごとに 1 台づつ、 \fBMAXNS\fP 台 -(現状では 3 台、\fI\fP を参照) までのネームサーバをリストできる。 -複数のサーバが指定された場合、レゾルバライブラリは リストされた順に問い合わせを行う。 \fBnameserver\fP エントリがない場合、 -デフォルトではローカルマシン上のネームサーバが使われる。 (ここで使われるアルゴリズムは以下のようなものである。 -はじめにネームサーバに問い合わせを試みる。 この問い合わせがタイムアウトになった場合、 次のネームサーバに問い合わせを試みる。 -これをネームサーバがなくなるまで続ける。 それでも応答がない場合は、リトライ最大回数に達するまで 全てのネームサーバに問い合わせを繰り返す。) -.TP -\fBdomain\fP ローカルドメイン名 -このドメインにある名前の問い合わせのほとんどに、 このローカルドメインにおける短い名前を使用することができる。 \fBdomain\fP -エントリがない場合、ドメイン名は \fBgethostname\fP(2) で返されるローカルホスト名から決定され、 最初の \(aq.\(aq -以降の全ての部分がドメイン名とされる。 このホスト名にもドメイン部を含んでいない場合、ルートドメインが仮定される。 -.TP -\fBsearch\fP ホスト名ルックアップのための検索リスト -.\" When having a resolv.conv with a line -.\" search subdomain.domain.tld domain.tld -.\" and doing a hostlookup, for example by -.\" ping host.anothersubdomain -.\" it sends dns-requests for -.\" host.anothersubdomain. -.\" host.anothersubdomain.subdomain.domain.tld. -.\" host.anothersubdomain.domain.tld. -.\" thus not only causing unnecessary traffic for the root-dns-servers -.\" but broadcasting information to the outside and making man-in-the-middle -.\" attacks possible. -検索リストは通常ローカルドメイン名から決定される。 デフォルトでは、検索リストはローカルドメイン名のみである。 これを変更するには、\fIsearch\fP -キーワードの後に 希望するドメイン検索パスをスペースまたはタブで区切ってリストすればよい。 ドットの数が \fIndots\fP (デフォルトでは 1) -より少ないレゾルバの問い合わせは、 一致するものが見つかるまで検索パスの各要素を順に使って試す。 複数のサブドメインを持つ環境では、 第三者による攻撃 -(man\-in\-the\-middle attack) と ルート DNS サーバへの不必要なトラフィックを避けるために、 以下の \fBoptions -ndots:\fP\fIn\fP を読んでほしい。 このプロセスは遅く、リストされたドメインがローカルのものでない場合、 -多大なネットワークトラフィックを発生させることに注意すること。 さらに、これらのドメインのいずれかひとつにでも適切なサーバがない場合、 -問い合わせがタイムアウトになる点にも注意すること。 -.IP -現状では、検索リストは 6 ドメイン・計 256 文字に制限されている。 -.TP -\fBsortlist\fP -このオプションを使うと、 \fBgethostbyname\fP(3) で返されるアドレスをソートさせることができる。 sortlist は IP -アドレスとネットマスクのペアで指定される。 ネットマスクは省略可能であり、 デフォルトではネットに対するデフォルトのネットマスクである。 IP -アドレスとオプションのネットマスクのペアはスラッシュで区切る。 最大 10 組のペアを指定できる。 以下に例を示す。 - -.in +4n -sortlist 130.155.160.0/255.255.240.0 130.155.0.0 -.in -.br -.TP -\fBoptions\fP -options により、レゾルバの内部変数を変更することができる。 書式は以下の通りである。 -.RS -.IP -\fBoptions\fP \fIoption\fP \fI...\fP -.LP -ここで \fIoption\fP は次のうちのいずれかである。 -.TP -\fBdebug\fP -.\" Since glibc 2.2? -\fI_res.options\fP に \fBRES_DEBUG\fP を設定する。 -.TP -\fBndots:\fP\fIn\fP -.\" Since glibc 2.2 -「\fI最初の完全な名前での問い合わせ\fPが実行される前に、 \fBres_query\fP(3) (\fBresolver\fP(3) を参照) -に与えられる名前に含まれているべきドットの数の閾値」を設定する。 \fIn\fP のデフォルトは 1 である。 -これは、名前にドットがある場合、\fIsearch list\fP の要素が付加される前に、 -その名前が完全な名前として最初に試されるということを意味している。 このオプションの値の上限は 15 であり、黙ってこの値まで切り詰められる。 -.TP -\fBtimeout:\fP\fIn\fP -.\" Since glibc 2.2 -「レゾルバが他のネームサーバで問い合わせをリトライする前に、 リモートネームサーバからの応答を待つ時間」を設定する。 単位は秒で、デフォルトは -\fBRES_TIMEOUT\fP である (現状では 5 秒、\fI\fP を参照)。 このオプションの値の上限は 30 -であり、黙ってこの値まで切り詰められる。 -.TP -\fBattempts:\fP\fIn\fP -「レゾルバが諦めて呼び出し元のアプリケーションにエラーを返すまでに、 ネームサーバに問い合わせを行う回数」を設定する。 デフォルトは -\fBRES_DFLRETRY\fP 回である (現状では 2 回、\fI\fP を参照)。 このオプションの値の上限は 5 -であり、黙ってこの値まで切り詰められる。 -.TP -\fBrotate\fP -.\" Since glibc 2.2 -\fI_res.options\fP に RES_ROTATE を設定する。 リストされているネームサーバから選ぶときに、 ラウンドロビン (round -robin) 選択を行わせる。 リストされている全てのサーバで問い合わせの負荷を分散する効果があり、 最初にリストされたサーバに全てのクライアントが -毎回最初に問い合わせを行うわけではなくなる。 -.TP -\fBno\-check\-names\fP -.\" since glibc 2.2 -\fI_res.options\fP に \fBRES_NOCHECKNAME\fP を設定する。 入ってくるホスト名とメールアドレスに、 アンダースコア -(_)・ASCII 以外の文字・制御文字といった 不正な文字が含まれていないかを調べる 最近の BIND のチェックを無効にする。 -.TP -\fBinet6\fP -.\" Since glibc 2.2 -\fI_res.options\fP に \fBRES_USE_INET6\fP を設定する。このオプションが設定されると、 \fBgethostbyname\fP(3) -関数の内部で A レコードの問い合わせを行う前に AAAA レコードの問い合わせを行うようになる。 また、AAAA レコードは見つからないが A -レコードセットが存在する場合に、 IPv4 の応答を IPv6「トンネル形式」にマップするようになる。 -.TP -\fBip6\-bytestring\fP (glibc 2.3.4 以降) -\fI_res.options\fP に \fBRES_USE_BSTRING\fP を設定する。このオプションが設定されると、IPv6 アドレスの逆引きで -RFC\ 2673 で規定された bit\-label 形式が使用されるようになる。 このオプションが設定されない場合、nibble 形式が使用される。 -.TP -\fBip6\-dotint\fP/\fBno\-ip6\-dotint\fP (glibc 2.3.4 以降) -\fI_res.options\fP への \fBRES_NOIP6DOTINT\fP のセット/クリアを行う。 このオプションがクリアされると -(\fBip6\-dotint\fP)、 IPv6 アドレスの逆引きが (非推奨の) \fIip6.int\fP ゾーンで行われるようになり、 -このオプションがセットされると (\fBno\-ip6\-dotint\fP)、 IPv6 アドレスの逆引きがデフォルトの \fIip6.arpa\fP -ゾーンで行われるようになる。 このオプションはデフォルトでセットされる。 -.TP -\fBedns0\fP (glibc 2.6 以降) -\fI_res.options\fP に \fBRES_USE_EDNSO\fP をセットする。これにより、RFC\ 2671 で規定されている DNS -拡張のサポートが有効になる。 -.TP -\fBsingle\-request\fP (glibc 2.10 以降) -\fI_res.options\fP に \fBRES_SNGLKUP\fP をセットする。 -glibc バージョン 2.9 以降では、 glibc はデフォルトでは -IPv4 と IPv6 の検索を並行して実行する。 -アプライアンス DNS サーバの中には、このような問い合わせを -適切に処理できず、検索要求がタイムアウトになってしまう。 -このオプションをセットすると、このデフォルトの動作が無効になり、 -glibc は IPv6 と IPv4 の検索を順番に実行するようになる -(名前解決処理が若干遅くなるというデメリットがある)。 -.RE -.LP -\fIdomain\fP と \fIsearch\fP キーワードは、互いに排他的である。 これらのキーワードが 2 つ以上記述されている場合、 -最後に記述されているものが有効になる。 -.LP -システムの \fIresolv.conf\fP ファイルにある \fIsearch\fP キーワードは、 スペースで区切った検索ドメインのリストを 環境変数 -\fBLOCALDOMAIN\fP に設定することにより、各プロセス毎に上書きすることができる。 -.LP -システムの \fIresolv.conf\fP ファイルにある \fIoptions\fP キーワードは、 上の \fBoptions\fP セクションで説明したように、 -スペースで区切ったレゾルバオプションのリストを 環境変数 \fBRES_OPTIONS\fP に設定することにより、各プロセス毎に修正することができる。 -.LP -キーワードと値は同じ行に書かなければならない。 また、(\fBnameserver\fP のような) キーワードが行の先頭になければならない。 -値はキーワードの後にスペースで区切って続ける。 - -セミコロン (;) かハッシュ文字 (#) で始まる行はコメントとして扱われる。 -.SH ファイル -\fI/etc/resolv.conf\fP, \fI\fP -.SH 関連項目 -\fBgethostbyname\fP(3), \fBresolver\fP(3), \fBhostname\fP(7), \fBnamed\fP(8) -.br -BIND のネームサーバオペレーションガイド -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/rpc.5 b/draft/man5/rpc.5 index 95ef9d4e..049cb199 100644 --- a/draft/man5/rpc.5 +++ b/draft/man5/rpc.5 @@ -1,5 +1,9 @@ .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) .\" +.\" %%%LICENSE_START(BSD_ONELINE_CDROM) +.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license) +.\" %%%LICENSE_END +.\" .\" @(#)rpc.5 2.2 88/08/03 4.0 RPCSRC; from 1.4 87/11/27 SMI; .\"******************************************************************* .\" @@ -72,6 +76,6 @@ RPC プログラム番号データベース .SH 関連項目 \fBgetrpcent\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/securetty.5 b/draft/man5/securetty.5 deleted file mode 100644 index 7fd7d09e..00000000 --- a/draft/man5/securetty.5 +++ /dev/null @@ -1,44 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sun Jul 25 11:06:27 1993 by Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SECURETTY 5 1992\-12\-29 Linux "Linux Programmer's Manual" -.SH 名前 -securetty \- root がログインできる端末リストのファイル -.SH 説明 -\fI/etc/securetty\fP ファイルは (いくつかのバージョンの) \fBlogin\fP(1) によって使用される。 root -のログインが許可されている端末のデバイス名が1行に ひとつずつ書かれている (先頭の \fI/dev/\fP は省略する)。 shadow login -suite を使用している場合は、 \fBlogin.defs\fP(5) を参照すること。 -.SH ファイル -\fI/etc/securetty\fP -.SH 関連項目 -\fBlogin\fP(1), \fBlogin.defs\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/services.5 b/draft/man5/services.5 deleted file mode 100644 index 1562fc79..00000000 --- a/draft/man5/services.5 +++ /dev/null @@ -1,160 +0,0 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" This manpage is Copyright (C) 1996 Austin Donnelly , -.\" with additional material Copyright (c) 1995 Martin Schulze -.\" -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" This manpage was made by merging two independently written manpages, -.\" one written by Martin Schulze (18 Oct 95), the other written by -.\" Austin Donnelly, (9 Jan 96). -.\" -.\" Thu Jan 11 12:14:41 1996 Austin Donnelly -.\" * Merged two services(5) manpages -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SERVICES 5 2010\-05\-22 Linux "Linux Programmer's Manual" -.SH 名前 -services \- インターネット ネットワークサービス リスト -.SH 説明 -\fBservices\fP は、人が分かりやすい形のインターネットサービスの名前と、 それらのサービスに割り当てられたポート番号や -プロトコル種別の対応関係が書かれているテキストファイルである。 ネットワーク上で動作するプログラムはすべて、 そのサービスに対応するポート番号 -(とプロトコル) を得るために、 このファイルを調べる必要がある。 C ライブラリ関数である \fBgetservent\fP(3), -\fBgetservbyname\fP(3), \fBgetservbyport\fP(3), \fBsetservent\fP(3), \fBendservent\fP(3) -を利用することで、プログラムはこのファイルを調べることができる。 - -ポート番号は、IANA (Internet Assigned Numbers Authority) によって -割り当てられており、現在はポート番号を割り当てる際に TCP と UDP の両方のプロトコルを割り当てることになっている。 -そのため、ほとんどのサービスに対して、 たとえ TCP だけのサービスの場合であっても、対応する項目が二つあることになる。 - -1024 より小さいポート番号 (いわゆる "low numbered" ポート) は 管理者 (root) 権限によってのみ使用することができる -(\fBbind\fP(2), \fBtcp\fP(7), \fBudp\fP(7) 参照)。 これは、これらのポートに接続するクライアントに対して、 -そのポートで動いているサービスが標準的な実装であり、 その計算機のユーザーが動かしている 不正なサービスではないことを保証するためである。 IANA -に明記されているよく使用されるポート番号は、 通常このような管理者だけが使用できる範囲に配置される。 - -\fBservices\fP ファイルにあるサービスに対する項目があっても、必ずしもそのサービスが現 -在その計算機で動いている訳ではない。利用可能なインターネットサービスの設定に ついては \fBinetd.conf\fP(5) -に記述されている。ただし、すべてのサービスが \fBinetd\fP(8) によって起動されるわけではないので、 \fBinetd.conf\fP(5) -には書かれていないサービスもあることに注意する必要がある。 特に、ネットニュース (NNTP) や メール (SMTP) のサーバーは、システム起動時の -スクリプトから起動されることが多い。 - -\fBservices\fP ファイルの場所は、 \fI\fP 中の \fB_PATH_SERVICES\fP によって定義されている。 -この値は通常 \fI/etc/services\fP に設定されている。 - -1 行につき 1 サービスが記述されており、以下の形式である。 -.IP -\fIservice\-name\ \ \ port\fP\fB/\fP\fIprotocol\ \ \ \fP[\fIaliases ...\fP] -.TP -各項目は以下の通り。 -.TP 10 -\fIservice\-name\fP -サービスを表す分かりやすい名前であり、検索の際にも使用される。 大文字と小文字は区別される。 クライアントプログラムは \fIservice\-name\fP -にちなんで名付けられることが多い。 -.TP -\fIport\fP -サービスに対して使用されるポート番号。10 進数で指定する。 -.TP -\fIprotocol\fP -使用されるプロトコルの種類。この欄は、 \fBprotocols\fP(5) ファイルの中の項目と一致している必要がある。 通常使用される値は、 -\fBtcp\fP と \fBudp\fP である。 -.TP -\fIaliases\fP -サービスに対する別名のリスト (区切はスペースまたはタブ) で、この欄は 必要にならば書くことができる。 また、別名は大文字と小文字は区別される。 -.PP -それぞれの欄の区切りには、スペースまたはタブが使用される。 - -コメントはシャープ (#) で始まり、その行の終わりまでがコメントとみなされる。 空行は飛ばされる。 - -行の始めのスペースは無視されないので、 \fIservice\-name\fP は、行頭から書かなければならない。 \fIservice\-names\fP -は、スペースとタブ以外の印字可能な文字なら何でもよいが、しかしながら 互換性の問題を少なくするような文字を選択すべきである。 例えば、a\-z 、0\-9 -、ハイフォン (\-) を使用するのが無難と思われる。 - -指定された形式に合わない行はあってはならない (現在は、そのような行は \fBgetservent\fP(3), \fBgetservbyname\fP(3), -\fBgetservbyport\fP(3) によって無視される。しかし、その場合の挙動は信頼できない)。 - -.\" The following is not true as at glibc 2.8 (a line with a comma is -.\" ignored by getservent()); it's not clear if/when it was ever true. -.\" As a backward compatibility feature, the slash (/) between the -.\" .I port -.\" number and -.\" .I protocol -.\" name can in fact be either a slash or a comma (,). -.\" Use of the comma in -.\" modern installations is deprecated. -.\" -このファイルは Yellow Pages/NIS や BIND/Hesiod -のようなネットワーク上の名前サービスを用いて、ネットワークを通じて配布される可能性もある。 - -\fBservices\fP ファイルの見本を以下に示す。 -.RS -.nf -.sp -.ta 3i -netstat 15/tcp -qotd 17/tcp quote -msp 18/tcp # message send protocol -msp 18/udp # message send protocol -chargen 19/tcp ttytst source -chargen 19/udp ttytst source -ftp 21/tcp -# 22 \- unassigned -telnet 23/tcp -.fi -.RE -.SH ファイル -.TP -\fI/etc/services\fP -インターネット ネットワークサービスのリスト -.TP -\fI\fP -.\" .SH BUGS -.\" It's not clear when/if the following was ever true; -.\" it isn't true for glibc 2.8: -.\" There is a maximum of 35 aliases, due to the way the -.\" .BR getservent (3) -.\" code is written. -.\" -.\" It's not clear when/if the following was ever true; -.\" it isn't true for glibc 2.8: -.\" Lines longer than -.\" .B BUFSIZ -.\" (currently 1024) characters will be ignored by -.\" .BR getservent (3), -.\" .BR getservbyname (3), -.\" and -.\" .BR getservbyport (3). -.\" However, this will also cause the next line to be mis-parsed. -\fB_PATH_SERVICES\fP の定義 -.SH 関連項目 -\fBlisten\fP(2), \fBendservent\fP(3), \fBgetservbyname\fP(3), \fBgetservbyport\fP(3), -\fBgetservent\fP(3), \fBsetservent\fP(3), \fBinetd.conf\fP(5), \fBprotocols\fP(5), -\fBinetd\fP(8) - -ポート番号の割り当てを定めている RFC (最新版は RFC\ 1700、別名 STD0002) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/shells.5 b/draft/man5/shells.5 deleted file mode 100644 index 286b1073..00000000 --- a/draft/man5/shells.5 +++ /dev/null @@ -1,56 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), -.\" Thu May 20 20:45:48 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sat Jul 24 17:11:07 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sun Nov 21 10:49:38 1993 by Michael Haardt -.\" Modified Sun Feb 26 15:09:15 1995 by Rik Faith (faith@cs.unc.edu) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SHELLS 5 1993\-11\-21 "" "Linux Programmer's Manual" -.SH 名前 -shells \- ログインシェルとして有効なファイルのパス名 -.SH 説明 -\fI/etc/shells\fP はログインシェルとして有効なファイルのフルパスが書かれた テキストファイルである。 \fBchsh\fP(1) -はこのファイルを参照する。 他のプログラムもこのファイルを参照できる。 -.PP -注意して欲しいのだが、プログラムによっては、 ユーザーが通常のユーザーかどうかを判断する際に、 このファイルの内容を参考にすることがある。 例えば -ftp デーモンは、 ログインシェルがこのファイルに書かれていない ユーザーからのアクセスを許さないのが以前から一般的である。 -.SH ファイル -\fI/etc/shells\fP -.SH 例 -\fI/etc/shells\fP には以下のようなパスが含まれているだろう。 -.sp -.RS -\fI/bin/sh\fP -.br -\fI/bin/csh\fP -.RE -.SH 関連項目 -\fBchsh\fP(1), \fBgetusershell\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/slabinfo.5 b/draft/man5/slabinfo.5 deleted file mode 100644 index 92ea53c3..00000000 --- a/draft/man5/slabinfo.5 +++ /dev/null @@ -1,100 +0,0 @@ -.\" Copyright (c) 2001 Andreas Dilger (adilger@turbolinux.com) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH SLABINFO 5 2007\-09\-30 "" "Linux Programmer's Manual" -.SH 名前 -/proc/slabinfo \- カーネル slab アロケータの統計 -.SH 書式 -\fBcat /proc/slabinfo\fP -.SH 説明 -Linux カーネルの内部で良く利用されるオブジェクト (バッファヘッド、i\-ノード、ディレクトリ・エントリなど) -は、それぞれ自分用のキャッシュを備えている。ファイル \fI/proc/slabinfo\fP はこれらの統計を与える。例を示す。 -.LP -.in +4n -.nf -% cat /proc/slabinfo -slabinfo \- version: 1.1 -kmem_cache 60 78 100 2 2 1 -blkdev_requests 5120 5120 96 128 128 1 -mnt_cache 20 40 96 1 1 1 -inode_cache 7005 14792 480 1598 1849 1 -dentry_cache 5469 5880 128 183 196 1 -filp 726 760 96 19 19 1 -buffer_head 67131 71240 96 1776 1781 1 -vm_area_struct 1204 1652 64 23 28 1 -\&... -size\-8192 1 17 8192 1 17 2 -size\-4096 41 73 4096 41 73 1 -\&... -.fi -.in -.LP -それぞれの slab キャッシュごとに、キャッシュの名前、 現在アクティブなオブジェクトの数、利用可能なオブジェクトの総数、 各オブジェクトのサイズ -(バイト単位)、少なくとも一つのアクティブな オブジェクトを有するページの数、アロケートされたページの総数、 slab -あたりのページ数、が与えられている。 - -なお、 オブジェクトのアラインメントと slab キャッシュのオーバーヘッドとにより、 オブジェクトは通常ページの内部にきっちりとは収められていない。 -利用中のオブジェクトをひとつでも保持しているページは、 利用中であるとみなされ、解放できない。 - -slab キャッシュ統計の機能を有効にしてコンパイルされたカーネルでは、 出力の最初の行に "(statistics)" と表示され、 5 -つのカラムが追加される。 それぞれ、アクティブなオブジェクトの瞬間最大値、 オブジェクトがアロケートされた回数、 キャッシュの大きさが拡張された -(新しいページがこのキャッシュに追加された) 回数、 キャッシュの大きさが縮小された (使っていないページがこのキャッシュから削除された) 回数、 -新たなページをこのキャッシュにアロケートする際に起きたエラーの回数、である。 slab -キャッシュ統計が使えないカーネルでは、これらのカラムは表示されない。 - -SMP システムでは、出力の最初の行に "(SMP)" と表示され、 各 slab ごとに 2 つのカラムが追加される。 これらは各 CPU -が持つローカルなキャッシュ (per\-CPU キャッシュ) の slab アロケーションポリシーを表示する (per\-CPU キャッシュは、 -オブジェクトをキャッシュからアロケートする際に CPU 間での同期を減少させるために設けられている)。 最初のカラムは per\-CPU 制限、 -すなわち各 CPU ごとにキャッシュできるオブジェクトの最大数である。 二番目のカラムはバッチカウント、 すなわち per\-CPU -キャッシュが空だったり一杯だったりした場合に、 グローバルなキャッシュと受け渡しできるフリーなオブジェクトの最大数である。 - -slab キャッシュ統計と SMP が両方有効になっている場合は、 per\-CPU キャッシュの統計を表示する 4 つのカラムがさらに追加される。 -最初の 2 つは per\-CPU キャッシュの アロケーションヒットカウントとアロケーションミスカウントである。 -すなわち、あるオブジェクトをアロケートしたときに、 それが per\-CPU キャッシュの内部に あった/なかった 回数である。 続く 2 -つは、per\-CPU キャッシュのフリーヒットカウントとミスカウントである。 -すなわち解放されたオブジェクトをグローバルなキャッシュにフラッシュする前に、 per\-CPU キャッシュの制限の範囲に 収まった/収まらなかった -回数である。 - -SMP において per\-CPU slab キャッシュの制限値や バッチカウントを変更するには、以下のようにすればよい: - -.in +4n -.nf -echo "\fIcache_name limit batchcount\fP" > /proc/slabinfo -.fi -.in -.SH ファイル -\fI\fP -.SH バージョン -\fI/proc/slabinfo\fP は Linux 2.1.23 以降に存在する。 SMP における CPU ごとのキャッシュは Linux -2.4.0\-test3 以降に存在する。 -.SH 注意 -Linux 2.6.16 以降では、 \fI/proc/slabinfo\fP ファイルは、カーネル設定オプション \fBCONFIG_SLAB\fP -を有効にした場合のみ存在する。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/termcap.5 b/draft/man5/termcap.5 deleted file mode 100644 index 671e179d..00000000 --- a/draft/man5/termcap.5 +++ /dev/null @@ -1,446 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified formatting Sat Jul 24 17:13:38 1993, Rik Faith (faith@cs.unc.edu) -.\" Modified (extensions and corrections) -.\" Sun May 1 14:21:25 MET DST 1994 Michael Haardt -.\" If mistakes in the capabilities are found, please send a bug report to: -.\" michael@moria.de -.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond (esr@thyrsus.com) -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TERMCAP 5 1996\-10\-21 Linux "Linux Programmer's Manual" -.SH 名前 -termcap \- 端末機能のデータベース -.SH 説明 -termcap データベースは、 文字単位で動作する端末やプリンタの機能を記述するための旧式の機構である。 -この機構は古いプログラムを動作させるためだけに保持されているので、 新しいプログラムは \fBterminfo\fP(5) -データベースとそれに関連したライブラリを用いるべきである。 -.LP -\fI/etc/termcap\fP は、多くの異なる種類の端末に関する機能を列記したアスキーファイル (データベースマスター) である。 プログラムは -termcap を読み込んで、 実際に使用している端末に個別のエスケープコード群を取得する。 -これを用いると、その端末の視覚的な性質を制御することができる (端末の他の性質は \fBstty\fP(1) で制御する)。 termcap -データベースは、環境変数 \fBTERM\fP の値で引かれる。 -.LP -termcap のエントリは、単一の論理行でなければならない。 ただし、行末に \(aq\e\(aq を用いればそこでの改行を抑制することができる。 -フィールドは \(aq:\(aq で分割される。 各エントリの最初のフィールドは左側先頭から始まり、 -内容はその端末の名前のリストである。名前の区切りには \(aq|\(aq が用いられる。 -.LP -最初のサブフィールドは (4.3 以前のバージョンのBSD termcap エントリでは) 2 文字からなる短い名前となっている。この短い名前は -大文字もしくは小文字で構成される。4.4BSD の termcap エントリでは、 このフィールドは省略される。 -.LP -2 番目 (最新の 4.4BSD フォーマットでは 1 番目) のサブフィールドには、 環境変数 \fBTERM\fP で用いられる名称が入る。 -このフィールドには小文字しか使えない。 選択可能なハードウェア機能は、ハイフンと接尾語 (suffix) -を名称の後に追加することによって示す必要がある。以下の例を見よ。 慣習的な接尾語には、w (80 文字以上の幅がある)、 am (automatic -margins: 自動的な行の折り返し)、 nam (non automatic margins: 自動的でない行の折り返し)、 rv (reverse -video display: 反転ビデオ表示) などがある。 3番目のサブフィールドには、 -このtermcapエントリーに対する長い説明的な名称が入る。 -.LP -この後に続くフィールドには、端末の機能を記述する。 機能を記述する行が継続する場合は、 左端から1つのタブをおいてインデントしなければならない。 -.LP -順序については定義されていないが、 大文字小文字は区別せずにアルファベット順にならべ、 -始めはブール値の、次は数値の、最後は文字列の機能を書くことが推奨されている。 同じような働きをする機能は 1 行にまとめて書くと良い。 -.LP -.nf -例: -.sp -Head line: vt|vt101|DEC VT 101 terminal in 80 character mode:\e -Head line: Vt|vt101\-w|DEC VT 101 terminal in (wide) 132 character mode:\e -Boolean: :bs:\e -Numeric: :co#80:\e -String: :sr=\eE[H:\e -.fi -.SS ブール値で指定する機能 -.nf -5i プリンタはスクリーンにエコーしない -am 自動マージン。自動的に行を折り返す -bs コントロール H (キーコード 8) をバックスペースとして扱う -bw 左端でのバックスペースを、上の行の右端に折り返す -da 画面の上端から外れていた行を表示する (通常はマルチページ端末で) -db 画面の下端から外れていた行を表示する (通常はマルチページ端末で) -eo 空白文字はカーソル位置の全ての文字を消す -es ステータス行上のエスケープシーケンスや特殊文字は有効に働く -gn 一般的なデバイスである -hc ハードコピー端末である -HC 最下行にないカーソルは見づらい -hs ステータス行がある -hz チルダ文字が表示できない端末である (Hazeltine 端末のバグ) -in ホワイトスペースを埋めるのに、スペースではなく NULL バイトを挿入する端末である -km 端末にはメタキーがある -mi 挿入モードでもカーソル移動ができる -ms 強調/下線モードでもカーソル移動ができる -NP パディング文字がない -NR ti は te を反転しない -nx パディングではなく、XON/XOFF を使わなければならない -os 重ね打ちが可能な端末である -ul 重ね打ちはできないが、下線表示のできる端末である -xb f1 はエスケープを送信し、f2 は \fB^C\fP を送信する (Beehive 端末の不具合) -xn 改行/折り返しに不具合がある -xo 端末は xon/xoff プロトコルを用いる -xs 強調文字の上に出力された文字は強調文字として表示される -xt 破壊的なタブと中途半端な強調モード (Teleray 端末の不具合) -.fi -.SS 数値で指定する機能 -.nf -co 端末の行数 -dB ハードコピー端末において、バックスペースに必要な遅延時間 (ミリ秒単位) -dC ハードコピー端末において、復帰に必要な遅延時間 (ミリ秒単位) -dF ハードコピー端末において、頁送りに必要な遅延時間 (ミリ秒単位) -dN ハードコピー端末において、改行に必要な遅延時間 (ミリ秒単位) -dT ハードコピー端末において、タブストップに必要な遅延時間 (ミリ秒単位) -dV ハードコピー端末において、垂直タブに必要な遅延時間 (ミリ秒単位) -it タブ位置間の文字数 -lh ソフトラベルの高さ -lm 画面メモリに収容できる行数 -lw ソフトラベルの幅 -li 行数 -Nl ソフトラベルの数 -pb パディングが必要となる最低のボーレート -sg 強調表示の不具合 (強調表示に切替えたときに表示されるスペースの数) -ug 下線表示の不具合 (強調表示に切替えたときに表示されるスペースの数) -vt 仮想端末番号 -ws ステータス行の幅 (画面幅と異なる場合) -.fi -.SS \(dq文字列で指定する機能\(dq -.nf -!1 シフト状態の save キー -!2 シフト状態の suspend キー -!3 シフト状態の undo キー -#1 シフト状態の help キー -#2 シフト状態の home キー -#3 シフト状態の input キー -#4 シフト状態の左カーソルキー -%0 redo キー -%1 help キー -%2 markキー -%3 message キー -%4 move キー -%5 next\-object キー -%6 open キー -%7 options キー -%8 previous\-object キー -%9 print キー -%a シフト状態の message キー -%b シフト状態の move キー -%c シフト状態の next キー -%d シフト状態の options キー -%e シフト状態の previous キー -%f シフト状態の print キー -%g シフト状態の redo キー -%h シフト状態の replace キー -%i シフト状態の右カーソルキー -%j シフト状態の resume キー -&0 シフト状態の cancel キー -&1 reference キー -&2 refresh キー -&3 replace キー -&4 restart キー -&5 resume キー -&6 save キー -&7 suspend キー -&8 undo キー -&9 シフト状態の begin キー -*0 シフト状態の find キー -*1 シフト状態の command キー -*2 シフト状態の copy キー -*3 シフト状態の create キー -*4 シフト状態の delete キー -*5 シフト状態の delete line キー -*6 select キー -*7 シフト状態の end キー -*8 シフト状態の clear line キー -*9 シフト状態の exit キー -@0 find キー -@1 begin キー -@2 cancel キー -@3 close キー -@4 command キー -@5 copy キー -@6 create キー -@7 end キー -@8 enter/send キー -@9 exit キー -al 1 行挿入する -AL %1 行挿入する -ac 図形文字のペアの集合。代替文字セットにマップするためのもの -ae 代替文字セットの終り -as 図形文字集合に対する、代替文字セットの開始 -bc \fB^H\fP がバックスペースでない場合のバックスペース -bl (音声の) ベルを鳴らす -bt 前のタブストップへ移動 -cb 行頭からカーソル位置までのクリア -cc ダミーコマンド文字 -cd 画面の最後までをクリア -ce 行の最後までをクリア -ch カーソルを水平方向にだけ移動し、 %1 桁の位置にする -cl 画面を消去し、カーソルをホームポジションへ -cm 画面上の %1 行、 %2 桁へカーソルを移動 -CM メモリ上の %1 行、 %2 桁へカーソルを移動 -cr 復帰 -cs %1 行目から %2 行目までの範囲をスクロールする -ct タブの消去 -cv カーソルを垂直方向にだけ移動し、 %1 行の位置にする -dc 一文字削除する -DC %1 文字削除する -dl 一行削除する -DL %1 行削除する -dm delete モード開始 -do カーソルを一行下げる -DO カーソルを #1 行下げる -ds ステータス行を無効にする -eA 代替文字集合を有効にする -ec カーソル位置から %1 文字消去する -ed delete モード終了 -ei intert モード終了 -ff ハードコピー端末での頁送り文字 -fs ステータス行に移動する前の位置へ復帰する文字 -F1 ファンクションキー f11 が送出する文字列 -F2 ファンクションキー f12 が送出する文字列 -F3 ファンクションキー f13 が送出する文字列 -\&... \&... -F9 ファンクションキー f19 が送出する文字列 -FA ファンクションキー f20 が送出する文字列 -FB ファンクションキー f21 が送出する文字列 -\&... \&... -FZ ファンクションキー f45 が送出する文字列 -Fa ファンクションキー f46 が送出する文字列 -Fb ファンクションキー f47 が送出する文字列 -\&... \&... -Fr ファンクションキー f63 が送出する文字列 -hd カーソルを一行の半分だけ下に移動 -ho カーソルをホームポジションに移動 -hu カーソルを一行の半分だけ上に移動 -i1 ログイン時の初期化文字列 1 -i3 ログイン時の初期化文字列 3 -is ログイン時の初期化文字列 2 -ic 一文字挿入 -IC %1 文字挿入 -if 初期化ファイル -im insert モード開始 -ip 挿入後のパディングに必要な時間と特殊文字 -iP 初期化プログラム -K1 キーパッドの左上キー -K2 キーパッドの中央キー -K3 キーパッドの右上キー -K4 キーパッドの左下キー -K5 キーパッドの右下キー -k0 ファンクションキー 0 -k1 ファンクションキー 1 -k2 ファンクションキー 2 -k3 ファンクションキー 3 -k4 ファンクションキー 4 -k5 ファンクションキー 5 -k6 ファンクションキー 6 -k7 ファンクションキー 7 -k8 ファンクションキー 8 -k9 ファンクションキー 9 -k; ファンクションキー 10 -ka clea all tabs キー -kA insert line キー -kb バックスペースキー -kB back tab キー -kC clear screen キー -kd 下カーソルキー -kD カーソル位置の文字を消すキー -ke キーパッドをオフにする -kE 行末までをクリアするキー -kF 前方向/下方向へスクロールするキー -kh home キー -kH cursor hown down キー -kI 文字挿入キー/insert モードキー -kl 左カーソルキー -kL 行を削除するキー -kM insert モードを終了するキー -kN 次のページへ移動するキー -kP 前のページへ移動するキー -kr 右カーソルキー -kR 後ろ方向/上方向にスクロールするキー -ke キーパッドをオンにする -kS 画面最後までをクリアするキー -kt タブクリアキー -kT タブストップ設定キー -ku 上カーソルキー -l0 0 番目のファンクションキーのラベル (f0 でない場合) -l1 1 番目のファンクションキーのラベル (f1 でない場合) -l2 2 番目のファンクションキーのラベル (f2 でない場合) -\&... \&... -la 10 番目のファンクションキーのラベル (f10 でない場合) -le カーソルを左へ一文字分移動する -ll カーソルを左下隅に移動する -LE カーソルを左 %1 文字分移動する -LF ソフトラベルをオフにする -LO ソフトラベルをオンにする -mb 点滅開始 -MC ソフトマージンをクリア -md bold モード開始 -me so, us, mb, md, mr などのモード全てを終了する -mh 半輝度モード開始 -mk ダークモード (文字は見えなくなる) -ML 左側のソフトマージンを設定 -mm 端末をメタモードに設定する -mo 端末をメタモードでなくする -mp 属性保護モードをオンにする -mr 反転モード開始 -MR 右端のソフトマージンを設定 -nd カーソルを右に一文字分移動 -nw 復帰コマンド -pc パディング文字 -pf プリンタをオフにする -pk ユーザが入力したときに文字列 %2 を送出するプログラムキー %1 -pl ローカルモードで文字列 %2 を実行するプログラムキー %1 -pn 文字列 %2 を表示するためのプログラムソフトラベル %1 -po プリンタをオンにする -pO %1 (<256) バイトの間プリンタをオンにする -ps 画面上の内容をプリンタに印刷する -px 文字列 %2 をコンピュータに送出するプログラムキー %1 -r1 端末を正常なモードに設定するリセット文字列 1 -r2 端末を正常なモードに設定するリセット文字列 2 -r3 端末を正常なモードに設定するリセット文字列 3 -RA 自動折り返しを無効にする -rc 保存しておいたカーソル位置に復帰する -rf リセット文字列の入ったファイル名 -RF 端末からの入力要求 -RI カーソルを右へ %1 文字分移動する -rp 文字 %1 を %2 回分繰り返す -rP 置換モードにおいて、文字を送出した後に行うパディング -rs リセット文字列 -RX XON/XOFF フロー制御をオフにする -sa 属性 %1 %2 %3 %4 %5 %6 %7 %8 %9 を設定 -SA 自動折り返しを有効にする -sc カーソル位置を保存する -se 強調モード終了 -sf 順方向の 1 行スクロール -SF 順方向の %1 行スクロール -so 強調モード開始 -sr 逆スクロール -SR %1 行分逆スクロールする -st 全ての行において、現在の桁位置をタブストップに設定する -SX XON/XOFF フロー制御をオンにする -ta 次のハードウェアタブ位置へ移動 -tc 他のエントリから端末の説明を読む込む -te カーソル移動を用いるプログラムの終了 -ti カーソル移動を用いるプログラムの開始 -ts ステータス行のカーソルを %1 桁へ移動 -uc カーソル位置の文字に下線をつけ、右にカーソルを移動 -ue 下線モード終了 -up カーソルを 1 行分上に移動 -UP カーソルを %1 行分上に移動 -us 下線モード開始 -vb ビジュアルベル -ve カーソルを通常の明るさにする -vi カーソルを見えなくする -vs 強調カーソル -wi ウィンドウ領域を %1〜%2 行、%3〜%4 桁に設定 -XF XOFF 制御文字 (\fB^S\fP でない場合) -.fi -.LP -文字列機能の制御コードを定義するには、いくつかの方法がある。 -.LP -\&\(aq^\(aq, \(aq\e\(aq, \(aq%\(aq を除く全ての通常の文字は、それ自身を表す。 -.LP -\fB^x\fP は Control\-x を意味する。 Control\-A は 10 進数の 1 に等しい。 -.LP -\&\ex は特殊コードとして扱われる。x には以下の文字のどれかが入る。 -.RS -E エスケープ (27) -.br -n ラインフィード (10) -.br -r 復帰 (13) -.br -t タブ (9) -.br -b バックスペース (8) -.br -f 頁送り (12) -.br -0 ヌルキャラクタ。'\exxx' は 8 進数 xxx の文字を表す。 -.RE -.IP i -パラメータを 1 増加させる。 -.IP r -一つのパラメータをとる機能 -.IP + -次の文字の値をパラメータに追加し、バイナリで出力する -.IP 2 -パラメータを 2 桁の数字として ASCII 出力する (printf の %2d と同じ意味) -.IP d -パラメータを数字として ASCII 出力する (printf の %d と同じ意味) -.IP % -\(aq%\(aq を表示する -.LP -バイナリ出力を行う場合、 文字列が終端されないようにヌル文字 (\(aq\e0\(aq) を避けねばならない。 -タブ文字をパラメータのバイナリ出力とする場合は、 タブ文字の展開をリセットしなければならない。 -.IP 注意: -上記のような、パラメータとしてのメタ文字は正しくないかもしれない。 このことは、Minixの termcap と Linux の termcap -との間に互換性がないことに繋がっている。 -.LP -図形文字は 3 つの文字列機能で指定できる。 -.IP as -代替文字セットの開始 -.IP ae -代替文字セットの終了 -.IP ac -文字列のペアの集合を指定する。 最初の文字は図形文字の名称で、 2 番目の文字はその定義である。 -.LP -名称には以下のものがある。 -.sp -.nf -+ 右矢印 (>) -, 左矢印 (<) -\&. 下矢印 (v) -0 なかを塗りつぶした四角 (#) -I ランタン記号 (#) -(訳注 原文は latern だったが、これは lantern の typo と思われる) -\- 上矢印 (^) -\&' 菱形 (+) -a チェス板 (:) -f 角度 (') -g プラスマイナス (#) -h 四角 (#) -j 右下隅 (+) -k 右上隅 (+) -l 左上隅 (+) -m 左下隅 (+) -n 十字 (+) -o 上水平線 (\-) -q 中水平線 (\-) -s 下水平線 (_) -t 左 T 字 (+) -u 右 T 字 (+) -v 下 T 字 (+) -w 正 T 字 (+) -x 垂直線 (|) -~ 段落 (???) -.fi -.sp -括弧内の値は、 指定した機能が存在しない場合に用いられるデフォルトの値である。 -.SH 関連項目 -\fBncurses\fP(3), \fBtermcap\fP(3), \fBterminfo\fP(5) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/ttytype.5 b/draft/man5/ttytype.5 deleted file mode 100644 index 34d35562..00000000 --- a/draft/man5/ttytype.5 +++ /dev/null @@ -1,62 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@moria.de), -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified Sat Jul 24 17:17:50 1993 by Rik Faith -.\" Modified Thu Oct 19 21:25:21 MET 1995 by Martin Schulze -.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond -.\" xk -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TTYTYPE 5 1993\-07\-24 Linux "Linux Programmer's Manual" -.SH 名前 -ttytype \- 端末デバイス−端末タイプのデフォルトマッピング -.SH 説明 -\fI/etc/ttytype\fP は tty ラインを termcap/terminfo の端末タイプの名前と関連付ける。それ -ぞれの行には、まず端末のタイプ、続いてスペース文字、さらに続いて tty 名 (デバイス名から先頭の \fI/dev/\fP をとったもの) が書かれる。 - -この関連付けはプログラム \fBtset\fP(1) が利用し、ユーザーが現在使っている端末の \fBTERM\fP -環境変数が、デフォルトの端末名にセットされる。 - -この機能は伝統的なタイム・シェアリング環境 ( UNIX ミニコンピュータに キャラクタ端末が直結されているような環境) 向けに設計された。近代的な -ワークステーションやパーソナル UNIX システムでは、ほとんど利用されていない。 -.SH ファイル -.TP -\fI/etc/ttytype\fP -tty 定義ファイル。 -.SH 例 -典型的な \fI/etc/ttytype\fP は以下のようなものである。 -.RS -.sp -con80x25 tty1 -.br -vt320 ttys0 -.RE -.SH 関連項目 -\fBtermcap\fP(5), \fBterminfo\fP(5), \fBagetty\fP(8), \fBmingetty\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/tzfile.5 b/draft/man5/tzfile.5 deleted file mode 100644 index fb6d4d0f..00000000 --- a/draft/man5/tzfile.5 +++ /dev/null @@ -1,110 +0,0 @@ -.\" @(#)tzfile.5 7.11 -.\" This file is in the public domain, so clarified as of -.\" 1996-06-05 by Arthur David Olson . -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH TZFILE 5 2012\-05\-04 "" "Linux Programmer's Manual" -.SH 名前 -tzfile \- タイムゾーンの情報 -.SH 説明 -このページは、 \fBtzset\fP(3) で使用されるタイムゾーンファイルの構造に -ついて説明したものである。通常、これらのファイルは -ディレクトリ \fI/usr/lib/zoneinfo\fP か \fI/usr/share/zoneinfo\fP の -どちらかに置かれている。 - -タイムゾーン情報ファイルは、タイムゾーン情報ファイルであることを識別 -するための magic 文字列 "TZif" で始まり、 -ファイルフォーマットのバージョンを示す文字 (2005 年時点では -ASCII NUL (\(aq\e0\(aq) か \(aq2\(aq のいずれか)、 -将来のための 15 バイトの予約領域 (値は 0) が続き、 -\fIlong\fP 型の 4 バイトの値が 6 個続く。 -この値は「標準」バイトオーダー (高位バイトが先に書かれる) で記述される。 -これらの値は、順に以下のようなものである。 -.TP -\fItzh_ttisgmtcnt\fP -ファイルに記述されている UTC/local インジケータ (indicator) の個数。 -.TP -\fItzh_ttisstdcnt\fP -ファイルに記述されている standard/wall インジケータの個数。 -.TP -\fItzh_leapcnt\fP -ファイルに記述されている閏秒データの個数。 -.TP -\fItzh_timecnt\fP -ファイルに記述されている「遷移時間 (transition time)」データの個数。 -.TP -\fItzh_typecnt\fP -ファイルに記述されている「ローカル時間種別 (local time types)」データの個数 -(0 であってはいけない)。 -.TP -\fItzh_charcnt\fP -ファイルに記述されている「タイムゾーン略式文字列 (timezone abbreviation string)」の個数。 -.PP -上記のヘッダに続いて、4 バイトの \fIlong\fP 型の値が \fItzh_timecnt\fP 個続く。 -これらは昇順で格納される。それぞれの値は「標準」バイトオーダーで記述されている。 -それぞれは遷移時間 (\fBtime\fP(2) が返す値) として用いられ、 -遷移時間に応じてローカル時間の計算ルールが変化する。 -次に、\fIunsigned char\fP 型の 1 バイトの値が \fItzh_timecnt\fP 個続く。 -この値は、それぞれの遷移時間に、ファイル中に記載されている「ローカル時間」種別 -のどれが関連づけられているかを示す。 -これらの値は、(ファイル中でこの情報のすぐ後ろに置かれている) \fIttinifo\fP 構造体 -の配列 (要素数は \fItzh_typecnt\fP) に対するインデックスとして機能する。 -この構造体は以下のように定義されている: -.in +4n -.sp -.nf -struct ttinfo { - long tt_gmtoff; - int tt_isdst; - unsigned int tt_abbrind; -}; -.in -.fi -.sp -それぞれの構造体は、 4 バイトの \fIlong\fP 型の値 \fItt_gmtoff\fP、 1 バイトの値 \fItt_isdst\fP, 1 バイトの値 -\fItt_abbrind\fP から構成される。 それぞれの構造体において、 \fItt_gmtoff\fP は UTC に加えるべき秒数を与え、 -\fItt_isdst\fP は \fItm_isdst\fP を \fBlocaltime\fP(3) にセットすべきかどうかを示し、 \fItt_abbrind\fP -はファイル中で \fIttinfo\fP 構造体 (配列) のあとに置かれる タイムゾーン略式文字列の配列に対するインデックスである。 -.PP -次には 4 バイト値のペアが \fItzh_leapcnt\fP 個続く。 -標準バイトオーダーで記述される。 -各ペアの最初の値は ( \fItime\fP(2) の返す形式で) 閏秒が起きる時刻を指定し、 -二番目の値はその時刻に加えるべき閏秒数の\fI全\fP秒数を指定する。 -これらのペアは時刻の古い順に記述する。 -.PP -次には standard/wall インジケータが \fItzh_ttisstdcnt\fP 個置かれる。 -standard/wall インジケータはそれぞれ 1 バイトの値として格納される。 -これらは、ローカル時間種別に関連付けられた遷移時間が、標準時刻 (standard time) -と壁時計時刻 (wall clock time) のどちらで指定されているかを示す。 -また、この値は、 POSIX 形式のタイムゾーン環境変数の処理において -タイムゾーンファイルが使われる際にも利用される。 -.PP -最後に UTC/local インジケータが \fItzh_ttisgmtcnt\fP 個置かれる。 -UTC/local インジケータはそれぞれ 1 バイトの値として格納される。 -これらは、ローカル時間種別に関連付けられた遷移時間が UTC とローカル時刻の -どちらで指定されているかを示す。 -また、この値は、 POSIX 形式のタイムゾーン環境変数の処理において -タイムゾーンファイルが使われる際にも利用される。 -.PP -\fBlocaltime\fP(3) は、 \fItzh_timeout\fP が 0 であるか time 引数がファイルに記録され -ていた最初の遷移時刻 よりも小さい場合には、 ファイルに最初に現れる標準時刻の -\fIttinfo\fP 構造体を使う (または標準時刻の構造体がない場合は、単に最初の -\fIttinfo\fP 構造体を使う)。 -.PP -バージョン 2 形式のタイムゾーンファイルでは、上記のヘッダとデータの後に、 -第 2 のヘッダとデータが続く。形式は上記のヘッダとデータと同じで、 -遷移時間や閏秒の時刻に 8 バイトが使用される点だけが異なる。 -第 2 のヘッダとデータの後ろには改行で囲まれた POSIX の TZ 環境変数形式 -の文字列が置かれ、この文字列はファイル内の最後の遷移時間の後で時刻を -処理する際に使用される -(このような POSIX 表現が置かれない場合、改行の間には何も置かれない)。 -.SH 関連項目 -\fBctime\fP(3), \fBtzset\fP(3), \fBtzselect\fP(8) と -glibc ソースコードの \fItimezone/tzfile.h\fP。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man5/utmp.5 b/draft/man5/utmp.5 deleted file mode 100644 index f0845b67..00000000 --- a/draft/man5/utmp.5 +++ /dev/null @@ -1,232 +0,0 @@ -.\" Copyright (c) 1993 Michael Haardt (michael@cantor.informatik.rwth-aachen.de), -.\" Fri Apr 2 11:32:09 MET DST 1993 -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Modified 1993-07-25 by Rik Faith (faith@cs.unc.edu) -.\" Modified 1995-02-26 by Michael Haardt -.\" Modified 1996-07-20 by Michael Haardt -.\" Modified 1997-07-02 by Nicolás Lichtmaier -.\" Modified 2004-10-31 by aeb, following Gwenole Beauchesne -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH UTMP 5 2011\-09\-28 Linux "Linux Programmer's Manual" -.SH 名前 -utmp, wtmp \- ログイン記録 -.SH 書式 -\fB#include \fP -.SH 説明 -\fIutmp\fP ファイルを見ることで、現在誰がシステムを使っているかという情報 が得られる。ただすべてのプログラムが utmp ファイルを -更新しているわけではないので、実際にはそれ以上のユーザーが システムを使っている可能性がある。 -.PP -\fB警告:\fP (愚かにも) 多くのシステムプログラムがその整合性に依存しているので、 \fIutmp\fP ファイルは "other" -に分類されるユーザに対して 書き込み可能にしてはならない。 ファイルの所有者とグループオーナー以外のユーザに対して \fIutmp\fP -ファイルを書き込み可能な状態にしておくと、 システムのログファイルを偽造されたり、システムファイルの 改ざんを受けるといったリスクを犯すことになる。 -.PP -このファイルは \fIutmp\fP 構造体の繰り返しで構成される。 この構造体は \fI\fP で以下のように定義されている -(ここに記述してあるのは幾つかの大まかな定義のみで、 詳細は libc のバージョンにより変わることに注意が必要である)。 -.in +4n -.nf -.sp -/* Values for ut_type field, below */ - -#define EMPTY 0 /* Record does not contain valid info - (formerly known as UT_UNKNOWN on Linux) */ -#define RUN_LVL 1 /* Change in system run\-level (see - \fBinit\fP(8)) */ -#define BOOT_TIME 2 /* Time of system boot (in \fIut_tv\fP) */ -#define NEW_TIME 3 /* Time after system clock change - (in \fIut_tv\fP) */ -#define OLD_TIME 4 /* Time before system clock change - (in \fIut_tv\fP) */ -#define INIT_PROCESS 5 /* Process spawned by \fBinit\fP(8) */ -#define LOGIN_PROCESS 6 /* Session leader process for user login */ -#define USER_PROCESS 7 /* Normal process */ -#define DEAD_PROCESS 8 /* Terminated process */ -#define ACCOUNTING 9 /* Not implemented */ - -#define UT_LINESIZE 32 -#define UT_NAMESIZE 32 -#define UT_HOSTSIZE 256 - -struct exit_status { /* Type for ut_exit, below */ - short int e_termination; /* Process termination status */ - short int e_exit; /* Process exit status */ -}; - -struct utmp { - short ut_type; /* Type of record */ - pid_t ut_pid; /* PID of login process */ - char ut_line[UT_LINESIZE]; /* Device name of tty \- "/dev/" */ - char ut_id[4]; /* Terminal name suffix, - or inittab(5) ID */ - char ut_user[UT_NAMESIZE]; /* Username */ - char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or - kernel version for run\-level - messages */ - struct exit_status ut_exit; /* Exit status of a process - marked as DEAD_PROCESS; not - used by Linux init(8) */ - /* ut_session と ut_tv フィールドは、32ビットでコンパイルされた場合と - 64ビットでコンパイルされた場合で同じサイズでなければならない。 - こうすることで、32ビットと64ビットのアプリケーションで、 - データファイルと共有メモリを共有することができるようになる。 */ -#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32 - int32_t ut_session; /* Session ID (\fBgetsid\fP(2)), - used for windowing */ - struct { - int32_t tv_sec; /* Seconds */ - int32_t tv_usec; /* Microseconds */ - } ut_tv; /* Time entry was made */ -#else - long ut_session; /* Session ID */ - struct timeval ut_tv; /* Time entry was made */ -#endif - - int32_t ut_addr_v6[4]; /* Internet address of remote - host; IPv4 address uses - just ut_addr_v6[0] */ - char __unused[20]; /* Reserved for future use */ -}; - -/* Backward compatibility hacks */ -#define ut_name ut_user -#ifndef _NO_UT_TIME -#define ut_time ut_tv.tv_sec -#endif -#define ut_xtime ut_tv.tv_sec -#define ut_addr ut_addr_v6[0] -.sp -.fi -.in -この構造体からユーザーの使っている端末のスペシャルファイル名、 ユーザーのログイン名、 (\fBtime\fP(2) -形式での)ログイン時刻がわかる。文字列フィールドは、 フィールドの長さより文字列が短い場合には、 NULL バイト (\(aq\e0\(aq) -によって終端される。 -.PP -最初のエントリは \fBinit\fP(8) コマンドが \fBinittab\fP(5) を処理することで作られる。 あるエントリを処理する前に、 -\fBinit\fP(8) は \fIut_type\fP を \fBDEAD_PROCESS\fP に初期化する。 レコードの \fIut_type\fP が -\fBDEAD_PROCESS\fP と \fBRUN_LVL\fP のいずれでもなく、 かつ PID が \fIut_pid\fP -であるプロセスがいない場合は、\fIut_user\fP, \fIut_host\fP, \fIut_time\fP をヌルバイトでクリアして初期化を行う。 必要な -\fIut_id\fP を持つ空のレコードを見つけられなかった場合、 \fBinit\fP(8) は新しいレコードを作る。inittab から \fIut_id\fP -を設定し、 \fIut_pid\fP および \fIut_time\fP を現在値に、 \fIut_type\fP を \fBINIT_PROCESS\fP に設定する。 -.PP -\fBmingetty\fP(8) (または \fBagetty\fP(8)) は pid でエントリを特定し、 \fIut_type\fP を -\fBLOGIN_PROCESS\fP に変更し、 \fIut_time\fP を更新し、\fIut_line\fPを設定した後、接続が確立されるのを待つ。 -\fBlogin\fP(1) はユーザー認証が終了すると、 \fIut_type\fP を \fBUSER_PROCESS\fP に変更し、 \fIut_time\fP -を更新し、\fIut_host\fP と \fIut_addr\fPを設定する。 \fBmingetty\fP(8) (または \fBagetty\fP(8)) と -\fBlogin\fP(1) により異なるが、 \fIut_pid\fP の代わりに \fIut_line\fP を使ってレコードの特定が行われることもある -(\fIut_pid\fP を使う方が望ましい) 。 -.PP -\fBinit\fP(8) はプロセスの終了を検出した場合、 \fIut_pid\fP をキーとして utmp のエントリを特定し、 \fIut_type\fP を -\fBDEAD_PROCESS\fP に設定し、 \fIut_user\fP, \fIut_host\fP, \fIut_time\fP をヌルバイトでクリアする。 -.PP -\fBxterm\fP(1) コマンドや他の端末エミュレータは 直接 \fBUSER_PROCESS\fP のレコードを作り、 端末名のサフィックス文字列 -(\fI/dev/[pt]ty\fP に続く文字列) を使って \fIut_id\fP の値を生成する。 この id を持つエントリが -\fBDEAD_PROCESS\fP であった場合には再利用し、 それ以外の場合には新しいエントリが作られる。 可能な場合にはプロセス終了時に -\fBDEAD_PROCESS\fP と設定し、 さらに \fIut_line\fP, \fIut_time\fP, \fIut_user\fP, \fIut_host\fP -をヌルバイトでクリアすることが奨励されている。 -.PP -\fBtelnetd\fP(8) は \fBLOGIN_PROCESS\fP を設定するだけでよく、 残りの処理は通常通り \fBlogin\fP(1) -に任せればよい。 telnet のセッションが終了した後、前述のように \fBtelnetd\fP(8) が utmp のエントリを初期化する。 -.PP -\fIwtmp\fP ファイルには、すべてのログインとログアウトが記録される。 そのフォーマットは、ログアウト済の端末でユーザー名がヌルとなること以外は -\fIutmp\fP とまったく同じである。 ユーザー名が \fBshutdown\fP もしくは \fBreboot\fP である 端末名 \fB~\fP はシステムの停止 -(shutdown) または再起動 (reboot) を意味する。またその端末名が \fB|\fP と \fB}\fP の対は \fBdate\fP(1) -コマンドで変更した新/旧のシステム時刻を記録している。 \fIwtmp\fP ファイルは \fBlogin\fP(1), \fBinit\fP(8) -やいくつかのバージョンの \fBgetty\fP(8) (\fBmingetty\fP(8) または \fBagetty\fP(8)) により管理されている。 -これらのプログラムはどれもファイルを新たに作成しないので、 ファイルを削除することで情報の記録 (record\-keeping) を止めることができる。 -.SH ファイル -/var/run/utmp -.br -/var/log/wtmp -.SH 準拠 -.PP -POSIX.1 では、 \fIutmp\fP 構造体ではなく、 \fIutmpx\fP 構造体を規定している。 \fIutmpx\fP -構造体で規定されているのは、フィールド \fIut_type\fP, \fIut_pid\fP, \fIut_line\fP, \fIut_id\fP, \fIut_user\fP, -\fIut_tv\fP である。 POSIX.1 では、フィールド \fIut_line\fP と \fIut_user\fP の長さは規定されていない。 - -Linux では、 \fIutmpx\fP 構造体の定義は \fIutmp\fP 構造体と同じである。 -.SS 過去のシステムとの比較 -Linux での utmp のエントリは v7/BSD や System V のいずれにも準拠しておらず、 その両方が混在したものである。 - -v7/BSD ではより少しの項目しかない; もっとも重要なことは、\fIut_type\fP が無いことである。 そのため v7/BSD 系のプログラムでは -(たとえば) 死んだ状態のエントリや ログイン状態のエントリまで表示されてしまうことになった。 -さらにセッション用のスロットを割り当てるための設定ファイルがない。 BSD に設定ファイルがあるのは \fIut_id\fP がないからである。 - -Linux (System V 系)では、設定ファイルを必要とせず セッション用のスロットを割り当てるので、一旦設定 されてしまうとレコードの -\fIut_id\fP は決して変更されない。 \fIut_id\fP をクリアすると競合状態におちいり、 utmp -のエントリを壊したり、潜在的なセキュリティホールになる可能性がある。 上述のフィールドを NULL バイトで埋めてクリアしておくのは、 System V -での取り決めでは必要とはされていないが、 BSD での取り決めを前提としていて、かつ utmp を更新しない多くのプログラムが -動作するようにするためである。 Linux ではここまで記述してきたように、行内容の表示は BSD の慣例に従っている。 -.PP -.\" mtk: What is the referrent of "them" in the following sentence? -.\" System V only uses the type field to mark them and logs -.\" informative messages such as \fB"new time"\fP in the line field. -\fBUT_UNKNOWN\fP は Linux で作られたもののようである。 System V には \fIut_host\fP も \fIut_addr_v6\fP -も存在しない。 -.SH 注意 -.PP -ファイルを削除することで utmp への記録を止められる 他の様々なシステムとは違い、Linux では utmp ファイルを必ずおいて おく必要がある。 -\fBwho\fP(1) コマンドが機能しないようにしたい場合には、 utmp ファイルの全ユーザーに対する読み取り許可を設定しないようにする。 -.PP -ファイルのフォーマットはマシンに依存するので、ファイルが作られた マシンもしくは同一アーキテクチャのマシン上でのみ処理することを推奨する。 -.PP -注意すべき点としては、 \fIbiarch\fP なプラットフォーム、つまり 32ビットと 64ビットの両方の アプリケーションを実行できるシステム -(x86\-64, ppc64, s390x など) では、 \fIut_tv\fP のサイズは 32ビットモードと 64ビットモードで同じである。 -\fIut_session\fP と \fIut_time\fP も、存在する場合には同様に同じサイズ である。これにより、32ビットアプリケーションと -64ビットアプリケーション の間でデータファイルと共有メモリを共有することが可能になる。 そのためには、 \fIut_session\fP を -\fIint32_t\fP 型に、 \fIut_tv\fP を 2つの \fIint32_t\fP 型のフィールド \fItv_sec\fP, \fItv_usec\fP -を持つ構造体に変更すればよい \fIut_tv\fP は \fIstruct timeval\fP と同じサイズとは限らないので、 -.in +4n -.nf -.sp -gettimeofday((struct timeval *) &ut.ut_tv, NULL); -.fi -.in - -のような呼び出しをするのではなく、 以下のように各フィールドを設定する方法が推奨される: -.in +4n -.nf -.sp -struct utmp ut; -struct timeval tv; - -gettimeofday(&tv, NULL); -ut.ut_tv.tv_sec = tv.tv_sec; -ut.ut_tv.tv_usec = tv.tv_usec; -.fi -.in -.PP -utmp 構造体は libc5 から libc6 で変更された。そのため昔の libc5 の構造体 を使ったプログラムは -\fI/var/run/utmp\fP や \fI/var/log/wtmp\fP ファイルを壊してしまう。 -.SH バグ -この man ページは libc5 に基づいて作られていて、 最新のものでは違っているかもしれない。 -.SH 関連項目 -\fBac\fP(1), \fBdate\fP(1), \fBlast\fP(1), \fBlogin\fP(1), \fBwho\fP(1), \fBgetutent\fP(3), -\fBgetutmp\fP(3), \fBlogin\fP(3), \fBlogout\fP(3), \fBlogwtmp\fP(3), \fBupdwtmp\fP(3), -\fBinit\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man6/intro.6 b/draft/man6/intro.6 index 8d9de0bb..30055ce0 100644 --- a/draft/man6/intro.6 +++ b/draft/man6/intro.6 @@ -1,6 +1,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:19:57 1993 by Rik Faith (faith@cs.unc.edu) .\"******************************************************************* @@ -36,6 +37,6 @@ intro \- ゲームプログラムの紹介 .SS 著者と著作権 著者と著作権に関しては各マニュアルページのソースのヘッダを参照すること。 これらはページごとに異なる可能性があることに注意してほしい。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/aio.7 b/draft/man7/aio.7 index c4ba7234..9e2eccbb 100644 --- a/draft/man7/aio.7 +++ b/draft/man7/aio.7 @@ -1,6 +1,7 @@ .\" t .\" Copyright (c) 2010 by Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH AIO 7 2010\-10\-02 Linux "Linux Programmer's Manual" +.TH AIO 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 aio \- POSIX 非同期 I/O の概要 .SH 説明 @@ -134,6 +136,15 @@ I/O 操作を行うファイルオフセットを示す。 .TP 16 \fBaio_init\fP(3) glibc の POSIX AIO 実装の動作を調整するパラメータを設定する。 +.SH エラー +.TP +\fBEINVAL\fP +\fIaiocb\fP 構造体の \fIaio_reqprio\fP フィールドが、0 より小さいか、 +\fIsysconf(_SC_AIO_PRIO_DELTA_MAX)\fP が返す上限よりも大きかった。 +.SH バージョン +POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。 +.SH 準拠 +POSIX.1\-2001, POSIX.1\-2008. .SH 注意 使用前に制御ブロックバッファを 0 で埋めるのはよい考えである (\fBmemset\fP(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファと @@ -154,15 +165,6 @@ glibc の POSIX AIO 実装の動作を調整するパラメータを設定する \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2) 参照)、 この実装はまだ POSIX AIO 実装をカーネルシステムコールにより 再実装するほど成熟したものてはない。 -.SH エラー -.TP -\fBEINVAL\fP -\fIaiocb\fP 構造体の \fIaio_reqprio\fP フィールドが、0 より小さいか、 -\fIsysconf(_SC_AIO_PRIO_DELTA_MAX)\fP が返す上限よりも大きかった。 -.SH バージョン -POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。 -.SH 準拠 -POSIX.1\-2001, POSIX.1\-2008. .SH 例 下記のプログラムは、コマンドライン引き数で指定された名前のファイルを それぞれオープンし、得られたファイルディスクリプタに対するリクエストを @@ -408,11 +410,14 @@ main(int argc, char *argv[]) .fi .SH 関連項目 .ad l +.nh \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2), \fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_init\fP(3), -\fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), -http://www.squid\-cache.org/~adrian/Reprint\-Pulavarty\-OLS2003.pdf +\fBaio_read\fP(3), \fBaio_return\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3) + +.UR http://www.squid\-cache.org\:/~adrian\:/Reprint\-Pulavarty\-OLS2003.pdf +.UE .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/armscii-8.7 b/draft/man7/armscii-8.7 index 35887deb..b6c95dc8 100644 --- a/draft/man7/armscii-8.7 +++ b/draft/man7/armscii-8.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" .\"******************************************************************* @@ -141,6 +142,6 @@ _ \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/ascii.7 b/draft/man7/ascii.7 index 7a4e56cc..f7e283cb 100644 --- a/draft/man7/ascii.7 +++ b/draft/man7/ascii.7 @@ -2,6 +2,7 @@ .\" Copyright (c) 1993 Michael Haardt (michael@moria.de) .\" Created Fri Apr 2 11:32:09 MET DST 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) .\" Modified 1994-05-15 by Daniel Quinlan (quinlan@yggdrasil.com) @@ -191,6 +192,6 @@ ASCII 規格は米国規格協会 \fBiso_8859\-4\fP(7), \fBiso_8859\-5\fP(7), \fBiso_8859\-6\fP(7), \fBiso_8859\-7\fP(7), \fBiso_8859\-8\fP(7), \fBiso_8859\-9\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/boot.7 b/draft/man7/boot.7 index 0e6d1e64..a32adb01 100644 --- a/draft/man7/boot.7 +++ b/draft/man7/boot.7 @@ -1,5 +1,8 @@ .\" Written by Oron Peled . +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" May be distributed subject to the GPL. +.\" %%%LICENSE_END .\" .\" I tried to be as much generic in the description as possible: .\" - General boot sequence is applicable to almost any @@ -19,8 +22,8 @@ boot\-scripts \- ブートシーケンスの一般的な解説 .SH 説明 .LP -細かいところはシステムによって異なるが、大まかに言うと、 ブートシーケンスは以下の段階に分けられる: (1) ハードウェアのブート (2) OS -ローダー (3) カーネルの起動 (4) init と inittab (5) ブートスクリプト +細かいところはシステムによって異なるが、大まかに言うと、 ブートシーケンスは以下の段階に分けられる: (1) ハードウェアのブート (2) +オペレーティングシステム (OS) ローダー (3) カーネルの起動 (4) init と inittab (5) ブートスクリプト .SS ハードウェアのブート 電源投入やハードリセットが行われると、 ROM (通常は PROM) に保存されているプログラムに制御が渡される。 PC ではこのプログラムは通常 \fBBIOS\fP と呼ばれる。 @@ -80,7 +83,6 @@ init は、起動するとまず \fI/etc/inittab\fP を読み、その後の行 しかし、このファイルを編集して個々のサービスを管理するのは不便なので、 inittab は単にスクリプトの集合に対するブートストラップになっている。 実際の個々のサービスの起動や停止は、これらのスクリプトで行う。 .SS ブートスクリプト - .TP 注意: 以下の説明は System V Release 4 をベースとしたシステムに関するものである。 現在の大抵の商用 UNIX システム (Solaris, @@ -124,6 +126,6 @@ Linux で \fI/etc/init.d\fP) に配置される。これらのスクリプト .SH 関連項目 \fBinittab\fP(5), \fBbootparam\fP(7), \fBinit\fP(8), \fBrunlevel\fP(8), \fBshutdown\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/bootparam.7 b/draft/man7/bootparam.7 deleted file mode 100644 index 908c894b..00000000 --- a/draft/man7/bootparam.7 +++ /dev/null @@ -1,880 +0,0 @@ -.\" Copyright (c) 1995,1997 Paul Gortmaker and Andries Brouwer -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" This man page written 950814 by aeb, based on Paul Gortmaker's HOWTO -.\" (dated v1.0.1, 15/08/95). -.\" Major update, aeb, 970114. -.\" FIXME ? The use of quotes on this page is inconsistent with the -.\" rest of man-pages. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH BOOTPARAM 7 2007\-12\-16 Linux "Linux Programmer's Manual" -.SH 名前 -bootparam \- Linux カーネル起動時パラメータの解説 -.SH 説明 -Linux カーネルは起動するときに「コマンドラインオプション」あるいは 「起動時パラメータ」を受け付ける。 これは一般に、 -カーネルには決定できないハードウェアのパラメータをカーネルに渡したい場合や、 -カーネルが検出するであろう値を意図的に無効にしたり変更したりする場合に用いる。 - -カーネルが BIOS から直接起動されるとき (たとえば 'cp zImage /dev/fd0' でフロッピーにコピーしたカーネルから起動するなど) -は、 パラメータを指定する機会はない。 ゆえに、この起動時パラメータ機能を利用するためには、 \fILILO\fP や \fIloadlin\fP -のようにパラメータを指定できるソフトウェアを使用しなければならない。 いくつかのパラメータについては、 \fIrdev\fP -を使ってカーネルイメージそのものを修正することもできる。 詳細は \fBrdev\fP(8) を参照のこと。 - -Werner Almesberger による LILO (LInux LOader) プログラムは最も広く使用されている。 LILO -はいろいろなカーネルを選択してブートさせることができ、 設定情報をテキストファイルに保持する (\fBlilo\fP(8) と -\fBlilo.conf\fP(5) を参照)。 LILO は DOS, OS/2, Linux, FreeBSD などを起動でき、 非常に柔軟である。 - -ほかには \fIloadLin\fP もよく使われている Linux ローダである。 これは DOS のプログラムで、DOS プロンプトから -(起動時引数とともに) Linux カーネルを起動できる (いくつかの特定のリソースが利用可能でなければならない)。 loadlin は DOS から -Linux を起動させたい人にあっている。 - -また loadlin は、DOS のドライバである状態に 設定しなければならないハードウェアを 使っている場合にも非常に便利である。 よくある例は -「SoundBlaster 互換」のサウンドカードで、 これらの中には DOS のドライバを使って いくつか秘密のレジスタをいじってやらないと、 本当の -SB 互換モードにはならないようなものがある。 まずハードウェアについてきたドライバを組み込んで DOS を起動し、 その後 loadlin を使用して -Linux カーネルを読み込めば、 リブートによってカードの設定がリセットされるのを防げるわけだ。 -.SS 引数リスト -カーネルのコマンドラインはスペースで区切られた文字列 (\fI起動時引数: boot arguments\fP) -のリストから成っている。ほとんどの起動時引数は次の書式に従う。 -.IP -name[=value_1][,value_2]...[,value_10] -.LP -ここで 'name' は、それに対応する値がカーネルのどの部分に渡されるものなのかを 識別するための、他と重ならないキーワードである。 書式中の 10 -という制限は実際に存在する。 現在のコードは、キーワードひとつあたり、コンマで区切られたパラメータを 10 個までしか取り扱うことができない。 -(しかし、事情が非常に複雑な場合には、同じキーワードを再度利用して 10 個以上のパラメータを与えることができるかもしれない。 -対象となるハードウェアの設定関数がそれをサポートしていれば、だが。) - -カーネルコマンドラインの扱いはほとんど linux/init/main.c が行なっている。 初めに、カーネルは \&'root=', -\&'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug', 'init' といった特別な引数があるかをチェックする。 -これらの意味については後述する。 - -カーネルは次に設定関数のリスト (配列 bootsetups に含まれている) をスキャンし、 指定された引数文字列 (例えば 'foo') が -特定のデバイスやカーネルの一部に対する設定関数 ('foo_setup()') に関連付けられているかを調べる。 例えばカーネルに -foo=3,4,5,6 のようなパラメータを与えたとすると、 カーネルは配列 bootsetups を調べて、 'foo' が登録されているか調べる。 -登録されていたら、'foo' に対応する設定関数 ('foo_setup()') をコールし、 カーネルコマンドラインに与えられた引数である 3, 4, -5, 6 を設定関数に渡す。 - -\&'foo=bar' という形式の引数のうち、 上記のように設定関数に受け入れられなかったものは、 環境変数と解釈されて設定される。 -(あまり役に立たない?) 例としては、'TERM=VT100' がある。 - -カーネルによって処理されず、環境変数としても解釈されなかった 残りの引数は、プロセス 1 に渡されることになる。 通常このプロセス 1 は -\fIinit\fP プログラムである。 プロセス 1 に渡される引数で最も良く使われるのは、 \&'single' というキーワードである。 -これを指定すると init はシングルユーザモードでコンピュータを起動し、 通常使われるデーモンは一切起動しない。 システムにインストールされている -init が どんな引数を受け付けるかは、 マニュアルページで調べること。 -.SS 一般的な、デバイス固有ではない起動時引き数 -.TP -\&\fB'init=...'\fP -カーネルが実行する初期コマンドを設定する。 この指定がなされなかったり、指定したコマンドが見つからなかった場合には、 カーネルは -\fI/sbin/init\fP, \fI/etc/init\fP, \fI/bin/init\fP, \fI/bin/sh\fP の順で実行を試み、すべてに失敗したら -panic を起こす。 -.TP -\&\fB'nfsaddrs=...'\fP -nfs のブートアドレスを指定した文字列に設定する。 このブートアドレスはネットワークブートの場合に用いられる。 -.TP -\&\fB'nfsroot=...'\fP -nfs ルートの名前を設定する。 この文字列の先頭が '/'、','、数字のいずれでもでないときは、 \&'/tftpboot/' が先頭に付加される。 -この名前はネットワークブートの場合に用いられる。 -.TP -\&\fB'no387'\fP -(カーネルのコンパイル時に \fBCONFIG_BUGi386\fP が指定されたときのみ有効。) 一部の i387 コプロセッサチップには、 32 -ビットプロテクトモードでの使用時に生じるバグがある。 例えば初期の ULSI\-387 チップは、 浮動小数点演算を行なうと確実にロックアップしてしまう。 -この起動時引数 'no387' を指定すると、 Linux はコプロセッサがあってもそれを無視するようになる。 -なおもちろん、カーネルコンパイル時に浮動小数点演算をエミュレートする (kernel math emulation) 指定をしなければならない! -.TP -\&\fB'no\-hlt'\fP -(カーネルのコンパイル時に \fBCONFIG_BUGi386\fP が指定されたときのみ有効。) 初期の i486DX\-100 チップの一部では -\&'hlt' 命令に問題があって、 この命令を使うとオペレーティングモードに正しく戻って来ない。 \&'no\-hlt' を指定すれば、Linux -はアイドリング時に CPU を停止 (halt) するかわりに無限ループを実行するようになる。 これによって、そのようなバグのあるチップでも Linux -を使用できる。 -.TP -\&\fB'root=...'\fP -起動時にルートファイルシステムとして使われるデバイスをカーネルに指定する。 デフォルトはコンパイル時に決定され、 -通常はカーネルを構築したシステムのルートデバイスになる。 この値を無効にして、 例えば 2 -番目のフロッピーディスクドライブをルートデバイスに指定する場合は、 \&'root=/dev/fd1' とする。 (ルートデバイスは -\fBrdev\fP(8) を用いても設定できる。) - -ルートデバイスの指定にはシンボル形式と数値形式を用いることができる。 シンボル形式の場合は /dev/XXYN という書式で指定する。 XX -にはデバイスタイプを指定する。 Y にはドライブレターもしくはドライブ番号、 N には (フロッピーディスクを除く) ディスクの パーティション番号を -10 進数の数値で指定する。 (ST\-506 互換ハードディスクではデバイスタイプが 'hd' で Y の範囲は 'a' から 'd'、 SCSI -ディスクは 'sd' で Y は 'a' から 'e'、 Atari ACSI ディスクは 'ad' で Y は 'a' から 'e'、 Syquest -EZ135 パラレルポートリムーバブルディスクは 'ez' で Y は 'a' のみ、 XT ディスクは 'xt' で Y は 'a' か 'b'、 -フロッピーディスクは 'fd' で Y にはドライブ番号を指定する。 fd0 は DOS の 'A:'、fd1 は 'B:' に対応している。 -パーティションは存在しないので N は指定しない。) 最新のカーネルでは、他にも次のような多くのデバイスタイプを指定できる (ほとんどは CD\-ROM -だが): nfs, ram, scd, mcd, cdu535, aztcd, cm206cd, gscd, sbpcd, sonycd, bpcd。 -(nfs はネットワークブートに、ram は RAM ディスクを使用する場合に用いる。) - -なお、これらはファイルシステム上でのデバイスの指定方法とは全く関係ない。 \&'/dev/' を用いるのは単に慣習に過ぎない。 - -扱いにくいし移植性も良くないが、 上記のデバイスを major/minor 番号の数値で指定してもよい。 (例えば /dev/sda3 は major -番号 8、minor 番号 3 なので、 \&'root=0x803' と記述できる。) -.TP -\&\fB'ro'\fP と \fB'rw'\fP -\&'ro' オプションは、ルートファイルシステムを 「読み出し専用」でマウントするようカーネルに指示し、 fsck -プログラムがファイルシステムの矛盾を検査できるようにする。 ファイルシステムが「読み書き可能」として再マウントされる (つまり 'mount \-w \-n -\-o remount /') までの間は、 いかなるプロセスもこのファイルシステム上のファイルに書き込むことはできない。 (\fBmount\fP(8) -も参照せよ。) - -rw オプションはルートファイルシステムを 「読み書き可能」でマウントするようカーネルに指示する。 こちらがデフォルトである。 - -省略時の指定を「読み出し専用」と 「読み書き可能」とのどちらにするかは、 \fBrdev\fP(8) によっても設定できる。 -.TP -\&\fB'reserve=...'\fP -デバイスの自動検出から I/O ポートを保護するために用いる。 コマンドの形式は以下の通り。 -.IP -\fBreserve=\fP\fIiobase,extent[,iobase,extent]...\fP -.sp -機種によっては、 デバイスドライバによるデバイスの自動検出を、 特定の範囲に対しては禁止しなければならないことがある。 -ハードウェアが検出動作によって深刻な問題を引き起こす場合や、 誤認識される可能性がある場合、 -また単にカーネルにハードウェアを初期化させたくない場合などがありうるだろう。 - -この起動時引数 reserve は、自動検出の対象外とする I/O ポートの範囲を指定する。 デバイスドライバは、 -他の起動時引数によって明示的に指定されない限り、 予約された範囲に対して自動検出動作を行わない。 - -例えばブート時のコマンドラインに -.IP -reserve=0x300,32 blah=0x300 -.IP -と指定すると、'blah' を除くすべてのデバイスドライバは 0x300 から 0x31f の範囲を自動検出の対象外とする。 -.TP -\&\fB'mem=...'\fP -搭載されているメモリの量を返す BIOS コールは PC の仕様で定義されているが、これは最大 64MB までしか返すことができない。 Linux -は搭載メモリの量を調べるために、 起動時にこの BIOS コールを使用する。 もし 64MB 以上の RAM を搭載している場合は、 -この起動時引数を用いて 実際のメモリ容量を Linux に知らせることができる。 値は 10 進数または 16 進数 (先頭に 0x を付加) -の数値で指定し、 1024 倍を表す 'k' または 1048576 倍を表す 'M' を末尾に付加できる。 以下は Linus による 'mem=' -パラメータの解説である。 - -.in +0.5i -カーネルは 'mem=xx' パラメータとして どんな値を指定してもそれをそのまま受け入れる。 だからそれが嘘だとわかったら、 -遅かれ早かれひどいクラッシュをするだろう。 パラメータはアクセスしうる最も高位の RAM アドレスを指示する。 だから例えば -\&'mem=0x1000000' っていうのは 16MB のメモリがある、という意味になる。 96MB のマシンなら 'mem=0x6000000' だ。 - -\fB注意\fP: マシンによってはメモリの最上位の領域を BIOS のキャッシュやら何やらの ために使っていることがあるから、 実際には 96MB -をフルにアドレスすることはできないかもしれない。 逆の場合もある。 いくつかのチップセットでは、 BIOS -領域に入っている物理メモリを最上位のメモリのさらに上にマップする。 よって最上位のメモリはたとえば 96MB + 384kB -なんて値になるかもしれない。 linux に実際より多いメモリを教えてしまったとしたら、 まずいことが起きるだろう。 -すぐにではないかもしれないけど、ゆくゆくは確実にね。 -.in - -また、起動時引数に 'mem=nopentium' を指定すると、 pentium とそれ以降の CPU を使った IA32 -システム用に設定されたカーネルで 4MB のページテーブルを無効にすることができる。 -.TP -\&\fB'panic=N'\fP -デフォルトでは、カーネルはパニックの後リブートしない。 このオプションを用いて (N を 0 より大きな値とすれば) N -秒後にリブートするようになる。 この値は、起動後に "echo N > /proc/sys/kernel/panic" -として設定することもできる。 -.TP -\&\fB'reboot=[warm|cold][,[bios|hard]]'\fP -(カーネルコンパイル時に \fBCONFIG_BUGi386\fP が指定されたときのみ有効。) カーネルバージョン 2.0.22 から、 -リブートのデフォルトはコールドブートになった。 以前のデフォルトであるウォームブートをするには \&'reboot=warm' -と指定しなければならない。 (ある種のハードウェアをリセットするにはコールドブートが必要になるが、 -ディスクキャッシュにある書き込んでいないデータは破壊される。 ウォームブートでは、より素早くリブートできる。) デフォルトではリブートは 'hard' -で行われる。 すなわちリセットラインに low を出力するようキーボードコントローラに要求して、 リブートを行う。 -しかし一部のマザーボードではこれができない。 \&'reboot=bios' オプションを指定すると、 代わりに BIOS を経由するようになる。 -.TP -\&\fB'nosmp'\fP と \fB'maxcpus=N'\fP -(カーネルのコンパイル時に __SMP__ が指定されたときのみ有効。) コマンドラインオプションに 'nosmp' または 'maxcpus=0' -を指定すると、 SMP (Symmetric Multi Processing) を完全に無効にする。 \&'maxcpus=N' オプションは、 -SMP モードで有効にする CPU の最大数を N に制限する。 -.SS カーネル開発者用の起動時引数 -.TP -\&\fB'debug'\fP -カーネルが出力するメッセージはカーネルログデーモン klogd に渡され、 ディスクに記録できるようになる。 プライオリティが -\fIconsole_loglevel\fP のメッセージはコンソールにも表示される。 -(これらのレベルについては、\fI\fP を参照。) デフォルトではこの変数は、 -デバッグメッセージよりも重要なあらゆるメッセージを記録するよう設定されている (デバッグメッセージは含まない)。 この起動時引数を指定すると、 -カーネルはプライオリティが DEBUG のメッセージも出力するようになる。 \fIconsole_loglevel\fP も klogd -にオプションを渡せば実行時に設定できる。 \fBklogd\fP(8) を見よ。 -.TP -\&\fB'profile=N'\fP -カーネルがどこで CPU サイクルを消費しているか調べたい場合には、 カーネルのプロファイリング機能を有効にすればこれを実現できる。 -カーネルプロファイリングは、変数 \fIprof_shift\fP を 0 以外の値にセットすると有効になる。 この値はコンパイル時に -\fBCONFIG_PROFILE\fP で指定するか、 この 'prifile=N' オプションで指定できる。 \fIprof_shift\fP の値は N -が指定されれば N となり、N が指定されなかった場合は \fBCONFIG_PROFILE_SHIFT\fP の値が用いられる。 -どちらも指定されなければデフォルト値の 2 が用いられる。 この変数が重要なのは、 カーネルプロファイリングの粒度を決定するところにある。 -すなわち、各クロックの割込みごとに、システムがカーネルコードを実行していれば、 以下のようにカウンタの値がインクリメントされる。 -.IP -profile[address >> prof_shift]++; -.sp -生のプロファイリング情報は、 \fI/proc/profile\fP から見ることができるが、readprofile.c -のような情報を加工するツールを使ったほうが良いだろう。 \fI/proc/profile\fP に任意のデータを書込むと、 カウンタはリセットされる。 -.TP -\&\fB'swap=N1,N2,N3,N4,N5,N6,N7,N8'\fP -カーネルのスワップアルゴリズムをコントロールする 次の 8 つのパラメータをセットする。 max_page_age, page_advance, -page_decline, page_initial_age, age_cluster_fract, age_cluster_min, -pageout_weight, bufferout_weight. これはカーネルをチューンする人のためのオプションである。 -.TP -\&\fB'buff=N1,N2,N3,N4,N5,N6'\fP -カーネルのバッファメモリ管理をコントロールする 次の 6 つのパラメータをセットする。 max_buff_age, buff_advance, -buff_decline, buff_initial_age, bufferout_weight, buffermem_grace. -これはカーネルをチューンする人のためのオプションである。 -.SS "RAM ディスク関連の起動時引数" -(カーネルのコンパイル時に \fBCONFIG_BLK_DEV_RAM\fP オプションが指定されたときのみ有効。) 一般的には、Linux で RAM -ディスクを使用するのはあまり良い考えではない。 システムに任せておけばもっと効率的にメモリを使用する。 しかしブート時 -(またはブートフロッピーの作成中) には、 フロッピーの内容を RAM ディスクにロードすると便利かもしれない。 -メインディスクがアクセス可能になる前に、 (ファイルシステムやハードウェアに関する) -モジュールをいくつかロードしなければならないシステムもあるだろう。 - -Linux のバージョン 1.3.48 において、 RAM ディスクの取り扱いが根底から変化した。 それ以前までは、メモリは静的に割り当てられ、 -\&'ramdisk=N' パラメータでそのサイズを指定していた。 (この値はカーネルのコンパイル時や \fBrdev\fP(8) によっても変更できた。) -現在は RAM ディスクはバッファキャッシュを使用しており、 動的に成長する。 さらに多くの情報 (たとえば \fBrdev\fP(8) が新しい RAM -ディスクの設定とどのように関係するか) については、 \fI/usr/src/linux/Documentation/ramdisk.txt\fP を参照。 - -4 つのパラメータがある。論理値をとるものが 2 つ、整数値をとるものが 2 つ。 -.TP -\&\fB'load_ramdisk=N'\fP -N=1 なら RAM ディスクをロードする。N=0 ならロードしない (デフォルト)。 -.TP -\&\fB'prompt_ramdisk=N'\fP -N=1 ならフロッピー挿入を促すプロンプトを出す (デフォルト)。 N=0 ならプロンプトを出さない。 -(従って、このパラメータを指定する必要はまず無いであろう。) -.TP -\&\fB'ramdisk_size=N'\fP もしくは (古い形式の) \fB'ramdisk=N'\fP -ラムディスクの最大サイズを N kB (キロバイト) にセットする。 省略時は 4096 (4 MB)。 -.TP -\&\fB'ramdisk_start=N'\fP -開始ブロック番号 (フロッピー先頭からのオフセットで指定した RAM ディスクの開始点) を N にセットする。 これはカーネルイメージのあとに -RAM ディスクイメージを置く場合に必要となる。 -.TP -\&\fB'noinitrd'\fP -(カーネルのコンパイル時に \fBCONFIG_BLK_DEV_RAM\fP と \fBCONFIG_BLK_DEV_INITRD\fP -が指定されているときのみ有効。) 最近は initrd を使用するようにカーネルをコンパイルできる。 このオプションが指定されると、 -ブートプロセスはカーネルと RAM ディスクをロードし、 カーネルは initrd を「普通の」 RAM ディスクに変換し、 この RAM -ディスクがルートデバイスとして「読み書き可能」でマウントされる。 次に /linuxrc が実行される。 -その後「真の」ルートファイルシステムがマウントされ、 initrd ファイルシステムは /initrd に移される。 最後に通常のブートシーケンス -(具体的には /sbin/init の呼び出し) が実行される。 - -initrd に関する詳細な解説は \fI/usr/src/linux/Documentation/initrd.txt\fP を参照。 - -\&'noinitrd' オプションを用いると、 カーネルは (initrd 動作を行うようにコンパイルされている場合でも) -上記の動作を行なわず、代わりに initrd のデータを \fI/dev/initrd\fP に残す。 (このデバイスは一度しか使えない。 -データは、そのデータを使った最後のプロセスが \fI/dev/initrd\fP をクローズするとすぐに解放される。) -.SS "SCSI デバイス用の起動時引数" -この節における用語: - -\fIiobase\fP \-\- SCSI ホストアダプタが占有する I/O ポートの先頭アドレス。 16 進表記で指定し、通常 0x200 から 0x3ff -の範囲に位置する。 - -\fIirq\fP \-\- カードが利用するハードウェア割り込み。有効な値はカードに よって異なるが、通常は 5, 7, 9, 10, 11, 12, 15 -である。 これ以外の値は通常、IDE ハードディスク、フロッピー、 シリアルポートといった一般的な周辺機器によって使用される。 - -\fIscsi\-id\fP \-\- SCSI バス上のホストアダプタが自分自身を識別するために使用する ID 番号。 -この値を変更できるホストアダプタもごく希に存在するが、 ほとんどはアダプタ内部で固定されている。 よく使われるデフォルト値は 7 -であるが、Seagate もしくは Future Domain 製の TMC\-950 ボードでは 6 が使われる。 - -\fIparity\fP \-\- SCSI ホストアダプタが取り付けられたデバイスとの通信に際して パリティ値を必要とするかどうか。 1 -を指定するとパリティチェックが有効になり、 0 でパリティチェックが無効になる。 しかし、すべてのデバイスがこの起動時引数によるパリティの選択を -サポートするわけではない。 -.TP -\&\fB'max_scsi_luns=...'\fP -SCSI デバイスは複数の「サブデバイス」を自分自身の内部に持つことができる。 最もよくある例として、一時に 1 枚以上のディスクを扱うことができる -(チェンジャー機能付の) SCSI CD\-ROM がある。 それぞれの CD はそのデバイスの 「論理ユニット番号 (LUN)」によって特定される。 -しかしほとんどのデバイス (例えばハードディスクやテープドライブ) は、 LUN 番号 0 が割り当てられた、ただひとつのデバイスからなる。 - -設計が不十分な SCSI デバイスでは 0 以外の LUN 番号への自動検出を 扱えないことがある。 したがって、コンパイル時に -\fBCONFIG_SCSI_MULTI_LUN\fP オプションが指定されていないと、 最近のカーネルではデフォルトでは LUN 番号 0 のみを検出する。 - -起動時に調べる LUN 番号を指定する場合、起動時引数として \&'max_scsi_luns=n' を指定する。n は 1 から 8 の間で指定する。 -n=1 以上の値を使用しないようにすれば、 このようないかれた機械にひどい目にあわされずにすむだろう。 -.TP -\fBSCSI テープドライブの設定\fP -SCSI テープドライバの起動時設定の一部は以下のようにして行なうことができる。 -.IP -\fBst=\fP\fIbuf_size[,write_threshold[,max_bufs]]\fP -.sp -最初の 2 つの数字は kB 単位で指定する。 \fIbuf_size\fP のデフォルトは 32kB である。上限は 16384kB まで指定できる。 -\fIwrite_threshold\fP はデータ書き出しの閾値で、 バッファのデータのサイズがこの値を越えるとデータはテープに書き出される。 -デフォルト値は 30kB である。 バッファ数の最大値 (\fImax_bufs\fP) は検出されたドライブの数によって変化するが、デフォルトは 2 -である。 使用例を以下に示す。 -.IP -st=32,30,2 -.IP -詳細はカーネルソース内の \fIDocumentation/scsi/st.txt\fP (古いカーネルの場合は -\fIdrivers/scsi/README.st\fP) に書かれている。 -.TP -\fBAdaptec aha151x, aha152x, aic6260, aic6360, SB16\-SCSI の設定\fP -aha に続く番号はカードを表し、 aic に続く番号はカードに搭載されている実際のチップを表す (Soundblaster\-16 SCSI -も後者に含まれる)。 - -SCSI ホストの検出コードは、 インストールされている BIOS を探す。 見つからないと、カードは検出できない。 -この場合は以下のように起動時引数を指定することになる。 -.IP -\fBaha152x=\fP\fIiobase[,irq[,scsi\-id[,reconnect[,parity]]]]\fP -.IP -もしドライバのコンパイル時にデバッグオプションを指定していた場合は、 6 番目の値でデバッグレベルを指定できる。 - -すべてのパラメータは、このセクションの最初で説明した通りである。 \fIreconnect\fP に 0 -以外の値を指定すると、デバイスを切断したり接続したりできる。 以下に例を示す。 -.IP -aha152x=0x340,11,7,1 -.IP -パラメータは必ず上記の順番どおりに指定されなければならない。 例えば、パリティ (parity) を設定したい場合には、 iobase, irq, -scsi\-id, reconnect も同時に指定する必要がある。 -.TP -\fBAdaptec aha154x の設定\fP -aha1542 シリーズのカードは i82077 フロッピーディスクコントローラをボードに搭載している。 一方 aha1540 -シリーズのカードは搭載していない。 これらは共にバスマスタカードであり、 他のデバイスとバスを共有する際に、 -どのくらい「フェアに」振る舞うかを指定するパラメータがある。 起動時引数は以下のようにして指定する。 -.IP -\fBaha1542=\fP\fIiobase[,buson,busoff[,dmaspeed]]\fP -.IP -有効な iobase の値は次の通り。 0x130, 0x134, 0x230, 0x234, 0x330, 0x334。 -クローンカードの中には他の値を指定できるものもある。 - -\fIbuson\fP, \fIbusoff\fP 値はカードがISA バスを占有する時間をマイクロ秒単位で指定する。 省略時はそれぞれ 11us on と 4us -off になっているので、 他のカード (例えば ISA LANCE イーサネットカード) も ISA バスにアクセスできる。 - -\fIdmaspeed\fP 値は DMA (Direct Memory Access) 転送速度を MB/s 単位で設定する。 省略時は 5MB/s -である。新しいリビジョンのカードでは、 この値を使ったソフトウェアによる設定ができる。 古いカードはジャンパ設定を必要とする。 -マザーボードが対応していれば最大 10MB/s まで指定可能である。 5MB/s 以上の値を使う場合は注意して実験してからにすること。 -.TP -\fBAdaptec aha274x, aha284x, aic7xxx の設定\fP -これらのボードは以下の形式で指定する。 -.IP -\fBaic7xxx=\fP\fIextended,no_reset\fP -.IP -\fIextended\fP 値が 0 以外の時は、大容量ディスク用の拡張変換が有効になる。 \fIno_reset\fP 値を 0 -以外の値にすると、ホストアダプタの検出時に、 ドライバによる SCSI バスの初期化を行わない。 -.TP -\fBAdvanSys SCSI ホストアダプタの設定 ('advansys=')\fP -AdvanSys ドライバはカードの検出先として 4 つの I/O アドレスを受け付ける。 EISA や PCI -カードではこれらを指定しても全く効果が無い。 ISA 及び VLB カードの検出に対してのみ用いられる。 -さらに、デバッグオプション付きでドライバがコンパイルされている場合、 デバッグ情報の出力レベルとして 0xdeb[0\-f] パラメータを追加できる。 -0\-f によりデバッグメッセージの情報のレベルを 16 段階で指定する。 -.TP -\fBAM53C974\fP -.IP -\fBAM53C974=\fP\fIhost\-scsi\-id,target\-scsi\-id,max\-rate,max\-offset\fP -.TP -\fBBusLogic SCSI ホストアダプタの設定 ('BusLogic=')\fP -.IP -\fBBusLogic=\fP\fIN1,N2,N3,N4,N5,S1,S2,...\fP -.IP -Buslogic のコマンドラインパラメータに関する詳細な議論は \fI/usr/src/linux/drivers/scsi/BusLogic.c\fP -(著者がいま見ているカーネルでは 4350\-4497 行目) を参照すること。 以下はこれを非常におおざっぱに要約したものである。 - -パラメータ N1 から N5 までは整数である。 パラメータ S1 以降は文字列である。 N1 はホストアダプタが存在する I/O アドレス。 N2 -はタグキューイングをサポートするデバイスに対して使用するキューの深さ。 N3 はバス安定時間 (BST) を秒単位で指定する。 -これはホストアダプタのハードリセットにより SCSI バスをリセットしてから SCSI コマンドの発行を開始するまでの待ち時間である。 N4 -はローカルオプション (ひとつのホストアダプタ用)。 N5 はグローバルオプション (すべてのホストアダプタ用)。 - -文字列オプションは以下の動作を制御する: タグキューイング (TQ:Default, TQ:Enable, TQ:Disable, -TQ:)、 エラー復帰 (ER:Default, ER:HardReset, -ER:BusDeviceReset, ER:None, ER:)、 ホストアダプタの検出 -(NoProbe, NoProbeISA, NoSortPCI)。 -.TP -\fBEATA/DMA の設定\fP -検出対象にする I/O ポートのデフォルトのリストは以下のようにして変更できる。 -.IP -\fBeata=\fP\fIiobase,iobase,...\fP\fB.\fP -.TP -\fBFuture Domain TMC\-16x0 の設定\fP -.IP -\fBfdomain=\fP\fIiobase,irq[,adapter_id]\fP -.TP -\fBGreat Valley Products (GVP) SCSI コントローラの設定\fP -.IP -\fBgvp11=\fP\fIdma_transfer_bitmask\fP -.TP -\fBFuture Domain 製 TMC\-8xx, TMC\-950 の設定\fP -.IP -\fBtmc8xx=\fP\fImem_base,irq\fP -.IP -\fImem_base\fP にはカードが使用するメモリマップ I/O の領域を指定する。 -通常は次の値のどれかである: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。 -.TP -\fBIN2000 の設定\fP -.IP -\fBin2000=\fP\fIS\fP -.IP -S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。 指定できるキーワードは以下の通り。 ioport:addr, -noreset, nosync:x, period:ns, disconnect:x, debug:x, proc:x。 -これらのパラメータの機能については \fI/usr/src/linux/drivers/scsi/in2000.c\fP を参照。 -.TP -\fBNCR5380 および NCR53C400 の設定\fP -この起動時引数は以下の書式で指定する。 -.IP -\fBncr5380=\fP\fIiobase,irq,dma\fP -.IP -または -.IP -\fBncr53c400=\fP\fIiobase,irq\fP -.IP -カードが IRQ を使用しない場合は、 255 (0xff) を指定すれば無効にできる。 IRQ に 254 を指定すると自動検出する。 -詳細はカーネルソース内の \fIDocumentation/scsi/g_NCR5380.txt\fP (古いカーネルの場合は -\fIdrivers/scsi/README.g_NCR5380\fP) に書かれている。 -.TP -\fBNCR53C8xx の設定\fP -.IP -\fBncr53c8xx=\fP\fIS\fP -.IP -S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。 指定できるキーワードは以下の通り。 mpar -(master_parity), spar (scsi_parity), disc (disconnection), specf -(special_features), ultra (ultra_scsi), fsn (force_sync_nego), tags -(default_tags), sync (default_sync), verb (verbose), debug (debug), burst -(burst_max)。 これらのオプションの機能については -\fI/usr/src/linux/drivers/scsi/README.ncr53c8xx\fP を参照すること。 -.TP -\fBNCR53c406a の設定\fP -.IP -\fBncr53c406a=\fP\fIiobase[,irq[,fastpio]]\fP -.IP -割り込み無しで動作するモードには irq に 0 を指定する。 高速 PIO モードは fastpio に 1 を指定し、低速モードは 0 を指定する。 -.TP -\fBPro Audio Spectrum の設定\fP -PAS16 は NC5380 SCSI チップを使用しており、 最近のモデルはジャンパレスの設定をサポートしている。 起動時引数の書式は以下の通り。 -.IP -\fBpas16=\fP\fIiobase,irq\fP -.IP -唯一の違いとして、 IRQ に 255 を指定すれば割り込みを使用しないようドライバに指示できる (パフォーマンスは低下する)。 通常 iobase は -0x388 である。 -.TP -\fBSeagate 製 ST\-0x の設定\fP -カードが起動時に認識されない場合は以下のような指定が必要になるだろう。 -.IP -\fBst0x=\fP\fImem_base,irq\fP -.IP -\fImem_base\fP にはカードが使用するメモリマップ I/O の領域を指定する。 -通常は次の値のどれかである: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。 -.TP -\fBTrantor 製 T128 の設定\fP -このカードも NCR5380 チップを利用しており、 以下のオプションを受け付ける。 -.IP -\fBt128=\fP\fImem_base,irq\fP -.IP -有効な \fImem_base\fP の値は次の通りである: 0xcc000, 0xc8000, 0xdc000, 0xd8000。 -.TP -\fBUltraStor 製 14F/34F の設定\fP -検出対象にする I/O ポートのデフォルトのリストは以下のようにして変更できる。 -.IP -\fBeata=\fP\fIiobase,iobase,...\fP\fB.\fP -.TP -\fBWD7000 の設定\fP -.IP -\fBwd7000=\fP\fIirq,dma,iobase\fP -.TP -\fBCommodore Amiga 製 A2091/590 SCSI コントローラの設定\fP -.IP -\fBwd33c93=\fP\fIS\fP -.IP -S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。 認識されるオプションは以下の通り。 -nosync:bitmask, nodma:x, period:ns, disconnect:x, debug:x, clock:x, next。 -詳細は \fI/usr/src/linux/drivers/scsi/wd33c93.c\fP を参照せよ。 -.SS ハードディスク -.TP -\fBIDE Disk/CD\-ROM ドライバのパラメータ\fP -IDE ドライバは、 ディスクのジオメトリ指定からバグのあるコントローラチップのサポートまで、 数多くのパラメータを受け付ける。 ドライブを特定するには -\&'hdX=' を使う。 ここで X には 'a' から 'h' の文字を指定する。 - -あるドライブに特有なものではないオプションは、hd= を前に付けて指定する。 ドライブ特有でないオプションに対してドライブ指定 ('hdX=') -を前置しても問題はない。 そのオプションは期待通りそのドライブに適用される。 - -\&'hd=' は、(a, ..., h) のシーケンスにおいて、 まだ指定されていない次のドライブを指すためにも使える。 これ以降では簡単のために -\&'hd=' を使って説明する。 さらに詳しい情報を得るには、カーネルソース内の \fIDocumentation/ide.txt\fP (古いカーネルの場合は -\fIdrivers/block/README.ide\fP) を参照のこと。 -.TP -\&\fB'hd=cyls,heads,sects[,wpcom[,irq]]' オプション\fP -これらのオプションはディスクの物理的なジオメトリを指定するために使う。 最初の 3 つの値以降は省略できる。 シリンダ (cyls)、ヘッド -(heads)、セクタ (sects) の各値は fdisk で用いられるものと同じである。 書き込み補正 (wpcom) 値は IDE -ディスクでは無視される。 IRQ 値には、そのドライブが接続されているインターフェースが用いる IRQ を指定する -(本来の意味では「ドライブに特有」のパラメータではない)。 -.TP -\&\fB'hd=serialize' オプション\fP -デュアル IDE インターフェースである CMD\-640 チップには設計上の問題があって、 セカンダリインターフェース上のドライブと -プライマリインターフェース上のドライブを 同時に使用するとデータが破壊されることがある。 このオプションを使用すると、 -ドライバは両方のインターフェースが 同時に使用されることが絶対にないようにする。 -.TP -\&\fB'hd=dtc2278' オプション\fP -このオプションは、DTC\-2278D IDE インターフェースが使われている ことをドライバに伝える。 するとドライバは、DTC 特有の機能 (2 -番目のインターフェースと高速転送モード) を使用可能にするよう試みる。 -.TP -\&\fB'hd=noprobe' オプション\fP -このドライブの自動検出をしない。 例えば -.IP -hdb=noprobe hdb=1166,7,17 -.IP -とすると自動検出が無効になる。 しかしドライブのジオメトリを指定しているので、 このドライブは正しいブロックデバイスとして登録され、使用可能になる。 -.TP -\&\fB'hd=nowerr' オプション\fP -ドライブによっては、書き込みエラー (\fBWRERR_STAT\fP) ビットがクリアできなくなることがある。 このオプションを指定すると、 -このような壊れたデバイスに対する回避機能が有効になる。 -.TP -\&\fB'hd=cdrom' オプション\fP -このオプションは、通常の IDE ハードディスクの代わりに、 ATAPI 互換の CDROM が続されていることを IDE ドライバに伝える。 -CD\-ROM はたいてい自動的に認識されるが、 うまく行かない場合に試してみると良い。 -.TP -\fBスタンダード ST\-506 ディスクドライバのオプション ('hd=')\fP -スタンダードディスクドライバは IDE ドライバと同様のジオメトリ指定を引数にとることができる。 ただし受け付ける値はちょうど 3 つ (C/H/S) -に限られる。 それ以上の値やそれ以下の値を指定すると、ドライバは黙ってその指定を無視する。 また引数として受け入れられるのは 'hd=' -の形式だけである。 つまり 'hda=' のような指定はここでは正しくない。 書式は次の通り。 -.IP -hd=cyls,heads,sects -.IP -2 台のディスクが接続されてい場合は、 2 番目のディスクに対しても上記のジオメトリが設定される。 -.TP -\fBXT ディスクドライバのオプション ('xd=')\fP -これらの古い 8 bit カード (125kB/s の転送速度しかない!) を使わなければならない不幸な人のためのオプションである。 -カードが認識されない場合は以下の書式で起動時引数を指定する必要があるだろう。 -.IP -xd=type,irq,iobase,dma_chan -.IP -.\" 1.1.50, 1.3.81, 1.3.99, 2.0.34, 2.1.67, 2.1.78, 2.1.127 -type 値にはカードのメーカーを指定し、これは自動検知より優先される。 指定すべき type の値については、使っているカーネルのソースファイル -\fIdrivers/block/xd.c\fP を調べてほしい。type はリスト \fIxd_sigs\fP -のインデックスで、歴史と共に追加されたり削除されたりしてきた。 リストの途中での追加・削除も行われたので、 その場合はすべての type -番号が変更された。 今日 (Linux 2.5.0) における type は、 0=generic; 1=DTC 5150cx; 2,3=DTC -5150x; 4,5=Western Digital; 6,7,8=Seagate; 9=Omti; 10=XEBEC である。 ここではいくつかの -type に同じ指定が与えられているが、 それらは等価である。 - -xd_setup() 関数は引数をチェックせず、 4 つの値がすべて指定されることを想定している。 引数を省略してはならない。 例として、BIOS -が無効にされた (あるいは削除された) WD1002 コントローラの場合を示す (パラメータには XT -コントローラの「デフォルト」の値を使っている)。 -.IP -xd=2,5,0x320,3 -.TP -\fBSyquest 製 EZ* リムーバブルディスク\fP -.IP -\fBez=\fP\fIiobase[,irq[,rep[,nybble]]]\fP -.SS "IBM MCA バス上のデバイス" -\fI/usr/src/linux/Documentation/mca.txt\fP も参照。 -.TP -\fBPS/2 ESDI ハードディスク\fP -起動時に所望のジオメトリを指定できる。 -.IP -\fBed=\fP\fIcyls,heads,sectors.\fP -.IP -ThinkPad\-720 を使用する場合は以下のオプションを追加すること。 -.IP -\fBtp720=1\fP -.TP -\fBIBM Microchannel SCSI サブシステムの設定\fP -.IP -\fBibmmcascsi=\fP\fIN\fP -.IP -N はサブシステムの \fIpun\fP (SCSI ID) を表す。 -.TP -\fBAztech インターフェース\fP -このタイプのカードの構文は以下の通り。 -.IP -aztcd=iobase[,magic_number] -.IP -magic_number に 0x79 をセットすると、 ドライバはファームウェアのバージョンが分からない場合でも、 とにかく実行を試みる。 -その他の値はすべて無視される。 -.TP -\fBパラレルポート CD\-ROM ドライブ\fP -構文は以下の通り。 -.IP -pcd.driveN=port,pro,uni,mod,slv,dly -.br -pcd.nice=nice -.IP -ここで 'port' はベースアドレス、'pro' はプロトコル番号、'uni' はユニットセレクタ (チェインデバイス用)、'mod' はモード -(あるいは自動的に最適のものを選ばせるには \-1)、'slv' はスレーブにしたい場合に 1、'dly' -はポートアクセスを遅くしたい場合に小さな整数を与える。'nice' パラメータは、 ドライバのアイドル CPU 時間の使い方を制御する。 -ただし速度はある程度低下する。 -.TP -\fBSony 製 CDU\-31A と CDU\-33A のインターフェース\fP -この CD\-ROM インターフェースは、 Pro Audio Spectrum サウンドカードの一部や -ソニーが供給するインターフェースカードで使われている。 構文は以下の通り。 -.IP -cdu31a=iobase,[irq[,is_pas_card]] -.IP -IRQ に 0 を指定すると、 ハードウェア割り込みがサポートされていないことをドライバに伝える (PAS カードにはそのようなものがある)。 -使用するカードが割り込みをサポートしているなら、 ドライバによる CPU の負荷を減らすためにも割り込みを使用すべきである。 - -\fIis_pas_card\fP には、Pro Audio Spectrum カードを使用しているときには 'PAS' を指定し、 -そうでないときにはなにも指定しない。 -.TP -\fBSony 製 CDU\-535 インターフェース\fP -この CD\-ROM インターフェースの構文は以下の通り。 -.IP -sonycd535=iobase[,irq] -.IP -IRQ の値だけを指定したい場合には、 iobase 値を 0 とすれば単なる穴埋めと解釈される。 -.TP -\fBGoldStar インターフェース\fP -この CD\-ROM インターフェースの構文は以下の通り。 -.IP -gscd=iobase -.TP -\fBISP16 CD\-ROM インターフェース\fP -構文は以下の通り。 -.IP -isp16=[iobase[,irq[,dma[,type]]]] -.IP -(整数値 3 つと文字列 1 つ。) type に 'noisp16' を指定すると、 インターフェースの設定は行なわれない。 type にはこの他にも -\&'Sanyo', 'Sony', 'Panasonic', 'Mitsumi' が指定できる。 -.TP -\fBMitsumi 標準インターフェース\fP -この CD\-ROM インターフェースの構文は以下の通り。 -.IP -mcd=iobase,[irq[,wait_value]] -.IP -\fIwait_value\fP はドライブに問題がある場合に、 ドライバ内部のタイムアウトの指定に用いる。 コンパイル時の #define -によって実装されるかされないかが決まる。 Mitsumi FX400 は IDE/ATAPI CD\-ROM プレイヤーであり、 この mcd -ドライバは使用しない。 -.TP -\fBMitsumi XA/マルチセッションインターフェース\fP -これは上記と同じハードウェアだが、拡張機能がある。 構文は以下の通り。 -.IP -mcdx=iobase[,irq] -.TP -\fBOptics ストレージインターフェース\fP -このタイプのカードの構文は以下の通り。 -.IP -optcd=iobase -.TP -\fBPhillips CM206 インターフェース\fP -このタイプのカードの構文は以下の通り。 -.IP -cm206=[iobase][,irq] -.IP -ドライバは IRQ 値として 3 から 11 まで、 I/O ポートアドレスの値として 0x300 から 0x370 を想定している。 -いずれか一方、あるいは両方を指定できる。順番も問わない。 \&'cm206=auto' とすることにより自動検出もできる。 -.TP -\fBSanyo インターフェース\fP -このタイプのカードの構文は以下の通り。 -.IP -sjcd=iobase[,irq[,dma_channel]] -.TP -\fBSoundBlaster Pro インターフェース\fP -このタイプのカードの構文は以下の通り。 -.IP -sbpcd=iobase,type -.IP -type 値には 'SoundBlaster', 'LaserMate', 'SPEA' のうちひとつを指定できる (大文字小文字が区別される)。 -iobase は CD\-ROM インターフェースの値である。 カードのサウンド部の値と間違えないこと。 -.SS イーサネットデバイス -ドライバが異なると用いるパラメータも異なるが、 すべてのドライバは、少なくとも割り込み番号 (irq)、 I/O ポートのベースアドレス -(iobase)、名前 (name) を持つ。 最も一般的な形式は以下の通り。 -.IP -ether=irq,iobase[,param_1[,...param_8]],name -.IP -最初の数字でない値は名前として使用される。 param_n の値はカード (ドライバ) ごとに異なる意味を持つ。 -よくある目的は、共有メモリアドレスの指定、インターフェースの選択、 DMA チャネルなどである。 - -このパラメータの最もよくある利用法は、 2 番目の Ethernet カードを強制的に検出させる場合である (デフォルトでは 1 枚しか検出しない)。 -これは簡単で、次のようにすればよい。 -.IP -ether=0,0,eth1 -.IP -この例で IRQ と I/O ベースアドレスに 0 を指定しているのは、 ドライバに自動検出をするよう伝えているのである。 - -Ethernet\-HOWTO では、複数のカードを使うやり方や、 カードやドライバに特有の param_n 値の意味について、 -ずっと詳細に解説されている。 興味を持った読者は、この文書にあたり、 自分のカードに関して書かれているセクションを参照すると良い。 -.SS フロッピーディスクドライバ -フロッピードライバのオプションは多数あり、 カーネルソース内の \fIDocumentation/floppy.txt\fP (古いカーネルの場合は -\fIdrivers/block/README.fd\fP) にすべて記載されている。 以下の情報はこのファイルからとったものである。 -.TP -\fBfloppy=mask,allowed_drive_mask\fP -使ってよいドライブにかけるビットマスクを設定する。 デフォルトでは、 ユニット 0 と 1 のフロッピーコントローラだけが許可されている。 -これは、標準でないハードウェア (例えば ASUS の PCIマザーボードなど) でユニット 2 や 3 にアクセスすると、 -キーボードがおかしくなってしまうからである。 cmos オプション (後述) の導入によって、 このオプションはあまり使われなくなった。 -.TP -\fBfloppy=all_drives\fP -許可するドライブを示すビットマスクを、「すべてのドライブ」にする。 1 つのフロッピーコントローラに 2 台以上のドライブを接続する場合に用いる。 -.TP -\fBfloppy=asus_pci\fP -ユニット 0 と 1 のみを許可するようビットマスクを設定する。 (デフォルト)。 -.TP -\fBfloppy=daring\fP -正しく振る舞うフロッピーコントローラを使っていることをドライバに伝える。 このオプションを使うと動作はより効率的かつスムースになるが、 -コントローラによっては動作に失敗することがある。 これを指定するとある種の動作が高速になる。 -.TP -\fBfloppy=0,daring\fP -注意して扱わなければならない フロッピーコントローラであることをドライバに伝える。 -.TP -\fBfloppy=one_fdc\fP -フロッピーコントローラがひとつしかないことをドライバに伝える (デフォルト)。 -.TP -\fBfloppy=two_fdc\fP または \fBfloppy=address,two_fdc\fP -フロッピーコントローラがふたつあることをドライバに伝える。 2 番目のコントローラの I/O アドレスは address で指定する。 address -が指定されない場合は 0x370 が使われる。 -.TP -\fBfloppy=thinkpad\fP -Thinkpad を使っていることをフロッピードライバに伝える。 -Thinkpad はディスク取出の検出信号を反転して使っている。 -.TP -\fBfloppy=0,thinkpad\fP -Thinkpad を使っていないことをドライバに伝える。 -.TP -\fBfloppy=drive,type,cmos\fP -ドライブの cmos タイプを type に設定する。 さらにビットマスクを変更し、このドライブの使用を許可する。 -この指定が便利なのは、フロッピードライブが 2 台以上ある場合 (物理 cmos に記述できるのは 2 台まで) や、 BIOS が標準的でない -CMOS タイプを使っている場合である。 最初の 2 台のドライブの CMOS に 0 を指定する (デフォルト) と、 -フロッピードライバはこれらのドライブの物理 cmos を参照する。 -.TP -\fBfloppy=unexpected_interrupts\fP -予期しない割り込みを受けた時に警告メッセージを表示する (デフォルト)。 -.TP -\fBfloppy=no_unexpected_interrupts\fP または \fBfloppy=L40SX\fP -予期しない割り込みを受けた時でも警告メッセージを表示しない。 これは IBM L40SX ラップトップコンピュータを -特定のビデオモードで使用する時に必要となる。 (ビデオとフロッピーとの間で何らかの相互作用があるようだ。 -予期しない割り込みは性能だけに影響し、無視しても安全である。) -.SS サウンドドライバ -サウンドドライバも起動時引数を受け付け、 コンパイル時に指定された値を変更できる。 これはやや面倒なため、あまりお薦めできない。 -詳細は、カーネルソース内の \fIDocumentation/sound/oss/README.OSS\fP (古いカーネルの場合は -\fIdrivers/sound/Readme.linux\fP) に記載されている。 引数の形式は以下の通り。 -.IP -sound=device1[,device2[,device3...[,device10]]] -.IP -各 deviceN はそれぞれ 0xTaaaId という形式で指定する。 各バイトの意味は以下の通り。 - -T \- デバイスのタイプ: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16\-MPU401 - -aaa \- I/O ポートアドレス (16進値) - -I \- 割り込み番号 (16 進値。例: 10=a, 11=b, ...) - -d \- DMA チャネル - -上記の通り、かなり扱いにくい形式となっており、 コンパイル時に自分にあった値を指定する方が良いだろう。 なお起動時引数として 'sound=0' -を指定すると、 サウンドドライバを完全に無効にする。 -.SS "ISDN ドライバ" -.TP -\fBICN ISDN ドライバ\fP -構文は以下の通り。 -.IP -icn=iobase,membase,icn_id1,icn_id2 -.IP -icn_id1,icn_id2 はカードを識別するための 2 つの文字列である。 カーネルメッセージで用いられる。 -.TP -\fBPCBIT ISDN ドライバ\fP -構文は以下の通り。 -.IP -pcbit=membase1,irq1[,membase2,irq2] -.IP -membaseN は N 番目のカードの共有メモリのベースアドレスであり、 irqN は N 番目のカードの割り込み設定である。 無指定時には IRQ -= 5, membase = 0xD0000 となる。 -.TP -\fBTeles ISDN ドライバ\fP -構文は以下の通り。 -.IP -teles=iobase,irq,membase,protocol,teles_id -.IP -iobase はカードの I/O ポートアドレス、 membase はカードの共有メモリのベースアドレス、 そして irq -はカードが使用する割り込みチャネルである。 teles_id はアスキー文字列による識別文字列である (他と重ならないようにする)。 -.SS シリアルポートドライバ -.TP -\fBRISCom/8 マルチポートシリアルドライバ ('riscom8=')\fP -構文は以下の通り。 -.IP -riscom=iobase1[,iobase2[,iobase3[,iobase4]]] -.IP -詳細は \fI/usr/src/linux/Documentation/riscom8.txt\fP を参照のこと。 -.TP -\fBDigiBoard ドライバ ('digi=')\fP -このオプションを使う場合は、6 個のパラメータをきっちり指定しなければならない。 -構文は以下の通り。 -.IP -digi=status,type,altpin,numports,iobase,membase -.IP -パラメータは整数値か文字列で与える。 文字列で指定する場合は、 iobase と membase は 16 進値でなければならない。 -整数値で指定する場合はパラメータの個数は少なくても良く、順に: status このカードの動作を指定する (Enable(1) または -Disable(0)), type カードのタイプ (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)), -altpin ピン配置を反転させる (Enable(1) or Disable(0)), numports カードのポート番号, iobase -このカードの I/O ポート (文字列指定の場合は 16 進表記), membase メモリウィンドウのベースアドレス (文字列指定の場合は 16 -進表記)。 したがって以下のふたつの起動時引数は同じ意味を持つ。 -.IP -digi=E,PC/Xi,D,16,200,D0000 -.br -digi=1,0,0,16,0x200,851968 -.IP -詳細は \fI/usr/src/linux/Documentation/digiboard.txt\fP を参照。 -.TP -\fBBaycom シリアル・パラレル ラジオモデム\fP -構文は以下の通り。 -.IP -baycom=iobase,irq,modem -.IP -ちょうど 3 つのパラメータを与える。 複数のカードがある場合は、'baycom=' コマンドも複数記述する。 modem パラメータは文字列で、 -ser12, ser12*, par96, par96* の中からひとつを選ぶ。 * をつけるとソフトウェア DCD を使用する。 モデムの種類に応じて -ser12 か par96 かを選択する。 詳細はカーネルソース内の \fIDocumentation/networking/baycom.txt\fP -(古いカーネルの場合は \fIdrivers/net/README.baycom\fP) を参照。 -.TP -\fBサウンドカードラジオモデムドライバ\fP -構文は以下の通り。 -.IP -soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode -.IP -最後のパラメータを除くすべてのパラメータは整数である。 ダミーの 0 があるのは、設定プログラムのバグのせいである。 mode -パラメータは文字列で、hw:modem という書式で指定する。 hw は sbc, wss, wssfdx のうちひとつ、 modem は -afsk1200, fsk9600 のどちらかを選択して記述する。 -.SS ラインプリンタドライバ -.TP -\&\fB'lp='\fP -構文は以下の通り。 -.IP -lp=0 -.br -lp=auto -.br -lp=reset -.br -lp=port[,port...] -.IP -プリンタドライバには、どのポートを使うか、 どのポートを使ってはいけないかを伝えることができる。 後者は、 -利用可能なあらゆるパラレルポートをプリンタドライバが要求しないようにして、 他のドライバ (PLIP や PPA など) から -それらを使えるようにしたい場合に便利である。 - -引数の書式は、複数のポート名である。 例えば lp=none,parport0 とすると、 最初のパラレルポートを lp1 として使い、 lp0 -は無効にする。プリンタードライバを完全に無効にするには lp=0 とすればよい。 -.TP -\fBWDT500/501 ドライバ\fP -構文は以下の通り。 -.IP -wdt=io,irq -.SS マウスドライバ -.TP -\&\fB'bmouse=irq'\fP -バスマウスドライバはパラメータをひとつだけとり、 ハードウェア IRQ を指定できる。 -.TP -\&\fB'msmouse=irq'\fP -msmouse ドライバでもこの事情はまったく同じである。 -.TP -\fBATARI マウスの設定\fP -.IP -atamouse=threshold[,y\-threshold] -.IP -パラメータがひとつだけ与えられた場合には、 x\-threshold と y\-threshold を両方に用いられる。 ふたつ与えられた場合は、最初の値が -x\-threshold として用いられ、 2 番目の値が y\-threshold として用いられる。 値は 1 から 20 までの数値で指定する。 -デフォルトは 2。 -.SS ビデオ機器 -.TP -\&\fB'no\-scroll'\fP -.\" .SH AUTHORS -.\" Linus Torvalds (and many others) -このオプションは、コンソールドライバに、 ハードウェアスクロールを用いないよう伝える (ここで言うハードウェアスクロールとは、 -ビデオメモリ上のデータを移動させることによって スクリーン表示領域をスクロールさせることを指す)。 特定の点字マシンではこの指定が必要となる。 -.SH 関連項目 -\fBlilo.conf\fP(5), \fBklogd\fP(8), \fBlilo\fP(8), \fBmount\fP(8), \fBrdev\fP(8) - -このマニュアルページの大部分は Paul Gortmaker による Boot Parameter HOWTO (version 1.0.1) -を基にしている。 この (あるいは最新の) HOWTO をあたれば、 さらに多くの情報が入手できるだろう。 最新の情報源は -\fI/usr/src/linux/Documentation/kernel\-parameters.txt\fP である。 -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/charsets.7 b/draft/man7/charsets.7 index 893dd478..c4e850d5 100644 --- a/draft/man7/charsets.7 +++ b/draft/man7/charsets.7 @@ -1,10 +1,12 @@ .\" Copyright (c) 1996 Eric S. Raymond .\" and Andries Brouwer .\" +.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. +.\" %%%LICENSE_END .\" .\" This is combined from many sources, including notes by aeb and .\" research by esr. Portions derive from a writeup by Roman Czyborra. @@ -15,7 +17,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH CHARSETS 7 2008\-06\-03 Linux "Linux Programmer's Manual" +.TH CHARSETS 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 charsets \- プログラマの視点から見た文字セットと国際化 .SH 説明 @@ -231,7 +233,10 @@ Unicode は普通内部データとして 32 ビット整数にエンコード 16 ビット整数の列 (UTF\-16)(ある種の珍しい文字をエンコードする場合にだけ 2 つの 16 ビット整数が必要となる)か、 8 ビットバイトの列 (UTF\-8)として扱われる。 -Unicode についての情報は、 から得られる。 +Unicode についての情報は、 +.UR http://www.unicode.org +.UE +から得られる。 .LP Linux は 8\-bit Unicode Transformation Form(UTF\-8) を用いて Unicode を あらわす。 UTF\-8 は Unicode の可変長表現である。UTF\-8 は 7 ビットを @@ -346,6 +351,6 @@ ESC ) xx, ESC * xx, ESC + xx はそれぞれ ESC \- xx, ESC . xx, ESC / xx と \fBconsole\fP(4), \fBconsole_codes\fP(4), \fBconsole_ioctl\fP(4), \fBascii\fP(7), \fBiso_8859\-1\fP(7), \fBunicode\fP(7), \fButf\-8\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/complex.7 b/draft/man7/complex.7 index 13435596..5edab4ed 100644 --- a/draft/man7/complex.7 +++ b/draft/man7/complex.7 @@ -1,5 +1,8 @@ .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -53,6 +56,6 @@ main(void) \fBclog2\fP(3), \fBconj\fP(3), \fBcpow\fP(3), \fBcproj\fP(3), \fBcreal\fP(3), \fBcsin\fP(3), \fBcsinh\fP(3), \fBcsqrt\fP(3), \fBctan\fP(3), \fBctanh\fP(3) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/cp1251.7 b/draft/man7/cp1251.7 index fb8b650a..73aafbd2 100644 --- a/draft/man7/cp1251.7 +++ b/draft/man7/cp1251.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -175,6 +177,6 @@ CP\ 1251 は Windows キリル文字としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/epoll.7 b/draft/man7/epoll.7 deleted file mode 100644 index 7556120f..00000000 --- a/draft/man7/epoll.7 +++ /dev/null @@ -1,313 +0,0 @@ -.\" -.\" epoll by Davide Libenzi ( efficient event notification retrieval ) -.\" Copyright (C) 2003 Davide Libenzi -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -.\" -.\" Davide Libenzi -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH EPOLL 7 2012\-04\-17 Linux "Linux Programmer's Manual" -.SH 名前 -epoll \- I/O イベント通知機能 -.SH 書式 -\fB#include \fP -.SH 説明 -\fBepoll\fP API は \fBpoll\fP(2) と同様の処理を行う、つまり、複数のファイルディスク -リプタを監視し、その中のいずれかが入出力可能な状態であるかを確認する。 -\fBepoll\fP API は、エッジトリガインタフェースとレベルトリガインタフェースの -いずれとしても使用することができ、監視するファイルディスクリプタの数が多い -場合にも使用できる。 \fBepoll\fP インスタンスの作成や管理を行うために -以下のシステムコールが提供されている: -.IP * 3 -\fBepoll_create\fP(2) は \fBepoll\fP インスタンスを作成し、そのインスタンスを参照する -ファイルディスクリプタを返す。(もっと新しい \fBepoll_create1\fP(2) では、 -\fBepoll_create\fP(2) の機能が拡張されている)。 -.IP * -特定のファイルディスクリプタに対する監視内容を \fBepoll_ctl\fP(2) で登録する。 \fBepoll\fP -インスタンスに現在登録されているファイルディスクリプタの集合は \fIepoll\fP 集合と呼ばれることもある。 -.IP * -\fBepoll_wait\fP(2) は I/O イベントを待つ。 -現在利用可能な状態のイベントがなければ、呼び出したスレッドを停止する。 -.SS レベルトリガとエッジトリガ -\fBepoll\fP イベント配送 (distribution) インタフェースは、 エッジトリガ (ET) としてもレベルトリガ (LT) -としても動作させることができる。 二つの配送機構の違いは、次のように説明できる。 このようなシナリオが起こったとしよう: -.IP 1. 3 -パイプの読み込み側を表すファイルディスクリプタ (\fIrfd\fP) が \fBepoll\fP インスタンスに登録される。 -.IP 2. -パイプへ書き込むプログラムが 2 kB のデータをパイプの書き込み側へ書き込む。 -.IP 3. -\fBepoll_wait\fP(2) を呼び出すと、読み込み可能 (ready) なファイルディスクリプタとして \fIrfd\fP が返る。 -.IP 4. -パイプから読み出すプログラムが、1 kB のデータを \fIrfd\fP から読み出す。 -.IP 5. -\fBepoll_wait\fP(2) の呼び出しが行われる。 -.PP -\fIrfd\fP ファイルディスクリプタが \fBEPOLLET\fP フラグ (エッジトリガ) を使って \fBepoll\fP に追加されていると、 -利用可能なデータがファイル入力バッファにまだ存在するにもかかわらず ステップ \fB5\fP の \fBepoll_wait\fP(2) -の呼び出しでハングする可能性がある。 その一方で、リモートの接続先 (peer) は既に送られたデータに 基づいて応答を期待しているかもしれない。 -このようなことが起こる理由は、エッジトリガイベント配送では、 モニタしているファイルでイベントが起ったときにのみイベントが 配送されるためである。 -したがって、ステップ \fB5\fP では、呼び出し側は結果的に 入力バッファ内にすで存在するデータを待つことになるかもしれない。 上記の例では、 \fB2\fP -で行われた書き込みによって \fIrfd\fP に関するイベントが生成され、 \fB3\fP でイベントが消費 (consume) される。 \fB4\fP -で行われる読み込み操作では、全部のバッファデータを消費しないので、 ステップ \fB5\fP で行われる \fBepoll_wait\fP(2) の呼び出しが -無期限に停止 (block) するかもしれない。 - -\fBEPOLLET\fP フラグを採用するアプリケーションでは、 インタフェースはブロックしない (nonblocking) ファイルディスクリプタを -使うべきである。 これは、ブロックされる読み込みや書き込みによって、 複数のファイルディスクリプタを扱うタスクが 停止してしまうのを避けるためである。 -\fBepoll\fP をエッジトリガ (\fBEPOLLET\fP) インタフェースとして使うために提案される方法は以下の通りである。 -.RS -.TP 4 -\fBi\fP -ブロックしないファイルディスクリプタと共に使う。 -.TP -\fBii\fP -\fBread\fP(2) または \fBwrite\fP(2) が \fBEAGAIN\fP を返した後でのみ、イベントを待つ。 -.RE -.PP -一方、レベルトリガインタフェースとして使う場合 - (こちらがデフォルトである、 -\fBEPOLLET\fP が指定されなかった場合)、 -\fBepoll\fP は単に高速な \fBpoll\fP(2) であり、使い方が同じなので、 -\fBpoll\fP(2) が使われているところではどこでも使用することができる。 - -エッジトリガを使った場合でも、複数のデータを受信すると複数の \fBepoll\fP イベントが生成されるので、 呼び出し側には -\fBEPOLLONESHOT\fP フラグを指定するオプションがある。 このフラグは \fBepoll\fP に対して、 \fBepoll_wait\fP(2) -によるイベントを受信した後で、関連するファイルディスクリプタを無効にさせる。 \fBEPOLLONESHOT\fP フラグが指定された場合、 -\fBepoll_ctl\fP(2) に \fBEPOLL_CTL_MOD\fP を指定してファイルディスクリプタを再度使用できるようにするのは、 -呼び出し側の責任である。 -.SS "/proc インタフェース" -.\" Following was added in 2.6.28, but them removed in 2.6.29 -.\" .TP -.\" .IR /proc/sys/fs/epoll/max_user_instances " (since Linux 2.6.28)" -.\" This specifies an upper limit on the number of epoll instances -.\" that can be created per real user ID. -epoll が消費するカーネルメモリの量を制限するために、 以下のインタフェースを使用することができる。 -.TP -\fI/proc/sys/fs/epoll/max_user_watches\fP (Linux 2.6.28 以降) -.\" 2.6.29 (in 2.6.28, the default was 1/32 of lowmem) -このファイルは、あるユーザがシステム上の全ての epoll インスタンスに 登録できるファイルディスクリプタの総数の上限を規定する。 この上限は実ユーザ -ID 単位である。 登録されたファイルディスクリプタ 1 つが消費するメモリ量は、 32 ビットカーネルでおよそ 90 バイト、 64 -ビットカーネルでおよそ 160 バイトである。 現在のところ、 \fImax_user_watches\fP のデフォルト値は、利用可能なメモリ下限の -1/25 (4%) であり、 登録で消費されるメモリ量 (バイト単位) で割った値となる。 -.SS おすすめな使用例 -レベルトリガインタフェースとして使用するときの \fBepoll\fP の使い方は \fBpoll\fP(2) と同じである。 -しかしエッジトリガとして使う場合は、 アプリケーションのイベントループでストール (stall) しないように、 使い方をより明確にしておく必要がある。 -この例では、リスナはブロックしないソケットであり、 \fBlisten\fP(2) が呼ばれている。 関数 \fIdo_use_fd()\fP は、 -\fBread\fP(2) または \fBwrite\fP(2) によって \fBEAGAIN\fP が返されるまでは、新しい準備済みのファイルディスクリプタを使う。 -イベント駆動ステートマシンアプリケーションは、 \fBEAGAIN\fP を受信した後、カレントの状態を記録しておくべきである。 これにより、次の -\fIdo_use_fd()\fP 呼び出しのときに、以前に停止したところから \fBread\fP(2) または \fBwrite\fP(2) -を継続することができる。 - -.in +4n -.nf -#define MAX_EVENTS 10 -struct epoll_event ev, events[MAX_EVENTS]; -int listen_sock, conn_sock, nfds, epollfd; - -/* Set up listening socket, \(aqlisten_sock\(aq (socket(), - bind(), listen()) */ - -epollfd = epoll_create(10); -if (epollfd == \-1) { - perror("epoll_create"); - exit(EXIT_FAILURE); -} - -ev.events = EPOLLIN; -ev.data.fd = listen_sock; -if (epoll_ctl(epollfd, EPOLL_CTL_ADD, listen_sock, &ev) == \-1) { - perror("epoll_ctl: listen_sock"); - exit(EXIT_FAILURE); -} - -for (;;) { - nfds = epoll_wait(epollfd, events, MAX_EVENTS, \-1); - if (nfds == \-1) { - perror("epoll_pwait"); - exit(EXIT_FAILURE); - } - - for (n = 0; n < nfds; ++n) { - if (events[n].data.fd == listen_sock) { - conn_sock = accept(listen_sock, - (struct sockaddr *) &local, &addrlen); - if (conn_sock == \-1) { - perror("accept"); - exit(EXIT_FAILURE); - } - setnonblocking(conn_sock); - ev.events = EPOLLIN | EPOLLET; - ev.data.fd = conn_sock; - if (epoll_ctl(epollfd, EPOLL_CTL_ADD, conn_sock, - &ev) == \-1) { - perror("epoll_ctl: conn_sock"); - exit(EXIT_FAILURE); - } - } else { - do_use_fd(events[n].data.fd); - } - } -} -.fi -.in - -エッジトリガインタフェースとして使う場合、性能上の理由により、 一度 (\fBEPOLLIN\fP|\fBEPOLLOUT\fP) を指定してから -(\fBEPOLL_CTL_ADD\fP で) ファイルディスクリプタを \fBepoll\fP インタフェースに追加することができる。 これにより、 -\fBepoll_ctl\fP(2) に \fBEPOLL_CTL_MOD\fP を指定して呼び出すことで \fBEPOLLIN\fP と \fBEPOLLOUT\fP -の連続的な切り替えが避けられる。 -.SS 質問と解答 -.TP 4 -\fBQ0\fP -\fBepoll\fP 集合内の登録されたファイルディスクリプタを区別するには、 何をキーとして使えばよいか? -.TP -\fBA0\fP -キーはファイルディスクリプタ番号とオープンファイル記述 (open file description) の組である (オープンファイル記述は "open -file handle" とも 呼ばれ、オープンされたファイルのカーネルの内部表現である)。 -.TP -\fBQ1\fP -1 つの \fBepoll\fP インスタンスに同じファイルディスクリプタを 2 回登録するとどうなるか? -.TP -\fBA1\fP -.\" But a descriptor duplicated by fork(2) can't be added to the -.\" set, because the [file *, fd] pair is already in the epoll set. -.\" That is a somewhat ugly inconsistency. On the one hand, a child process -.\" cannot add the duplicate file descriptor to the epoll set. (In every -.\" other case that I can think of, descriptors duplicated by fork have -.\" similar semantics to descriptors duplicated by dup() and friends.) On -.\" the other hand, the very fact that the child has a duplicate of the -.\" descriptor means that even if the parent closes its descriptor, then -.\" epoll_wait() in the parent will continue to receive notifications for -.\" that descriptor because of the duplicated descriptor in the child. -.\" -.\" See http://thread.gmane.org/gmane.linux.kernel/596462/ -.\" "epoll design problems with common fork/exec patterns" -.\" -.\" mtk, Feb 2008 -たぶん \fBEEXIST\fP を受け取るだろう。 しかしながら、同じ \fBepoll\fP -インスタンスに対して複製されたディスクリプタを追加することは可能である (\fBdup\fP(2), \fBdup2\fP(2), \fBfcntl\fP(2) -\fBF_DUPFD\fP など)。 複製したファイルディスクリプタを異なる \fIevents\fP マスクで登録すれば、イベントをフィルタリングするのに -この機能は有用な手法である。 -.TP -\fBQ2\fP -2 つの \fBepoll\fP インスタンスが同じファイルディスクリプタを待ち受けることは可能か? もし可能であれば、イベントは両方の \fBepoll\fP -ファイルディスクリプタに報告されるか? -.TP -\fBA2\fP -イベントは両方に報告される。 しかしながら、これを正しく扱うには注意深くプログラミングする必要が あるかもしれない。 -.TP -\fBQ3\fP -\fBepoll\fP ファイルディスクリプタ自身は poll/epoll/select が可能か? -.TP -\fBA3\fP -可能である。 \fBepoll\fP ファイルディスクリプタに処理待ちのイベントがある場合は、 読み出し可能だと通知されることだろう。 -.TP -\fBQ4\fP -\fBepoll\fP ファイルディスクリプタを自身のファイルディスクリプタ集合に 入れようとするとどうなるか? -.TP -\fBA4\fP -\fBepoll_ctl\fP(2) の呼び出しは (\fBEINVAL\fP で) 失敗するだろう。 ただし \fBepoll\fP ファイルディスクリプタを他の -\fBepoll\fP ファイルディスクリプタ集合の内部に追加することは可能である。 -.TP -\fBQ5\fP -\fBepoll\fP ファイルディスクリプタを UNIX ドメインソケットで他のプロセスに送ることは可能か? -.TP -\fBA5\fP -可能だが、これをすることに意味はない。 なぜなら、受信側のプロセスが \fBepoll\fP 集合内のファイルディスクリプタのコピーを持っていないからである。 -.TP -\fBQ6\fP -ファイルディスクリプタをクローズすると、そのファイルディスクリプタは全ての \fBepoll\fP 集合から自動的に削除されるか? -.TP -\fBA6\fP -削除されるが、以下の点に注意が必要である。 ファイルディスクリプタはオープンファイル記述 (\fBopen\fP(2) 参照) への参照である。 -ディスクリプタの複製を \fBdup\fP(2), \fBdup2\fP(2), \fBfcntl\fP(2) の \fBF_DUPFD\fP や \fBfork\fP(2) -経由で行う度に、同じオープンファイル記述を参照する新規のファイル ディスクリプタが生成される。 -オープンファイル記述自体は、自身を参照する全てのファイルディスクリプタ がクローズされるまで存在し続ける。 ファイルディスクリプタが \fBepoll\fP -集合から削除されるのは、対応するオープンファイル記述を参照している 全てのファイルディスクリプタがクローズされた後である -(\fBepoll_ctl\fP(2) \fBEPOLL_CTL_DEL\fP を使ってそのディスクリプタを明示的に削除した場合にも削除される)。 このことは、 -\fBepoll\fP 集合に属しているあるファイルディスクリプタをクローズした後であっても、 -同じファイル記述を参照する他のファイルディスクリプタがオープンされている間は、 クローズしたファイルディスクリプタ宛にイベントが報告される可能性があると -いうことを意味する。 -.TP -\fBQ7\fP -2 つ以上のイベントが \fBepoll_wait\fP(2) コールの間に発生した場合、それらはまとめて報告されるか、 それとも別々に報告されるか? -.TP -\fBA7\fP -まとめて報告されるだろう。 -.TP -\fBQ8\fP -ファイルディスクリプタに対する操作は、 既に集められているがまだ報告されていないイベントに影響するか? -.TP -\fBA8\fP -既存のファイルディスクリプタに対して 2 つの操作を行うことができる。 この場合、削除には意味がない。 変更すると、使用可能な I/O -が再び読み込まれる。 -.TP -\fBQ9\fP -\fBEPOLLET\fP フラグ (エッジトリガ動作) を使っている場合、 \fBEAGAIN\fP を受け取るまで、 -継続してファイルディスクリプタを読み書きする必要があるか? -.TP -\fBA9\fP -\fBepoll_wait\fP(2) からイベントを受け取ることは、 そのファイルディスクリプタが要求された I/O 操作に対して準備済みである、 -ということをユーザに示すものである。 次の (ブロックしない) read/write で \fBEAGAIN\fP -を受け取るまではファイルディスクリプタは準備済みであると 考えなければならない。 そのファイルディスクリプタをいつどのように使うかは、 -全くユーザに任されてる。 -.sp -パケット指向やトークン指向のファイル (例えば、データグラムソケット、 canonical モードの端末) では、 読み込み用 / 書き込み用の I/O -空間の末尾を検知する唯一の方法は \fBEAGAIN\fP になるまで read/write を行うことである。 -.sp -ストリーム指向のファイル (例えば、パイプ、FIFO、ストリームソケット) では、 読み込み用 / 書き込み用の I/O 空間が使い尽くされた状態は、 -対象となるファイルディスクリプタから読み込んだデータ量または 書き込んだデータ量をチェックすることでも検知できる。 -例えば、ある特定の量のデータを読み込むために \fBread\fP(2) を呼んだときに、 \fBread\fP(2) -が返したバイト数がそれより少なかった場合、 そのファイルディスクリプタの読み込み用 I/O 空間が 使い尽くされたことが分かる。 \fBwrite\fP(2) -を使って書き込みをするときも、同じことが言える (監視しているファイルディスクリプタが常にストリーム指向のファイルを -参照していることを保証できない場合には、後者の手法の使用を避けること)。 -.SS ありがちな落とし穴と回避方法 -.TP -\fBo 飢餓 (starvation) (エッジトリガ)\fP -.PP -大きな I/O 空間がある場合、 その I/O 空間のデータを全て処理 (drain) しようとすると、 -他のファイルが処理されず、飢餓を発生させることがある (この問題は \fBepoll\fP に固有のものではない)。 -.PP -この問題の解決法は、準備済み状態のリストを管理して、 関連する data 構造体の中でファイルディスクリプタが 利用可能であるとマークすることである。 -それによって、利用可能なすべてのファイルの中で どのファイルを処理する必要があるかを憶えることができ、 しかも順番に処理 (round robin) -することができる。 既に利用可能であるファイルディスクリプタに対して それ以後に受け取るイベントを無視することもできる。 -.TP -\fBo イベントキャッシュを使っている場合\fP -.PP -イベントキャッシュを使っている場合、 または \fBepoll_wait\fP(2) から返された全てのファイルディスクリプタを格納している場合、 -クローズされたことを動的にマークする (つまり前のイベントの処理によってマークされる) 方法を提供すべきである。 \fBepoll_wait\fP(2) -から 100 個のイベントを受け取り、 イベント #47 ではある条件でイベント #13 が閉じられると仮定する。 イベント #13 -の構造体を削除しファイルディスクリプタを \fBclose\fP(2) すると、イベントキャッシュはそのファイルディスクリプタを待つイベントが -存在するといって、混乱が起きる。 -.PP -この問題を解決する 1 つの方法は、イベント 47 の処理をしている間に、 ファイルディスクリプタ 13 を削除して \fBclose\fP(2) -するために \fBepoll_ctl\fP(\fBEPOLL_CTL_DEL\fP) を呼び出し、関連付けられた data 構造体を削除済みとマークして、 -クリーンアップリストにリンクすることである。 バッチ処理の中でファイルディスクリプタ 13 についての 他のイベントを見つけた場合、 -そのファイルディスクリプタが以前に削除されたものであると分かるので、 混乱は起きない。 -.SH バージョン -.\" Its interface should be finalized in Linux kernel 2.5.66. -\fBepoll\fP API は Linux カーネル 2.5.44 に導入された。 glibc でのサポートはバージョン 2.3.2 で追加された。 -.SH 準拠 -\fBepoll\fP API は Linux 固有である。 他のシステムでも同様の機構が提供されている場合がある。 例えば、FreeBSD の -\fIkqueue\fP や Solaris の \fI/dev/poll\fP などである。 -.SH 関連項目 -\fBepoll_create\fP(2), \fBepoll_create1\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/feature_test_macros.7 b/draft/man7/feature_test_macros.7 index bb8d7dad..704b28f8 100644 --- a/draft/man7/feature_test_macros.7 +++ b/draft/man7/feature_test_macros.7 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" This manpage is Copyright (C) 2006, Michael Kerrisk .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -21,13 +20,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH FEATURE_TEST_MACROS 7 2012\-01\-18 Linux "Linux Programmer's Manual" +.TH FEATURE_TEST_MACROS 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 feature_test_macros \- 機能検査マクロ .SH 書式 @@ -173,10 +173,12 @@ ISO C11 標準に準拠した宣言を公開する。 .TP \fB_LARGEFILE64_SOURCE\fP LFS (Large File Summit) により "暫定拡張 (transitional extension)" Single UNIX -Specification として規定された代替 API (alternative API) に関する定義を公開する -(http://opengroup.org/platform/lfs.html 参照)。 代替 API は新規オブジェクト (関数と型) -の集合で構成され、 その名前は "64" で終わる (例えば、 \fIoff_t\fP に対応するのは \fIoff64_t\fP、 \fBlseek\fP() -に対応するのは \fBlseek64\fP() である)。 新しいプログラムではこのインタフェースを利用しないこと。 代わりに +Specification として規定された代替 API (alternative API) に関する定義を公開する ( +.UR http:\:/\:/opengroup.org\:/platform\:/lfs.html +.UE +参照)。 代替 API は新規オブジェクト +(関数と型) の集合で構成され、 その名前は "64" で終わる (例えば、 \fIoff_t\fP に対応するのは \fIoff64_t\fP、 +\fBlseek\fP() に対応するのは \fBlseek64\fP() である)。 新しいプログラムではこのインタフェースを利用しないこと。 代わりに \fI_FILE_OFFSET_BITS=64\fP を利用すること。 .TP \fB_FILE_OFFSET_BITS\fP @@ -393,12 +395,12 @@ main(int argc, char *argv[]) .fi .SH 関連項目 \fBlibc\fP(7), \fBstandards\fP(7) -.sp + .\" But beware: the info libc document is out of date (Jul 07, mtk) \fIinfo libc\fP の "Feature Test Macros" の節。 -.sp + \fI/usr/include/features.h\fP .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/futex.7 b/draft/man7/futex.7 deleted file mode 100644 index 332f17da..00000000 --- a/draft/man7/futex.7 +++ /dev/null @@ -1,86 +0,0 @@ -.\" This page is made available under the MIT license. -.\" -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng . -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH FUTEX 7 2002\-12\-31 Linux "Linux Programmer's Manual" -.SH 名前 -futex \- 高速ユーザ空間ロック機構 -.SH 書式 -.nf -\fB#include \fP -.fi -.SH 説明 -.PP -Linux カーネルは、ユーザ空間で高速なロック機構やセマフォを使用するための 基礎的要素として futex ("Fast Userspace -muTexes"; 高速ユーザ空間 mutex) を 提供している。 futex は非常に基本的なもので、 POSIX mutex -のような高度なロック機構の概念を 構築するのに役立っている。 -.PP -このページはすべての設計決定を記述するようにはなっておらず、 アプリケーションやライブラリの開発に関係することがらに限っている。 -実際にはプログラマの多くは直接は futex を扱わないが、その代わり futex に基づいて構築されたシステムライブラリ (例えば NPTL -スレッド) に 依存することになるだろう。 -.PP -futex は異なるプロセス間で共有することのできるメモリ片で識別される。 これらの異なるプロセスでは、同じアドレスが付与されている必要はない。 -裸の姿では futex のセマンティクスはセマフォと同じである。 futex は不可分操作で (atomically) -インクリメントしたりデクリメントしたりできる カウンタで、プロセスは値が正になるのを待つことができる。 -.PP -futex の操作は、競合がない場合には完全にユーザ空間で行なわれる。 カーネルは競合が起こった場合の仲裁に関与するだけである。 -良識ある設計では競合が起こらないよう努力するが、 futex も競合状態に関して最適化されている。 -.PP -裸の姿では、 futex は不可分なアセンブリ命令でのみ操作される アラインメントの揃った int 型の変数である。 複数のプロセスはこの int -型変数を、 \fBmmap\fP(2) を用いるか、 共有メモリセグメントを介するか、 メモリ空間を共有する (この場合、 -アプリケーションは一般的にマルチ・スレッドであると呼ばれる) か方法で共有する。 -.SS セマンティクス -.PP -futex の操作はすべてユーザ空間から始まるが、必要に応じて \fBfutex\fP(2) システムコールを用いてカーネルと通信する。 -.PP -futex を "up" するには、 ホスト CPU に対し int 型変数を不可分操作でインクリメントするような、 適切なアセンブリ命令を実行する。 -そのあと、実際に 0 から 1 に変化したかどうかをチェックし、 変化していれば待ちプロセス (waiter) はないということであり、操作は完了する。 -これは競合のない場合であり、高速でよく起こるはずである。 -.PP -競合がある場合、不可分操作のインクリメントでカウンタは \-1 (または他の負の数) -から変化する。これが検出されると、待ちプロセスがあるということである。 ユーザ空間ではカウンタを 1 に設定し、 \fBFUTEX_WAKE\fP -を用いてカーネルに待ちプロセスを wake (起床) させるよう指示する。 -.PP -futex の獲得を待つ、すなわち futex を "down" するには反対の操作を行なう。 不可分操作でカウンタをデクリメントし、カウンタが 0 -に変化したかどうかを チェックする。変化していれば操作は完了し futex は競合していないということである。 0 -にならなかった場合、プロセスはカウンタを \-1 に設定し、 他のプロセスがその futex を up するのを待つようカーネルに要求しなければならない。 -これは \fBFUTEX_WAIT\fP を行なうことで実現される。 -.PP -\fBfutex\fP(2) システムコールには、省略可能な引数としてタイムアウトを渡すことができ、 カーネルはその futex が up -されるのをどれくらいの期間待つべきかを 指定することができる。この場合、セマンティクスはもっと複雑になるため、 より詳細な情報を得るにはプログラマは -\fBfutex\fP(2) を参照すること。 同じページに非同期の futex 待ちについても記されている。 -.SH バージョン -.PP -最初の futex 対応は Linux 2.5.7 で組み込まれたが、 上記のセマンティクスとは異なる。 現在のセマンティクスは Linux -2.5.40 以降で利用可能である。 -.SH 注意 -.PP -再び繰り返しておくが、裸の futex はエンドユーザが容易に使える概念として 意図されたものではない。 -実装者は、アセンブリ言語に慣れており、以下に挙げる futex ユーザ空間ライブラリの ソースを読み終えていることが要求される。 -.PP -.\" .SH "AUTHORS" -.\" .PP -.\" Futexes were designed and worked on by Hubertus Franke -.\" (IBM Thomas J. Watson Research Center), -.\" Matthew Kirkwood, Ingo Molnar (Red Hat) and -.\" Rusty Russell (IBM Linux Technology Center). -.\" This page written by bert hubert. -このマニュアルページには \fBfutex\fP(2) プリミティブの最も一般的な使用法が 記されている。これは決して唯一の使用法ではない。 -.SH 関連項目 -\fBfutex\fP(2) -.PP -\fIFuss, Futexes and Furwocks: Fast Userlevel Locking in Linux\fP (proceedings -of the Ottawa Linux Symposium 2002), futex の使用例ライブラリ, futex\-*.tar.bz2 -. -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/hier.7 b/draft/man7/hier.7 deleted file mode 100644 index 0dfe3e5c..00000000 --- a/draft/man7/hier.7 +++ /dev/null @@ -1,385 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" License. -.\" Modified Sun Jul 25 11:05:58 1993 by Rik Faith (faith@cs.unc.edu) -.\" Modified Sat Feb 10 16:18:03 1996 by Urs Thuermann (urs@isnogud.escape.de) -.\" Modified Mon Jun 16 20:02:00 1997 by Nicolás Lichtmaier -.\" Modified Mon Feb 6 16:41:00 1999 by Nicolás Lichtmaier -.\" Modified Tue Feb 8 16:46:45 2000 by Chris Pepper -.\" Modified Fri Sep 7 20:32:45 2001 by Tammy Fox -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH HIER 7 2009\-03\-30 Linux "Linux Programmer's Manual" -.SH 名前 -hier \- ファイルシステム階層の説明 -.SH 説明 -典型的な Linux system には以下のようなディレクトリがある (他にもたくさんのディレクトリがあるが): -.TP -\fI/\fP -ルートディレクトリ。ここが階層の起点となる。 -.TP -\fI/bin\fP -このディレクトリには、シングルユーザーモードで システムの起動や修理を行う際に必要な実行形式ファイルが含まれる。 -.TP -\fI/boot\fP -ブートローダが用いる静的なファイルが含まれている。 このディレクトリにはブートプロセスの間に必要なファイルだけが置かれる。 -マップインストーラや設定ファイルは \fI/sbin\fP や \fI/etc\fP に置くべきである。 -.TP -\fI/dev\fP -物理デバイスを参照している スペシャルファイルやデバイスファイルの置き場所。 \fBmknod\fP(1) を参照のこと。 -.TP -\fI/etc\fP -マシン固有の設定ファイルが置かれる場所。X11 のような 大規模なソフトウェアパッケージでは、 \fI/etc\fP -以下に更にパッケージ単位でサブディレクトリが作られることもある。 サイト全体に有効な設定ファイルは、ここではなく \fI/usr/etc\fP -に置かれることもある。 しかし、プログラムからのこれらのファイルの参照先は、常に \fI/etc\fP にすべきである。 \fI/usr/etc\fP -以下のファイルに対しては、それらへのリンクを \fI/etc\fP に置けばよい。 -.TP -\fI/etc/opt\fP -\fI/opt\fP にインストールされたアドオンアプリケーションが使う、 ホスト固有の設定ファイルの置き場所。 -.TP -\fI/etc/sgml\fP -SGML や XML の設定ファイルの置き場所 (なくてもよい)。 -.TP -\fI/etc/skel\fP -新たにユーザーアカウントを作る際、 通常このディレクトリにあるファイルが ユーザーのホームディレクトリにコピーされる。 -.TP -\fI/etc/X11\fP -X11 window system の設定ファイルの置き場所 (なくてもよい)。 -.TP -\fI/home\fP -通常、ユーザーのホームディレクトリが、 このディレクトリ直下ないしサブディレクトリの下に作成される。 このディレクトリの構成をどうするかは、 -ローカルマシンの管理者が決めることである。 -.TP -\fI/lib\fP -このディレクトリには、システムの起動時に必要な共有ライブラリや、 ルートファイルシステムでコマンドを実行するのに必要な共有ライブラリを置く。 -.TP -\fI/media\fP -このディレクトリには、 CD/DVD ディスクや USB スティックなどの取り外し可能メディア (removable media) -用のマウントポイントが置かれる。 -.TP -\fI/mnt\fP -このディレクトリは、一時的にマウントするファイルシステム用の マウントポイントである。 -ディストリビューションによっては、一時的にマウントするファイルシステム用の マウントポイントとして、 \fI/mnt\fP -内にサブディレクトリが用意されている場合がある。 -.TP -\fI/opt\fP -このディレクトリにはアドオンパッケージの静的なファイルが置かれる。 -.TP -\fI/proc\fP -このディレクトリは \fIproc\fP ファイルシステムのマウントポイントである。 \fIproc\fP -ファイルシステムは、実行中プロセスやカーネルの情報を提供する。 この疑似ファイルシステムの詳細は、 \fBproc\fP(5) で説明されている。 -.TP -\fI/root\fP -通常ここが root ユーザのホームディレクトリになる (なくてもよい)。 -.TP -\fI/sbin\fP -\fI/bin\fP と同様に、 このディレクトリにはシステムの起動に必要なコマンドが含まれる。 -ただしここには、一般ユーザーは通常実行しないコマンドが置かれる。 -.TP -\fI/srv\fP -このディレクトリには、このシステムで提供される サイト固有のデータが置かれる。 -.TP -\fI/tmp\fP -このディレクトリには、 定期的なジョブによって、またはシステム起動時に、 無条件に削除して構わない一時的なファイルが置かれる。 -.TP -\fI/usr\fP -通常このディレクトリは、独立したパーティションがマウントされる。 ここには、共有可能で読み込み専用のものだけが含まれ、 よっていろいろな Linux -マシンからマウントできる。 -.TP -\fI/usr/X11R6\fP -X Window System, Version 11 release 6 (なくてもよい)。 -.TP -\fI/usr/X11R6/bin\fP -X Window System のバイナリの置き場所。 古いディレクトリである \fI/usr/bin/X11\fP -からここにシンボリックリンクが張られていることが多い。 -.TP -\fI/usr/X11R6/lib\fP -X Window System に関連するデータファイルの置き場所。 -.TP -\fI/usr/X11R6/lib/X11\fP -ここには X の動作に必要な種々のファイルが含まれている。 \fI/usr/lib/X11\fP からここにシンボリックリンクが張られていることが多い。 -.TP -\fI/usr/X11R6/include/X11\fP -ここには X11 Window System を使ったプログラムをコンパイルするために 必要なインクルードファイルが含まれている。 -\fI/usr/include/X11\fP からここにシンボリックリンクが張られていることが多い。 -.TP -\fI/usr/bin\fP -このディレクトリは、実行形式ファイルの主な置き場所である。 システムのブートやシステム復旧には必要とされない、 一般ユーザーが利用するコマンドの多くは、 -ローカルにインストールされるのでない限り、 このディレクトリに置くべきである。 -.TP -\fI/usr/bin/X11\fP -X11 コマンドの伝統的な置き場所。Linux では、通常 \fI/usr/X11R6/bin\fP にシンボリックリンクが張られている。 -.TP -\fI/usr/dict\fP -\fI/usr/share/dict\fP に置き換えられた。 -.TP -\fI/usr/doc\fP -\fI/usr/share/doc\fP に置き換えられた。 -.TP -\fI/usr/etc\fP -サイト内部の複数のマシンが共有するような設定ファイルが置かれる。 しかしながら、コマンドはそれらのファイルの参照先を、常に \fI/etc\fP -にすべきだろう。 \fI/etc\fP のファイルからリンクを張って、 \fI/usr/etc\fP の適切なファイルを指すようにすべきである。 -.TP -\fI/usr/games\fP -ゲームプログラムや教育用プログラムのバイナリが含まれている (なくてもよい)。 -.TP -\fI/usr/include\fP -C コンパイラ用のインクルードファイルが含まれている。 -.TP -\fI/usr/include/X11\fP -C コンパイラと X Window System 用のインクルードファイルが含まれている。 通常これは \fI/usr/inlcude/X11\fP -へのシンボリックリンクになっている。 -.TP -\fI/usr/include/asm\fP -アセンブラ関数の宣言を行うインクルードファイルが含まれている。 このディレクトリは、以前は \fI/usr/src/linux/include/asm\fP -へのシンボリックリンクだった。 -.TP -\fI/usr/include/linux\fP -ここには、システムのリリースのたびごとに変更されうる情報が含まれる。 ここは以前は \fI/usr/src/linux/include/linux\fP -にシンボリックリンクされており、 オペレーティングシステム固有の情報が得られるようになっていた。 - -(ここに置くインクルードファイルは、 現在の libc およびユーザ空間で正しく動作するものでなければならない。 しかし Linux のカーネルソースは -ユーザプログラムといっしょに使うようには設計されていないし、 あなたが使っている libc も関知しない。 \fI/usr/include/asm\fP と -\fI/usr/include/linux\fP を適当なカーネルツリーへのリンクにしたりすると、破綻するのは目に見えている。 Debian -ではこうせずに、libc*\-dev package が提供する、 安定したカーネルバージョンのヘッダファイルを置いている。) -.TP -\fI/usr/include/g++\fP -GNU C++ コンパイラ用のインクルードファイルが含まれている。 -.TP -\fI/usr/lib\fP -オブジェクトライブラリ (ダイナミックライブラリも含む) と、 直接には起動されないような実行形式ファイル少々とが置かれる。 -複雑なプログラムでは、更にサブディレクトリがあるかもしれない。 -.TP -\fI/usr/lib/X11\fP -X のプログラムに関連するデータファイルと、 X Window System の設定ファイルの置き場所。 Linux では通常 -\fI/usr/X11R6/lib/X11\fP にシンボリックリンクが張られている。 -.TP -\fI/usr/lib/gcc\-lib\fP -GNU C コンパイラ \fBgcc\fP(1) 用の実行形式ファイルとインクルードファイルが含まれている。 -.TP -\fI/usr/lib/groff\fP -GNU groff 文書整形システムのためのファイルが含まれている。 -.TP -\fI/usr/lib/uucp\fP -\fBuucp\fP(1) のためのファイルが含まれている。 -.TP -\fI/usr/local\fP -このディレクトリは、 サイトローカルなプログラムがインストールされる典型的な場所である。 -.TP -\fI/usr/local/bin\fP -サイトローカルなプログラムが含まれている。 -.TP -\fI/usr/local/doc\fP -サイトローカルなドキュメントが含まれている。 -.TP -\fI/usr/local/etc\fP -サイトローカルにインストールされたプログラムの設定ファイルの置き場所。 -.TP -\fI/usr/local/games\fP -サイトローカルにインストールされたゲームのバイナリの置き場所。 -.TP -\fI/usr/local/lib\fP -サイトローカルにインストールされたプログラムの関連ファイルの置き場所。 -.TP -\fI/usr/local/include\fP -ローカルな C コンパイラのヘッダファイルの置き場所。 -.TP -\fI/usr/local/info\fP -サイトローカルにインストールされたプログラムの info ページの置き場所。 -.TP -\fI/usr/local/man\fP -サイトローカルにインストールされたプログラムのマニュアルページの置き場所。 -.TP -\fI/usr/local/sbin\fP -サイトローカルにインストールされたシステム管理コマンドの置き場所。 -.TP -\fI/usr/local/share\fP -同じ OS ならアーキテクチャが異なっても共有できる、 ローカルなアプリケーションデータの置き場所。 -.TP -\fI/usr/local/src\fP -サイトローカルにインストールされたソフトウェアのソースコードの置き場所。 -.TP -\fI/usr/man\fP -\fI/usr/share/man\fP に置き換えられた。 -.TP -\fI/usr/sbin\fP -このディレクトリには、システム管理コマンドが含まれる。 ここに置かれるコマンドは、ブートプロセスや \fI/usr\fP -のマウント、システムの修理などに必要なものであってはならない。 -.TP -\fI/usr/share\fP -このディレクトリには、アプリケーションごとに固有なデータ (同じ OS ならアーキテクチャが違っていても共有できるもの) -がサブディレクトリ単位で置かれる。 以前には \fI/usr/doc\fP, \fI/usr/lib\fP, \fI/usr/man\fP -などにあった内容が、多くここに置かれている。 -.TP -\fI/usr/share/dict\fP -スペルチェッカ用の単語リストが含まれる。 -.TP -\fI/usr/share/doc\fP -インストールされたプログラムのドキュメントの置き場所。 -.TP -\fI/usr/share/games\fP -\fI/usr/games\fP に置かれたゲーム用の静的なデータファイルの置き場所。 -.TP -\fI/usr/share/info\fP -info ページが置かれる。 -.TP -\fI/usr/share/locale\fP -ロケール (locale) 情報が置かれる。 -.TP -\fI/usr/share/man\fP -マニュアルページ。各ページはセクションに応じたサブディレクトリに置かれる。 -.TP -\fI/usr/share/man//man[1\-9]\fP -これらのディレクトリには、 各ロケールのマニュアルページのソースが置かれている。 -すべてのマニュアルページで同じ言語とコードセットを使用するシステムでは、 \fI\fP は省略されることがある。 -.TP -\fI/usr/share/misc\fP -同じ OS ならアーキテクチャが違っていても共有できる、雑多なデータの置き場所。 -.TP -\fI/usr/share/nls\fP -母国語サポート (native language support) 用のメッセージカタログの置き場所。 -.TP -\fI/usr/share/sgml\fP -SGML や XML のファイルの置き場所。 -.TP -\fI/usr/share/terminfo\fP -terminfo のデータベースが置かれる。 -.TP -\fI/usr/share/tmac\fP -groff と一緒には配布されていない troff マクロの置き場所。 -.TP -\fI/usr/share/zoneinfo\fP -タイムゾーン情報のファイルが置かれる。 -.TP -\fI/usr/src\fP -システム上の色々なコンポーネントのソースファイル (参照用のパッケージも含む) の置き場所。 この場所で自分のプロジェクトの作業をしてはいけない。 -/usr 以下のファイルはソフトウェアのインストールの時以外は 読み込み専用になっているべきだからである。 -.TP -\fI/usr/src/linux\fP -かつてはカーネルソースの伝統的な置き場所だった。 ディストリビューションによっては、 出荷時のデフォルトのカーネルのソースをここに置いている。 -自分でカーネルをビルドするときは別の場所を使うほうがいいだろう。 -.TP -\fI/usr/tmp\fP -今では用いられなくなった。このディレクトリは \fI/var/tmp\fP へのリンクにすべきである。 -このリンクは互換性のためだけにあり、もはや使うべきでない。 -.TP -\fI/var\fP -このディレクトリには、スプールファイルやログファイルのような、 サイズが変化するファイルが置かれる。 -.TP -\fI/var/adm\fP -このディレクトリは \fI/var/log\fP に置き換えられた。 ここは \fI/var/log\fP へのシンボリックリンクにすべきである。 -.TP -\fI/var/backups\fP -歴史的な理由からまだ残っている。 -.TP -\fI/var/cache\fP -プログラムのためにキャッシュされたデータの置き場所。 -.TP -\fI/var/catman/cat[1\-9]\fP or \fI/var/cache/man/cat[1\-9]\fP -これらのディレクトリには、整形済みのマニュアルページが、 ページのセクションに従って置かれている。 -(整形済みマニュアルページの利用は推奨されていない。) -.TP -\fI/var/cron\fP -歴史的な理由からまだ残っている。 -.TP -\fI/var/lib\fP -プログラムの状態に関する情報のうち、可変なものの置き場所。 -.TP -\fI/var/local\fP -\fI/usr/local\fP 用の可変データの置き場所。 -.TP -\fI/var/lock\fP -ロックファイルの置き場所。 デバイスのロックファイルの命名は、慣習として \fILCK..\fP とされている。ここで -\fI\fP はファイルシステム上でのデバイス名である。 利用されているフォーマットは HDU UUCP -のロックファイルのものである。 すなわち各ロックファイルには アスキー 10 進数値文字で表記した PID 10 バイトと、 -それに続いて改行文字とが含まれている。 -.TP -\fI/var/log\fP -種々のログファイルの置き場所。 -.TP -\fI/var/opt\fP -\fI/opt\fP 用の可変データの置き場所。 -.TP -\fI/var/mail\fP -ユーザのメールボックスの置き場所。 \fI/var/spool/mail\fP を置き換えた。 -.TP -\fI/var/msgs\fP -歴史的な理由からまだ残っている。 -.TP -\fI/var/preserve\fP -歴史的な理由からまだ残っている。 -.TP -\fI/var/run\fP -実行時の可変ファイルが置かれる。 例えばプロセス識別子 (PID) を保持するファイルや、 ユーザのログイン情報ファイル \fI(utmp)\fP -などである。 ここのファイルは、通常システム起動時に削除される。 -.TP -\fI/var/spool\fP -色々なプログラムのスプールファイル (あるいはキューファイル) の置き場所。 -.TP -\fI/var/spool/at\fP -\fBat\fP(1) のジョブスプール。 -.TP -\fI/var/spool/cron\fP -\fBcron\fP(8) のジョブスプール。 -.TP -\fI/var/spool/lpd\fP -印刷用のスプールファイルが置かれる。 -.TP -\fI/var/spool/mail\fP -\fI/var/mail\fP に置き換えられた。 -.TP -\fI/var/spool/mqueue\fP -キューイングされた送信メールの置き場所。 -.TP -\fI/var/spool/news\fP -ニュースのスプールディレクトリ。 -.TP -\fI/var/spool/rwho\fP -\fBrwhod\fP(8) のスプールファイルの置き場所。 -.TP -\fI/var/spool/smail\fP -メール配送プログラム \fBsmail\fP(1) のスプールファイルの置き場所。 -.TP -\fI/var/spool/uucp\fP -\fBuucp\fP(1) のスプールファイルの置き場所。 -.TP -\fI/var/tmp\fP -\fI/tmp\fP と似ているが、 このディレクトリに置かれる一時的なファイルは保存期間の制限がない。 -.TP -\fI/var/yp\fP -NIS のデータベースファイルの置き場所。 -.SH 準拠 -The Filesystem Hierarchy Standard, Version 2.2 -. -.SH バグ -このリストは網羅的なものではない。 個々のシステムでは異なる部分があるかもしれない。 -.SH 関連項目 -\fBfind\fP(1), \fBln\fP(1), \fBproc\fP(5), \fBmount\fP(8) - -The Filesystem Hierarchy Standard -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/inotify.7 b/draft/man7/inotify.7 deleted file mode 100644 index 16a92806..00000000 --- a/draft/man7/inotify.7 +++ /dev/null @@ -1,288 +0,0 @@ -.\" t -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" -.\" Copyright (C) 2006 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH INOTIFY 7 2012\-04\-26 Linux "Linux Programmer's Manual" -.SH 名前 -inotify \- ファイルシステムイベントを監視する -.SH 説明 -\fIinotify\fP API はファイルシステムイベントを監視するための機構を提供する。 inotify -は個々のファイルやディレクトリを監視するのに使える。 ディレクトリを監視する場合、inotify はディレクトリ自身と -ディレクトリ内のファイルのイベントを返す。 - -以下のシステムコールがこの API と共に使用される: \fBinotify_init\fP(2) (や \fBinotify_init1\fP(2)), -\fBinotify_add_watch\fP(2), \fBinotify_rm_watch\fP(2), \fBread\fP(2), \fBclose\fP(2). - -\fBinotify_init\fP(2) は inotify インスタンスを作成し、inotify インスタンスを参照する ファイルディスクリプタを返す。 -もっと新しい \fBinotify_init1\fP(2) も \fBinotify_init\fP(2) と同様だが、いくつかの追加の機能が提供されている。 - -\fBinotify_add_watch\fP(2) は inotify インスタンスに関連づけられた「監視対象 (watch) リスト」を操作する。 -監視対象リストの各アイテム ("watch") は、 ファイルまたはディレクトリのパス名と、 そのパス名で参照されるファイルに対して -カーネルが監視する複数のイベントの集合を指定する。 \fBinotify_add_watch\fP(2) -は新しい監視アイテムの作成や既存の監視対象の変更ができる。 各監視対象は一意の「監視対象ディスクリプタ」を持つ。 これは監視対象を作成したときに -\fBinotify_add_watch\fP(2) から返される整数である。 - -\fBinotify_rm_watch\fP(2) は inotify の監視対象リストからアイテムを削除する。 - -inotify インスタンスを指している 全てのファイルディスクリプタがクローズされた場合、 その下層にあるオブジェクトとそのリソースは、 -カーネルで再利用するために解放される。 関連が切られた監視対象は自動的に解放される。 - -どのようなイベントが起こっていたかを知るには、 アプリケーションで inotify ファイルディスクリプタを \fBread\fP(2) すればよい。 -これまでに何もイベントが起こっていない場合、 停止 (blocking) モードのファイルディスクリプタであれば、 少なくとも 1 -つのイベントが起こるまで \fBread\fP(2) は停止する (シグナルにより割り込まれなかった場合。 -シグナルによる割り込みがあった場合、呼び出しはエラー \fBEINTR\fP で失敗する。 \fBsignal\fP(7) 参照)。 - -\fBread\fP(2) が成功すると、以下の構造体を 1 つ以上含むバッファが返される: -.in +4n -.nf - -.\" FIXME . The type of the 'wd' field should probably be "int32_t". -.\" I submitted a patch to fix this. See the LKML thread -.\" "[patch] Fix type errors in inotify interfaces", 18 Nov 2008 -.\" Glibc bug filed: http://sources.redhat.com/bugzilla/show_bug.cgi?id=7040 -struct inotify_event { - int wd; /* 監視対象ディスクリプタ */ - uint32_t mask; /* イベントのマスク */ - uint32_t cookie; /* 関連するイベント群を関連づける - 一意なクッキー (rename(2) 用) */ - uint32_t len; /* \(aqname\(aq フィールドのサイズ */ - char name[]; /* NULL で終端された任意の名前 */ -}; -.fi -.in - -\fIwd\fP はイベント発生の監視対象を指定する。 これは、前もって行われた \fBinotify_add_watch\fP(2) -呼び出しで返された監視対象ディスクリプタのうちの 1 つである。 - -\fImask\fP には発生したイベント (下記参照) を記述するためのビットが含まれる。 - -\fIcookie\fP は関連するイベントを関連づけるための一意な整数である。 -現在のところ、この値は rename イベントに対してのみ使われており、 -結果のペアである \fBIN_MOVE_FROM\fP と \fBIN_MOVE_TO\fP イベントを -アプリケーションで関連づけることができる。 -他のイベント種別の場合には、 \fIcookie\fP は 0 に設定する。 - -\fIname\fP フィールドは監視しているディレクトリ内のファイルに対して イベントが返される場合のためにだけ存在する。 -監視するディレクトリからのファイルの相対パス名を表す。 このパス名は NULL で終端され、 その後の読み込みで適切なアドレス境界に調整するために、 -さらに NULL バイトが含まれる場合もある。 - -\fIlen\fP フィールドは NULL バイトを含む \fIname\fP の全てのバイト数を表す。 -よって、 \fIinotify_event\fP 構造体のサイズは -\fIsizeof(struct inotify_event)+len\fP である。 - -\fBread\fP(2) に渡されたバッファが小さすぎて次のイベントに関する情報を返せ -ない場合の動作はカーネルのバージョンにより異なる。 2.6.21 より前のカー -ネルでは、 \fBread\fP(2) は 0 を返す。 2.6.21 以降のカーネルでは、 -\fBread\fP(2) はエラー \fBEINVAL\fP で失敗する。 -バッファサイズとして - - sizeof(struct inotify_event) + NAME_MAX + 1 - -を指定すれば、少なくとも 1 イベントで読み出しを行うには十分である。 - -.SS "inotify イベント" -\fBinotify_add_watch\fP(2) の \fImask\fP 引き数と、inotify ファイル構造体を \fBread\fP(2) -したときに返される \fIinotify_event\fP 構造体の \fImask\fP フィールドは、ともに inotify イベントを識別するための -ビットマスクである。 以下のビットが \fBinotify_add_watch\fP(2) を呼ぶときの \fImask\fP に指定可能であり、 -\fBread\fP(2) で返される \fImask\fP フィールドで返される: -.RS 4 -.sp -.PD 0 -.TP 18 -\fBIN_ACCESS\fP -ファイルがアクセス (read) された。(*) -.TP -\fBIN_ATTRIB\fP -メタデータが変更された。 メタデータとは、例えば、許可 (permission)、タイムスタンプ、拡張属性、 リンクカウント (Linux 2.6.25 -以降)、UID、GID などである。(*) -.TP -\fBIN_CLOSE_WRITE\fP -書き込みのためにオープンされたファイルがクローズされた。(*) -.TP -\fBIN_CLOSE_NOWRITE\fP -書き込み以外のためにオープンされたファイルがクローズされた。(*) -.TP -\fBIN_CREATE\fP -監視対象ディレクトリ内でファイルやディレクトリが作成された。(*) -.TP -\fBIN_DELETE\fP -監視対象ディレクトリ内でファイルやディレクトリが削除された。(*) -.TP -\fBIN_DELETE_SELF\fP -監視対象のディレクトリまたはファイル自身が削除された。 -.TP -\fBIN_MODIFY\fP -ファイルが修正された。(*) -.TP -\fBIN_MOVE_SELF\fP -監視対象のディレクトリまたはファイル自身が移動された。 -.TP -\fBIN_MOVED_FROM\fP -ファイルが監視対象ディレクトリ外へ移動された。(*) -.TP -\fBIN_MOVED_TO\fP -ファイルが監視対象ディレクトリ内へ移動された。(*) -.TP -\fBIN_OPEN\fP -ファイルがオープンされた。(*) -.PD -.RE -.PP -ディレクトリを監視する場合、 上記でアスタリスク (*) を付けたイベントは、 そのディレクトリ内のファイルに対して発生する。 このとき -\fIinotify_event\fP 構造体で返される \fIname\fP フィールドは、ディレクトリ内のファイル名を表す。 -.PP -\fBIN_ALL_EVENTS\fP マクロは上記のイベント全てのマスクとして定義される。 このマクロは \fBinotify_add_watch\fP(2) -を呼び出すときの \fImask\fP 引き数として使える。 - -さらに 2 つの便利なマクロがある。 -\fBIN_MOVE\fP は IN_MOVED_FROM|IN_MOVED_TO と同じで、 -\fBIN_CLOSE\fP は IN_CLOSE_WRITE|IN_CLOSE_NOWRITE と同じである。 -.PP -その他にも以下のビットを \fBinotify_add_watch\fP(2) を呼ぶときの \fImask\fP に指定できる: -.RS 4 -.sp -.PD 0 -.TP 18 -\fBIN_DONT_FOLLOW\fP -\fIpathname\fP がシンボリックリンクである場合に辿らない。 (Linux 2.6.15 以降) -.TP -\fBIN_EXCL_UNLINK\fP (Linux 2.6.36 以降) -.\" commit 8c1934c8d70b22ca8333b216aec6c7d09fdbd6a6 -デフォルトでは、あるディレクトリの子ファイルに関するイベントを監視 (watch) -した際、ディレクトリからその子ファイルが削除 (unlink) された場合であっても -その子ファイルに対してイベントが生成される。このことは、アプリケーションに -よってはあまり興味のないイベントが大量に発生することにつながる (例えば、\fI/tmp\fP -を監視している場合、たくさんのアプリケーションが、すぐにその名前が削除される -一時ファイルをそのディレクトリにに作成する)。 \fBIN_EXCL_UNLINK\fP を指定すると -このデフォルトの動作を変更でき、監視対象のディレクトリから子ファイルが削除 -された後に子ファイルに関するイベントが生成されなくなる。 -.TP -\fBIN_MASK_ADD\fP -\fIpathname\fP に対する監視マスクが既に存在する場合、 (マスクの置き換えではなく) イベントを追加 (OR) する。 -.TP -\fBIN_ONESHOT\fP -1 つのイベントについて \fIpathname\fP を監視し、 イベントが発生したら監視対象リストから削除する。 -.TP -\fBIN_ONLYDIR\fP (Linux 2.6.15 以降) -\fIpathname\fP がディレクトリの場合にのみ監視する。 -.PD -.RE -.PP -以下のビットが \fBread\fP(2) で返される \fImask\fP フィールドに設定される: -.RS 4 -.sp -.PD 0 -.TP 18 -\fBIN_IGNORED\fP -監視対象が (\fBinotify_rm_watch\fP(2) により) 明示的に 削除された。もしくは (ファイルの削除、またはファイル -システムのアンマウントにより) 自動的に削除された。 -.TP -\fBIN_ISDIR\fP -このイベントの対象がディレクトリである。 -.TP -\fBIN_Q_OVERFLOW\fP -イベントキューが溢れた (このイベントの場合、\fIwd\fP は \-1 である)。 -.TP -\fBIN_UNMOUNT\fP -監視対象オブジェクトを含むファイルシステムがアンマウントされた。 -.PD -.RE -.SS "/proc インターフェース" -以下のインターフェースは、inotify で消費される カーネルメモリの総量を制限するのに使用できる: -.TP -\fI/proc/sys/fs/inotify/max_queued_events\fP -このファイルの値は、アプリケーションが \fBinotify_init\fP(2) を呼び出すときに使用され、対応する inotify インスタンスについて -キューに入れられるイベントの数の上限を設定する。 この制限を超えたイベントは破棄されるが、 \fBIN_Q_OVERFLOW\fP イベントが常に生成される。 -.TP -\fI/proc/sys/fs/inotify/max_user_instances\fP -1 つの実ユーザ ID に対して生成できる inotify インスタンスの数の上限を指定する。 -.TP -\fI/proc/sys/fs/inotify/max_user_watches\fP -作成可能な監視対象の数の実 UID 単位の上限を指定する。 -.SH バージョン -inotify は 2.6.13 の Linux カーネルに組込まれた。 これに必要なライブラリのインターフェースは、 glibc のバージョン 2.4 -に追加された (\fBIN_DONT_FOLLOW\fP, \fBIN_MASK_ADD\fP, \fBIN_ONLYDIR\fP だけはバージョン 2.5 -で追加された)。 -.SH 準拠 -inotify API は Linux 独自のものである。 -.SH 注意 -inotify ファイルディスクリプタは \fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7) を使って監視できる。 -イベントがある場合、ファイルディスクリプタは読み込み可能と通知する。 - -Linux 2.6.25 以降では、シグナル駆動 (signal\-driven) I/O の通知が inotify -ファイルディスクリプタについて利用可能である。 \fBfcntl\fP(2) に書かれている (\fBO_ASYNC\fP フラグを設定するための) -\fBF_SETFL\fP, \fBF_SETOWN\fP, \fBF_SETSIG\fP の議論を参照のこと。 シグナルハンドラに渡される \fIsiginfo_t\fP -構造体は、以下のフィールドが設定される (\fIsiginfo_t\fP は \fBsigaction\fP(2) で説明されている)。 \fIsi_fd\fP には -inotify ファイルディスクリプタ番号が、 \fIsi_signo\fP にはシグナル番号が、 \fIsi_code\fP には \fBPOLL_IN\fP が、 -\fIsi_band\fP には \fBPOLLIN\fP が設定される。 - -inotify ファイルディスクリプタに対して 連続して生成される出力 inotify イベントが同一の場合 (\fIwd\fP, \fImask\fP, -\fIcookie\fP, \fIname\fP が等しい場合)、 前のイベントがまだ読み込まれていなければ、 連続するイベントが 1 つのイベントにまとめられる -(ただし「バグ」の節も参照のこと)。 - -inotify ファイルディスクリプタの読み込みで返されるイベントは、 順序付けられたキューになる。 -従って、たとえば、あるディレクトリの名前を別の名前に変更した場合、 inotify ファイルディスクリプタについての正しい順番で -イベントが生成されることが保証される。 - -\fBFIONREAD\fP \fBioctl\fP(2) は inotify ファイルディスクリプタから何バイト読み込めるかを返す。 -.SS 制限と警告 -inotify によるディレクトリの監視は再帰的に行われない: あるディレクトリ以下の -サブディレクトリを監視する場合、 監視対象を追加で作成しなければならない。 -大きなディレクトリツリーの場合には、この作業にかなり時間がかかることがある。 - -inotify API では inotify イベントのきっかけとなったユーザやプロセスに関する -情報が提供されない。 - -イベントキューは溢れる場合があることに注意すること。この場合にはイベントは -失われてしまう。堅牢性が必要なアプリケーションでは、イベントが失われる可能性 -を適切に扱う必要がある。 - -inotify API では影響が受けるファイルをファイル名で特定する。 -しかしながら、アプリケーションが inotify イベントを処理する時点では、 -そのファイル名がすでに削除されたり変更されたりしている可能性がある。 - -ディレクトリツリー全体を監視していて、そのツリー内に新しいサブディレクトリが -作成される場合、新しいサブディレクトリに対する watch を作成するまでに、 -新しいファイルがそのサブディレクトリ内にすでに作成されている場合がある点に -注意すること。したがって、watch を追加した直後にサブディレクトリの内容を -スキャンしたいと思う場合もあるだろう。 -.SH バグ -2.6.16 以前のカーネルでは \fBIN_ONESHOT\fP \fImask\fP フラグが働かない。 - -カーネル 2.6.25 より前では、 連続する同一のイベントを一つにまとめることを意図したコード (古い方のイベントがまだ読み込まれていない場合に、 -最新の 2 つのイベントを一つにまとめられる可能性がある) が、 最新のイベントが「最も古い」読み込まれていないイベントとまとめられるか -をチェックするようになっていた。 -.SH 関連項目 -\fBinotify_add_watch\fP(2), \fBinotify_init\fP(2), \fBinotify_init1\fP(2), -\fBinotify_rm_watch\fP(2), \fBread\fP(2), \fBstat\fP(2), -\fIDocumentation/filesystems/inotify.txt\fP. -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/intro.7 b/draft/man7/intro.7 index a4e5d4ef..2048afd7 100644 --- a/draft/man7/intro.7 +++ b/draft/man7/intro.7 @@ -2,6 +2,7 @@ .\" (michael@moria.de), Fri Apr 2 11:32:09 MET DST .\" 1993 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified by Thomas Koenig (ig25@rz.uni-karlsruhe.de) 24 Apr 1993 .\" Modified Sat Jul 24 17:28:08 1993 by Rik Faith (faith@cs.unc.edu) @@ -41,6 +42,6 @@ intro \- 概要、慣習やその他の説明 .SH 関連項目 \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-1.7 b/draft/man7/iso_8859-1.7 deleted file mode 100644 index b6e81e9e..00000000 --- a/draft/man7/iso_8859-1.7 +++ /dev/null @@ -1,178 +0,0 @@ -.\" t -.\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com) -.\" -.\" This is free documentation; you can redistribute it and/or -.\" modify it under the terms of the GNU General Public License as -.\" published by the Free Software Foundation; either version 2 of -.\" the License, or (at your option) any later version. -.\" -.\" The GNU General Public License's references to "object code" -.\" and "executables" are to be interpreted as the output of any -.\" document formatting or typesetting system, including -.\" intermediate and printed output. -.\" -.\" This manual is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. -.\" -.\" Slightly rearranged, aeb, 950713 -.\" Updated, dpo, 990531 -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ISO_8859\-1 7 2012\-04\-22 Linux "Linux Programmer's Manual" -.nh -.SH 名前 -iso_8859\-1 \- ISO 8859\-1 文字集合の 8進数、10進数、16進数による符号化 -.SH 説明 -ISO 8859 規格は ASCII 文字集合 (ISO 6460IRV としても知られている) の -いくつかの 8 ビット拡張を含んでいる。特に重要なのは ISO 8859\-1、 -"ラテン・アルファベット No. 1" で、広く実装され、既に ASCII に代わって -事実上の標準になっているようにみえる。 -.P -ISO 8859\-1 は以下の言語をサポートしている: アフリカーンス語、バスク語、 -カタロニア語、デンマーク語、オランダ語、英語、フェロー語、フィンランド語、 -フランス語、ガリシア語、ドイツ語、アイスランド語、アイルランド語、イタリア語、 -ノルウェー語、ポルトガル語、スコットランド語、スペイン語、スウェーデン語。 -.P -ISO 8859\-1 の文字は ISO 10646 (Unicode) の最初の 256 文字であることに -注意してほしい。 -.SS "ISO 8859 アルファベット" -完全な ISO 8859 アルファベットは以下のものを含んでいる: -.TS -l l. -ISO 8859\-1 西ヨーロッパの言語 (Latin\-1) -ISO 8859\-2 中央および東ヨーロッパの言語 (Latin\-2) -ISO 8859\-3 東南ヨーロッパやその他の言語 (Latin\-3) -ISO 8859\-4 スカンジナビア/バルト語派の言語 (Latin\-4) -ISO 8859\-5 ラテン/キリル文字 -ISO 8859\-6 ラテン/アラビア語 -ISO 8859\-7 ラテン/ギリシャ語 -ISO 8859\-8 ラテン/ヘブライ語 -ISO 8859\-9 トルコ語修正を行なった Latin\-1 (Latin\-5) -ISO 8859\-10 ラップ/ノルディック/エスキモーの言語 (Latin\-6) -ISO 8859\-11 ラテン/タイ語 -ISO 8859\-13 バルト諸国の言語 (Latin\-7) -ISO 8859\-14 ケルト語 (Latin\-8) -ISO 8859\-15 西ヨーロッパの言語 (Latin\-9) -ISO 8859\-16 ルーマニア語 (Latin\-10) -.TE -.SS "ISO 8859\-1 文字" -以下の表は ISO 8859\-1 (Latin\-1) の表示可能な文字のうち -\fBascii\fP(7) マニュアルページに載っていないものを示している。 -4列目は ISO 8859\-1 用に設定された環境でのみ正しく表示できるだろう。 -.TS -l l l c lp-1. -Oct Dec Hex Char Description -_ -240 160 A0 \ NO\-BREAK SPACE -241 161 A1 ¡ INVERTED EXCLAMATION MARK -242 162 A2 ¢ CENT SIGN -243 163 A3 £ POUND SIGN -244 164 A4 ¤ CURRENCY SIGN -245 165 A5 ¥ YEN SIGN -246 166 A6 ¦ BROKEN BAR -247 167 A7 § SECTION SIGN -250 168 A8 ¨ DIAERESIS -251 169 A9 © COPYRIGHT SIGN -252 170 AA ª FEMININE ORDINAL INDICATOR -253 171 AB « LEFT\-POINTING DOUBLE ANGLE QUOTATION MARK -254 172 AC ¬ NOT SIGN -255 173 AD \- SOFT HYPHEN -256 174 AE ® REGISTERED SIGN -257 175 AF ¯ MACRON -260 176 B0 ° DEGREE SIGN -261 177 B1 ± PLUS\-MINUS SIGN -262 178 B2 ² SUPERSCRIPT TWO -263 179 B3 ³ SUPERSCRIPT THREE -264 180 B4 ´ ACUTE ACCENT -265 181 B5 µ MICRO SIGN -266 182 B6 ¶ PILCROW SIGN -267 183 B7 · MIDDLE DOT -270 184 B8 ¸ CEDILLA -271 185 B9 ¹ SUPERSCRIPT ONE -272 186 BA º MASCULINE ORDINAL INDICATOR -273 187 BB » RIGHT\-POINTING DOUBLE ANGLE QUOTATION MARK -274 188 BC ¼ VULGAR FRACTION ONE QUARTER -275 189 BD ½ VULGAR FRACTION ONE HALF -276 190 BE ¾ VULGAR FRACTION THREE QUARTERS -277 191 BF ¿ INVERTED QUESTION MARK -300 192 C0 À LATIN CAPITAL LETTER A WITH GRAVE -301 193 C1 Á LATIN CAPITAL LETTER A WITH ACUTE -302 194 C2 Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX -303 195 C3 Ã LATIN CAPITAL LETTER A WITH TILDE -304 196 C4 Ä LATIN CAPITAL LETTER A WITH DIAERESIS -305 197 C5 Å LATIN CAPITAL LETTER A WITH RING ABOVE -306 198 C6 Æ LATIN CAPITAL LETTER AE -307 199 C7 Ç LATIN CAPITAL LETTER C WITH CEDILLA -310 200 C8 È LATIN CAPITAL LETTER E WITH GRAVE -311 201 C9 É LATIN CAPITAL LETTER E WITH ACUTE -312 202 CA Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX -313 203 CB Ë LATIN CAPITAL LETTER E WITH DIAERESIS -314 204 CC Ì LATIN CAPITAL LETTER I WITH GRAVE -315 205 CD Í LATIN CAPITAL LETTER I WITH ACUTE -316 206 CE Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX -317 207 CF Ï LATIN CAPITAL LETTER I WITH DIAERESIS -320 208 D0 Ð LATIN CAPITAL LETTER ETH -321 209 D1 Ñ LATIN CAPITAL LETTER N WITH TILDE -322 210 D2 Ò LATIN CAPITAL LETTER O WITH GRAVE -323 211 D3 Ó LATIN CAPITAL LETTER O WITH ACUTE -324 212 D4 Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX -325 213 D5 Õ LATIN CAPITAL LETTER O WITH TILDE -326 214 D6 Ö LATIN CAPITAL LETTER O WITH DIAERESIS -327 215 D7 × MULTIPLICATION SIGN -330 216 D8 Ø LATIN CAPITAL LETTER O WITH STROKE -331 217 D9 Ù LATIN CAPITAL LETTER U WITH GRAVE -332 218 DA Ú LATIN CAPITAL LETTER U WITH ACUTE -333 219 DB Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX -334 220 DC Ü LATIN CAPITAL LETTER U WITH DIAERESIS -335 221 DD Ý LATIN CAPITAL LETTER Y WITH ACUTE -336 222 DE Þ LATIN CAPITAL LETTER THORN -337 223 DF ß LATIN SMALL LETTER SHARP S -340 224 E0 à LATIN SMALL LETTER A WITH GRAVE -341 225 E1 á LATIN SMALL LETTER A WITH ACUTE -342 226 E2 â LATIN SMALL LETTER A WITH CIRCUMFLEX -343 227 E3 ã LATIN SMALL LETTER A WITH TILDE -344 228 E4 ä LATIN SMALL LETTER A WITH DIAERESIS -345 229 E5 å LATIN SMALL LETTER A WITH RING ABOVE -346 230 E6 æ LATIN SMALL LETTER AE -347 231 E7 ç LATIN SMALL LETTER C WITH CEDILLA -350 232 E8 è LATIN SMALL LETTER E WITH GRAVE -351 233 E9 é LATIN SMALL LETTER E WITH ACUTE -352 234 EA ê LATIN SMALL LETTER E WITH CIRCUMFLEX -353 235 EB ë LATIN SMALL LETTER E WITH DIAERESIS -354 236 EC ì LATIN SMALL LETTER I WITH GRAVE -355 237 ED í LATIN SMALL LETTER I WITH ACUTE -356 238 EE î LATIN SMALL LETTER I WITH CIRCUMFLEX -357 239 EF ï LATIN SMALL LETTER I WITH DIAERESIS -360 240 F0 ð LATIN SMALL LETTER ETH -361 241 F1 ñ LATIN SMALL LETTER N WITH TILDE -362 242 F2 ò LATIN SMALL LETTER O WITH GRAVE -363 243 F3 ó LATIN SMALL LETTER O WITH ACUTE -364 244 F4 ô LATIN SMALL LETTER O WITH CIRCUMFLEX -365 245 F5 õ LATIN SMALL LETTER O WITH TILDE -366 246 F6 ö LATIN SMALL LETTER O WITH DIAERESIS -367 247 F7 ÷ DIVISION SIGN -370 248 F8 ø LATIN SMALL LETTER O WITH STROKE -371 249 F9 ù LATIN SMALL LETTER U WITH GRAVE -372 250 FA ú LATIN SMALL LETTER U WITH ACUTE -373 251 FB û LATIN SMALL LETTER U WITH CIRCUMFLEX -374 252 FC ü LATIN SMALL LETTER U WITH DIAERESIS -375 253 FD ý LATIN SMALL LETTER Y WITH ACUTE -376 254 FE þ LATIN SMALL LETTER THORN -377 255 FF ÿ LATIN SMALL LETTER Y WITH DIAERESIS -.TE -.SH 関連項目 -\fBascii\fP(7), \fBiso_8859\-15\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-10.7 b/draft/man7/iso_8859-10.7 index 70be3060..985c5330 100644 --- a/draft/man7/iso_8859-10.7 +++ b/draft/man7/iso_8859-10.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -165,6 +167,6 @@ ISO 8859\-10 は Latin\-6 としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-11.7 b/draft/man7/iso_8859-11.7 index 64a61844..765d1be4 100644 --- a/draft/man7/iso_8859-11.7 +++ b/draft/man7/iso_8859-11.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"Thanomsub Noppaburana made valuable suggestions. .\" @@ -160,6 +161,6 @@ ISO 8859\-11 は TIS (タイ工業規格) 620\-2253 (一般には TIS\-620 と .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-13.7 b/draft/man7/iso_8859-13.7 index f57b285d..5a1400f9 100644 --- a/draft/man7/iso_8859-13.7 +++ b/draft/man7/iso_8859-13.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -164,6 +166,6 @@ ISO 8859\-13 は Latin\-7 としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-14.7 b/draft/man7/iso_8859-14.7 index 87d39441..7da8bf36 100644 --- a/draft/man7/iso_8859-14.7 +++ b/draft/man7/iso_8859-14.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -162,6 +164,6 @@ ISO 8859\-14 は Latin\-8 としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-15.7 b/draft/man7/iso_8859-15.7 index db7201a1..2343d82f 100644 --- a/draft/man7/iso_8859-15.7 +++ b/draft/man7/iso_8859-15.7 @@ -2,6 +2,7 @@ .\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com) .\" Copyright 1999 Dimitri Papadopoulos (dpo@club-internet.fr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -173,6 +175,6 @@ _ .SH 関連項目 \fBascii\fP(7), \fBiso_8859\-1\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-16.7 b/draft/man7/iso_8859-16.7 index 5ed58f69..7f02123d 100644 --- a/draft/man7/iso_8859-16.7 +++ b/draft/man7/iso_8859-16.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2002 Ionel Mugurel Ciobîcă (IMCiobica@netscape.net) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,16 +18,16 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH ISO_8859\-16 7 2003\-03\-05 Linux "Linux Programmer's Manual" +.TH ISO_8859\-16 7 2012\-08\-05 Linux "Linux Programmer's Manual" .nh .SH 名前 iso_8859\-16 \- ISO 8859\-16 文字集合の 8進数、10進数、16進数による符号化 @@ -171,10 +172,11 @@ _ .TE .SH 関連項目 \fBascii\fP(7), \fBiso_8859\-1\fP(7), \fBiso_8859\-15\fP(7), \fBiso_8859\-2\fP(7) -.P -追加情報: \fIISO 8859\-16 (Latin 10) Resources\fP -(http://bucovina.chem.tue.nl/fonturi/index\-en.html). + +\fIISO 8859\-16 (Latin 10) Resources\fP +.UR http://bucovina.chem.tue.nl\:/fonturi\:/index\-en.html +.UE . .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-2.7 b/draft/man7/iso_8859-2.7 index 67e368ca..0990425a 100644 --- a/draft/man7/iso_8859-2.7 +++ b/draft/man7/iso_8859-2.7 @@ -2,6 +2,7 @@ .\" Copyright 1999 Roman Maurer (roman.maurer@hermes.si) .\" Copyright 1993-1995 Daniel Quinlan (quinlan@yggdrasil.com) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Slightly rearranged, aeb, 950713 .\" Updated, dpo, 990531 @@ -29,7 +30,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH ISO_8859\-2 7 2007\-11\-25 Linux "Linux Programmer's Manual" +.TH ISO_8859\-2 7 2012\-08\-05 Linux "Linux Programmer's Manual" .nh .SH 名前 iso_8859\-2 \- ISO 8859\-2 文字集合の 8進数、10進数、16進数による符号化 @@ -173,10 +174,11 @@ _ .TE .SH 関連項目 \fBascii\fP(7), \fBiso_8859\-1\fP(7), \fBiso_8859\-16\fP(7) -.P -追加情報: \fIISO 8859\-2 (Latin 2) Resources\fP -(http://sizif.mf.uni\-lj.si/linux/cee/iso8859\-2.html). + +\fIISO 8859\-2 (Latin 2) Resources\fP +.UR http://sizif.mf.uni\-lj.si\:/linux\:/cee\:/iso8859\-2.html +.UE . .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-3.7 b/draft/man7/iso_8859-3.7 index d5609c78..7f08899e 100644 --- a/draft/man7/iso_8859-3.7 +++ b/draft/man7/iso_8859-3.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -158,6 +160,6 @@ ISO 8859\-3 は Latin\-3 としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-4.7 b/draft/man7/iso_8859-4.7 index f0b1a285..7f1d93cb 100644 --- a/draft/man7/iso_8859-4.7 +++ b/draft/man7/iso_8859-4.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -160,6 +162,6 @@ _ .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-5.7 b/draft/man7/iso_8859-5.7 index b031e9a3..c00ca3d7 100644 --- a/draft/man7/iso_8859-5.7 +++ b/draft/man7/iso_8859-5.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -160,6 +162,6 @@ _ .SH 関連項目 \fBascii\fP(7), \fBkoi8\-r\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-6.7 b/draft/man7/iso_8859-6.7 index e0052ba6..9f19f1ea 100644 --- a/draft/man7/iso_8859-6.7 +++ b/draft/man7/iso_8859-6.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -118,6 +120,6 @@ ISO 8859\-6 では、関連する多くの言語 (ウルドゥー語ヤペルシ .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-7.7 b/draft/man7/iso_8859-7.7 index 330c9dd0..d0d3c691 100644 --- a/draft/man7/iso_8859-7.7 +++ b/draft/man7/iso_8859-7.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 1999 Dimitri Papadopoulos (dpo@club-internet.fr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -160,6 +162,6 @@ ISO 8859\-7 は以前は ELOT\-928 や ECMA\-118:1986 とも呼ばれていた .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-8.7 b/draft/man7/iso_8859-8.7 index fc1c4957..e8b55b7f 100644 --- a/draft/man7/iso_8859-8.7 +++ b/draft/man7/iso_8859-8.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis (edimitro@tee.gr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Eli Zaretskii made valuable suggestions .\" @@ -131,6 +132,6 @@ ISO 8859\-8 は ISO\-IR\-138 としても知られている。 .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/iso_8859-9.7 b/draft/man7/iso_8859-9.7 index 0cc4e8b1..3c07ef31 100644 --- a/draft/man7/iso_8859-9.7 +++ b/draft/man7/iso_8859-9.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2002 Dimitri Papadopoulos (dpo@club-internet.fr) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,10 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -161,6 +163,6 @@ _ .SH 関連項目 \fBascii\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/koi8-r.7 b/draft/man7/koi8-r.7 index 819438c9..e899085a 100644 --- a/draft/man7/koi8-r.7 +++ b/draft/man7/koi8-r.7 @@ -3,6 +3,7 @@ .\" .\" Lots of text ripped from http://koi8.pp.ru/ .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -19,15 +20,16 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH KOI8\-R 7 2010\-10\-24 Linux "Linux Programmer's Manual" +.TH KOI8\-R 7 2012\-08\-05 Linux "Linux Programmer's Manual" .nh .SH 名前 koi8\-r \- ロシア語文字集合の 8 進数、10 進数、16 進数による符号化 @@ -184,11 +186,14 @@ _ 375 253 FD Щ CYRILLIC CAPITAL LETTER SHCHA 376 254 FE Ч CYRILLIC CAPITAL LETTER CHE 377 255 FF Ъ CYRILLIC CAPITAL LETTER HARD SIGN - .TE .SH 関連項目 -\fBascii\fP(7), \fBiso\-8859\-5\fP(7), \fBkoi8\-u\fP(7), RFC\ 1489, http://koi8.pp.ru/ +\fBascii\fP(7), \fBiso\-8859\-5\fP(7), \fBkoi8\-u\fP(7) + +RFC\ 1489, +.UR http://koi8.pp.ru/ +.UE .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/koi8-u.7 b/draft/man7/koi8-u.7 index e7cb745e..790e4249 100644 --- a/draft/man7/koi8-u.7 +++ b/draft/man7/koi8-u.7 @@ -1,6 +1,7 @@ .\" t -*- coding: UTF-8 -*- .\" Copyright 2009 Lefteris Dimitroulakis .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -17,9 +18,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2009-01-15, mtk, Some edits .\" @@ -181,6 +182,6 @@ A4, A6, A7, AD, B4, B6, B7, BD である。 .SH 関連項目 \fBascii\fP(7), \fBkoi8\-r\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/libc.7 b/draft/man7/libc.7 index 69af646d..62f6757e 100644 --- a/draft/man7/libc.7 +++ b/draft/man7/libc.7 @@ -1,6 +1,7 @@ .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIBC 7 2009\-01\-13 Linux "Linux Programmer's Manual" +.TH LIBC 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 libc \- Linux の標準 C ライブラリの概要 .SH 説明 @@ -37,7 +39,9 @@ libc \- Linux の標準 C ライブラリの概要 "libc" という用語は Linux ではいくらか曖昧さのある用語となっている。 .SS glibc Linux で群を抜いて広く使われている C ライブラリは GNU C ライブラリ -(\fIhttp://www.gnu.org/software/libc/\fP) であり、しばしば \fIglibc\fP と +.UR http://www.gnu.org\:/software\:/libc/ +.UE +であり、しばしば \fIglibc\fP と 呼ばれる。全ての主要な Linux ディストリビューションで現在使われている C ライブラリである。 この C ライブラリの詳細が \fIman\-pages\fP プロジェクトの一連のページ @@ -45,8 +49,7 @@ C ライブラリである。 glibc のドキュメントは glibc のマニュアルにもあり、 \fIinfo libc\fP コマンドで参照できる。 glibc リリース 1.0 は 1992 年 9 月に作成された (それ以前に 0.x リリース -があった)。glibc の次のメジャーリリースは 2.0 であり、1997 年の初頭に -リリースされた。 +があった)。glibc の次のメジャーリリースは 2.0 であり、1997 年の初頭にリリースされた。 パス名 \fI/lib/libc.so.6\fP (もしくは同様のパス名) は、通常は glibc ライブラリがある場所を指すシンボリックリンクである。 @@ -80,6 +83,6 @@ Linux libc の活動の元々の動機とは裏腹に、glibc 2.0 がリリー .SH 関連項目 \fBsyscalls\fP(2), \fBfeature_test_macros\fP(7), \fBman\-pages\fP(7), \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/locale.7 b/draft/man7/locale.7 deleted file mode 100644 index cfdfc962..00000000 --- a/draft/man7/locale.7 +++ /dev/null @@ -1,157 +0,0 @@ -.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" Modified Sat Jul 24 17:28:34 1993 by Rik Faith -.\" Modified Sun Jun 01 17:16:34 1997 by Jochen Hein -.\" -.\" Modified Thu Apr 25 00:43:19 2002 by Bruno Haible -.\" -.\" FIXME Document LOCPATH; -.\" see http://sourceware.org/bugzilla/show_bug.cgi?id=174 -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LOCALE 7 2008\-12\-05 Linux "Linux Programmer's Manual" -.SH 名前 -locale \- 多言語サポートの解説 -.SH 書式 -.nf -\fB#include \fP -.fi -.SH 説明 -ロケール (locale) は言語や文化ルールの集合である。 これらは、メッセージ出力に使用する言語・いろいろな文字集合・ -表記に関する慣習といったような面をカバーしている。 プログラムをいろいろな文化に移植可能とするには、 そのプログラムは自分のロケールを決めて、 -それに応じた適切な動作ができなければならない。 -.PP -ヘッダーファイル \fI\fP には、この目的に便利なデータ型・関数・マクロなどの宣言がある。 -.PP -このヘッダーファイルで宣言されている関数には、 現在のロケールを設定する \fBsetlocale\fP(3) -と、数値のフォーマット方法についての情報を取得する \fBlocaleconv\fP(3) がある。 -.PP -プログラムの必要に応じて、ローカル情報はいろいろなカテゴリに分かれており、 それらはマクロとして宣言されている。 これらのマクロを -\fBsetlocale\fP(3) 関数の最初の引き数に用いると、 これらのどれかを望むロケールに設定できる。 -.TP -\fBLC_COLLATE\fP -これは地域的なアルファベット文字列の比較に使用する \fBstrcoll\fP(3) 関数と \fBstrxfrm\fP(3) -関数の動作を変更する。例えばドイツ語のエスツェット (鋭い s) は、ソートの際 "ss" として扱われる。 -.TP -\fBLC_CTYPE\fP -これは \fBisupper\fP(3) や \fBtoupper\fP(3) のような文字の判定・操作をする関数や、多バイト文字を扱う \fBmblen\fP(3) -や \fBwctomb\fP(3) のような関数の動作を変更する。 -.TP -\fBLC_MONETARY\fP -\fBlocaleconv\fP(3) によって返される情報を変更する。 これには小数点や区切りコンマの位置など、 -数字の表示方法に関する詳細が含まれている。この情報は \fBstrfmon\fP(3) 関数が内部で使用する。 -.TP -\fBLC_MESSAGES\fP -メッセージ表示に使用する言語を変更する。 また肯定的・否定的な回答をどのように表示するかを変更する。 これらの情報を簡単に使用するために、 GNU C -ライブラリには \fBgettext\fP(3), \fBngettext\fP(3), \fBrpmatch\fP(3) 関数が含まれている。 GNU gettext -ファミリーに属する関数は、カテゴリが \fB"C"\fP 以外の有効なロケールに設定されている場合、環境変数 \fBLANGUAGE\fP にも従う -(\fBLANGUAGE\fP はコロン区切りのロケールのリストである)。 -.TP -\fBLC_NUMERIC\fP -\fBprintf\fP(3) 関数および \fBscanf\fP(3) 関数のファミリーでロケール設定を使うよう指示された場合に -用いる情報を変更する。この情報は \fBlocaleconv\fP(3) 関数で取得することもできる。 -.TP -\fBLC_TIME\fP -\fBstrftime\fP(3) 関数の動作を変更し、 地域で利用されている方法で現在時刻を表示する。 例えば、ヨーロッパの多くでは -24時間式の時計を使うが、 アメリカでは 12時間式の時計を使う。 -.TP -\fBLC_ALL\fP -.\" FIXME glibc 2.2.2 added new nonstandard locale categories: -.\" LC_ADDRESS, LC_IDENTIFICATION, LC_MEASUREMENT, LC_NAME, -.\" LC_PAPER, LC_TELEPHONE. These need to be documented. -上記の全て。 -.PP -\fBsetlocale\fP(3) の二番目の引き数が空文字列 \fB""\fP の場合、 デフォルトのロケールは以下の手順で決定する: -.IP 1. -環境変数 \fBLC_ALL\fP が設定されている場合には \fBLC_ALL\fP の値が使用される。 -.IP 2. -上記のカテゴリのどれかと同じ名前の環境変数が設定されている場合には、 そのカテゴリにはその値が使用される。 -.IP 3. -環境変数 \fBLANG\fP が設定されている場合には \fBLANG\fP の値が使用される。 -.PP -地域的な数値フォーマットの情報は \fBlocaleconv\fP(3) 関数によって返される \fIstruct lconv\fP -で得ることができ、これは以下のように宣言されている: -.in +2n -.nf - -struct lconv { - - /* (通貨以外の) 数値情報 */ - - char *decimal_point; /* 小数点の文字 */ - char *thousands_sep; /* 小数点の左側の数字のグループの - 区切り文字 */ - char *grouping; /* それぞれの要素は各グループの数字の個数である。 - インデックス値が大きいほど、左側のグループを表す。 - 要素の値が CHAR_MAX の場合は、最後のグループで - あることを意味する。要素の値が 0 の場合は、 - その要素より左側の全ての要素に前の要素と同じ値を - 使用することを意味する。 */ - - /* 残りのフィールドは通貨情報用である */ - - char *int_curr_symbol; /* 最初の三つの文字は ISO 4217 の通貨記号。 - 四番目の文字は区切り文字。 - 五番目は \(aq\0\(aq。 */ - char *currency_symbol; /* 地域の通貨記号 */ - char *mon_decimal_point; /* 小数点の文字 */ - char *mon_thousands_sep; /* 上記の `thousands_sep' と同様 */ - char *mon_grouping; /* 上記の `grouping' と同様 */ - char *positive_sign; /* 正の値の符号 */ - char *negative_sign; /* 負の値の符号 */ - char int_frac_digits; /* 国際的な小数部の数字 */ - char frac_digits; /* 地域の小数部の数字 */ - char p_cs_precedes; /* 正の値の前に通貨記号を置く場合は 1, - 後ろに置く場合は 0 */ - char p_sep_by_space; /* 正の値と通貨記号の間にスペースを - 入れる場合は 1 */ - char n_cs_precedes; /* 負の値の前に通貨記号を置く場合は 1, - 後ろに置く場合は 0 */ - char n_sep_by_space; /* 負の値と通貨記号の間にスペースを - 入れる場合は 1 */ - /* 正と負の符号の位置: - 0 値と通貨記号を括弧で囲む - 1 符号は値と通貨記号の前に置く - 2 符号は値と通貨記号の後に置く - 3 符号は通貨記号の直後に置く - 4 符号は通貨記号の直前に置く */ - char p_sign_posn; - char n_sign_posn; -}; -.fi -.in -.SH 準拠 -POSIX.1\-2001. - -GNU gettext 関数ファミリーは LI18NUX2000 で規定されている。 -.SH 関連項目 -\fBlocale\fP(1), \fBlocaledef\fP(1), \fBgettext\fP(3), \fBlocaleconv\fP(3), -\fBngettext\fP(3), \fBnl_langinfo\fP(3), \fBrpmatch\fP(3), \fBsetlocale\fP(3), -\fBstrcoll\fP(3), \fBstrfmon\fP(3), \fBstrftime\fP(3), \fBstrxfrm\fP(3) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/mailaddr.7 b/draft/man7/mailaddr.7 index 3d3acf46..fe99d982 100644 --- a/draft/man7/mailaddr.7 +++ b/draft/man7/mailaddr.7 @@ -1,7 +1,16 @@ -.\" .\" Copyright (c) 1983, 1987 The Regents of the University of California. .\" All rights reserved. .\" +.\" @(#)mailaddr.7 6.5 (Berkeley) 2/14/89 +.\" +.\" Extensively rewritten by Arnt Gulbrandsen . My +.\" changes are placed under the same copyright as the original BSD page. +.\" +.\" Adjusted by Arnt Gulbrandsen in 2004 to +.\" account for changes since 1995. Route-addrs are now even less +.\" common, etc. Some minor wording improvements. Same copyright. +.\" +.\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Redistribution and use in source and binary forms are permitted .\" provided that the above copyright notice and this paragraph are .\" duplicated in all such forms and that any documentation, @@ -13,15 +22,7 @@ .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.\" -.\" @(#)mailaddr.7 6.5 (Berkeley) 2/14/89 -.\" -.\" Extensively rewritten by Arnt Gulbrandsen . My -.\" changes are placed under the same copyright as the original BSD page. -.\" -.\" Adjusted by Arnt Gulbrandsen in 2004 to -.\" account for changes since 1995. Route-addrs are now even less -.\" common, etc. Some minor wording improvements. Same copyright. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -99,6 +100,6 @@ mailaddr \- メール・アドレスの説明 RFC\ 2822 (Internet Message Format) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/man-pages.7 b/draft/man7/man-pages.7 deleted file mode 100644 index aad88237..00000000 --- a/draft/man7/man-pages.7 +++ /dev/null @@ -1,382 +0,0 @@ -.\" (C) Copyright 1992-1999 Rickard E. Faith and David A. Wheeler -.\" (faith@cs.unc.edu and dwheeler@ida.org) -.\" and (C) Copyright 2007 Michael Kerrisk -.\" -.\" Permission is granted to make and distribute verbatim copies of this -.\" manual provided the copyright notice and this permission notice are -.\" preserved on all copies. -.\" -.\" Permission is granted to copy and distribute modified versions of this -.\" manual under the conditions for verbatim copying, provided that the -.\" entire resulting derived work is distributed under the terms of a -.\" permission notice identical to this one. -.\" -.\" Since the Linux kernel and libraries are constantly changing, this -.\" manual page may be incorrect or out-of-date. The author(s) assume no -.\" responsibility for errors or omissions, or for damages resulting from -.\" the use of the information contained herein. The author(s) may not -.\" have taken the same level of care in the production of this manual, -.\" which is licensed free of charge, as they might when working -.\" professionally. -.\" -.\" Formatted or processed versions of this manual, if unaccompanied by -.\" the source, must acknowledge the copyright and authors of this work. -.\" -.\" 2007-05-30 created by mtk, using text from old man.7 plus -.\" rewrites and additional text. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH MAN\-PAGES 7 2008\-10\-28 Linux "Linux Programmer's Manual" -.SH 名前 -man\-pages \- Linux の man ページを書く際の決まり事 -.SH 書式 -\fBman\fP [\fIsection\fP] \fItitle\fP -.SH 説明 -このページでは、 Linux \fIman\-pages\fP プロジェクトのマニュアルページを書く際に 従うべき決まり事について説明する。 Linux -\fIman\-pages\fP は Linux のマニュアルページの セクション 2, 3, 4, 5, 7 から構成されている。 -このページで説明されている決まり事は、他のプロジェクトの マニュアルページを書く作者にも役立つことだろう。 -.SS マニュアルページのセクション -.PP -マニュアルのセクションは、習慣的に以下のような定義が用いられている: -.TP 10 -\fB1 コマンド (プログラム)\fP -シェルの中からユーザが実行できるコマンド。 -.TP -\fB2 システムコール\fP -カーネルが処理しなければならない関数。 -.TP -\fB3 ライブラリコール\fP -\fIlibc\fP の関数の大部分。 -.TP -\fB4 スペシャルファイル (デバイス)\fP -\fI/dev\fP 以下にあるファイル。 -.TP -\fB5 ファイルのフォーマットと規約\fP -\fI/etc/passwd\fP などの人が読めるファイルのフォーマット。 -.TP -\fB6 ゲーム\fP -.TP -\fB7 約束事その他\fP -様々な事柄の概要、慣習、プロトコル、文字集合の規格、その他雑多なこと。 -.TP -\fB8 システム管理コマンド\fP -.\" .TP -.\" .B 9 Kernel routines -.\" This is an obsolete manual section. -.\" Once it was thought a good idea to document the Linux kernel here, -.\" but in fact very little has been documented, and the documentation -.\" that exists is outdated already. -.\" There are better sources of -.\" information for kernel developers. -\fBmount\fP(8) のような root のみが実行可能なコマンド。 -.SS マクロパッケージ -新しいマニュアルページは \fBman\fP(7) で説明されている \fBgroff an.tmac\fP パッケージを使って記述すべきである。 -この方針は一貫性の確保が主な理由である。既存の Linux のマニュアルページ の圧倒的多数がこれらのマクロを使って記述されている。 -.SS ソースファイルの配置に関する決まり事 -マニュアルページのソースコードの 1行の長さは 可能な限り 75文字を越えないようにしてほしい。 こうすることで、パッチをメール本文に載せて送る場合に、 -メールクライアントによる行折り返しを回避することができる。 - -新しい文は行頭から開始する。 これにより、パッチの内容を確認しやすくなる。 パッチは文単位であることが多いからである。 -.SS タイトル行 -man ページの最初の行は \fBTH\fP コマンドにすべきである。 -.RS -.sp -\fB\&.TH\fP \fItitle section date source manual\fP -.sp -.RE -個々の説明: -.RS -.TP 10 -\fItitle\fP -man ページのタイトル。全部大文字で記載する (例: \fIMAN\-PAGES\fP)。 -.TP -\fIsection\fP -man ページが属するセクション番号 (例: \fI7\fP)。 -.TP -\fIdate\fP -最新のリビジョンの日付\(emman ページに変更を加えたときには 必ずこれを変更すること。 これが最も一般的なバージョン管理方法である。 日付は -YYYY\-MM\-DD の形式で記載すべきである。 -.TP -\fIsource\fP -コマンド、関数、システムコールの出自。 - -数少ないセクション 1 と 8 のページの場合、おそらく単に \fIGNU\fP とだけ書くことが多いだろう。 - -システムコールの場合、単に \fILinux\fP とだけ書く。 (以前の慣習では、マニュアルページを記載した/内容を確認したカーネルの -バージョン番号を記載していた。しかし、バージョン番号が実際の内容と 一致していることはなく、そのためバージョン番号がないよりも -おそらく悪い形になっていた。 今後は、バージョン番号を含めるのは避けること。) - -glibc のライブラリコールや その他の一般的な GNU ライブラリのライブラリコールの場合、 単に \fIGNU C Library\fP, \fIGNU\fP -と書くか、空の文字列を使う。 - -セクション 4 のページでは \fILinux\fP を使う。 - -よくわからない場合は、 \fILinux\fP とか \fIGNU\fP と書いておく。 -.TP -\fImanual\fP -マニュアルのタイトル (例: \fIman\-pages\fP パッケージのセクション 2 および 3 のページの場合には、 \fILinux -Programmer's Manual\fP を使うこと)。 -.RE -.SS マニュアルページのセクション -昔から使われてきたセクション名を以下のリストに示す。 これらを使うと良いだろう。 一般的に、マニュアルページは、少なくとも \fB色つき\fP -のセクションを持つのが望ましい。 新しくマニュアルページを作成する際には、だいたい以下のリストに示した 順序でセクションを配置するようにしてもらいたい。 -.in +0.5i -.nf - -.\" May 07: Few current man pages have an ERROR HANDLING section,,, -.\" ERROR HANDLING, -.\" May 07: Almost no current man pages have a USAGE section,,, -.\" USAGE, -.\" DIAGNOSTICS, -.\" May 07: Almost no current man pages have a SECURITY section,,, -.\" SECURITY, -.\" AUTHORS sections are discouraged -.\" AUTHORS [Discouraged] -\fB名前\fP -\fB書式\fP -設定 [通常はセクション 4 のみ] -\fB説明\fP -オプション [通常はセクション 1, 8 のみ] -終了ステータス [通常はセクション 1, 8 のみ] -返り値 [通常はセクション 2, 3 のみ] -エラー [たいていはセクション 2, 3 のみ] -環境変数 -ファイル -バージョン [通常はセクション 2, 3 のみ] -準拠 -注意/備考 -バグ -例 -\fB関連項目\fP - -.fi -.in -「伝統的に使われてきた見出しが使える場合には、それを使ってほしい。」 この種の一貫性を保つことで、情報を理解しやすくなるからである。 -どうしても必要な場合には、理解しやすくなるように独自の見出しを 作ってもよい (特にセクション 4 や 5 のページではこうした方が -わかりやすくなる)。ただし、そうする前に、伝統的な見出しを使い、 そのセクション内にサブセクション (\fI.SS\fP) を設けることで -対応できないか考えてほしい。 - -以下のリストでは、上記のセクションのそれぞれの内容について 詳しく説明する。 -.TP 14 -\fB名前 (NAME)\fP -そのマニュアルページの名前。 \fB.SH NAME\fP コマンドの行が従うべき大事な点については \fBman\fP(7) を参照してほしい。 -.TP -\fB書式 (SYNOPSIS)\fP -コマンドや関数のインターフェースを簡潔に記述する。 コマンドに対しては、コマンドや引き数 (オプション) の文法を書く。 -そのまま書くテキストにはボールド体を用い、置き換える引き数には イタリック体を用いる。省略可能なオプションはブラケット ([]) で囲い、 選択肢は縦棒 -(|) で区切り、繰り返しには省略符号 (...) を書く。 関数に対しては、必要なデータ宣言や \fB#include\fP 指定を書き、関数宣言を続ける。 - -.\" FIXME . Say something here about compiler options -ヘッダファイルから関数 (や変数) の定義を得るために 機能検査マクロ (feature test macro) を定義しなければならない場合、 書式 -(SYNOPSIS) に必要な機能検査マクロを記載すべきである。 機能検査マクロについては \fBfeature_test_macros\fP(7) -で説明されている。 -.TP -\fBCONFIGURATION\fP -デバイスの設定詳細。 通常、このセクションは 4 章のマニュアルページでのみ登場する。 -.TP -\fB説明 (DESCRIPTION)\fP -.\" If there is some kind of input grammar or complex set of subcommands, -.\" consider describing them in a separate -.\" .B USAGE -.\" section (and just place an overview in the -.\" .B DESCRIPTION -.\" section). -プログラム・関数・フォーマットの動作・目的を説明する。 ファイルや標準入力をどのように処理し、標準出力や標準エラー出力を -どのように生成するかといったことについて述べる。 内部動作や実装の詳細については省略する (ただしそれが動作の理解にどうしても必要なら別)。 -通常の場合について記述する。 プログラムのコマンドライン・オプションの説明には、 \fBオプション\fP のセクションを用いる。 -.TP -\fBオプション (OPTIONS)\fP -.\" .TP -.\" .B USAGE -.\" describes the grammar of any sublanguage this implements. -プログラムが受け付けるコマンドライン・オプションと、 その場合プログラムの振舞いがどう変わるかを説明する。 このセクションはセクション 1 と 8 -のマニュアルページにだけ登場すべきである。 -.TP -\fB終了ステータス (EXIT STATUS)\fP -プログラムの終了ステータスの値と、それらの値に対応する状況を列挙する。 このセクションはセクション 1 と 8 -のマニュアルページにだけ登場すべきである。 -.TP -\fB返り値 (RETURN VALUE)\fP -セクション 2 と 3 のページの場合、このセクションに ライブラリルーチンが呼び出し元に返す値のリストを記載する。 -それらの値が返された場合の状態に対する説明も書く。 -.TP -\fBエラー (ERRORS)\fP -セクション 2 と 3 のマニュアルページでは、 エラーが発生した場合に \fIerrno\fP に設定される可能性がある値のリストを記載する。 -リストには、エラーの値とエラーの原因についての情報を書く。 「エラーリストはアルファベット順にすべきである。」 -.TP -\fB環境変数 (ENVIRONMENT)\fP -プログラムや関数に影響する環境変数をリストし、それらの効果を書く。 -.TP -\fBファイル (FILES)\fP -.\" May 07: Almost no current man pages have a DIAGNOSTICS section; -.\" "RETURN VALUE" or "EXIT STATUS" is preferred. -.\" .TP -.\" .B DIAGNOSTICS -.\" gives an overview of the most common error messages and how to -.\" cope with them. -.\" You don't need to explain system error messages -.\" or fatal signals that can appear during execution of any program -.\" unless they're special in some way to the program. -.\" -.\" May 07: Almost no current man pages have a SECURITY section. -.\".TP -.\".B SECURITY -.\"discusses security issues and implications. -.\"Warn about configurations or environments that should be avoided, -.\"commands that may have security implications, and so on, especially -.\"if they aren't obvious. -.\"Discussing security in a separate section isn't necessary; -.\"if it's easier to understand, place security information in the -.\"other sections (such as the -.\" .B DESCRIPTION -.\" or -.\" .B USAGE -.\" section). -.\" However, please include security information somewhere! -プログラムや関数が用いるファイルを列記する。 例えば、設定ファイル、起動ファイル、プログラムが直接操作するファイルなどである。 -これらのファイルのファイル名はフルパスで記載し、 ディレクトリの部分はユーザーの好みに合わせて インストール処理で変更できるようにする。 -多くのプログラムではデフォルトのインストール先は \fI/usr/local\fP である。したがってベースとなるマニュアルページでも -\fI/usr/local\fP が使われていることが多いだろう。 -.TP -\fBバージョン (VERSIONS)\fP -システムコールやライブラリ関数が登場したり、動作の重要な変更が行われた、 Linux カーネルや glibc のバージョンについての簡潔な概要。 -一般に、全ての新しいインターフェイスは、マニュアルページに 「バージョン」の節を設けるべきである。 -残念なことに、多くの既存のマニュアルページにこの情報は含まれていない (これらのページが書かれた時点ではそのようなポリシーはなかったからである)。 -これを改善するパッチは歓迎されるが、 新しいコードを書くプログラマの観点からすれば、 おそらくこの情報が重要になるのは、 Linux 2.4 -以降で追加されたカーネルインターフェイス (カーネル 2.2 からの変更) と glibc バージョン 2.1 以降で追加されたライブラリ関数 -(glibc 2.0 からの変更) についてのみであろう。 - -\fBsyscalls\fP(2) マニュアルページにも、いろいろなシステムコールが初めて登場した カーネルバージョンについての情報が書かれている。 -.TP -\fB準拠 (CONFORMING TO)\fP -そのマニュアルページで説明している関数やコマンドに関連する 標準規格や慣習について記載する。 セクション 2 や 3 のページでは、このセクションで -システムコールや関数が準拠する POSIX.1 のバージョンと、 C99 で規定されているかに触れるべきである。 (SUS, SUSv2, XPG -などの他の標準規格や、SVr4 や 4.xBSD の実装標準に ついては、説明しているコールがこれらの規格で規定されており POSIX.1 -の現行バージョンで規定されていない場合以外は、 あまり深く気にする必要はない。) (\fBstandards\fP(7) 参照。) - -そのコールがどの標準にも基づいていないが、 他のシステムで広く存在する場合は、その旨を記載すること。 そのコールが Linux -固有の場合は、その旨を記載すること。 - -(そうなっているページが多いが) このセクションの内容が標準のリスト だけの場合、リストの最後にピリオド (\(aq.\(aq) を置くこと。 -.TP -\fB注意 (NOTES)\fP -その他の注意点を書く。 セクション 2 と 3 のマニュアルページでは、 \fILinux での注意 (Linux Notes)\fP や \fIglibc -での注意 (Glibc Notes)\fP という名前のサブセクション (\fBSS\fP) を設けると便利なこともある。 -.TP -\fBバグ (BUGS)\fP -制限・知られている欠陥や不便な点、その他不思議な動作などを書く。 -.TP -\fB例 (EXAMPLE)\fP -この関数・ファイル・コマンドをどのように使うかを示した ひとつまたは複数の例を記述する。 サンプルプログラムを書く際の詳細は -以下の「サンプルプログラム」の節を参照のこと。 -.TP -\fB著者 (AUTHORS)\fP -文書またはプログラムの著者を列記する。 \fB著者セクションは極力使用しないこと。\fP 一般的には、著者のリストを各ページに撒き散らさない方がよい -(時間がたつと、作者のリストは膨大になる可能性がある)。 マニュアルページを新規に書いたり、大幅に修正を行った場合には、 -ソースファイルにコメントとして著作権表示を追加すること。 あなたがデバイスドライバの作者で、バグを報告するためのアドレスを -載せたい場合は、「バグ」セクションの後ろにこのセクションを配置すること。 -.TP -\fB関連項目 (SEE ALSO)\fP -関連するマニュアルページを、コンマ区切りのリストで、 セクション番号順に、セクション内ではアルファベット順で記載する。 可能なら関連する他の文書も書く。 -慣習では、このセクションは最後に置く。 リストの末尾にピリオドを置かないこと。 -.SS フォントの慣習 -.PP -関数に対しては、引き数には常にイタリック体を用いる。 「たとえ書式 (SYNOPSIS) セクションであっても、このルールに従う」 -関数の他の部分はボールドを指定する: -.PP -\fB int myfunction(int \fP\fIargc\fP\fB, char **\fP\fIargv\fP\fB);\fP -.PP -引き数名といった変数名はイタリック体を指定すべきである。 -.PP -ファイル名 (パス名、または \fI/usr/include\fP ディレクトリ内のファイルへの参照) は常にイタリック体にする (例: -\fI\fP)。 ただし、書式 (SYNOPSIS) セクションは例外で、 インクルードファイルはボールドにする (例: -\fB#include \fP)。 \fI/usr/include\fP 以下の標準のインクルードファイルを参照する際は、 通常の -C 言語と同様に山括弧でヘッダファイルを囲ぬで指定する (例: \fI\fP)。 -.PP -通常、大文字で表現する特殊マクロはボールドで表す (例えば \fBMAXINT\fP)。 例外として NULL はボールドにしない。 -.PP -エラーコードのリストを列挙する時には、コードはボールドで表す (このリストには通常 \fB\&.TP\fP マクロを用いる)。 -.PP -完全なコマンドは、長い場合には、例に示すように 字下げした行にコマンドだけを記載すべきである。 -.in +4n -.nf - -man 7 man\-pages - -.fi -.in -コマンドが短い場合は、 \fIman 7 man\-pages\fP のようにイタリック体で文中に埋め込んで記載してもよい。 -この場合、コマンド内の適切な位置に、改行できないスペース ("\e\ ") を使うとよいかもしれない。 コマンドオプションも \fI\-l\fP -のようにイタリック体で記載すべきである。 -.PP -式は、専用の字下げした行に記載しない場合、イタリック体を指定すること。 繰り返しになるが、式を通常の文中に埋め込む場合にも、 -改行できないスペースを使うとよいだろう。 -.PP -そのマニュアルページの説明対象への参照は、ボールドで名前を記載する。 対象が関数 (つまり、セクション 2 や 3 のページ) の場合、 -名前の後ろにローマンフォント (通常のフォント) で丸括弧の対を続ける。 例えば、 \fBfcntl\fP(2) のマニュアルページでは、説明対象への参照は -\fBfcntl\fP() のように記載する。 マニュアルページのソースファイルには次のように記載するのが望ましい: -.nf - - .BR fcntl () - -.fi -("\efB...\efP()" よりも、この形式を使うこと。 これにより、マニュアルページのソースファイルを解釈するツールを 書くのが簡単になる。) -.PP -別のマニュアルページへの参照は、ボールドで名前を記載し、 それに続けてセクション番号を「必ず」書く。セクション番号は ローマンフォント -(通常のフォント) で書き、スペースは入れない (例: \fBintro\fP(2))。 マニュアルページのソースファイルには次のように記載するのが望ましい: -.nf - - .BR intro (2) - -.fi -(相互参照にセクション番号を含めておくと、 \fBman2html\fP といったツールがページ間のハイパーリンクを適切に生成できる。) -.SS "綴り (spelling)" -リリース 2.59 からだが、 \fIman\-pages\fP はアメリカ英語の綴りの慣習に従っている。 新しいページやパッチは全てこの慣習に従って下さい。 -.SS サンプルプログラムとシェルのセッション -マニュアルページには、システムコールやライブラリ関数の使い方を示す サンプルプログラムを含めることができる。 その際には、以下の点に留意すべきである。 -.TP 3 -* -サンプルプログラムは C で記載すること。 -.TP -* -サンプルプログラムは、 インタフェースについて文章で簡単に説明できる以上のことを示す場合にだけ -必要かつ有用である。インタフェースを呼び出す以外に何もしないサンプル プログラムは普通はほとんど役に立たない。 -.TP -* -サンプルプログラムはかなり短めにすること (100行未満が望ましく、50行未満が理想的である)。 -.TP -* -サンプルプログラムでは、システムコールやライブラリ関数を呼び出した後で エラーチェックを行うこと。 -.TP -* -サンプルプログラムは完結していて、 \fIcc\ \-Wall\fP でコンパイルした際に警告なしでコンパイルできること。 -.TP -* -可能かつ適切な場合には、サンプルプログラムで 入力により動作を変化させるなどの実験を行うとよい -(理想的には、コマンドライン引き数や、プログラムが読み込む入力データ 経由で、動作を変化させるのがよい)。 -.TP -* -サンプルプログラムは、K&R (Kernighan and Ritchie) スタイルで書き、 字下げはスペース 4文字で行う。 (ソースコードで -TAB 文字を使うのは避けること。) -.PP -サンプルプログラムがどんな風になっていればよいかの例については、 \fBwait\fP(2) と \fBpipe\fP(2) を参照すること。 - -プログラムの使い方や他のシステムの特徴を示すためにシェルのセッション例 を含める場合、ユーザの入力文をボールドにして、システムが生成する -出力と区別できるようにすること。 -.SS 構造体の定義、シェルのセッションログなどの字下げ -構造体の定義やシェルのセッションログなどを本文中に記載する際は、 スペース 4個分の字下げを行う (つまり、ブロックを \fI.in\ +4n\fP と -\&\fI.in\fP で囲む)。 -.SH 例 -\fIman\-pages\fP パッケージに含まれるマニュアルページの体裁の標準的な例については、 \fBpipe\fP(2) と \fBfcntl\fP(2) -を参照すること。 -.SH 関連項目 -\fBman\fP(1), \fBman2html\fP(1), \fBgroff\fP(7), \fBgroff_man\fP(7), \fBman\fP(7), -\fBmdoc\fP(7) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/man.7 b/draft/man7/man.7 index ada53b7c..62d94457 100644 --- a/draft/man7/man.7 +++ b/draft/man7/man.7 @@ -1,6 +1,7 @@ .\" (C) Copyright 1992-1999 Rickard E. Faith and David A. Wheeler .\" (faith@cs.unc.edu and dwheeler@ida.org) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,6 +21,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Modified Sun Jul 25 11:06:05 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Sat Jun 8 00:39:52 1996 by aeb @@ -34,7 +36,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH MAN 7 2011\-10\-05 Linux "Linux Programmer's Manual" +.TH MAN 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 man \- man ページを整形するマクロ .SH 書式 @@ -272,8 +274,11 @@ troff のエスケープシーケンスの多くも利用できる (これらの .PP テキストにはぜひとも完全な URL (または URI) を書くようにすること。 \fBman2html\fP(1) のようなツールは、これらを自動的にハイパーテキストリンクに変換する。 新たに取り入れられた \fBURL\fP マクロを関連情報へのリンクに用いても良い。 -URL を書く場合は、 例えば のように完全な形式で書き、 ツールによる -URL 自動検知ができるようにすること。 +URL を書く場合は、 例えば +.UR http://www.kernelnotes.org +.UE +のように完全な形式で書き、 +ツールによる URL 自動検知ができるようにすること。 .PP これらのファイルを処理するツールは、ファイルをオープンして 最初の空白以外の文字を調べる。行の先頭にピリオド (.) またはシングルクォート (') があると、これは troff ベースの ファイル (man や mdoc) であるとみなす。左角括弧 (<) は SGML/XML @@ -327,6 +332,6 @@ Sun のマクロである \fBTX\fP は定義されていない。 \fBwhatis\fP(1), \fBgroff_man\fP(7), \fBgroff_www\fP(7), \fBman\-pages\fP(7), \fBmdoc\fP(7), \fBmdoc.samples\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/mdoc.7 b/draft/man7/mdoc.7 index c154c072..8e2f69cc 100644 --- a/draft/man7/mdoc.7 +++ b/draft/man7/mdoc.7 @@ -1,6 +1,7 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -28,6 +29,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)mdoc.7 8.2 (Berkeley) 12/30/93 .\" $Id: mdoc.7,v 1.8 1998/12/04 00:51:17 jkoshy Exp $ @@ -184,7 +186,7 @@ man ページに用いられる内容ベース・ドメインベースのマク リスト開始。 リストまたはコラムを生成する。オプションは以下: .Bl -tag -width flag -compact .It Ar リスト形式 -.Bl -column xbullet -compact +.Bl -column ".Fl bullet" -compact .It Fl bullet Ta 中黒のアイテムリスト .It Fl item Ta ラベルなしリスト .It Fl enum Ta 数値付きリスト @@ -400,6 +402,6 @@ UR マクロ (URI/URL ハイパーテキスト参照の開始), UE マクロ ( .Sh この文書について この man ページは Linux .Em man-pages -プロジェクトのリリース 3.41 の +プロジェクトのリリース 3.50 の 一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。 diff --git a/draft/man7/mdoc.samples.7 b/draft/man7/mdoc.samples.7 deleted file mode 100644 index 241d3112..00000000 --- a/draft/man7/mdoc.samples.7 +++ /dev/null @@ -1,2790 +0,0 @@ -.\" Copyright (c) 1990, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 -.\" $Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp $ -.\" -.\" This tutorial sampler invokes every macro in the package several -.\" times and is guaranteed to give a worst case performance -.\" for an already extremely slow package. -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.Dd December 30, 1993 -.Os -.Dt MDOC.SAMPLES 7 -.Sh 名前 -.Nm mdoc.samples -.Nd -.Nm \-mdoc -を使って -.Bx -マニュアルを書くためのチュートリアルサンプル -.Sh 書式 -.Nm man mdoc.samples -.Sh 説明 -.Xr troff 1 -用の -.Em コンテントベース -でかつ -.Em 領域ベース -なフォーマットパッケージである -.Nm \-mdoc -マクロパッケージを使って -.Bx -マニュアルを書くためのチュートリアルサンプルです。 -前身である -.Xr \-man 7 -パッケージはフォントの操作や他の写植方法の -詳細は個々の作者に任せたページレイアウトベースのものでした。 -.Nm \-mdoc -では、ページレイアウトマクロは -タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる -.Em "ページ構造領域" -を形成しています。これらの項目は整形された -ページでのテキストの物理的な位置に影響を持ちます。 -ページ構造領域に加え、さらにマニュアル領域および一般テキスト領域 -の 2 つの領域があります。 -一般テキスト領域はテキストの一部をクォートしたり、 -強調するといったような作業を実行するマクロとして定義されています。 -マニュアル領域はコマンドやルーチン、それに -.Bx -の関連ファイルを記述するための日常使用されるインフォーマルな言葉の -サブセットであるマクロとして定義されています。 -マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 -関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの -クロスリファレンスなどを扱います。 -これらの領域の項目は作者とマニュアルページの将来のユーザの両者に -とって価値のあるものです。 -マニュアル間で一貫性を高めることによって将来のドキュメントツールへの -移行が容易になることが望まれます。 -.Pp -マニュアルのエントリは、実際の長さに関わらず、 -また男女の区別をするような意図なしで、 -.Ux -のマニュアルページを通して、 -単純に man ページとして参照されています。 -.Sh さあ、始めよう -通常チュートリアルドキュメントは、そこに示された題材をすぐに使いたい時 -に読むものですので、このドキュメントのユーザはせっかちな人だと仮定して -います。このドキュメントの残りの部分で説明されている題材は以下のような -構成になっています。 -.Bl -enum -offset indent -.It -.Tn "TROFF に特有な表現" -.Bl -tag -width flag -compact -offset indent -.It "マクロの使用方法" -.It "引数に空白文字を指定する" -.It 行末の空白文字 (警告) -.It 特殊文字のエスケープ -.El -.It -.Tn "MAN ページの分析" -.Bl -tag -width flag -compact -offset indent -.It "マニュアルページのテンプレート" -.El -.It -.Tn "タイトルマクロ" -.It -.Tn "マニュアルと一般テキスト領域の紹介" -.Bl -tag -width flag -compact -offset indent -.It "この名前には何が...?" -.It "一般的な構文" -.El -.It -.Tn "マニュアル領域" -.Bl -tag -width flag -compact -offset indent -.It アドレス -.It "作者名" -.It 引数 -.It "コンフィギュレーション宣言 (セクション 4 のみ)" -.It "コマンド修飾子" -.It "定義済みの変数" -.It "errno (セクション 2 のみ)" -.It "環境変数" -.It "関数の引数" -.It "関数の宣言" -.It フラグ -.It "関数 (ライブラリルーチン)" -.It "関数の型" -.\" .It "Header File (including source code)" . -.It "対話的なコマンド" -.It 名前 -.It オプション -.It パス名 -.It 変数 -.It 相互参照 -.El -.It -.Tn "一般テキスト領域" -.Bl -tag -width flag -compact -offset indent -.It "AT&T マクロ" -.It "BSD マクロ" -.It "FreeBSD マクロ" -.It "UNIX マクロ" -.It "囲い/クォートマクロ" -.Bl -tag -width flag -compact -offset indent -.It "カギ括弧 <> によるクォート/囲い" -.It "角括弧 [] によるクォート/囲い" -.It "二重引用符マクロ/囲い" -.It "括弧 () によるクォート/囲い" -.It "一重引用符によるクォート/囲い" -.It "プレフィックスマクロ" -.El -.It "no\-op もしくは通常テキストマクロ" -.It "空白なしマクロ" -.It "セクションの相互参照" -.It "相互参照と引用" -.It "返り値 (セクション 2, 3 のみ)" -.It "商標名 (頭字語とタイプ名)" -.It "拡張引数" -.El -.It -.Tn "ページ構造領域" -.Bl -tag -width flag -compact -offset indent -.It "セクションヘッダ" -.It "段落と行スペース" -.It "キープ" -.It "ディスプレイ" -.It "フォントモード (強調、リテラル、およびシンボリック)" -.It "リストと列" -.El -.It -.Tn "定義済みの文字列" -.It -.Tn "診断" -.It -.Tn "GROFF、TROFF、NROFF を使用したフォーマッティング" -.It -.Tn "バグ" -.El -.ne 7 -.Sh TROFF に特有な表現 -.Nm \-mdoc -パッケージは man ページを記述するプロセスを簡単にすること -を目的としています。 -.Nm \-mdoc -を使うために -.Xr troff 1 -の -ゴタゴタした詳細を学ぶ必要がないのが理想ですが、いくつか片付けるべき -避けられない制限事項があります。また、このパッケージは高速で -.Em ない -ということも予め警告しておきます。 -.Ss マクロの使用方法 -.Xr troff 1 -のように、マクロは -.Ql \&. -(ドット文字) を行頭に置き、 -それに続けて 2 文字からなるマクロの名称を指定することによって呼び出され -ます。引数はマクロの後にスペースで区切って指定することができます。 -行頭にドット文字を指定することによって -.Xr troff 1 -にそれに続く 2 文 -字をマクロ名として解釈するよう指示しています。マクロを起動せずに、ある -文脈の行の先頭に -.Ql \&. -(ドット文字) を置くためには、 -.Ql \&. -(ドット) の前にエスケープシーケンス -.Ql \e& -を指定します。 -.Ql \e& -は文字通りスペース幅が 0 として解釈され、出力には現れません。 -.Pp -一般的に -.Xr troff 1 -マクロは引数を 9 つまで取ることができ、 -それ以上指定された引数は無視されます。 -.Nm \-mdoc -でのほとんどのマクロは 9 つの引数を取ることができ、 -限られた場合にのみ引数は次の行に続けて指定することができます -( -.Sx 拡張引数 -セクションを参照)。 -いくつかのマクロは引用符に囲まれた引数を扱うことができます -(下の -.Sx 引数に空白文字を指定する -セクションを参照)。 -.Pp -.Nm \-mdoc -での一般テキスト領域とマニュアル領域のほとんどのマクロは特別であり、 -その引数のリストは呼び出し可能なマクロ名として -.Em 解析 -されます。 -これは一般テキスト領域またはマニュアル領域のマクロ名に一致し、 -呼び出し可能であると判断された引数リストの中の引数は、 -実行されるか、それが処理される時に呼び出されることを意味しています。 -この場合、引数はマクロ名にも関わらず、 -.Ql \&. -(ドット) で前置されません。 -このようにしてたくさんのマクロを入れ子にすることができます。 -例えばオプションマクロ -.Ql \&.Op -はフラグマクロ -.Ql \&Fl -と -引数マクロ -.Ql \&Ar -を -.Em 呼び出して -、 -オプションのフラグを引数とともに指定することができます。 -.Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent -.It Op Fl s Ar bytes -は -.Li \&.Op \&Fl s \&Ar bytes -によって生成される -.El -.Pp -2 文字からなる文字列をマクロ名として解釈されないようにするには、 -その文字列の前にエスケープシーケンス -.Ql \e& -を指定します。 -.Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent -.It Op \&Fl s \&Ar bytes -は -.Li \&.Op \e&Fl s \e&Ar bytes -によって生成される -.El -.Pp -ここで文字列 -.Ql \&Fl -と -.Ql \&Ar -はマクロとして解釈されていませ -ん。本ドキュメントと関連のクイックリファレンスマニュアル -.Xr mdoc 7 -を通して、引数リストが呼び出し可能な引数として解析されるマクロは「解析 -される」、引数リストから呼び出されることができるマクロは「呼び出し可能」 -と表現します。 -.Nm \-mdoc -のほとんどすべてのマクロは解析されるのです -から、これは技術的には -.Em 不謹慎な -ことですが、常にマクロを「呼び出 -し可能である」とか「他のマクロを呼び出すことができる」と表現するのは面 -倒なことであるため、「解析される」という用語が使われています。 -.Ss 引数に空白文字を指定する -ひとつ以上の空白文字を含む文字列をひとつの引数として指定したい場合がよ -くあります。これは 9 個を越える引数を指定できないという制限に対処したり、 -引数のリストにある特有な配置をおこなうことが必要なマクロに引数を指定す -るような場合に必要となることがあります。 -たとえば、関数マクロ -.Ql \&.Fn -では最初の引数は関数名であり、残りの -引数が関数のパラメータであることが必要です。 -.Tn "ANSI C" -の括弧で -囲まれたパラメータリストにおける関数のパラメータの宣言の規定により、 -各パラメータは最低でも 2 語の文字列となります。 -たとえば -.Fa int foo -のようになります。 -.Pp -空白を含む引数を指定するには 2 通りの方法があります。 -.Em 実装上の注意 : -解析の前に個々の引数を再割り当てすることによって、 -引用符の間に空白を含めて渡すのが最も便利な方法なのですが、 -.Tn AT&T -の -.Xr troff -のすべてのマクロを実装するには処理速度およ -びメモリ使用量の点でかなり高価な方法となります。 -.Xr groff -では高価な処理にはなりませんが、移植性のため、この方法は -空白を含めることが最も必要である以下のマクロだけに限っています。 -.Pp -.Bl -tag -width 4n -offset indent -compact -.It Li \&Cd -コンフィギュレーション宣言 (セクション 4 の -.Sx SYNOPSIS ) -.It Li \&Bl -リスト開始 (幅指定用) -.It Li \&Em -テキスト強調 -.It Li \&Fn -関数 (セクション 2 と 4) -.It Li \&It -リストの項目 -.It Li \&Li -リテラルテキスト -.It Li \&Sy -シンボリックテキスト -.It Li \&%B -書籍のタイトル -.It Li \&%J -定期刊行物のタイトル -.It Li \&%O -参照の追加的な注釈 -.It Li \&%R -報告書のタイトル (参照の中で) -.It Li \&%T -書籍や定期刊行物の中の記事のタイトル -.El -.Pp -空白を含む文字列を渡すのに、固定空白、すなわち詰め込まれない -空白文字 -.Ql \e\ -を使う方法があります。 -すなわち、空白の前にエスケープ文字 -.Ql \e -を指定する方法です。 -この方法はどのマクロでも使うことができますが、1 行を越える長さの -テキストの調整の邪魔になるという副作用があります。 -.Xr Troff -では -固定空白は他の印刷可能文字と同様に扱われ、通常期待されるように、 -そこで文字列を空白や改行で分けることを行なわなくなります。 -この方法は文字列が行の境界をまたがないであろう場合に有用です。 -例えば、 -.Bl -tag -width "fetch(char *str)" -offset indent -.It Fn fetch char\ *str -は -.Ql \&.Fn fetch char\e *str -によって生成される -.It Fn fetch "char *str" -は -.Ql \&.Fn fetch "\*qchar *str\*q" -でも生成される -.El -.Pp -もし -.Ql \e -や引用符が省かれると、 -.Ql \&.Fn -は引数を 3 つ取り、 -その結果は以下のようになります。 -.Pp -.Dl Fn fetch char *str -.Pp -パラメータのリストが改行の境界をまたぐ場合に何がおこるかについては、 -.Sx バグ -のセクションを参照してください。 -.Ss 行末の空白文字 -.Xr Troff -は行末に空白文字があると混乱してしまうことがあります。 -<空白> <行末> の文字シーケンスからすべての -空白文字を取り除くのは良い予防策です。 -どうしても行末に空白文字をおく必要性が出てきた場合は、 -詰め込まれない空白とエスケープ文字 -.Ql \e& -を -使用することによって対応できます。 -例えば、 -.Ql string\e\ \e& -のようにします。 -.Ss 特殊文字のエスケープ -改行 -.Ql \en -のような特殊文字は -.Ql \e -を -.Ql \ee -で置き換える -(すなわち -.Ql \een -とする) ことによって、 -バックスラッシュを残して扱うことができます。 -.Sh MAN ページの分析 -man ページの本文はファイル -.Pa /usr/share/misc/mdoc.template -の基本テンプレートを使って容易に作り上げることができます。 -.Pa /usr/share/examples/mdoc -にはいくつかのサンプルの man ページが収められています。 -.Pp -.Ss マニュアルページのテンプレート -.Bd -literal -offset indent -\&.\e" 以下の項目はすべての man ページで必要な項目です。 -\&.Dd 月 日, 年 -\&.Os オペレーティングシステム [バージョン/リリース] -\&.Dt ドキュメントタイトル [セクション番号] [ボリューム] -\&.Sh NAME -\&.Nm 名前 -\&.Nd 名前の 1 行での説明 -\&.Sh SYNOPSIS -\&.Sh DESCRIPTION -\&.\e" 以下の項目については、必要に応じてコメントをはずして -\&.\e" 使用してください。 -\&.\e" この次の項目はセクション 2, 3, 9 でのみ必要な、関数の -\&.\e" 戻り値です。 -\&.\e" .Sh RETURN VALUE -\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 -\&.\e" .Sh ENVIRONMENT -\&.\e" .Sh FILES -\&.\e" .Sh EXAMPLES -\&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 -\&.\e" ((シェルへの) コマンドの戻り値と -\&.\e" fprintf/stderr の型の診断です。) -\&.\e" .Sh DIAGNOSTICS -\&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、 -\&.\e" エラーハンドリングとシグナルハンドリングです。 -\&.\e" .Sh ERRORS -\&.\e" .Sh SEE ALSO -\&.\e" .Sh CONFORMING TO -\&.\e" .Sh HISTORY -\&.\e" .Sh AUTHORS -\&.\e" .Sh BUGS -.Ed -.Pp -このテンプレートにおける最初の項目はマクロ -.Pq Li \&.Dd , \&.Os , \&.Dt -であり、それぞれドキュメントの日付、 -man ページもしくは題材となっているソースの開発や変更のベースとなった -オペレーティングシステム、 -.Pq Em 大文字で -man ページタイトルをそのページが属するマニュアルの -セクション番号とともに指定したもの、となっています。 -これらのマクロはそのページを識別するものであり、 -後述の -.Sx タイトルマクロ -で議論されています。 -.Pp -テンプレート中の残りの項目はセクションのヘッダ -.Pq Li \&.Sh -であり、 -それらのうち -.Sx NAME -と -.Sx SYNOPSIS -と -.Sx DESCRIPTION -は必須項目です。 -これらのヘッダについては -.Sx マニュアル領域 -を説明した後、 -.Sx ページ構造領域 -で議論されます。 -いくつかのコンテントマクロはページレイアウトマクロの説明に -使われていますので、ページレイアウトマクロの前にコンテントマクロについて -読むことを推奨します。 -.Sh タイトルマクロ -タイトルマクロはページ構造領域の最初の部分ですが、man ページを -前日に書き始めたいという人のために、最初に分けて記述されます。 -3 つのヘッダマクロでドキュメントか man ページのタイトル、 -オペレーティングシステム、および原著の日付を指定します。 -これらのマクロはドキュメントの最初に一度だけ呼び出されるもので、 -ヘッダとフッタを構成するためだけに使用されます。 -.Bl -tag -width 6n -.It Li \&.Dt ドキュメントタイトル セクション番号 [ボリューム] -.\" .Cl -.\" USD UNIX User's Supplementary Documents -.\" .Cl -.\" PS1 UNIX Programmer's Supplementary Documents -ドキュメントタイトルは man ページの主題であり、troff の制限により -.Tn 大文字 -でなければいけません。 -セクション番号は 1,\ ...,\ 8 となり、これが指定されると -ボリュームタイトルを省略してもかまいません。 -では、次のセクション番号と解説について後述します: -ボリュームタイトルには任意のものか次のいずれかを指定します。 -.Pp -.Bl -column SMM -offset indent -compact -.It Li "AMD UNIX" Ancestral Manual Documents -.It Li "SMM UNIX" System Manager's Manual -.It Li "URM UNIX" Reference Manual -.It Li "PRM UNIX" Programmer's Manual -.El -.Pp -.\" .Cl -.\" MMI UNIX Manual Master Index -.\" .Cl -.\" CON UNIX Contributed Software Manual -.\" .Cl -.\" LOC UNIX Local Manual -デフォルトのボリュームラベルは -セクション 1, 6, 7 では -.Li URM -、 -セクション 8 では -.Li SMM -、 -セクション 2, 3, 4, 5 では -.Li PRM -となっています。 -.It Li \&.Os オペレーティングシステム リリース番号 -オペレーティングシステムの名称には一般的な頭字語 (略称) -を使わなければなりません。 -例えば、 -.Tn BSD -や -.Tn FreeBSD -や -.Tn ATT -といったものです。 -リリース番号は、例えば4.3, 4.3+Tahoe, V.3, V.4 というような各システム -での標準のリリースの命名法を使用します。 -認識されない引数はページのフッタ中に記述された通りに表示されます。 -以下にフッタの典型的な例を示します。 -.Pp -.Dl \&.Os 4.3BSD -.Pp -や -.Dl \&.Os FreeBSD 2.2 -.Pp -やローカルで生成されたセット -.Pp -.Dl \&.Os CS Department -.Pp -Berkeley でのデフォルトである、引数なしの -.Ql \&.Os -はサイト固有の -ファイル -.Pa /usr/share/tmac/mdoc/doc-common -において -.Tn BSD -として定義されています。 -これは実際には -.Tn LOCAL -として定義すべきです。 -.Ql \&.Os -マクロがない場合は、ページの左下角は見にくくなるであろうことに -注意してください。 -.It Li \&.Dd 月 日, 年 -日付は次のようにフォーマルな形式で記述しなければなりません。 -.Pp -.ne 5 -.Dl January 25, 1989 -.El -.Sh マニュアルと一般テキスト領域の紹介 -.Ss この名前には何が...? -マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを -説明するために使われている日常のインフォーマルな言葉から取られています。 -この言葉と少し違うバリエーションのものが man ページを書く上での -3 つの異なった面を記述するのに使われます。 -最初のものは -.Nm \-mdoc -マクロ使用方法の説明です。 -2 番目のものは -.Nm \-mdoc -マクロを用いた -.Ux -コマンドの記述です。 -3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 -これはすなわち、man ページのテキスト中でのコマンドの議論となります。 -.Pp -最初のケースでは、 -.Xr troff 1 -マクロはそれ自身、 -一種のコマンドとなっています。 -troff コマンドは一般的に以下のような形式をとります。 -.Bd -filled -offset indent -\&.Va argument1 argument2 ... argument9 -.Ed -.Pp -.Ql \&.Va -はマクロコマンドもしくは要求を示しており、 -それに続くものはすべて引数として処理されます。 -2 番目のケースでは、コンテントマクロを使用する -.Ux -コマンドの記述がもう少し含まれます。 -典型的な -.Sx SYNOPSIS -コマンド行はこのように表示されます。 -.Bd -filled -offset indent -.Nm filter -.Op Fl flag -.Ar infile outfile -.Ed -.Pp -ここで -.Nm filter -はコマンド名であり、 -角括弧で囲まれた文字列 -.Fl flag -は -.Em フラグ -引数で、 -これは角括弧で囲むことによってオプションであることを示しています。 -.Nm \-mdoc -の用語では -.Ar infile -と -.Ar outfile -は -.Em 引数 -と称されています。 -上の例のフォーマットを行なったマクロは以下のものです。 -.Bd -literal -offset indent -\&.Nm filter -\&.Op \&Fl flag -\&.Ar infile outfile -.Ed -.Pp -3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 -さらに細かい記述が追加されるでしょう。 -上の例での引数 -.Ar infile -と -.Ar outfile -は -.Em オペランド -もしくは -.Em ファイル引数 -として参照されます。 -コマンド行の引数のリストはかなり長くなる場合もあります。 -.Bl -tag -width make -offset indent -.It Nm make -.Op Fl eiknqrstv -.Op Fl D Ar variable -.Op Fl d Ar flags -.Op Fl f Ar makefile -.Bk -words -.Op Fl I Ar directory -.Ek -.Op Fl j Ar max_jobs -.Op Ar variable=value -.Bk -words -.Op Ar target ... -.Ek -.El -.Pp -ここではコマンド -.Nm make -について記述しており、 -.Ar makefile -をフラグ -.Fl f -の引数としています。またオプションの -ファイルオペランド -.Ar target -についても議論しています。 -言葉での説明では、こういった詳細な記述が混乱を防いでくれますが、 -.Nm \-mdoc -パッケージにはフラグ -.Em への -引数のための -マクロがありません。その代わりに -.Ar target -のような -オペランドやファイル引数に使われる引数マクロ -.Ql \&Ar -が -.Ar variable -のようなフラグへの引数にも使われます。 -この make コマンド行は以下の指定により生成されています。 -.Bd -literal -offset indent -\&.Nm make -\&.Op Fl eiknqrstv -\&.Op Fl D Ar variable -\&.Op Fl d Ar flags -\&.Op Fl f Ar makefile -\&.Op Fl I Ar directory -\&.Op Fl j Ar max_jobs -\&.Op Ar variable=value -\&.Bk -words -\&.Op Ar target ... -\&.Ek -.Ed -.Pp -マクロ -.Ql \&.Bk -と -.Ql \&.Ek -は -.Sx キープ -セクションにおいて解説されています。 -.Ss 一般的な構文 -マニュアル領域と一般テキスト領域のマクロはいくつかの小さな違い -があるものの、同様な構文を使用しています。 -.Ql \&.Ar , -.Ql \&.Fl , -.Ql \&.Nm , -.Ql \&.Pa -は引数なしで呼び出された時のみ異なります。 -.Ql \&.Fn -と -.Ql \&.Xr -は引数のリストの順番が異なります。 -マクロ -.Ql \&.Op -と -.Ql \&.Fn -には入れ子の制限があります。 -すべてのコンテントマクロが句読点を認識し、正しく扱うには、 -各々の句読点文字が先行する空白で分離されている必要があります。 -以下のように指定されている場合、 -.Pp -.Dl \&.Li sptr, ptr), -.Pp -結果は以下のようになります。 -.Pp -.Dl Li sptr, ptr), -.Pp -ここでは句読点は認識されずすべての出力はリテラルなフォントで行なわれて -います。句読点が空白文字で区切られている場合、 -.Pp -.Dl \&.Li "sptr , ptr ) ," -.Pp -結果は以下のようになります。 -.Pp -.Dl Li sptr , ptr ) , -.Pp -今度は句読点が認識され、出力はデフォルトのフォントで行なわれ -リテラルフォントの文字列と区別されています。 -.Pp -.Ql \e& -でエスケープすることによって句読点文字の特別な意味を -取り除くことができます。 -.Xr troff -はマクロ言語としての限界から、 -数学、論理学、もしくは以下の引用符の集合のメンバを含んだ文字列を -表現するのは困難です。 -.Bd -literal -offset indent-two -\&{+,\-,/,*,\&%,<,>,<=,>=,=,==,&,`,',"} -.Ed -.Pp -.Xr troff -が文字によって示唆されている操作もしくは評価を実際に -行なっていることが、その問題の原因となっています。 -.Ql \e& -でこれらをエスケープすることによって、 -これらの文字が予期せずに評価されることを防止することができます。 -最初のコンテントマクロは、以下の -.Ql \&.Ad -において、 -その典型的な構文が示されています。 -.Sh マニュアル領域 -.Ss アドレスマクロ -アドレスマクロは addr1[,addr2[,addr3]] の形式からなる -アドレスを識別します。 -.Pp -.Dl 使い方: .Ad address ... \*(Pu -.Bl -tag -width ".Ad f1 , f2 , f3 :" -compact -offset 14n -.It Li \&.Ad addr1 -.Ad addr1 -.It Li \&.Ad addr1\ . -.Ad addr1 . -.It Li \&.Ad addr1\ , file2 -.Ad addr1 , file2 -.It Li \&.Ad f1\ , f2\ , f3\ : -.Ad f1 , f2 , f3 : -.It Li \&.Ad addr\ )\ )\ , -.Ad addr ) ), -.El -.Pp -.Ql \&.Ad -を引数なしで呼び出すのはエラーです。 -.Ql \&.Ad -は他のマクロから呼び出し可能で解析されます。 -.Ss 作者名 -.Ql \&.An -マクロは文書化されている項目の作者の名前、もしくは実際の -マニュアルページの作者の名前を指定するために使われます。 -名前の情報の後のすべての引数は句読点として扱われます。 -.Pp -.Dl 使い方: .An author_name \*(Pu -.Bl -tag -width ".An Joe Author ) ) ," -compact -offset 14n -.It Li \&.An Joe\ Author -.An Joe Author -.It Li \&.An Joe\ Author\ , -.An Joe\ Author , -.It Li \&.An Joe\ Author\ \&Aq\ nobody@FreeBSD.ORG -.An Joe Author Aq nobody@FreeBSD.ORG -.It Li \&.An Joe\ Author\ )\ )\ , -.An Joe Author ) ), -.El -.Pp -.Ql \&.An -マクロは解析され、呼び出し可能です。 -.Ql \&.An -を引数なしで呼び出すのはエラーです。 -.Ss 引数マクロ -引数マクロ -.Ql \&.Ar -はコマンド行の引数を参照する際に -使用することができます。 -.Pp -.Dl 使い方: .Ar argument ... \*(Pu -.Bl -tag -width ".Ar file1 file2" -compact -offset 15n -.It Li \&.Ar -.Ar -.It Li \&.Ar file1 -.Ar file1 -.It Li \&.Ar file1\ . -.Ar file1 . -.It Li \&.Ar file1 file2 -.Ar file1 file2 -.It Li \&.Ar f1 f2 f3\ : -.Ar f1 f2 f3 : -.It Li \&.Ar file\ )\ )\ , -.Ar file ) ), -.El -.Pp -.Ql \&.Ar -が引数なしで呼び出されると、 -.Ql Ar -として扱われます。 -.Ql \&.Ar -マクロは解析され、呼び出し可能です。 -.Ss コンフィギュレーション宣言 (セクション 4 のみ) -.Ql \&.Cd -マクロはセクション 4 のマニュアルにおいて、 -デバイスインタフェースの -.Xr config 8 -による宣言の説明に使われます。 -このマクロは引用符 (二重引用符のみ) で囲まれた引数を取ることができます。 -.Pp -.Bl -tag -width "device le0 at scode?" -offset indent -.It Cd "device le0 at scode?" -は -.Ql ".Cd device le0 at scode?" -によって生成されます。 -.El -.Ss コマンド修飾子 -コマンド修飾子は -.Ql \&.Cm -マクロがすべての引数の前にダッシュ文字を -付けないことを除いて、 -.Ql \&.Fl -(フラグ) コマンドと同じです。 -伝統的にフラグはダッシュ文字に引き続いて指定されますが、 -いくつかのコマンドやコマンドのサブセットはこの方法を使っていません。 -コマンド修飾子はエディタコマンドのような対話的なコマンドでも -指定されることがあります。 -.Sx フラグ -のセクションを参照してください。 -.Ss 定義済みの変数 -インクルードファイルにおいて定義されている変数は -.Ql \&.Dv -マクロによって指定します。 -.Pp -.Dl 使い方: .Dv defined_variable ... \*(Pu -.Bl -tag -width ".Dv MAXHOSTNAMELEN" -compact -offset 14n -.It Li ".Dv MAXHOSTNAMELEN" -.Dv MAXHOSTNAMELEN -.It Li ".Dv TIOCGPGRP )" -.Dv TIOCGPGRP ) -.El -.Pp -.Ql \&.Dv -を引数なしで呼び出すのはエラーです。 -.Ql \&.Dv -は解析され、呼び出し可能です。 -.Ss errno (セクション 2 のみ) -エラーマクロ -.Ql \&.Er -はセクション 2 のライブラリルーチンにおける -エラーの戻り値を指定します。 -下記の 2 番目の例では -.Ql \&.Er -は一般テキスト領域マクロである -.Ql \&.Bq -(これはセクション 2 のマニュアルページで使われています) -と共に使われています。 -.Pp -.Dl 使い方: .Er ERRNOTYPE ... \*(Pu -.Bl -tag -width ".Bq Er ENOTDIR" -compact -offset 14n -.It Li \&.Er ENOENT -.Er ENOENT -.It Li \&.Er ENOENT\ )\ ; -.Er ENOENT ) ; -.It Li \&.Bq \&Er ENOTDIR -.Bq Er ENOTDIR -.El -.Pp -.Ql \&.Er -を引数なしで呼び出すのはエラーです。 -.Ql \&.Er -は解析され、呼び出し可能です。 -.Ss 環境変数 -.Ql \&.Ev -マクロは環境変数を指定します。 -.Pp -.Dl 使い方: .Ev argument ... \*(Pu -.Bl -tag -width ".Ev PRINTER ) ) ," -compact -offset 14n -.It Li \&.Ev DISPLAY -.Ev DISPLAY -.It Li \&.Ev PATH\ . -.Ev PATH . -.It Li \&.Ev PRINTER\ )\ )\ , -.Ev PRINTER ) ), -.El -.Pp -.Ql \&.Ev -を引数なしで呼び出すのはエラーです。 -.Ql \&.Ev -は解析され、呼び出し可能です。 -.Ss 関数の引数 -.Ql \&.Fa -マクロは関数の引数 (パラメータ) を -マニュアルの -.Sx SYNOPSIS -のセクション外、 -もしくは -.Sx SYNOPSIS -のセクション内で参照する場合に使われます。 -パラメータのリストが -.Ql \&.Fn -マクロでは長すぎる場合は、 -囲って使うマクロ -.Ql \&.Fo -と -.Ql \&.Fc -を使わなければなりません。 -.Ql \&.Fa -は構造体のメンバを参照する場合にも使われます。 -.Pp -.Dl 使い方: .Fa function_argument ... \*(Pu -.Bl -tag -width ".Fa d_namlen\ )\ )\ ," -compact -offset 14n -.It Li \&.Fa d_namlen\ )\ )\ , -.Fa d_namlen ) ), -.It Li \&.Fa iov_len -.Fa iov_len -.El -.Pp -.Ql \&.Fa -を引数なしで呼び出すのはエラーです。 -.Ql \&.Fa -は解析され、呼び出し可能です。 -.Ss 関数の宣言 -.Ql \&.Fd -マクロは -.Sx SYNOPSIS -セクションにおいて、 -セクション 2 または 3 の関数の説明で使われます。 -.Ql \&.Fd -マクロから他のマクロを呼び出すことはなく、 -他のマクロから呼び出すこともできません。 -.Pp -.Dl 使い方: .Fd include_file (or defined variable) -.Pp -.Sx SYNOPSIS -セクションにおいて、関数がすでに示されていて改行が -入っていない場合、 -.Ql \&.Fd -によって改行が挿入されます。これによって -前の関数呼び出しと次の関数の宣言の間に最適な行間が設定されます。 -.Ss フラグ -.Ql \&.Fl -マクロはコマンド行のフラグを扱います。 -フラグの前にはダッシュ -.Ql \- -が挿入されます。 -対話的なコマンドのフラグでは、ダッシュがフラグの前には挿入されませんが、 -.Ql \&.Cm -(コマンド修飾子) マクロは、ダッシュを付けないことを除き、 -同じ働きをします。 -.Pp -.Dl 使い方: .Fl argument ... \*(Pu -.Bl -tag -width ".Fl \-s \-t \-v" -compact -offset 14n -.It Li \&.Fl -.Fl -.It Li \&.Fl cfv -.Fl cfv -.It Li \&.Fl cfv\ . -.Fl cfv . -.It Li \&.Fl s v t -.Fl s v t -.It Li \&.Fl -\ , -.Fl - , -.It Li \&.Fl xyz\ )\ , -.Fl xyz ) , -.El -.Pp -引数なしで -.Ql \&.Fl -マクロを指定すると、 -標準入力/標準出力を意味するダッシュとなります。 -ひとつのダッシュに -.Ql \&.Fl -マクロを使用すると、 -2 つダッシュとなることに注意して下さい。 -.Ql \&.Fl -マクロは解析され、呼び出し可能です。 -.Ss 関数 (ライブラリルーチン) -.Ql \&.Fn -マクロは ANSI C の記法を規範としています。 -.Bd -literal -使い方: .Fn [type] function [[type] parameters ... \*(Pu] -.Ed -.Bl -tag -width ".Fn _int align_ _const * char *sptrsxx" -compact -.It Li "\&.Fn getchar" -.Fn getchar -.It Li "\&.Fn strlen ) ," -.Fn strlen ) , -.It Li \&.Fn "\*qint align\*q" "\*qconst * char *sptrs\*q" , -.Fn "int align" "const * char *sptrs" , -.El -.Pp -.Ql \&.Fn -を引数を指定せずに呼び出すのはエラーです。 -.Ql \&.Fn -マクロは解析され、呼び出し可能です。 -他のマクロの呼び出しは -.Ql \&.Fn -の呼び出しの終了を意味することに -注意して下さい (閉じ括弧がその点で挿入されます)。 -.Pp -9 個以上のパラメータをとる関数 (これは滅多にないことですが) では、 -.Ql \&.Fo -マクロ (関数オープン) と -.Ql \&.Fc -マクロ -(関数クローズ) を -.Ql \&.Fa -(関数引数) と共に使って、 -この制限を回避することができます。 -以下にその例を示します。 -.Bd -literal -offset indent -\&.Fo "int res_mkquery" -\&.Fa "int op" -\&.Fa "char *dname" -\&.Fa "int class" -\&.Fa "int type" -\&.Fa "char *data" -\&.Fa "int datalen" -\&.Fa "struct rrec *newrr" -\&.Fa "char *buf" -\&.Fa "int buflen" -\&.Fc -.Ed -.Pp -これは以下のような結果になります。 -.Bd -filled -offset indent -.Fo "int res_mkquery" -.Fa "int op" -.Fa "char *dname" -.Fa "int class" -.Fa "int type" -.Fa "char *data" -.Fa "int datalen" -.Fa "struct rrec *newrr" -.Fa "char *buf" -.Fa "int buflen" -.Fc -.Ed -.Pp -.Ql \&.Fo -と -.Ql \&.Fc -マクロは解析され、呼び出し可能です。 -.Sx SYNOPSIS -セクションでは、関数は常に行の先頭から開始されます。 -.Sx SYNOPSIS -セクションにおいて、複数の関数が示されており、 -関数の型が示されない場合、改行が挿入され、現在の関数名とその前の関数名 -の間に最適な改行量が設定されます。現在、 -.Ql \&.Fn -は troff の行の長さ -に対して、語の境界をチェックしておらず、予期しない場所で改行が挿入され -てしまうことがあります。これは近い将来修正されるでしょう。 -.Ss 関数の型 -このマクロは -.Sx SYNOPSIS -セクションで使うものです。 -man ページ中の他の場所でも問題なく使うことができますが、 -セクション 2 と 3 の -.Sx SYNOPSIS -セクションでカーネルの通常の形式で -関数の型を示すことがこのマクロの目的です (このマクロは関数名が次の行に -置かれるように改行を挿入します)。 -.Pp -.Dl 使い方: .Ft type ... \*(Pu -.Bl -tag -width "\&.Ft struct stat" -offset 14n -compact -.It Li \&.Ft struct stat -.Ft struct stat -.El -.Pp -.Ql \&.Ft -は他のマクロからは呼び出せません。 -.Ss 対話的なコマンド -.Ql \&.Ic -マクロは対話的なコマンド、もしくは内部コマンドを指定します。 -.Pp -.Dl 使い方: .Ic argument ... \*(Pu -.Bl -tag -width ".Ic setenv , unsetenvxx" -compact -offset 14n -.It Li \&.Ic :wq -.Ic :wq -.It Li \&.Ic do while {...} -.Ic do while {...} -.It Li \&.Ic setenv\ , unsetenv -.Ic setenv , unsetenv -.El -.Pp -.Ql \&.Ic -を引数なしで呼び出すのはエラーです。 -.Ql \&.Ic -マクロは解析され、呼び出し可能です。 -.Ss 名前マクロ -.Ql \&.Nm -マクロは文書のタイトルやサブジェクト名を指定するために -使われます。このマクロは最初に呼び出された時の引数を覚えておくという -特性を持っており、それは常にそのページのサブジェクト名であるべきです。 -引数なしで呼び出されると -.Ql \&.Nm -は作者の作業を少なくするためだけの -目的で、最初の名称を出力します。注意: セクション 2 または 3 のドキュメント -の関数名は -.Sx NAME -セクションにおいて -.Ql \&.Nm -で指定され、 -.Sx SYNOPSIS -セクションや残りのセクションでは -.Ql \&.Fn -で指定され -ます。 -.Xr csh 1 -での -.Ql while -コマンドのキーワードのような対話的 -なコマンドでは -.Ql \&.Ic -マクロを使うべきです。 -.Ql \&.Ic -は -ほとんど -.Ql \&.Nm -と同一ですが、それが最初に使われたときの引数を -記憶することはできません。 -.Pp -.Dl 使い方: .Nm argument ... \*(Pu -.Bl -tag -width ".Nm mdoc.sample" -compact -offset 14n -.It Li \&.Nm mdoc.sample -.Nm mdoc.sample -.It Li \&.Nm \e-mdoc -.Nm \-mdoc . -.It Li \&.Nm foo\ )\ )\ , -.Nm foo ) ), -.It Li \&.Nm -.Nm -.El -.Pp -.Ql \&.Nm -マクロは解析され、呼び出し可能です。 -.Ss オプション -.Ql \&.Op -マクロはコマンド行の残りのすべての引数をオプションである -ことを示す角括弧で囲み、末尾の句読点は角括弧の外に置きます。 -.Ql \&.Oc -マクロと -.Ql \&.Oo -マクロは複数行に渡って使うことが -できます。 -.Pp -.Dl 使い方: .Op options ... \*(Pu -.Bl -tag -width ".Op Fl c Ar objfil Op Ar corfil ," -compact -offset indent -.It Li \&.Op -.Op -.It Li ".Op Fl k" -.Op Fl k -.It Li ".Op Fl k ) ." -.Op Fl k ) . -.It Li ".Op Fl k Ar kookfile" -.Op Fl k Ar kookfile -.It Li ".Op Fl k Ar kookfile ," -.Op Fl k Ar kookfile , -.It Li ".Op Ar objfil Op Ar corfil" -.Op Ar objfil Op Ar corfil -.It Li ".Op Fl c Ar objfil Op Ar corfil ," -.Op Fl c Ar objfil Op Ar corfil , -.It Li \&.Op word1 word2 -.Op word1 word2 -.El -.Pp -.Ql \&.Oc -マクロと -.Ql \&.Oo -マクロ: -.Bd -literal -offset indent -\&.Oo -\&.Op \&Fl k \&Ar kilobytes -\&.Op \&Fl i \&Ar interval -\&.Op \&Fl c \&Ar count -\&.Oc -.Ed -.Pp -生成結果: -.Oo -.Op Fl k Ar kilobytes -.Op Fl i Ar interval -.Op Fl c Ar count -.Oc -.Pp -.Ql \&.Op -と -.Ql \&.Oc -と -.Ql \&.Oo -マクロは -解析され、呼び出し可能です。 -.Ss パス名 -.Ql \&.Pa -マクロはパス名もしくはファイル名をフォーマットします。 -.Pp -.Dl 使い方: .Pa pathname \*(Pu -.Bl -tag -width ".Pa /tmp/fooXXXXX ) ." -compact -offset 14n -.It Li \&.Pa /usr/share -.Pa /usr/share -.It Li \&.Pa /tmp/fooXXXXX\ )\ . -.Pa /tmp/fooXXXXX ) . -.El -.Pp -.Ql \&.Pa -マクロは解析され、呼び出し可能です。 -.Ss 変数 -一般的な変数への参照です。 -.Pp -.Dl 使い方: .Va variable ... \*(Pu -.Bl -tag -width ".Va char s ] ) ) ," -compact -offset 14n -.It Li \&.Va count -.Va count -.It Li \&.Va settimer , -.Va settimer , -.It Li \&.Va int\ *prt\ )\ : -.Va int\ *prt ) : -.It Li \&.Va char\ s\ ]\ )\ )\ , -.Va char\ s ] )), -.El -.Pp -.Ql \&.Va -を引数なしで呼び出すのはエラーです。 -.Ql \&.Va -マクロは解析され、呼び出し可能です。 -.Ss マニュアルページの相互参照 -.Ql \&.Xr -マクロは最初の引数にマニュアルページの名称を取り、 -もしあれば次の引数にセクションのページ数か句読点を取ります。 -すべての残りの引数は句読点と見なされます。 -.Pp -.Dl 使い方: .Xr man_page [1,...,8] \*(Pu -.Bl -tag -width ".Xr mdoc 7 ) ) ," -compact -offset 14n -.It Li \&.Xr mdoc -.Xr mdoc -.It Li \&.Xr mdoc\ , -.Xr mdoc , -.It Li \&.Xr mdoc 7 -.Xr mdoc 7 -.It Li \&.Xr mdoc 7\ )\ )\ , -.Xr mdoc 7 ) ), -.El -.Pp -.Ql \&.Xr -マクロは解析され、呼び出し可能です。 -.Ql \&.Xr -を引数なしで呼び出すのはエラーです。 -.Sh 一般テキスト領域 -.Ss AT&T マクロ -.Bd -literal -offset indent -compact -使い方: .At [v6 | v7 | 32v | V.1 | V.4] ... \*(Pu -.Ed -.Bl -tag -width ".At v6 ) ," -compact -offset 14n -.It Li .At -.At -.It Li ".At v6 ." -.At v6 . -.El -.Pp -.Ql \&.At -マクロは解析 -.Em されず -、呼び出し -.Em 不可 -です。 -最大 2 つまでの引数を取ることができます。 -.Ss BSD マクロ -.Dl 使い方: .Bx [Version/release] ... \*(Pu -.Bl -tag -width ".Bx 4.3 ) ," -compact -offset 14n -.It Li .Bx -.Bx -.It Li ".Bx 4.3 ." -.Bx 4.3 . -.El -.Pp -.Ql \&.Bx -マクロは解析され、呼び出し可能です。 -.Ss FreeBSD マクロ -.Bd -literal -offset indent -compact -使い方: .Fx Version.release ... \*(Pu -.Ed -.Bl -tag -width ".Fx 2.2 ) ," -compact -offset 14n -.It Li ".Fx 2.2 ." -.Fx 2.2 . -.El -.Pp -.Ql \&.Fx -マクロは解析 -.Em されず -、呼び出し -.Em 不可 -です。 -最大 2 つまでの引数を取ることができます。 -.Ss UNIX マクロ -.Dl 使い方: .Ux ... \*(Pu -.Bl -tag -width ".Ux 4.3 ) ," -compact -offset 14n -.It Li .Ux -.Ux -.El -.Pp -.Ql \&.Ux -マクロは解析され、呼び出し可能です。 -.Ss 囲い/クォートマクロ -囲いの概念はクォートと似たものです。 -1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている -オブジェクトを指します。 -クォートと囲いという用語はこの文書を通して同じ意味で使われます。 -ほとんどの 1 行の囲いマクロはクォート (quote) のヒントとするために、 -小文字の -.Ql q -で終了しますが、いくつかの例外があります。 -各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、 -それぞれ小文字の -.Ql o -と -.Ql c -で終了します。 -これらは 1 行以上のテキストに渡って使うことができますが、 -入れ子にする場合に制限があります。 -その中では 1 行形式のクォートマクロのみ使用することができます。 -.Pp -.ne 5 -.Bd -filled -offset indent -.Bl -column "quote " "close " "open " "Enclose Stringx(in XX) " XXstringXX -.Em "クォート 終了 開始 機能 結果" -\&.Aq .Ac .Ao カギ括弧による囲い <文字列> -\&.Bq .Bc .Bo 角括弧による囲い [文字列] -\&.Dq .Dc .Do 二重引用符 ``文字列'' - .Ec .Eo 囲い文字列 (XXによる) XX文字列XX -\&.Pq .Pc .Po 括弧による囲い (文字列) -\&.Ql クォートされたリテラル `st' or 文字列 -\&.Qq .Qc .Qo まっすぐな二重引用符 "文字列" -\&.Sq .Sc .So 一重引用符 `文字列' -.El -.Ed -.Pp -下記の不正なマクロを除き、すべてのクォートマクロは解析され、呼び出し -可能です。句読点がひとつずつ置かれていて、スペースで区切られていれば、 -すべてのクォートマクロは句読点を適切に扱います。クォートマクロは開く -句読点、閉じる句読点(訳注: 句読点には括弧なども含みます) を調べ、 -それが囲む文字列より前か後かを決めます。これによって、ある程度の入れ子 -が可能になっています。 -.Bl -tag -width xxx,xxxx -.It Li \&.Ec , \&.Eo -これらのマクロは各々開始および終了の文字列を最初の引数に取ります。 -.It Li \&.Ql -リテラルをクォートするマクロは -.Xr troff -では -.Xr nroff -と異なっ -た処理を行ないます。 -.Xr nroff -でフォーマットされた場合、クォート指定 -されたリテラルは常にクォートされます。 -.Xr troff -でフォーマットされた -場合は、アイテムの幅が固定幅文字 3 つ分より狭い場合にのみクォートされま -す。これはリテラル (固定幅) のフォントの変更があまり気づかれないもので -あるため、短い文字列を良く見えるようにするためです。 -.It Li \&.Pf -プレフィックスマクロは呼び出し可能ではありませんが、解析されます。 -.Bl -tag -width (namexx -offset indent -.It Li ".Pf ( Fa name2" -は -.Pf ( Fa name2 -となります。 -.El -.Pp -.Ql \&.Ns -(空白なし) マクロはサフィックス機能と同様の作用があります。 -.El -.Pp -.ne 4 -クォートの例: -.Bl -tag -width ".Aq Pa ctype.h ) ,xxxxxxxx" -compact -offset indent -.It Li \&.Aq -.Aq -.It Li \&.Aq \&Ar ctype.h\ )\ , -.Aq Ar ctype.h ) , -.It Li \&.Bq -.Bq -.It Li \&.Bq \&Em Greek \&, French \&. -.Bq Em Greek , French . -.It Li \&.Dq -.Dq -.It Li ".Dq string abc ." -.Dq string abc . -.It Li ".Dq \'^[A-Z]\'" -.Dq \'^[A-Z]\' -.It Li "\&.Ql man mdoc" -.Ql man mdoc -.It Li \&.Qq -.Qq -.It Li "\&.Qq string ) ," -.Qq string ) , -.It Li "\&.Qq string Ns )," -.Qq string Ns ), -.It Li \&.Sq -.Sq -.It Li "\&.Sq string" -.Sq string -.El -.Pp -囲いマクロの入れ子についての良い例については、 -オプションマクロ -.Ql \&.Op -を参照してください。 -このマクロは上でリストされているような囲いマクロと同じベースの上に -作られています。 -拡張引数リストマクロ -.Ql \&.Xo -と -.Ql \&.Xc -もまた同じルーチンを -ベースに作られており、 -.Nm \-mdoc -マクロの使い方の非常に良い例と -なっています。 -.Ss no\-op もしくは通常テキストマクロ -.Ql \&.No -マクロはマクロコマンド行において、コンテントマクロの構文 -形式に従うが、フォーマットされては -.Em ならない -単語をハックする -ものです。 -.Ss 空白なしマクロ -.Ql \&.Ns -マクロはマクロ間での不要な空白を除去します。 -これはフラグと引数の間に空白を含まない古いスタイルの引数リストを使う -場合に便利です。 -.Bl -tag -width ".Op Fl I Ns Ar directoryxx" -offset indent -.It Li ".Op Fl I Ns Ar directory" -は -.Op Fl I Ns Ar directory -という結果になります。 -.El -.Pp -注: -.Ql \&.Ns -マクロは他のマクロ名が続かなければ、 -スペースを除去したあとに -.Ql \&.No -マクロを常に起動します。 -.Ql \&.Ns -マクロは解析され、呼び出し可能です。 -.Ss セクションの相互参照 -.Ql \&.Sx -マクロは同一文書内でのセクションのヘッダへの参照を -指定します。これは解析され、呼び出し可能です。 -.Pp -.Bl -tag -width "Li \&.Sx FILES" -offset 14n -.It Li \&.Sx FILES -.Sx FILES -.El -.Ss 相互参照と引用 -以下のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 -これらのマクロは、せいぜい参照スタイルの参考文献のサブセットを手動で -作成しやすくする程度です。 -.Pp -.Bl -tag -width 6n -offset indent -compact -.It Li .Rs -参考文献の開始。 -改行を挿入してから、参考文献の終了マクロが読み込まれるまで -参考文献の情報を収集する。 -.It Li .Re -参考文献の終了。参考文献が表示される。 -.It Li .%A -参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定する。 -.It Li .%B -書籍のタイトル。 -.It Li .\&%C -都市/場所。 -.It Li .\&%D -日付。 -.It Li .%J -定期刊行物の名称。 -.It Li .%N -発行番号。 -.It Li .%O -追加の情報。 -.It Li .%P -ページ番号。 -.It Li .%R -報告書の名称。 -.It Li .%T -記事のタイトル。 -.It Li .%V -巻数。 -.El -.Pp -.Ql % -で始まるマクロは呼び出し不可能ですが、 -呼び出し側に戻る商標名マクロだけは解析されます。 -(現時点では予期できないことです。) -商標名のみ解析されるのは -.Xr troff Ns / Ns Xr ditroff -の出力を -きれいにするためです。 -.Ss 返り値 -.Ql \&.Rv -マクロは -.Sx RETURN VALUE -のセクション -で使うテキストを生成します。 -.Pp -.Dl 使い方: .Rv [-std function] -.Pp -.Ql \&.Rv -std atexit -は以下のテキストを生成します。 -.Pp -.\" fake chapter 3 to avoid error message from Rv -.ds cH 3 -.\" and back to 7 again -.Rv -std atexit -.ds cH 7 -.Pp -.Fl std -オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 -.Ss 商標名 (頭文字とタイプ名) -商標名マクロは一般的に長さが 2 文字を越えるすべてが大文字の単語用に -使われる小さな大文字のマクロです。 -.Pp -.Dl 使い方: .Tn symbol ... \*(Pu -.Bl -tag -width ".Tn ASCII" -compact -offset 14n -.It Li \&.Tn DEC -.Tn DEC -.It Li \&.Tn ASCII -.Tn ASCII -.El -.Pp -.Ql \&.Tn -マクロは解析され、他のマクロから呼び出し可能です。 -.Ss 拡張引数 -.Ql \&.Xo -と -.Ql \&.Xc -マクロでマクロの境界における引数リストを -拡張することができます。引数リストは -.Ql \&.Op -のようなすべての引数 -が 1 行中に指定されていることを前提としているマクロの中では行に渡って -拡張することができません。 -.Pp -以下に空白モードマクロをスペーシングをオフにするために -使った -.Ql \&.Xo -での例を示します。 -.Bd -literal -offset indent -\&.Sm off -\&.It Xo Sy I Ar operation -\&.No \een Ar count No \een -\&.Xc -\&.Sm on -.Ed -.Pp -これは以下のような結果になります。 -.Bd -filled -offset indent -.Bl -tag -width flag -compact -.Sm off -.It Xo Sy I Ar operation -.No \en Ar count No \en -.Xc -.Sm on -.El -.Ed -.Pp -例をもうひとつ: -.Bd -literal -offset indent -\&.Sm off -\&.It Cm S No \&/ Ar old_pattern Xo -\&.No \&/ Ar new_pattern -\&.No \&/ Op Cm g -\&.Xc -\&.Sm on -.Ed -.Pp -これは以下のような結果になります。 -.Bd -filled -offset indent -.Bl -tag -width flag -compact -.Sm off -.It Cm S No \&/ Ar old_pattern Xo -.No \&/ Ar new_pattern -.No \&/ Op Cm g -.Xc -.Sm on -.El -.Ed -.Pp -囲いマクロを使った -.Ql \&.Xo -の他の例: -変数の値をテストして下さい。 -.Bd -literal -offset indent -\&.It Xo -\&.Ic .ifndef -\&.Oo \e&! Oc Ns Ar variable -\&.Op Ar operator variable ... -\&.Xc -.Ed -.Pp -これは以下のような結果になります。 -.Bd -filled -offset indent -.Bl -tag -width flag -compact -.It Xo -.Ic .ifndef -.Oo \&! Oc Ns Ar variable -.Op Ar operator variable ... -.Xc -.El -.Ed -.Pp -上のすべての例では -.Ql \&.It -(リスト項目) マクロの -引数リストに -.Ql \&.Xo -マクロを使用しています。 -拡張マクロが使われることはあまりありません。使われるとすれば、リスト -項目の引数リストを拡張する場合です。残念なことに、これが拡張マクロが -最も懲り性であるところでもあります。最初の 2 つの例では、スペーシングは -オフになっています。3 番目では、ある箇所にはスペーシングを入れることが -望ましいのですが、出力全体に入れたいわけではありません。そのような状況 -でこれらのマクロが適切に動作するためには、 -.Ql \&.Xo -と -.Ql \&.Xc -マクロが 3 番目の例にあるように指定されていることを確認してください。 -.Ql \&.Xo -マクロが置かれた -.Ql \&.It -の引数リストに他のものが -置かれると、スペーシングがどうなるかは予測不可能です。 -この場合、 -.Ql \&.Ns -(空白なしマクロ) は行中の最初もしくは最後の -マクロに指定してはいけません。現在 -.Bx -でリリースされている 900 の -マニュアルページ (実際のページでは約 1500 ページ) のうち 15 の -マニュアルページでのみしか -.Ql \&.Xo -が使われていません。 -.Sh ページ構造のドメイン -.Ss セクションヘッダ -以下にリストされている、最初の 3 つのセクションヘッダマクロ -.Ql \&.Sh -はすべての man ページで必須のものです。 -残りのセクションヘッダはマニュアルページの作者の裁量において、 -推奨されているものです。 -.Ql \&.Sh -マクロは 9 つまでの引数を取ることができます。 -これは解析されますが、呼び出し不可能です。 -.Bl -tag -width ".Sh SYNOPSIS" -.It \&.Sh 名前 -.Sx 名前 -(NAME) マクロは必須のものです。 -これが指定されていないと、ヘッダとフッタ、それにデフォルトの -ページレイアウトが設定されず、結果はかなり好ましくないものになるでしょう。 -.Sx NAME -セクションは最低 3 つの項目からなります。 -最初のものは名称マクロ -.Ql \&.Nm -であり、man ページのサブジェクトと -なります。2 番目のものは名称説明マクロ -.Ql \&.Nd -であり、 -サブジェクト名を 3 つめの項目、すなわちその名称の説明と分離します。 -説明に割り当てられるスペースは小さいものですので、 -できるだけ簡潔で分かりやすいものでなければなりません。 -.It \&.Sh 書式 -.Sx 書式 -(SYNOPSIS) セクションはその man ページのサブジェクト -となっている項目の典型的な使用法を説明します。 -必須のマクロは -.Ql ".Nm" , -.Ql ".Cd" , -.Ql ".Fn" -のいずれかです。 -(他には -.Ql ".Fo" , -.Ql ".Fc" , -.Ql ".Fd" , -.Ql ".Ft" -の -マクロも必要な場合があります。) -関数名マクロ -.Ql ".Fn" -はセクション 2 と 3 のマニュアルページに -おいて必須のもので、コマンドと一般名称マクロ -.Ql \&.Nm -は -セクション 1, 5, 6, 7, 8 で必須の項目です。 -セクション 4 のマニュアルでは -.Ql ".Nm" -か -.Ql ".Fd" -、もしくは -コンフィギュレーションデバイス使用法マクロ -.Ql ".Cd" -が必要です。 -その他のいくつかのマクロが下に示すような書式行を生成するために必要な -ことがあります。 -.Pp -.Bd -filled -offset indent -.Nm cat -.Op Fl benstuv -.Op Fl -.Ar -.Ed -.Pp -以下のマクロが使われています。 -.Pp -.Dl \&.Nm cat -.Dl \&.Op \&Fl benstuv -.Dl \&.Op \&Fl -.Dl \&.Ar -.Pp -.Sy 注 : -マクロ -.Ql \&.Op , -.Ql \&.Fl , -.Ql \&.Ar -は -パイプの文字 -.Ql \*(Ba -を認識し、下記のようなコマンド行 -.Pp -.Dl ".Op Fl a | Fl b" -.Pp -はうまくいきません。 -.Xr troff -は通常 \*(Ba を特別のオペレータとして -解釈します。この他で \*(Ba が使える場合については -.Sx 定義済みの文字列 -セクションを参照して下さい。 -.It \&.Sh 説明 -.Sx 説明 -(DESCRIPTION) セクションでの最初のテキストは、 -ほとんどの場合ではそのコマンド、関数もしくはファイルについての短い -段落で、オプションの構文リストとそれぞれの説明がそれに続きます。 -そのようなリストを作成するには -リスト開始マクロ -.Ql \&.Bl -、リスト項目マクロ -.Ql \&.It -、 -リスト終了マクロ -.Ql \&.El -を使います -(後述の -.Sx リストと列 -セクションを参照)。 -.El -.Pp -以下の -.Ql \&.Sh -のセクションヘッダはマニュアルページの好ましい -レイアウトの一部であり、一貫性を保つために適切に使われなければ -なりません。これらは使われる順番にリストされています。 -.Bl -tag -width SYNOPSIS -.It \&.Sh 環境変数 -.Sx 環境変数 -(ENVIRONMENT) セクションは関連する環境変数を明らかにし、 -それらの振舞いや使用方法を示します。 -.It \&.Sh 例 -使用例、実行例を作成するには様々な方法があります。 -詳細については、下の -.Sx 例 -のセクションを参照してください。 -.It \&.Sh ファイル -man ページのサブジェクトによって使用されるか生成されるファイルで、 -.Sx ファイル -のセクション中でマクロ -.Ql \&.Pa -によってリスト -されます。 -.It \&.Sh 関連項目 -.Sx 関連項目 -(SEE ALSO) セクションには、その man ページの題材に -関する資料への参照と他の関連する man ページへのクロスリファレンスが -記載されます。クロスリファレンスは -.Ql \&.Xr -マクロによって指定 -されます。 -.Sx 関連項目 -セクションでのクロスリファレンスは -セクション番号順に並べ、セクション中ではカンマで区切って -アルファベット順に並べなければなりません。以下に例を示します。 -.Pp -.Xr ls 1 , -.Xr ps 1 , -.Xr group 5 , -.Xr passwd 5 . -.Pp -ここで参考スタイルである -.Xr refer 1 -は適応されていません。 -.It \&.Sh 準拠 -コマンドやライブラリ関数やファイルが、 -.St -p1003.2 -や -.St -ansiC -のような特定の実装によるものであれば、ここで記述します。 -コマンドがどの規格にも基づいていなければ、その歴史は -.Sx 歴史 -(HISTORY)のセクションで説明されなければなりません。 -.It \&.Sh 歴史 -特定の規格に基づいていないコマンドは、 -このセクションでその歴史の概要が説明されるべきです。 -.It \&.Sh 作者 -クレジットが必要であれば、ここで入れます。 -.It \&.Sh 診断 -コマンドからの診断はこのセクションに入れます。 -.It \&.Sh エラー -特定のエラーハンドリング、特にライブラリ関数 -(man ページのセクション 2, 3, 9) でのエラーハンドリングは、ここで説明します。 -.Ql \&.Er -マクロが errno を記述するために使われます。 -.It \&.Sh バグ -あきらかな問題はここで記述します... -.El -.Pp -ユーザ指定の -.Ql \&.Sh -セクションを追加することができます。 -たとえば、このセクションは以下のように設定されています。 -.Bd -literal -offset 14n -\&.Sh ページ構造領域 -.Ed -.Ss 段落と行スペース -.Bl -tag -width 6n -.It \&.Pp -.Ql \&.Pp -段落コマンドは必要な場合に行スペースを指定するために使われます。 -このマクロは、 -.Ql \&.Sh -マクロや -.Ql \&.Ss -マクロの後や、 -.Ql \&.Bl -マクロの前では必要ありません。 -( -.Ql \&.Bl -マクロは -compact フラグが指定されていなければ、 -縦方向の距離を宣言します)。 -.El -.\" This worked with version one, need to redo for version three -.\" .Pp -.\" .Ds I -.\" .Cw (ax+bx+c) \ is\ produced\ by\ \& -.\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& -.\" .Cl Cx \t\t -.\" .Li \&.Cx\ ( -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Va ax -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Sy \+ -.\" .Cx -.\" .Cl Cx \&(\& -.\" .Va ax -.\" .Cx + -.\" .Va by -.\" .Cx + -.\" .Va c ) -.\" .Cx \t -.\" .Em is produced by -.\" .Cx \t -.\" .Li \&.Va by -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Sy \+ -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Va c ) -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Cx -.\" .Cx -.\" .Cw -.\" .De -.\" .Pp -.\" This example shows the same equation in a different format. -.\" The spaces -.\" around the -.\" .Li \&+ -.\" signs were forced with -.\" .Li \e : -.\" .Pp -.\" .Ds I -.\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& -.\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& -.\" .Cl Cx \t\t -.\" .Li \&.Cx\ ( -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Va a -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Sy x -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Cx \e\ +\e\ \e& -.\" .Cx -.\" .Cl Cx \&(\& -.\" .Va a -.\" .Sy x -.\" .Cx \ +\ \& -.\" .Va b -.\" .Sy y -.\" .Cx \ +\ \& -.\" .Va c ) -.\" .Cx \t -.\" .Em is produced by -.\" .Cl Cx \t\t -.\" .Li \&.Va b -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Sy y -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Cx \e\ +\e\ \e& -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Va c ) -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Cx -.\" .Cx -.\" .Cw -.\" .De -.\" .Pp -.\" The incantation below was -.\" lifted from the -.\" .Xr adb 1 -.\" manual page: -.\" .Pp -.\" .Ds I -.\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by -.\" .Cl Cx \t\t -.\" .Li \&.Cx Op Sy ?/ -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Nm m -.\" .Cx -.\" .Cl Cx Op Sy ?/ -.\" .Nm m -.\" .Ad \ b1 e1 f1 -.\" .Op Sy ?/ -.\" .Cx \t -.\" .Em is produced by -.\" .Cx \t -.\" .Li \&.Ar \e\ b1 e1 f1 -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Op Sy ?/ -.\" .Cx -.\" .Cl Cx \t\t -.\" .Li \&.Cx -.\" .Cx -.\" .Cw -.\" .De -.\" .Pp -.Ss キープ -現在実装されているキープは単語に対するものだけです。 -それらは -.Ql \&.Bk -(キープ開始) マクロと -.Ql \&.Ek -(キープ終了) -マクロです。 -.Ql \&.Bk -に指定できるオプションは -.Fl words -のみで -あり、これはオプションの途中で改行が入らないようにするのに便利です。 -コマンド行の引数を生成する例 ( -.Sx この名前には何が...? -セクションを -参照) において、キープは -.Xr nroff -がフラグと引数を別の行に分けない -ように使われています。 (実際には、オプションマクロがこの目的で使われて -いましたが、オプションが行中にわたって散らばってしまうと一般的に見栄え -が悪くなるという理由により -.Xr troff -で右揃えのマージンを強制的に -行なう (宗教的な) 決定がなされてから、オプションマクロをこの目的で -使わないようになりました。キープマクロについてはもっと機能を向上する -作業が必要であり、 -.Fl line -オプションを追加していく必要があります。) -.Ss 例やディスプレイ -ディスプレイには 5 つのタイプがあります。 -即席 1 行インデントディスプレイ -.Ql \&.D1 -、 -即席 1 行リテラルディスプレイ -.Ql \&.Dl -、それに -ディスプレイ開始マクロ -.Ql \&.Bd -と -ディスプレイ終了マクロ -.Ql \&.Ed -を使用する -リテラルブロック、フィルブロックおよび凸凹ブロックです。 -.Pp -.Bl -tag -width \&.Dlxx -.It Li \&.D1 -(D-いち) インデントされたテキストを 1 行表示します。 -このマクロは解析されますが、呼び出し不可能です。 -.Pp -.Dl Fl ldghfstru -.Pp -これは次の指定で生成されます: -.Li \&.Dl Fl ldghfstru -.It Li \&.Dl -(D-エル) インデントされた -.Em リテラル -テキストを 1 行表示します。 -.Ql \&.Dl -マクロの例は本ファイルの中に渡って使われています。 -これによって 1 行のテキストのインデント (表示) が可能になります。 -このマクロは解析され、他のマクロを認識することができますが、 -デフォルトのフォントは固定幅 (リテラル) にセットされています。 -しかしながら、呼び出しは不可能です。 -.Pp -.Dl % ls -ldg /usr/local/bin -.Pp -これは次の指定で生成されます: -.Li \&.Dl % ls -ldg /usr/local/bin . -.It Li \&.Bd -ディスプレイ開始です。 -.Ql \&.Bd -によるディスプレイは -.Ql \&.Ed -マクロによって -終了しなければなりません。 -ディスプレイはディスプレイ内およびリスト内で入れ子にすることができます。 -.Ql \&.Bd -は以下の書式をとります。 -.Pp -.Dl ".Bd ディスプレイタイプ [-offset オフセット値] [-compact]" -.Pp -ディスプレイタイプは以下の 4 つのタイプの内の 1 つでなければならず、 -インデント -.Ql \&.Bd -のオフセット値を指定することができます。 -.Pp -.Bl -tag -width "file file_name " -compact -.It Fl ragged -テキストのブロックをタイプされた通りに表示します。 -右マージン (と左マージン) のエッジは左に不揃いに寄せられます。 -.It Fl filled -フィル (フォーマット) されたブロックを表示します。 -テキストのブロックがフォーマットされます -(エッジは左非揃えではなく、フィルされます)。 -.It Fl literal -リテラルなブロックを表示します。ソースコードや、単純にタブもしくは -スペースで整えられたテキストで便利です。 -.It Fl file Ar ファイル名 -.Fl file -フラグに続く名称のファイルが読み込まれ、表示されます。表示 -はリテラルなモードで行われ、タブは定幅文字 8 つ分に固定されますが、 -ファイル中のすべての -.Xr troff/ Ns Nm \-mdoc -コマンドは解釈されます。 -.It Fl offset Ar string -.Fl offset -が以下の文字列のいずれかとともに指定されていると、 -その文字列は次のテキストのブロックのインデントのレベルを示すものとして -解釈されます。 -.Pp -.Bl -tag -width indent-two -compact -.It Ar left -ブロックを現在の左マージンに揃えます。 -これは -.Ql \&.Bd -のデフォルトのモードです。 -.It Ar center -ブロックを中央揃えにします。残念ながら現時点では、 -単にブロックの左側を仮想的な中央マージンに揃えるだけです。 -.It Ar indent -デフォルトのインデント値もしくはタブの分だけインデントします。 -デフォルトのインデント値はディスプレイ -.Ql \&.D1 -でも使われ、 -これら 2 つのタイプのディスプレイを使った場合、 -行が揃うことが保証されています。 -このインデントは通常 6n か約 2/3 インチ (定幅文字 6 つ分) です。 -.It Ar indent-two -デフォルトのインデント値の 2 倍分インデントします。 -.It Ar right -これはブロックをページの右端から約 2 インチ離して -.Em 左 -揃えします。このマクロはちゃんと動作する必要があるのですが、 -.Xr troff -ではまったくちゃんと動作してくれていません。 -.El -.El -.It .Ed -ディスプレイ終了。 -.El -.Ss フォントモード -マニュアルページのテキストの見栄えを変更するマクロは 5 つあります。 -.Bl -tag -width \&.Emxx -.It \&.Em -テキストは -.Ql \&.Em -マクロで強調することができます。 -強調の場合、通常イタリック体のフォントが使われます。 -.Pp -.Dl 使い方: .Em argument ... \*(Pu -.Bl -tag -width ".Em vide infra ) ) ," -compact -offset 14n -.It Li ".Em does not" -.Em does not -.It Li ".Em exceed 1024 ." -.Em exceed 1024 . -.It Li ".Em vide infra ) ) ," -.Em vide infra ) ), -.El -.Pp -.Ql \&.Em -マクロは解析され、呼び出し可能です。 -.Ql \&.Em -を引数なしで呼び出すのはエラーです。 -.It \&.Li -リテラルマクロ -.Ql \&.Li -は特殊文字や変数定数、その他タイプされた -通りに表示する必要があるものに使用することができます。 -.Pp -.Dl 使い方: .Li argument ... \*(Pu -.Bl -tag -width ".Li cntrl-D ) ," -compact -offset 14n -.It Li \&.Li \een -.Li \en -.It Li \&.Li M1 M2 M3\ ; -.Li M1 M2 M3 ; -.It Li \&.Li cntrl-D\ )\ , -.Li cntrl-D ) , -.It Li \&.Li 1024\ ... -.Li 1024 ... -.El -.Pp -.Ql \&.Li -マクロは解析され、呼び出し可能です。 -.It \&.Sy -シンボリック体強調マクロはシンボリックの意味でも -伝統的な英語の使いかたにおいても、 -通常はボールドマクロとなっています。 -.Pp -.Dl 使い方: .Sy symbol ... \*(Pu -.Bl -tag -width ".Sy Important Noticex" -compact -offset 14n -.It Li \&.Sy Important Notice -.Sy Important Notice -.El -.Pp -.Ql \&.Sy -マクロは解析され、呼び出し可能です。 -.Ql \&.Sy -の引数は引用符で囲むことができます。 -.It Li \&.Bf -フォントモード開始。 -フォントモード -.Ql \&.Bf -は -.Ql \&.Ef -マクロで -終了しなければなりません。 -フォントモードは他のフォントモードと入れ子にすることができます。 -.Ql \&.Bf -は次の構文を取ります。 -.Pp -.Dl ".Bf font-mode" -.Pp -font-mode は以下の 3 つのタイプのうちのいずれかでなければなりません。 -.Pp -.Bl -tag -width "file file_name " -compact -.It Sy \&Em | Fl emphasis -強調モード。 -.Ql \&.Em -マクロがテキストブロック全体に使われているのと同様です。 -.It Sy \&Li | Fl literal -リテラルモード。 -.Ql \&.Li -マクロがテキストブロック全体に使われているのと同様です。 -.It Sy \&Sy | Fl symbolic -シンボリックモード。 -.Ql \&.Sy -マクロがテキストブロック全体に使われているのと同様です。 -.El -.It .Ef -フォントモードの終了。 -.El -.Ss タグ付きリストと列 -リスト開始マクロ -.Ql ".Bl" -で開始されるリストにはいくつかのタイプが -あります。リスト中の項目は項目マクロ -.Ql ".It" -で指定され、各リスト -は -.Ql ".El" -マクロで終了しなければなりません。リストはリスト自身や -ディスプレイの中で入れ子にすることができます。列はリストの中で使うこと -ができますが、リストが列の中で使えるかどうかは検証されていません。 -.Pp -さらに、タグの幅、リストのオフセット、コンパクトさ(項目間の空白行が -許されているかどうか) のような、いくつかのリストの属性を指定することが -できます。本ドキュメントのほとんどはタグ -.Pq Fl tag -スタイルリストで -フォーマットされています。各種リストタイプは、調子を変えるために -オーバーハング -.Pq Fl ohang -でリストしました。 -このリストのタイプは -.Tn TeX -のユーザに非常に人気のあるものですが、 -tag リストで構成されたページを何ページも読んだ後には幾分変に見える -でしょう。以下のリストタイプを -.Ql ".Bl" -で使うことができます。 -.Pp -.Bl -ohang -compact -.It Fl bullet -.It Fl item -.It Fl enum -これら 3 つは最も単純なリストのタイプです。 -一旦 -.Ql ".Bl" -マクロが与えられると、リスト中の項目は -単に -.Ql ".It" -マクロによってのみ構成される行で指定されます。 -例として、簡単な列挙リストのソーステキストは、このようになります。 -.Bd -literal -offset indent-two -\&.Bl -enum -compact -\&.It -\&ひとつめはここ。 -\&.It -\&そしてふたつめ。 -\&.It -\&最後にみっつめはここ。 -\&.El -.Ed -.Pp -これらの結果は以下のようになります。 -.Pp -.Bl -enum -offset indent-two -compact -.It -ひとつめはここ。 -.It -そしてふたつめ。 -.It -最後にみっつめはここ。 -.El -.Pp -簡単な bullet リスト構成の例を示します。 -.Bd -literal -offset indent-two -\&.Bl -bullet -compact -\&.It -\&ひとつめの bullet。 -\&.It -\&これはふたつめの bullet。 -\&.El -.Ed -.Pp -これは以下のような結果になります。 -.Bl -bullet -offset indent-two -compact -.It -ひとつめの bullet。 -.It -これはふたつめの bullet。 -.El -.Pp -.It Fl tag -.It Fl diag -.It Fl hang -.It Fl ohang -.It Fl inset -これらのリストタイプは -.Ql \&.It -マクロによって指定されている引数 -からラベルを生成します。 -そして、 -.Em inset -では、次のテキストへそのラベルを挿入します。 -.Em hang -では、次のテキストをラベルの位置へインデントします。 -.Em ohang -(オーバーハング) では、次のテキストをラベルの位置に -ぶら下げ、インデントしません。 -.Em tag -では、タグつきテキストの形式にします。ちなみに上のリストは -.Ql Fl ohang -リストタイプで構成されています。 -.Ql \&.It -マクロは inset, hang, tag のリストタイプでのみ解析され、 -呼び出し不可能です。以下に inset ラベルの例を示します。 -.Bl -inset -offset indent -.It Em Tag -tag リスト (tag 段落とも呼ばれる) は、 -Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 -.It Em Diag -診断リストはセクション 4 の診断リストを生成するもので、 -呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 -.It Em Hang -hang ラベルは好みの問題です。 -.It Em Ohang -ohang ラベルはスペースに制限がある時に便利です。 -.It Em Inset -inset ラベルは段落のブロックを制御するのに便利で、 -.Nm \-mdoc -マニュアルを他の形式に変換する時に役立ちます。 -.El -.Pp -上の例を生成したソーステキストはこうなっています。 -.Bd -literal -offset indent -\&.Bl -inset -offset indent -\&.It Em Tag -\&tag リスト (tag 段落とも呼ばれる) は、 -\&Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 -\&.It Em Diag -\&診断リストはセクション 4 の診断リストを生成するもので、 -\&呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 -\&.It Em Hang -\&hang ラベルは好みの問題です。 -\&.It Em Ohang -\&ohang ラベルはスペースに制限がある時に便利です。 -\&.It Em Inset -\&inset ラベルは段落のブロックを制御するのに便利で、 -\&.Nm \-mdoc -\&マニュアルを他の形式に変換する時に役立ちます。 -\&.El -.Ed -.Pp -以下は 2 つの項目を持つ hang リストです。 -.Bl -hang -offset indent -.It Em Hanged -ラベルがラベルの幅より小さいときには、 -ラベルは tag リストと同じようになります。 -.It Em 長い hang リストラベル -は、tag 段落のラベルとは異なり、 -段落の中に埋め込まれます。 -.El -.Pp -これを生成している元のテキストは以下の通りです。 -.Bd -literal -offset indent -\&.Bl -hang -offset indent -\&.It Em Hanged -\&ラベルがラベルの幅より小さいときには、 -\&ラベルは tag リストと同じようになります。 -\&.It Em 長い hang リストラベル -\&は、tag 段落のラベルとは異なり、 -\&段落の中に埋め込まれます。 -\&.El -.Ed -.Pp -タグ幅を制御するためのオプションの幅指定を使ったタグつきリストは -以下の通りです。 -.Pp -.Bl -tag -width PAGEIN -compact -offset indent -.It SL -プロセスが sleep している時間 (ブロックされた秒数) -.It PAGEIN -そのプロセスによるコアにロードされていないページへの参照による -ディスク -.Tn I/O -の回数 -.It UID -プロセスの所有者の数字表記によるユーザID -.It PPID -親プロセスの数字表記によるID、プロセスの優先度 -(割り込み不可のウエイトであるときには非正値) -.El -.Pp -The raw text: -.Bd -literal -offset indent -\&.Bl -tag -width "PAGEIN" -compact -offset indent -\&.It SL -\&プロセスが sleep している時間 (ブロックされた秒数) -\&.It PAGEIN -\&そのプロセスによるコアにロードされていないページへの参照によるディスク -\&.Tn I/O -\&の回数 -\&.It UID -\&プロセスの所有者の数字表記によるユーザID -\&.It PPID -\&親プロセスの数字表記によるID、プロセスの優先度 -\&(割り込み不可のウエイトであるときには非正値) -\&.El -.Ed -.Pp -幅指定として以下のものを使うことができます。 -.Bl -tag -width Ar -offset indent -.It Fl width Ar \&Fl -そのフラグでのデフォルトの幅を指定します。すべての呼び出し可能なマクロ -は各々デフォルトの幅の値を持っています。現在、 -.Ql \&.Fl -の値は定幅 -文字 10 個分、もしくは約 5/6 インチとなっています。 -.It Fl width Ar 24n -定幅文字 24 個分の幅、もしくは約 2 インチの幅をセットします。 -これが正しく動作するには -.Ql n -が必ず必要となります。 -.It Fl width Ar ENAMETOOLONG -指定された文字列の固定長に幅をセットします。 -.It Fl width Ar "\*qint mkfifo\*q" -これも、指定された文字列の固定長に幅をセットします。 -.El -.El -.Pp -タグつきリストタイプで幅が指定されていないと、 -.Ql \&.It -が最初に -起動された時に適した幅を決定することが試みられます。 -.Ql ".It" -の -最初の引数が呼び出し可能なマクロであれば、そのマクロのデフォルトの幅が -そのマクロ名が幅として指定されたように使用されます。しかしながら、その -リスト中に他の項目が別の呼び出し可能なマクロ名で与えられていると、 -新しく入れ子となったリストとして処理されます。 -.Sh 定義済みの文字列 -以下の文字列はあらかじめ定義されているものであり、troff の文字列解釈 -シーケンス -.Ql \&\e*(xx -もしくは -.Ql \&\e*x -を前に伴って使われます。 -ここで、 -.Em xx -もしくは -.Em x -は定義されている文字列の名称です。 -解釈シーケンスはテキストのどこでも使うことができます。 -.Pp -.Bl -column "String " "Nroff " "Troff " -offset indent -.It Sy "文字列 Nroff Troff" -.It Li <= Ta \&<\&= Ta \*(<= -.It Li >= Ta \&>\&= Ta \*(>= -.It Li Rq Ta '' Ta \*(Rq -.It Li Lq Ta `` Ta \*(Lq -.It Li ua Ta ^ Ta \*(ua -.It Li aa Ta ' Ta \*(aa -.It Li ga Ta \` Ta \*(ga -.\" .It Li "sL" Ta ` Ta \*(sL -.\" .It Li "sR" Ta ' Ta \*(sR -.It Li q Ta \(dq Ta \*q -.It Li Pi Ta pi Ta \*(Pi -.It Li Ne Ta != Ta \*(Ne -.It Li Le Ta <= Ta \*(Le -.It Li Ge Ta >= Ta \*(Ge -.It Li Lt Ta < Ta \*(Gt -.It Li Gt Ta > Ta \*(Lt -.It Li Pm Ta +- Ta \*(Pm -.It Li If Ta infinity Ta \*(If -.It Li Na Ta \fINaN\fP Ta \*(Na -.It Li Ba Ta \&| Ta \*(Ba -.El -.Pp -.Sy 注 : -.Ql q -の名称がつけられている文字列は、 -1 文字であるため -.Ql \e*q -と書かなければなりません。 -.Sh 診断 -.Nm \-mdoc -は限られたデバッグ機能しか持っていませんが、 -引数名と内部レジスタやマクロ名との衝突のような -潜在的なエラーを検出するのに役立ちます。 (A って何?) -レジスタは -.Xr troff -での演算用記憶クラスであり、 -1 文字か 2 文字の名称がついています。 -.Xr troff -と -.Xr ditroff -での -.Nm \-mdoc -のすべての内部レジスタは -.Ql \&Ar -のように2 文字からなる <大文字><小文字> の形式か、 -.Ql \&aR -のように <小文字><大文字> の形式か、 -.Ql \&C\&1 -のように <大文字もしくは小文字><数字> -の形式を取ります。 -さらに混乱することに、 -.Xr troff -はそれ自身の内部レジスタを持ち、 -それらすべては小文字 2 文字か、ドットに文字もしくはメタ文字が続く形式を取ります。 -紹介例の 1 つに、エスケープシーケンス -.Ql \e& -でマクロ名を -解釈させない方法がありました。これは内部レジスタ名にも有効です。 -.Pp -.\" Every callable macro name has a corresponding register -.\" of the same name (). -.\" There are also specific registers which have -.\" been used for stacks and arrays and are listed in the -.\" .Sx Appendix . -.\" .Bd -ragged -offset 4n -.\" [A-Z][a-z] registers corresponding to macro names (example ``Ar'') -.\" [a-z][A-Z] registers corresponding to macro names (example ``aR'') -.\" C[0-9] argument types (example C1) -.\" O[0-9] offset stack (displays) -.\" h[0-9] horizontal spacing stack (lists) -.\" o[0-9] offset (stack) (lists) -.\" t[0-9] tag stack (lists) -.\" v[0-9] vertical spacing stack (lists) -.\" w[0-9] width tag/label stack -.\" .Ed -.\" .Pp -エスケープされていないレジスタ名が引数リストに指定されると、 -予期できない振舞いとなります。 -一般的には、テキストのかなり大きな部分が出力されるべきところに -出力されないとか、リストのタグのような小さな文字列が消えてしまうとか、 -引数リストの中の引数のタイプが間違って解釈されるとかいうことが、起こり得ます。 -きっとあなたのお母さんは、あなたにこんな面倒なことを覚えるようにとは -考えていないでしょう。 -そこで、与えられた引数が有効か無効かを判断する方法があります。 - -そんなときには、 -.Ql \&.Db -(デバッグ) マクロによってほとんどのマクロ -の引数リストがどう解釈されるかを表示することができます。 -.Ql \&.Pp -(段落) マクロのようなマクロはデバッグ情報を含んでいません。呼び出し可能 -なマクロはすべてデバッグ情報を含んでおり、疑いがある場合はいつでも -.Ql \&.Db -マクロをオンにすることを強くお勧めします。 -.Pp -.Dl 使い方: \&.Db [on | off] -.Pp -以下の例では、問題が故意に発生するようにされた部分の上と下で -デバッグマクロが指定されています -(フラグ引数 -.Ql \&aC -は正しく動作するためには -.Ql \e&aC -でなければなりません)。 -.Bd -literal -offset indent -\&.Db on -\&.Op Fl aC Ar file ) -\&.Db off -.Ed -.Pp -この結果の出力は以下の通りです。 -.Bd -literal -offset indent -DEBUGGING ON -DEBUG(argv) MACRO: `.Op' Line #: 2 - Argc: 1 Argv: `Fl' Length: 2 - Space: `' Class: Executable - Argc: 2 Argv: `aC' Length: 2 - Space: `' Class: Executable - Argc: 3 Argv: `Ar' Length: 2 - Space: `' Class: Executable - Argc: 4 Argv: `file' Length: 4 - Space: ` ' Class: String - Argc: 5 Argv: `)' Length: 1 - Space: ` ' Class: Closing Punctuation or suffix - MACRO REQUEST: .Op Fl aC Ar file ) -DEBUGGING OFF -.Ed -.Pp -この情報の最初の行では呼び出されているマクロの名称が出力されています。 -ここでは -.Ql \&.Op -とそれが現れた行番号が表示されています。 -複数のファイルが処理されている場合 -(特にテキストが他のファイルからインクルードされている場合)、 -行番号は正しくないでしょう。 -ファイルが 1 つだけの場合には正しい行番号が出力されます。 -2 番目の行では引数の個数と引数 -.Pq Ql \&Fl -とその長さが -出力されています。引数の長さが 2 文字であれば、 -その引数が実行可能 -(ゼロでない値を含むすべてのレジスタは実行可能なように見えます) -かどうかテストされます。 -3 番目の行ではそのクラスで指定されているスペースとクラスタイプが -出力されています。 -ここでの問題は引数 aC が実行不可能でなければならないことです。 -クラスの 4 つのタイプは文字列、実行可能、閉じる句読点、開く句読点です。 -最後の行では引数リスト全体が読み込まれた通りに表示されています。 -次の例では問題の原因となっている -.Ql \&aC -がエスケープされています。 -.Bd -literal -offset indent -\&.Db on -\&.Em An escaped \e&aC -\&.Db off -.Ed -.Bd -literal -offset indent -DEBUGGING ON -DEBUG(fargv) MACRO: `.Em' Line #: 2 - Argc: 1 Argv: `An' Length: 2 - Space: ` ' Class: String - Argc: 2 Argv: `escaped' Length: 7 - Space: ` ' Class: String - Argc: 3 Argv: `aC' Length: 2 - Space: ` ' Class: String - MACRO REQUEST: .Em An escaped &aC -DEBUGGING OFF -.Ed -.Pp -.Ql \e& -シーケンスは長さが 0 となるために -引数 -.Ql \e&aC -は先の例と同様に長さ 2 と表示されています。 -しかし、 -.Ql \e&aC -という名称のレジスタが見つからず、 -タイプは文字列と判断されています。 -.Pp -この他の診断は使用方法を報告するものであり、 -それ自身が説明を含んでいます。 -.Sh GROFF, TROFF, NROFF -.Nm \-mdoc -パッケージは -.Xr groff -との互換モードは -必要ではありません。 -.Pp -このパッケージでは改ページと、 -.Xr nroff -で改ページ時に通常挿入 -されるヘッダとフッタは禁止されており、マニュアルをオンラインで効率良く -見ることができるようになっています。現在の所、 -.Fl T Ns Ar ascii -が -指定された -.Xr groff -はページ内容の無いファイル末の残りの部分まで -出力します。改ページを禁止することによって -.Xr nroff -による出力は -ハードコピーには適さないものとなっています。サイト依存のスタイル -ファイル -.Pa /usr/src/share/tmac/doc-nroff -において 0 にセットする -ことができる -.Ql \&cR -の名称を持つレジスタが古いスタイルの振る舞い -を実現するために用意されています。 -.Sh ファイル -.Bl -tag -width /usr/share/man0/template.doc -compact -.It Pa /usr/share/tmac/doc.tmac -マニュアルマクロパッケージ -.It Pa /usr/share/misc/mdoc.template -man ページを書くためのテンプレート -.It Pa /usr/share/examples/mdoc/* -man ページのいくつかの例 -.El -.Sh バグ -フラグ引き数のダッシュが意図せずハイフンにより折り返しになるバグは -まだ修正されておらず、 -.Sx DESCRIPTION -セクションでときどき -意図しない動作 (ハイフンでの改行) が起こることがある。 -.Pp -あらかじめ定義されている文字列は文書において宣言されていません。 -.Pp -セクション 3f はヘッダルーチンには追加されていません。 -.Pp -.Ql \&.Nm -フォントは -.Sx 名前 -セクションにおいて -変更されるべきです。 -.Pp -.Ql \&.Fn -は分割されるのを防止するために、行の長さが短すぎないか -どうかをチェックする必要があります。ときどき、最後の括弧が分割される -ことがあり、行がフィルモードであるときには全くおかしな結果になること -があります。 -.Pp -nroff 使用時に、(最初のヘッダとフッタ以外の) 改ページ時のヘッダと -フッタの挿入を行わないようにするのに使用される命令によって、 -ときどき見るに耐えない部分的な行詰め (や空行) がページの末尾に -発生する場合がある。 -.Pp -.\" Note what happens if the parameter list overlaps a newline -.\" boundary. -.\" to make sure a line boundary is crossed: -.\" .Bd -literal -.\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] -.\" .Ed -.\" .Pp -.\" produces, nudge nudge, -.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , -.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , -.\" nudge -.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] . -.\" .Pp -.\" If double quotes are used, for example: -.\" .Bd -literal -.\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q -.\" .Ed -.\" .Pp -.\" produces, nudge nudge, -.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , -.\" nudge -.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , -.\" nudge -.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" . -.\" .Pp -.\" Not a pretty sight... -.\" In a paragraph, a long parameter containing unpaddable spaces as -.\" in the former example will cause -.\" .Xr troff -.\" to break the line and spread -.\" the remaining words out. -.\" The latter example will adjust nicely to -.\" justified margins, but may break in between an argument and its -.\" declaration. -.\" In -.\" .Xr nroff -.\" the right margin adjustment is normally ragged and the problem is -.\" not as severe. -リストマクロとディスプレイマクロはキープを行いませんが、 -これはキープを行うべきです。 -.Sh 関連項目 -.Xr man 1 , -.Xr troff 1 , -.Xr groff_mdoc 7 , -.Xr mdoc 7 -.Sh この文書について -この man ページは Linux -.Em man-pages -プロジェクトのリリース 3.41 の -一部である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man-pages/ に書かれている。 diff --git a/draft/man7/operator.7 b/draft/man7/operator.7 index bb747079..9d9ee070 100644 --- a/draft/man7/operator.7 +++ b/draft/man7/operator.7 @@ -1,6 +1,7 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" +.\" %%%LICENSE_START(BSD_3_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -24,6 +25,7 @@ .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. +.\" %%%LICENSE_END .\" .\" @(#)operator.7 8.1 (Berkeley) 6/9/93 .\" @@ -66,6 +68,6 @@ operator \- C 言語の演算子の優先順位と評価の順序 .fi .\" .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/path_resolution.7 b/draft/man7/path_resolution.7 index c607bbd9..7b8909b0 100644 --- a/draft/man7/path_resolution.7 +++ b/draft/man7/path_resolution.7 @@ -1,5 +1,6 @@ .\" Copyright (C) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -140,6 +142,6 @@ Linux では、スーパーユーザ権限が複数のケーパビリティに .SH 関連項目 \fBreadlink\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7), \fBsymlink\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/posixoptions.7 b/draft/man7/posixoptions.7 index 4fb64ae5..db27cff9 100644 --- a/draft/man7/posixoptions.7 +++ b/draft/man7/posixoptions.7 @@ -1,5 +1,6 @@ .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -16,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -723,6 +724,6 @@ POSIX トレーシング (tracing) が使用可能である。 以下の関数 .SH 関連項目 \fBsysconf\fP(3), \fBstandards\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/standards.7 b/draft/man7/standards.7 index bf1cbbec..2754da4d 100644 --- a/draft/man7/standards.7 +++ b/draft/man7/standards.7 @@ -2,6 +2,7 @@ .\" includes some material by other authors that was formerly .\" in intro.2. .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,16 +19,16 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH STANDARDS 7 2009\-06\-01 Linux "Linux Programmer's Manual" +.TH STANDARDS 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 standards \- C と UNIX の標準規格 .SH 説明 @@ -71,7 +72,9 @@ Manual: Operating System API (Intel processors)" (Prentice\-Hall 1992, ISBN .TP \fBSVID 4\fP System V Interface Definition version 4。 1995 年に発行された。 インターネットでは -http://www.sco.com/developers/devspecs/ で入手できる。 +.UR http://www.sco.com\:/developers\:/devspecs/ +.UE +で入手できる。 .TP \fBC89\fP 最初の C 言語の標準規格である。 ANSI (American National Standards Institute) により 1989 @@ -82,7 +85,9 @@ Organization) による 承認も受けており (\fIISO/IEC 9899:1990\fP)、 .TP \fBC99\fP C 言語の標準規格のこの改訂版は ISO により 1999 年に承認された (\fIISO/IEC 9899:1999\fP)。 -http://www.open\-std.org/jtc1/sc22/wg14/www/standards からオンラインで入手可能である。 +.UR http://www.open\-std.org\:/jtc1\:/sc22\:/wg14\:/www\:/standards +.UE +からオンラインで入手可能である。 .TP \fBPOSIX.1\-1990\fP "Portable Operating System Interface for Computing Environments". 1990 年に @@ -129,13 +134,20 @@ Issue 4 version 2, X/Open Networking Service (XNS) Issue 4) を再構成した .TP \fBSUSv2\fP Single UNIX Specification version 2. \fIXPG5\fP と呼ばれることもある。 この規格は 1997 年に登場した。 -この規格に準拠するシステムは \fIUNIX 98\fP を名乗ることができる。 http://www.UNIX\-systems.org/version2/ +この規格に準拠するシステムは \fIUNIX 98\fP を名乗ることができる。 +.UR http://www.UNIX\-systems.org\:/version2/ +.UE も参照のこと。 .TP \fBPOSIX.1\-2001, SUSv3\fP これは POSIX.1, POSIX.2, SUS の 2001年の改訂版である。 また、POSIX.1, POSIX.2, SUS -を一つの文書に統合したものである。 この統合は Austin Group (http://www.opengroup.org/austin/) -の後援の元で行われた。 インターネットでは http://www.unix\-systems.org/version3/ で入手できる。 +を一つの文書に統合したものである。 この統合は Austin Group ( +.UR http://www.opengroup.org\:/austin/ +.UE ) +の後援の元で行われた。 インターネットでは +.UR http://www.unix\-systems.org\:/version3/ +.UE +で入手できる。 また、この規格に書かれているインタフェースについては Linux のマニュアルページ・パッケージの 1p, 3p セクションでも 参照できる (例えば、"man 3p open")。 @@ -175,10 +187,13 @@ POSIX.1/SUS の次の改訂版に関する作業は 2008 年に完了し承認 一般には、マニュアルページの「準拠」の章のリストに POSIX.1\-2001 が あれば、他に注意書きがなければ、そのインターフェイスは POSIX.1\-2008 にも準拠していると考えてよい。 -詳しい情報は Austin Group のウェブサイト http://www.opengroup.org/austin/ に載っている。 +詳しい情報は Austin Group のウェブサイト +.UR http://www.opengroup.org\:/austin/ +.UE +に載っている。 .SH 関連項目 \fBfeature_test_macros\fP(7), \fBlibc\fP(7), \fBposixoptions\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/suffixes.7 b/draft/man7/suffixes.7 index b7c881e8..bfd8ba7a 100644 --- a/draft/man7/suffixes.7 +++ b/draft/man7/suffixes.7 @@ -1,6 +1,8 @@ +.if n .pl 1000v .\" t .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,7 +22,8 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. -.\" License. +.\" %%%LICENSE_END +.\" .\" Modified Sat Jul 24 17:35:15 1993 by Rik Faith .\" Modified Sun Feb 19 22:02:32 1995 by Rik Faith .\" Modified Tue Oct 22 23:28:12 1996 by Eric S. Raymond @@ -32,9 +35,8 @@ .\" Modified Thu Nov 16 23:28:25 2000 by David A. Wheeler .\" .\" -.\" FIXME, mtk, May 2007: rendering this page yields the error: -.\" grotty:suffixes.7:1725: character above first line discarded -.\" +.\" "nroff" ("man") (or "tbl") needs a long page to avoid warnings +.\" from "grotty" (at imagined page breaks). Bug in grotty? .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -279,6 +281,6 @@ Suffix File type .SH 関連項目 \fBfile\fP(1), \fBmake\fP(1) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/unicode.7 b/draft/man7/unicode.7 index 29937e1f..0a2583d5 100644 --- a/draft/man7/unicode.7 +++ b/draft/man7/unicode.7 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Markus Kuhn, 1995, 2001 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1995-11-26 Markus Kuhn .\" First version written @@ -32,7 +31,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH UNICODE 7 2001\-05\-11 GNU "Linux Programmer's Manual" +.TH UNICODE 7 2012\-08\-05 GNU "Linux Programmer's Manual" .SH 名前 Unicode \- 汎用文字集合 .SH 説明 @@ -92,7 +91,7 @@ UCS 文字を 2 バイトのワードで表現するのが \fBUCS\-2\fP 形式 .PP UCS 文字集合の 0x0000 から 0x007f は、古典的な \fBUS\-ASCII\fP 文字集合の文字と同じである。 また 0x0000 から 0x00ff の範囲では、\fBISO 8859\-1 Latin\-1\fP 文字集合の文字と同じである。 -.SS "合成文字 (Combining Characters)" +.SS "合成文字 (Combining characters)" \fBUCS\fP のいくつかのコード・ポイントは \fI合成文字 (combining characters)\fP に割り当てられている。 @@ -180,7 +179,10 @@ Standard ISO/IEC 10646\-1, International Organization for Standardization, Geneva, 2000. これは \fBUCS\fP の公式な仕様である。 -http://www.iso.ch/ から注文できる CD\-ROM で PDF ファイルとして入手できる。 +.UR http://www.iso.ch/ +.UE +から注文できる CD\-ROM で PDF +ファイルとして入手できる。 .TP * The Unicode Standard, Version 3.0. The Unicode Consortium, Addison\-Wesley, @@ -200,13 +202,15 @@ C プログラム言語についてのとても良い参考書である。 * Unicode 技術レポート。 .RS -http://www.unicode.org/unicode/reports/ +.UR http://www.unicode.org\:/unicode\:/reports/ +.UE .RE .TP * Markus Kuhn: UNIX/Linux のための UTF\-8 と Unicode の FAQ。 .RS -http://www.cl.cam.ac.uk/~mgk25/unicode.html +.UR http://www.cl.cam.ac.uk\:/~mgk25\:/unicode.html +.UE \fIlinux\-utf8\fP メーリングリストを購読するための情報がある。 Linux で Unicode を使う場合のアドバイスを探すのに一番良い場所である。 @@ -215,7 +219,8 @@ Linux で Unicode を使う場合のアドバイスを探すのに一番良い * Bruno Haible: Unicode HOWTO. .RS -ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode\-HOWTO.html +.UR ftp://ftp.ilog.fr\:/pub\:/Users\:/haible\:/utf8\:/Unicode\-HOWTO.html +.UE .RE .SH バグ .\" .SH AUTHOR @@ -235,6 +240,6 @@ GUI アプリケーション (HTML ビューア・ワードプロセッサ) で .SH 関連項目 \fBsetlocale\fP(3), \fBcharsets\fP(7), \fButf\-8\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/units.7 b/draft/man7/units.7 index 28d93afb..4b498d68 100644 --- a/draft/man7/units.7 +++ b/draft/man7/units.7 @@ -1,6 +1,7 @@ .\" t .\" Copyright (C) 2001 Andries Brouwer .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -20,13 +21,14 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH UNITS 7 2001\-12\-22 Linux "Linux Programmer's Manual" +.TH UNITS 7 2012\-08\-05 Linux "Linux Programmer's Manual" .SH 名前 units, kilo, kibi, mega, mebi, giga, gibi \- 10 進および 2 進の接頭語 .SH 説明 @@ -64,7 +66,8 @@ Y ヨタ(yotta) 10^24 = 1000000000000000000000000 以下も参考にしてほしい。 .sp .RS -http://physics.nist.gov/cuu/Units/prefixes.html +.UR http://physics.nist.gov\:/cuu\:/Units\:/prefixes.html +.UE .RE .SS "2 進の接頭語" 2 進の接頭語は 10 進の接頭語と似ているが、後ろに \(aqi\(aq が付く (また "Ki" については大文字の \(aqK\(aq) @@ -82,11 +85,10 @@ Ei エクシビ(exbi) 2^60 = 1152921504606846976 .TE .RE -http://physics.nist.gov/cuu/Units/binary.html +関連項目 .sp -.RS -も参考にしてほしい。 -.RE +.UR http://physics.nist.gov\:/cuu\:/Units\:/binary.html +.UE .SS 考察 これらの 2 進の接頭語が導入される前は、 k=1000 と K=1024 のように使うのが割に良く知られた習慣だった (b=ビット、B=バイト の関係に似ている)。 残念ながら M は最初から大文字なので、 2 進であることを示すためにさらに大文字にすることはできなかった。 @@ -113,6 +115,6 @@ hda: 120064896 sectors (61473 MB) w/2048KiB Cache MB はメガバイトで、KiB はキビバイトである。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man7/utf-8.7 b/draft/man7/utf-8.7 index b0421e20..d930867e 100644 --- a/draft/man7/utf-8.7 +++ b/draft/man7/utf-8.7 @@ -1,7 +1,6 @@ -.\" Hey Emacs! This file is -*- nroff -*- source. -.\" .\" Copyright (C) Markus Kuhn, 1996, 2001 .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +17,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 1995-11-26 Markus Kuhn .\" First version written @@ -205,6 +204,6 @@ ISO/IEC 10646\-1:2000, Unicode 3.1, RFC\ 3629, Plan 9. .SH 関連項目 \fBnl_langinfo\fP(3), \fBsetlocale\fP(3), \fBcharsets\fP(7), \fBunicode\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/intro.8 b/draft/man8/intro.8 index 72a2b13a..a5f8b5fa 100644 --- a/draft/man8/intro.8 +++ b/draft/man8/intro.8 @@ -2,6 +2,7 @@ .\" Fri Apr 2 11:32:09 MET DST 1993 .\" and Copyright (C) 2007 Michael Kerrisk .\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of @@ -18,9 +19,9 @@ .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this manual; if not, write to the Free -.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, -.\" USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified Sat Jul 24 17:35:48 1993 by Rik Faith (faith@cs.unc.edu) .\" 2007-10-23 mtk: minor rewrites, and added paragraph on exit status @@ -43,6 +44,6 @@ intro \- 管理コマンドと特権コマンドの説明 .SS 著者と著作権 著者と著作権に関しては各マニュアルページのソースのヘッダを参照すること。 これらはページごとに異なる可能性があることに注意してほしい。 .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/ld.so.8 b/draft/man8/ld.so.8 deleted file mode 100644 index b808e231..00000000 --- a/draft/man8/ld.so.8 +++ /dev/null @@ -1,272 +0,0 @@ -.\" This is in the public domain -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH LD.SO 8 2012\-04\-17 GNU "Linux Programmer's Manual" -.SH 名前 -ld.so, ld\-linux.so* \- 動的なリンカ/ローダ -.SH 書式 -動的リンカは、動的にリンクされたプログラムやライブラリの実行によって 間接的に実行することができる (ELF -の場合、動的リンカにコマンドラインオプションを渡すことはできず、 プログラムの \fB.interp\fP セクションに入っている動的リンカが実行される)。 -また以下のように直接実行することもできる -.P -\fI/lib/ld\-linux.so.*\fP [OPTIONS] [PROGRAM [ARGUMENTS]] -.SH 説明 -プログラム \fBld.so\fP と \fBld\-linux.so*\fP はプログラムに必要な共有ライブラリを見つけてロードし、 -プログラムの実行を準備してから起動させる。 -.LP -Linux のバイナリは、コンパイルの時に \fBld\fP(1) に対して \fB\-static\fP オプションが指定されていない限り、動的リンク -(実行時リンク) が必要となる。 -.LP -プログラム \fBld.so\fP は a.out バイナリを扱う。 これはずっと昔に使われていたフォーマットである。 \fBld\-linux.so*\fP -(libc5 では \fI/lib/ld\-linux.so.1\fP, glibc2 では \fI/lib/ld\-linux.so.2\fP) は ELF -バイナリを扱う。 このフォーマットは多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作し、 同じサポートファイルとプログラム -\fBldd\fP(1), \fBldconfig\fP(8), \fI/etc/ld.so.conf\fP を使用する。 -.LP -プログラムで必要とされる共有ライブラリは、 以下の順序で検索される。 -.IP o 3 -(ELF のみ) バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性が存在しない場合は、 DT_RPATH -で指定されたディレクトリを使用する。 DT_RPATH の使用は推奨されない。 -.IP o -環境変数 \fBLD_LIBRARY_PATH\fP を用いる。 ただし実行ファイルが set\-user\-ID/set\-group\-ID バイナリの場合、 -これは無視される。 -.IP o -(ELF のみ) バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 DT_RUNPATH で指定されたディレクトリを使用する。 -.IP o -キャッシュファイル \fI/etc/ld.so.cache\fP を探す。 -このファイルは、 (ld.so.conf で追加指定されたものも含めた) ライブラリ検索パスから -見つかったライブラリファイルの情報を集めたものである。 -ただし、バイナリがリンカオプション \fB\-z nodeflib\fP でリンクされている場合は、 -デフォルトのライブラリパスにある ライブラリはスキップされる。 -ハードウェア機能ディレクトリ (下記参照) にインストールされたライブラリは、 -他のライブラリよりも優先される。 -.IP o -デフォルトパスである \fI/lib\fP、 次いで \fI/usr/lib\fP を用いる。 バイナリがリンカオプション \fB\-z nodeflib\fP -でリンクされている場合、このステップはスキップされる。 -.SS "$ORIGIN と rpath" -.PP -.\" ld.so also understands $LIB, with the same meaning as $ORIGIN/lib, -.\" it appears. -.\" -.\" There is also $PLATFORM. This is a kind of wildcard -.\" of directories related at AT_HWCAP. To get an idea of the -.\" places that $PLATFORM would match, look at the output of the -.\" following: -.\" -.\" mkdir /tmp/d -.\" LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d -.\" -.\" ld.so lets names be abbreviated, so $O will work for $ORIGIN; -.\" Don't do this!! -\fBld.so\fP では、rpath 指定 (DT_RPATH や DT_RUNPATH) 中に \fI$ORIGIN\fP という文字列 -(\fI${ORIGIN}\fP も等価) を使うことができる。 \fI$ORIGIN\fP はアプリケーションの実行ファイルが入っているディレクトリを表す。 -これを使って \fIsomedir/app\fP に置かれたアプリケーションを \fIgcc \-Wl,\-rpath,'$ORIGIN/../lib'\fP -でコンパイルすると、 \fIsomedir\fP がディレクトリ階層のどこにあっても、アプリケーションは \fIsomedir/lib\fP -にある対応する共有ライブラリを見つけることができる。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインストールしても -"ややこしい設定なしで" 独自の共有ライブラリを使えるアプリケーションを作成することができる。 -.SH オプション -.TP -\fB\-\-list\fP -全ての依存関係とその解決法をリストする。 -.TP -\fB\-\-verify\fP -プログラムが動的にリンクされているかと、 動的リンカがそのプログラムを扱えるかを検証する。 -.TP -\fB\-\-library\-path PATH\fP -\fBLD_LIBRARY_PATH\fP 環境変数の設定ではなく、 -指定した PATH を使用する (下記参照)。 -.TP -\fB\-\-inhibit\-rpath LIST\fP -LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 \fBld.so\fP が set\-user\-ID か -set\-group\-ID されている場合、 このオプションは無視される。 -.TP -\fB\-\-audit LIST\fP -LIST で指定された名前のオブジェクトを監査者として使用する。 -.SH ハードウェア機能 -いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固有 -の命令を使ってコンパイルされている。そのようなライブラリは、 -\fI/usr/lib/sse2/\fP のような、必要なハードウェア機能 (hardware capability) を規 -定する名前のディレクトリにインストールすべきである。 -動的リンカは、マシンのハードウェアに基づいてこれらのディレクトリを確認し、 -指定されたライブラリに最も適したバージョンを選択する。 -ハードウェア機能ディレクトリはつなげることができ、 -複数の CPU 機能を組み合わることができる。 -対応しているハードウェア機能名のリストは CPU に依存する。 -現在のところ、以下の名前が認識される。 -.TP -\fBAlpha\fP -ev4, ev5, ev56, ev6, ev67 -.TP -\fBMIPS\fP -loongson2e, loongson2f, octeon, octeon2 -.TP -\fBPowerPC\fP -4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, -efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, -ppc32, ppc601, ppc64, smt, spe, ucache, vsx -.TP -\fBSPARC\fP -flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2 -.TP -\fBs390\fP -dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, -z990, z9\-109, z10, zarch -.TP -.TP -\fBx86 (32\-bit のみ)\fP -acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, -mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm -.SH 環境変数 -4 つの重要な環境変数がある。 -.TP -\fBLD_BIND_NOW\fP -(libc5; glibc 2.1.1 以降) 空文字列でない場合、 動的リンカはプログラムの開始時に全てのシンボルを解決する。 -空文字列の場合、解決しなければならない関数呼び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。 -.TP -\fBLD_LIBRARY_PATH\fP -コロン区切りのディレクトリリスト。 実行時に ELF ライブラリを検索するディレクトリを指定する。 \fBPATH\fP 環境変数と同じように指定する。 -.TP -\fBLD_PRELOAD\fP -スペース区切りで ELF 共有ライブラリを指定する。 これはユーザーが指定でき、すべてのライブラリに先立ってロードされる。 -他の共有ライブラリにある関数を選択的に置き換えるために用いることができる。 set\-user\-ID/set\-group\-ID された ELF -バイナリに対して、 標準的な検索パスにあるライブラリのうち set\-user\-ID されているものはロードしない。 -.TP -\fBLD_TRACE_LOADED_OBJECTS\fP -(ELF のみ) 空文字列でない場合、 プログラムを普通に実行するのではなく、 \fBldd\fP(1) -を実行したときのように動的ライブラリの依存関係をリスト表示させる。 -.LP -そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部でのみ使用される環境変数である。 -.TP -\fBLD_AOUT_LIBRARY_PATH\fP -(libc5) a.out バイナリにのみ使われる環境変数で、 \fBLD_LIBRARY_PATH\fP と同じ役割をする。 ld\-linux.so.1 -の古いバージョンでは \fBLD_ELF_LIBRARY_PATH\fP もサポートしていた。 -.TP -\fBLD_AOUT_PRELOAD\fP -(libc5) a.out バイナリにのみ使われる環境変数で、 \fBLD_PRELOAD\fP と同じ役割をする。 ld\-linux.so.1 -の古いバージョンでは \fBLD_ELF_PRELOAD\fP もサポートしていた。 -.TP -\fBLD_AUDIT\fP -(glibc 2.4 以降) 他のオブジェクトよりも前に、別のリンカ名前空間 (そのプロセスで行われる 通常のシンボル結合 (symbol -bindigns) には関与しない名前空間) で ロードされる、ユーザ指定の ELF 共有オブジェクトのコロン区切りのリスト。 -これらのライブラリを使って、動的リンカの動作を監査することができる。 set\-user\-ID/set\-group\-ID されたバイナリでは、 -\fBLD_AUDIT\fP は無視される。 - -動的リンカは、いわゆる監査チェックポイント (auditing checkpoints) において、監査 (audit) -ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの通知を行う。監査チェックポイントの例としては、 -新たなライブラリのロード、シンボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細は \fBrtld\-audit\fP(7) -を参照してほしい。 audit インタフェースは、Solaris で提供されているものと 大部分は互換性がある。Solaris の audit -インタフェースについては、 \fILinker and Libraries Guide\fP の \fIRuntime Linker Auditing -Interface\fP の章に説明がある。 -.TP -\fBLD_BIND_NOT\fP -(glibc 2.1.95 以降) シンボルを解決した後、GOT (global offset table) と PLT (procedure -linkage table) を更新しない。 -.TP -\fBLD_DEBUG\fP -(glibc 2.1 以降) 動的リンカの詳細なデバッグ情報を出力する。 \fBall\fP に設定した場合、全ての動的リンカが持つデバッグ情報を表示する。 -\fBhelp\fP に設定した場合、この環境変数で指定されるカテゴリのヘルプ情報を表示する。 glibc 2.3.4 以降、 -set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_DEBUG\fP は無視される。 -.TP -\fBLD_DEBUG_OUTPUT\fP -(glibc 2.1 以降) \fBLD_DEBUG\fP の出力を書き込むファイル。 デフォルトは標準出力である。 -set\-user\-ID/set\-group\-ID されたバイナリでは、 \fBLD_DEBUG_OUTPUT\fP は無視される。 -.TP -\fBLD_DYNAMIC_WEAK\fP -(glibc 2.1.19 以降) 上書きされる弱いシンボル (昔の glibc の挙動を逆にする)。 セキュリティ上の理由から、glibc -2.3.4 以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_DYNAMIC_WEAK\fP は無視される。 -.TP -\fBLD_HWCAP_MASK\fP -(glibc 2.1 以降) ハードウェア機能のマスク。 -.TP -\fBLD_KEEPDIR\fP -(a.out のみ)(libc5) ロードする a.out ライブラリの名前において、ディレクトリを無視しない。 このオプションは用いるべきではない。 -.TP -\fBLD_NOWARN\fP -(a.out のみ)(libc5) a.out ライブラリにおけるマイナーバージョン番号の非互換に 対する警告メッセージを抑制する。 -.TP -\fBLD_ORIGIN_PATH\fP -.\" Only used if $ORIGIN can't be determined by normal means -.\" (from the origin path saved at load time, or from /proc/self/exe)? -(glibc 2.1 以降) バイナリへのパス (set\-user\-ID されていないプログラムについて)。 セキュリティ上の理由から、glibc -2.3.4 以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_ORIGIN_PATH\fP は無視される。 -.TP -\fBLD_POINTER_GUARD\fP -(glibc 2.4 以降) 0 に設定すると、ポインタ保護 (pointer guarding) が無効になる。 -それ以外の値の場合はポインタ保護が有効になる。 デフォルトはポインタ保護有効である。 -ポインタ保護はセキュリティ機構の一つで、書き込み可能なプログラムメモリ に格納されたコードへのポインタをほぼランダム化することで、 -攻撃者がバッファオーバーランやスタック破壊 (stack\-smashing) 攻撃の際に ポインタを乗っ取ることを困難にするものである。 -.TP -\fBLD_PROFILE\fP -(glibc 2.1 以降) プロファイルを行う共有オブジェクト。 パス名か共有オブジェクト名 (soname) で指定される。 プロフィールの出力は -"\fI$LD_PROFILE_OUTPUT\fP/\fI$LD_PROFILE\fP.profile" という名前の ファイルに書き込まれる。 -.TP -\fBLD_PROFILE_OUTPUT\fP -(glibc 2.1 以降) \fBLD_PROFILE\fP の出力が書き込まれるディレクトリ。 -この変数が定義されていないか、空の文字列が定義されている場合、 デフォルト値は \fI/var/tmp\fP となる。 -set\-user\-ID/set\-group\-ID されたプログラムでは、 LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に -\fI/var/profile\fP が使用される。 -.TP -\fBLD_SHOW_AUXV\fP -.\" FIXME -.\" Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog) -.\" Since glibc 2.3 -.\" Also enables DL_DEBUG_PRELINK -(glibc 2.1 以降) カーネルから渡される補助的な (パラメータの) 配列を表示する。 セキュリティ上の理由から、glibc 2.3.4 -以降、 set\-user\-ID/set\-group\-ID されたバイナリでは \fBLD_SHOW_AUXV\fP は無視される。 -.TP -\fBLD_USE_LOAD_BIAS\fP -.\" http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html -.\" Subject: [PATCH] Support LD_USE_LOAD_BIAS -.\" Jakub Jelinek -デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと prelink された共有オブジェクトでは、それらが依存する -ライブラリのベースアドレスが尊重される一方、 (prelink されていない) position\-independent executables -(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重されない。 \fBLD_USE_LOAD_BIAS\fP -に値が定義された場合、実行ファイルと PIE のどちらでも ベースアドレスが尊重される。 \fBLD_USE_LOAD_BIAS\fP が値 0 -で定義された場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set\-user\-ID や set\-group\-ID -されたプログラムでは、 この変数は無視される。 -.TP -\fBLD_VERBOSE\fP -(glibc 2.1 以降) 空文字列でない場合に、 (\fBLD_TRACE_LOADED_OBJECTS\fP を設定するか、 \fB\-\-list\fP -または \fB\-\-verify\fP オプションを動的リンカに指定することにより) プログラムについての情報を問い合わせると、 -プログラムのシンボルバージョン情報を表示する。 -.TP -\fBLD_WARN\fP -(ELF のみ)(glibc 2.1.3 以降) 空文字列でない場合、解決されていないシンボルがあれば警告を出す。 -.TP -\fBLDD_ARGV0\fP -(libc5) \fBldd\fP(1) の引き数がない場合に、 \fIargv\fP[0] として使われる値。 -.SH ファイル -.PD 0 -.TP -\fI/lib/ld.so\fP -a.out の動的リンカ/ローダ -.TP -\fI/lib/ld\-linux.so.\fP{\fI1\fP,\fI2\fP} -ELF の動的リンカ/ローダ -.TP -\fI/etc/ld.so.cache\fP -ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列リストを含むファイル。 -.TP -\fI/etc/ld.so.preload\fP -プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが書かれているファイル。 -.TP -\fBlib*.so*\fP -共有ライブラリ -.PD -.SH 注意 -\fBld.so\fP の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行ファイルで使用可能である。 ELF の機能は -Linux 1.1.52 以降と libc5 以降で使用可能である。 -.SH 関連項目 -.\" .SH AUTHORS -.\" ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus -.\" Torvalds, Lars Wirzenius and Mitch D'Souza -.\" ld-linux.so: Roland McGrath, Ulrich Drepper and others. -.\" -.\" In the above, (libc5) stands for David Engel's ld.so/ld-linux.so. -\fBldd\fP(1), \fBrtld\-audit\fP(7), \fBldconfig\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/ldconfig.8 b/draft/man8/ldconfig.8 index 45502b5f..b0bee08b 100644 --- a/draft/man8/ldconfig.8 +++ b/draft/man8/ldconfig.8 @@ -1,7 +1,7 @@ -.\" -*- nroff -*- .\" Copyright 1999 SuSE GmbH Nuernberg, Germany .\" Author: Thorsten Kukuk .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of the @@ -13,9 +13,9 @@ .\" General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this program; see the file COPYING. If not, -.\" write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -.\" Boston, MA 02111-1307, USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" Modified, 6 May 2002, Michael Kerrisk, .\" Change listed order of /usr/lib and /lib @@ -101,6 +101,6 @@ C ライブラリを参考にする。 .SH 関連項目 \fBldd\fP(1), \fBld.so\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/nscd.8 b/draft/man8/nscd.8 index 3998871d..2c8daf43 100644 --- a/draft/man8/nscd.8 +++ b/draft/man8/nscd.8 @@ -1,7 +1,7 @@ -.\" -*- nroff -*- .\" Copyright 1999 SuSE GmbH Nuernberg, Germany .\" Author: Thorsten Kukuk .\" +.\" %%%LICENSE_START(GPLv2+_SW_3_PARA) .\" This program is free software; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of the @@ -13,9 +13,9 @@ .\" General Public License for more details. .\" .\" You should have received a copy of the GNU General Public -.\" License along with this program; see the file COPYING. If not, -.\" write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -.\" Boston, MA 02111-1307, USA. +.\" License along with this manual; if not, see +.\" . +.\" %%%LICENSE_END .\" .\" 2008-12-05 Petr Baudis .\" Rewrite the NOTES section to reflect modern reality @@ -59,6 +59,6 @@ nscd は \fBpasswd\fP(5), \fBgroup\fP(5), \fBhosts\fP(5) データベースへ .\" was written by Thorsten Kukuk and Ulrich Drepper. \fBnscd.conf\fP(5), \fBnsswitch.conf\fP(5) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/sync.8 b/draft/man8/sync.8 index 906422d0..a524268f 100644 --- a/draft/man8/sync.8 +++ b/draft/man8/sync.8 @@ -2,7 +2,11 @@ .\" sync(8) manpage, dating back to the Linux 0.99 days. The Linux-specific .\" information is attributed to Linus Torvalds .\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu) +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" May be distributed under the GNU General Public License +.\" %%%LICENSE_END +.\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. @@ -51,6 +55,6 @@ Linux では、 \fBsync\fP は (まだ書き込まれていない) ダーティ .SH 関連項目 \fBsync\fP(2), \fBhalt\fP(8), \fBreboot\fP(8), \fBupdate\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/tzselect.8 b/draft/man8/tzselect.8 index bfb0bebf..170415a5 100644 --- a/draft/man8/tzselect.8 +++ b/draft/man8/tzselect.8 @@ -1,4 +1,6 @@ +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -39,6 +41,6 @@ Posix 互換の \fIawk\fP プログラム (デフォルトは \fBawk\fP)。 .\" @(#)tzselect.8 1.3 \fBtzfile\fP(5), \fBzdump\fP(8), \fBzic\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/zdump.8 b/draft/man8/zdump.8 deleted file mode 100644 index 5ee8d6a3..00000000 --- a/draft/man8/zdump.8 +++ /dev/null @@ -1,32 +0,0 @@ -.\" This page is in the public domain -.\" -.\"******************************************************************* -.\" -.\" This file was generated with po4a. Translate the source file. -.\" -.\"******************************************************************* -.TH ZDUMP 8 2007\-05\-18 "" "Linux System Administration" -.SH 名前 -zdump \- タイムゾーンをダンプする -.SH 書式 -\fBzdump\fP [ \fB\-v\fP ] [ \fB\-c\fP cutoffyear ] [ zonename ... ] -.SH 説明 -\fIzdump\fP は コマンドラインで指定した \fIzonename\fP それぞれにおける現在時刻を表示する。 -.PP -以下のオプションを指定できる: -.TP -\fB\-v\fP -コマンドラインで与えられた \fIzonename\fP それぞれに対して、指定可能な最低位の時刻値 (time value)、 -最低位の時刻値の一日後の時刻、 見付かった時間不連続の一秒前と丁度その時刻、 最高位時刻値の一日前の時刻、 指定可能な最高位の時刻値、を表示する。 -それぞれの行の末尾には、 与えられている時刻がサマータイム (Daylight Saving Time) なら \fBisdst=1\fP が、そうでなければ -\fBisdst=0\fP が付加される。 -.TP -\fB\-c \fP\fIcutoffyear\fP -与えられた年の最初の頃における余計な出力を切り捨てる。 -.SH 関連項目 -.\" @(#)zdump.8 7.3 -\fBtzfile\fP(5), \fBzic\fP(8) -.SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 -である。プロジェクトの説明とバグ報告に関する情報は -http://www.kernel.org/doc/man\-pages/ に書かれている。 diff --git a/draft/man8/zic.8 b/draft/man8/zic.8 index cc02b87e..78367db5 100644 --- a/draft/man8/zic.8 +++ b/draft/man8/zic.8 @@ -1,4 +1,6 @@ +.\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This page is in the public domain +.\" %%%LICENSE_END .\" .\"******************************************************************* .\" @@ -260,6 +262,6 @@ Leap 1974 Dec 31 23:59:60 + S .\" @(#)zic.8 7.19 \fBtzfile\fP(5), \fBzdump\fP(8) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。 -- 2.11.0